Skip to main content

· 15 min read

개요

사람이 수용할 수 있는 정보의 허용량을 넘어선 순간부터 문제 해결 능력은 급격하게 떨어지는 인지 과부하가 발생한다.
인지 과부하를 방지하는 가장 좋은 방법은 쏟아지는 정보의 양을 조절하는 것이다. 추상화는 문제 해결에 필요한 핵심만 남기고 불필요한 정보를 제거하는 것을 말한다.

· 19 min read

클래스는 객체지향 프로그래밍을 위한 도구로서 많은 개발자들이 객체지향에 대해 생각하면 떠오르는 키워드일 것이다. 그러나 클래스는 프로그래밍 도구일 뿐 설계를 클래스에 초점을 두어선 안된다.
정말 중요한 것은 객체들이 주고 받는 메시지이며 이 메시지가 객체의 퍼블릭 인터페이스를 결정하고, 클래스를 결정한다.

· 9 min read

응집도와 캡슐화 (Encapsulation)

객체 내부의 상태를 캡슐화하고 객체 간에는 오직 메시지를 통해서만 상호작용하도록 만드는 것을 캡슐화(Encapsulation)이라 한다.
자신 이외의 객체는 내부의 상태, 구현등을 알 수 없어야 한다.

· 21 min read
Jeonghun Kong

개요

이번 장에서는 카프카가 어떻게 디자인 되어있는지를 학습할 것이다.
카프카 디자인의 특징인 카프카의 분산 시스템과 페이지 캐시, 배치 처리를 알아 보고 카프카의 데이터 모델에서 토픽과 파티션, 오프셋을 이해하며, 카프카의 고가용성과 리플리케이션을 학습할 것이다.
또한 카프카 운영에 도움을 주는 주키퍼의 지노드 역할을 알아보고 학습을 마무리 할 것이다.