본문 바로가기

공부

(4)
Kafka 도커로 구축 이 글은 Docker를 사용하여 Kafka와 Zookeeper를 실행하고, 토픽을 만들어 메시지를 전송하는 방법에 대한 내용입니다. Kafka Kafka는 대규모 분산 시스템에서 데이터를 신속하게 처리하고 전송할 수 있는 오픈 소스 분산 메시징 시스템입니다. Kafka는 큐잉, 게시-구독 메시징, 스트리밍 등의 메시징 패턴을 지원합니다. Kafka는 크게 Producer, Consumer, Topic, Partition, Broker, Cluster 등으로 구성됩니다. Producer는 메시지를 생성하고 Kafka 클러스터에 전송합니다. Consumer는 Kafka 클러스터에서 메시지를 수신하고 처리합니다. Topic은 메시지의 주제를 나타내며, Partition은 메시지가 저장되는 물리적인 장소입니다...
[이펙티브 타입스크립트] 6장 타입 선언과 @types [ 아이템 48 ] API 주석에 TSDoc 사용하기 함수의 앞부분에 주석이 있으면 함수가 어떤 기능을 하는지 쉽게 알 수는 있는데 사용자를 위한 문서라면 JSDoc 스타일의 주석으로 만드는 것이 좋습니다. JSDoc 스타일의 주석은 툴팁으로 표시가 가능하며, @param @returns 같은 일반적 규칙도 사용할 수 있습니다. 타입스크립트 언어 서비스가 JSDoc 스타일을 지원하기 때문에 적극적으로 활용하는 것이 좋습니다. 타입스크립트 관점에서는 TSDoc이라고 부르기도 합니다. [ 아이템 49 ] 콜백에서 this에 대한 타입 제공하기 자바스크립트에서 this는 매우 혼란스러운 기능입니다. let이나 const로 선언된 변수가 렉시컬 스코프(lexical scope)인 반면, this는 다이나믹 스코..
[이펙티브 타입스크립트] 4장 타입 설계 [ 아이템 36 ] 해당 분야의 용어로 타입 이름 짓기 엄선된 타입, 속성, 변수의 이름은 의도를 명확히 하고 코드와 타입의 추상화 수준을 높여 줍니다. 잘못 선택한 타입 이름은 코드의 의도를 왜곡하고 잘못된 개념을 심어 주게 됩니다. 동물들의 데이터베이스를 구축한다고 가정해 보겠습니다. interface Animal { name: string endangered: boolean habitat: string } const leopard: Animal = { name: 'Snow Leopard', endangered: false, habitat: 'tundra', } 이 코드에는 네 가지 문제가 있습니다. name으로 동물의 학명인지 일반적인 명청인지 알 수 없음. endagered 속성 의도가 멸종 위기..
[이펙티브 타입스크립트] 3장 타입 추론 타입 추론은 수동으로 명시해야 하는 타입 구문의 수를 줄여주기 때문에 코드의 전체적인 안정성이 향상됩니다. 즉, 불필요한 타입은 사용하지 말아야 합니다. [ 아이템 19 ] 추론 가능한 타입을 사용해 장황한 코드 방지하기 타입스크립트에서 추론이 가능한 변수에는 타입을 선언하지 않는 것이 좋습니다. let x:number = 12; //비생산적 let x = 12; // 타입스크립트에서 타입 추론 가능 더 복잡한 객체도 추론이 가능합니다. const person = { name: "Hyeon", born: { where: "Seoul", when: "long time ago", }, } 함수의 반환에도 타입을 명시하여 오류를 방지할 수 있습니다. 반환 타입을 명시한다면 정확한 위치에 오류가 표시될 뿐만 아..