본문 바로가기
  • 1+1=3
반응형

독서12

[객체지향의 사실과 오해] 3장 - 타입과 추상화 72페이지~105페이지 읽음. 추상화 지하철 노선도를 보면 추상화 이해가 쉽다. 어떤 목적을 잘 이해하기 위해 특정 절차나 물체를 의도적으로 생략하거나 감춤으로써 복잡도를 극복하는 방법이다. 차이점을 버리고 이반화를 통해 단순화하고, 불필요한 세부사항을 제거함으로써 이뤄진다. 객체와 타입 이상한 나라의 앨리스에서, 트럼프 병사들을 보면서 앨리스는 '그저 다 트럼프일 뿐이야!'라고 생각한다. 트럼프라는 개념을 이용해서 추상화를 한 것이다. 여기서 개념을 바로 '타입'이라고 한다. 객체를 다른 객체와 분류하는 기준은 무엇인가? 동일한 행동을 하면 같은 타입이다. 즉 타입은 데이터가 아니라 행동에 의해 결정된다. 동일한 행동은 동일한 책임을 의미하며, 동일한 책임이란 동일한 메시지 수신을 의미한다. 다만, 내.. 2021. 12. 24.
[데이터베이스 첫걸음] 1~4장: 디비기본기능, 아키텍쳐, 가용성,클러스터링,리플리케이션 찍먹 개발 단톡방에서 누군가 추천해줘서 알라딘 중고로 바로 구매했다.ㅋㅋ 이것도 조금씩 읽자! 처음~ 116페이지. 2,3장은 아는 내용이라 판단해서 정리하지 않았다. 1장 - 데이터베이스 기본기능 1. 데이터 검색과 갱신 이때 특히 몇백만명의 사용자가 등록된 경우, 검색 성능을 어떻게 향상할 것인가는 영원한 숙제임. 이는 부록에서 다룬다 2. 동시성 제어 동시에 복수의 사용자로부터 검색이나 갱신 처리를 받는다 단순 예로, 두명이서 파일 하나를 동시에 검색했다 치자. 해결방법: 방법1: 최초에 누군가 열었으면 다른 사람은 그 파일을 열 수 없다. -> 가장 엄격 방법2: 두번째 연사람은 '읽기전용'으로만 열린다. -> 중간 방법3: 늦게 수정한 사람이 최종수정. -> 가장 자유로움. dirty write 3... 2021. 12. 24.
[객체지향의 사실과 오해] 2장 - 이상한 나라의 객체 39 ~71페이지까지 읽음. 이상한 나라의 앨리스에서 앨리스가 어떤 음료를 바시거나 케이크를 먹거나 하면 키가 커지거나 목이 길어지거나 한다. 즉, 앨리스가 하는 행동에 따라 앨리스의 상태가 변하게 된다. 다시 말하면, 앨리스가 한 행동의 결과는 앨리스의 상태에 의존적이다. 객체는 무엇인가 객체는 상태(state), 행동(behavior), 식별자(identity)를 지닌 실체로 보는 것이 효과적이다. 상태 비행기 탑승여부는 과거에 항공권을 발권하는 행위가 발생했는지 여부에 따라 달라진다. 즉 어떤 행동의 결과는 과거에 어떤 행동들이 일어났었느냐에 의존한다. 그러나 과거에 어떤 행동을 했는지 기억하기란 쉽지 않다. 따라서 비행기표를 보고 알 수 있다. 즉, 항공권의 발권 상태를 보고 비행기탑승여부를 알 .. 2021. 12. 23.
[객체지향의 사실과 오해] 1장 - 협력하는 객체들의 공동체 ~38페이지. 하루만에 읽지 못할 거 아니까, 읽은 곳 까지만이라도 조금씩 기록을 해보자. 커피주문이라는 협력 커피주문을 하기 위해선 손님, 캐시어, 바리스타가 필요하다. 손님이 주문하면, 캐시어가 받고, 바리스타가 커피를 만든다. 즉, 커피주문이라는 '협력'에 손님, 캐시어, 바리스타가 참여하는 것이다. 요청과 응답 손님은 캐시어에게 커피주문하면서 커피달라고 '요청'을 하고, 캐시어는 바리스타에게 주문을 전달하면서 만들라고 '요청'을 한다. 거꾸로, 바리스타는 커피를 만들고 캐시어에게 '응답'을 하고, 캐시어는 손님에게 다 만들었다고 알려주면서 또 '응답'을 한다. 역할과 책임 손님이라는 '역할'을 가진 사람은 주문할 '책임'을 가지고 있고, 캐시어라는 '역할'을 가진 사람은 주문을 받는 '책임을 지니.. 2021. 12. 23.
[토비의 스프링 vol.1] 1.1~1.4 개방폐쇄원칙과 제어의 역전 1.1초난감코드 - DAO란 data access object. DB를 사용해 데이터를 조회하거나 조작하는 기능을 전담하도록 만든 객체 1.1에 나오는 DAO객체에는 문제가 많다.(토비님은 이런 코드면 바로 쫓겨날 정도로 한심한 코드라고 한다) why?를 생각하라 잘 동작하는 코드를 굳이 수정하고 개선해야 하는 이유는 뭘까? 개선했을 때 장점은 무엇인가? 장점들 중 당장에, 그리고 미래에 주는 유익은 뭘까? 이게 객체지향 설계의 원칙과는 무슨 상관이 있을까? 스프링을 공부한다는 건 이런 문제를 스스로 제기하고 답을 찾아나가는 과정이다. 1.2 DAO의 분리 미래에 어떤 변화가 올지 모른다. 그 변경이 일어날 때 필요한 작업을 최소화하고, 그 변경이 다른 곳에 문제를 일으키지 않도록 해야 함. 이게 바로 .. 2021. 12. 11.
'독서' 카테고리를 만들었다. 최근에 산 책들... 후니의 쉽게 쓴 시스코 네트워킹 자바 웹 프로그래밍 next step 객체지향의 사실과 오해 Test-Driven Development: By Example 12가지 인생의 법칙 아 책 많이 샀는데 읽지를 않는다. 막 읽고 싶고 발전하고 싶은데, 이 핑계 저핑계 대면서 앞 10페이지 읽기의 달인이 되어버린다. 하나라도 제대로 읽어서 후기를 남기자는 마음으로 카테고리를 만들었다. 몇 페이지만 읽더라도 그날은 성공이다. 그러니 기록하자. 2021. 12. 8.
반응형