헥사고날 아키텍처 적용해보기 - 2
헥사고날 아키텍처 적용해보기 2. 프로젝트에 아키텍처 적용하기 저번 포스팅에서는 헥사고날 아키텍처가 무엇인지 이론적인 개념에 대해 다루었다면, 이번 포스팅에서는 실제로 개인 프로젝트에 헥사고날 아키텍처를 적용해 본 실무적인 내용을 다룬다. 패키지 구조 구성 기존 3-Layer 아키텍처에서의 패키지 구조는 서비스 도메인 ...
Backend Programmer, Spring Boot, Java, Kotlin. and I consider it important to record. Such as TIL and Blog.
헥사고날 아키텍처 적용해보기 2. 프로젝트에 아키텍처 적용하기 저번 포스팅에서는 헥사고날 아키텍처가 무엇인지 이론적인 개념에 대해 다루었다면, 이번 포스팅에서는 실제로 개인 프로젝트에 헥사고날 아키텍처를 적용해 본 실무적인 내용을 다룬다. 패키지 구조 구성 기존 3-Layer 아키텍처에서의 패키지 구조는 서비스 도메인 ...
헥사고날 아키텍처 적용해보기 1. 헥사고날 아키텍처란? 개인 프로젝트를 진행하면서 확장성이 좋고, 유지보수가 편한 패키지 구조에 어떤 게 있을까 알아보다가 헥사고날 아키텍처라는 구조를 알게 되었다. 그래서 이번 포스팅에서는 헥사고날 아키텍처는 어떤 구조를 가지고 있으며 기존 3-Layer 아키텍처에 비해 어떠한 이점이 있...
도커를 통한 Kafka 실습 환경 구축 들어가기 전에 해당 포스팅은 로컬 환경에서 Kafka 동작을 테스트하기 위해 Kafka 서버 환경을 구축해 본 내용을 담았다. 본 구축을 하기 전에 우선 도커가 로컬 환경에 설치되어 있어야 한다. 1. docker-compose.yml 작성 및 도커 이미지 실행 해당 실습...
헤드퍼스트 디자인패턴 본 책을 읽고 책의 내용을 간략하게 정리한 글입니다. Chapter 11. 객체 접근 제어하기 - 프록시 패턴 예제 프로젝트. 뽑기 기계 모니터링 코드 만들기 10장에서 만든 뽑기 기계의 상태를 파악하기 위해 모든 뽑기 기계의 재고와 현재 상태를 알려 주는 기능을 개발해야 한다. ...
헤드퍼스트 디자인패턴 본 책을 읽고 책의 내용을 간략하게 정리한 글입니다. Chapter 10. 객체의 상태 바꾸기 - 상태 패턴 예제 프로젝트 - 최첨단 뽑기 기계 상태 기계 기초 지식 알아보기 우선 뽑기 기계의 상태를 모아본다. 동전 없음 동전 있음 알맹이 매진 ...
Optional을 조심히 사용해야 하는 이유 어느 날, 같은 팀원분이 내가 Optional을 사용해서 작성한 코드를 보고 Optional을 사용할 때는 조심해서 사용해야 한다고 일러준 적이 있었다. 그 때 팀원분은 Optional의 개발자가 Optional은 반환 타입으로만 사용하도록 의도했다고 이야기해 주었고, 이번 게시...
QueryDsl에서 json 컬럼에 조건 적용하기 JPA를 사용하면서 DB에 Collection이나 Object 형태로 값을 저장하는 json 컬럼을 종종 사용하곤 한다. 그러다 간혹 QueryDsl 에서 json 컬럼에 저장된 값의 내용에 따라 조건을 적용해 SQL문을 실행하고 싶은 경우가 있다. SQL문에서 jso...
헤드퍼스트 디자인패턴 본 책을 읽고 책의 내용을 간략하게 정리한 글입니다. Chapter 9. 컬렉션 잘 관리하기 - 반복자 패턴과 컴포지트 패턴 예제 프로젝트 - 객체마을 식당과 팬케이크 하우스 합병 객체마을 식당에서는 점심 식사를, 팬케이크 하우스에서는 아침 식사를 노리고 메뉴를 만든다고 한다. 모든 메...
헤드퍼스트 디자인패턴 본 책을 읽고 책의 내용을 간략하게 정리한 글입니다. Chapter 8. 알고리즘 캡슐화하기 - 템플릿 메서드 패턴 예제 프로젝트 - 커피와 홍차 커피와 홍차의 공통점은 카페인이 있다는 점과 만드는 방법이 매우 비슷한 방법으로 만들어진다는 점이다. Coffee 클래스와 Tea 클래스 만...
헤드퍼스트 디자인패턴 본 책을 읽고 책의 내용을 간략하게 정리한 글입니다. Chapter 7. 적응시키기 - 퍼사드 패턴 예제 프로젝트 - 홈시어터 만들기 영화나 TV 시리즈를 몰아볼 수 있는 홈시어터를 구축해보자. 홈시어터에는 스트리밍 플레이어, 프로젝터, 자동 스크린, 자동 조명, 서라운드 음향, 팝콘 ...