본문 바로가기

분류 전체보기7

Apache Kafka 찍먹을 위한 초간단 정리 카프카란? 한마디로 말하자면 메시징 시스템이다. MSA 환경의 서로 다른 서비스에서 메시지를 발행하고, 구독하여 처리하는 형태로 이용하는 것이 대표적이다. 초간단 용어 정리 프로듀서 메시지를 발행한다. 컨슈머 메시지를 받아 처리한다. 토픽 / 파티션 파티션은 간단히 말하자면 메시지를 담은 메시지 큐이다 토픽은 여러 개의 파티션을 담는 단위이다. 토픽 / 파티션 하나의 파티션에는 물리적인 file 매핑된다. 해당 file에 데이터가 쌓이는 형식이고, 삭제 없이 추가만 되는 형식이기 때문에 디스크임에도 불구하고 매우 빠르다. 파티션은 삭제 없이 추가만 가능하다. Producer 메시지를 생성하여 카프카로 전송한다. 특정 파티션에 발행되도록 key를 통해 지정하여 전송할 수 있다. 만약 지정하지 않는다면 ro.. 2023. 3. 8.
[QueryDSL] BooleanExpression을 이용하여 동적쿼리 간결하게 작성하기 QueryDSL을 이용하여 동적으로 쿼리를 작성해야 할 때가 있다. 이럴 때 발생할 수 있는 문제상황과 BooleanExpression을 이용한 리팩토링 방법을 알아보자. 문제상황 예시 게시판 글의 필터링 기능을 만든다고 상상해보자. 필터링할 수 있는 조건은 게시일, 작성자, 검색어, 카테고리 등등 매우 많다. 클라이언트는 필터링 정보를 쿼리파라미터에 담아 요청을 보낸다. 사용자가 딱히 필터링 정보를 선택하지 않았다면 쿼리파라미터 값은 null이다. 우리는 요청을 받아 쿼리파라미터에 데이터가 있는지 확인하고, 있다면 필터링하여 데이터를 반환한다. 단순히 해당 코드를 작성한다면 BooleanBuilder나 List를 이용할 수 있을 것이다. public List find(Criteria criteria) .. 2023. 2. 12.
기술 블로그 시-작!🎉 학부생, 취준 기간 동안 내내 미뤄왔던 기술 블로그를 드디어 시작해보려한다! 회사업무 말고 개인공부도 하고싶은데 기술블로그가 좋은 수단이 되었으면 좋겠다. 햇병아리 신입이라 회사 적응만으로도 벅차지만.. 아무튼! 2023. 1. 24.