728x90

중첩 클래스에는 4가지가 있다. 정적 멤버 클래스, (비정적)멤버 클래스, 익명 클래스, 지역 클래스 이중 첫번째를 제외한 나머지는  inner 클래스 이다. 메서드 밖에서도 사용해야 하거나 메서드 안에 정의하기엔 너무 길다면 멤버 클래스로 만든다. 멤버 클래스의 인스턴스 각각이 바깥 인스턴스를 참조한다면 비정적으로, 그렇지 않으면 정적으로 만들자. 중첩 클래스가 한 메서드 안에서만 쓰이면서 그 인스턴스를 생성하는 지점이 단 한 곳이고 해당 타입으로 쓰기에 적합한 클래스나 인터페이스가 이미 있다면 익명 클래스로 만들고, 그렇지 않으면 지역 클래스로 만들자.

728x90
728x90

저도 많이 쓰고 실무에서 많이쓰 는 kafka를 좀 더 정확하게 알 기위해 정리 하고자 작성한다.

카프카(Kafka)는 파이프라인, 스트리밍 분석, 데이터 통합 및 미션 크리티컬 애플리케이션을 위해 설계된 고성능 분산 이벤트 스트리밍 플랫폼이다.

 

 

kafka 의 탄생은 linked In 에서 탄생

 

 

 

kafka의 특징

 

 

 

kafka 사용 되는 곳

 

 

카프카 이외에도 rabbitMQ, pulsar 등이 있지만 성능 상 카프카가 가장 좋음(사용량이 적다면 rabbitMQ도 고려할만한다)

아래는 벤치마크 표

 

728x90

'인강 정리 > Kafka 완전 정복' 카테고리의 다른 글

kafka 기본 개념 및 구성(4)  (0) 2024.10.31
kafka 기본 개념 및 구성(3)  (0) 2024.10.30
kafka 기본 개념 및 구성(2)  (0) 2024.10.21
kafka 기본 개념 및 구성(1)  (0) 2024.10.18
728x90

태그 달린 클래스로 열거 하기 보단  계층주고 클래스를 만들어 상속하여 처리하는 방법으로 사용해야 한다. 

기존 클래스가 태그 필드를 사용하고 있다면 계층구조로 리팩터링하는걸 고민하자

728x90
728x90

인터페이스는 타입을 정의하는 용도로만 사용해야 한다. 상수 공개용 수단으로 사용하지 말자.

728x90
728x90

자바 8 이전에는 기존 구현체를 꺠뜨리지 않고는 인터페이스에 메서드를 추가할 방법이 없었다.  자바 8이후 부터 디폴트 메서드 가 제공되어 추가가 가능해졌다.

인터페이스를 설계할 때는 여전히 세심한 주의를 기울여야한다. 

인터페이스를 릴리스한 후라도 결함을 수정하는게 가능한 경우도 있겠지만, 절대 그 가능성에 기대서는 안된다.

728x90
728x90

일반적으로 다중 구현용 타입으로는 이터페이스가 가장 적합하다. 복잡한 인터페이스라면 구현하는 수고를 덜어주는 골격 구현을 함께 제공하는 방법을 꼭 고려해보자. 골격 구현은 '가능한 한' 인터페이스의 디폴트 메서드로 제공하여 그 인터페이스를 구현한 모든 곳에서 활용하도록 하는 것이 좋다. '가능한 한'이라고 한 이유는, 인터페이스에 걸려 있는 구현상의 제약때문에 골격 구현을 추상 클래스로 제공하는 경우가 더 흔하기 때문이다.

728x90

+ Recent posts