Hello, I’m Gyumyung Lee👋

Backend Programmer, Spring Boot, Java, Kotlin. and I consider it important to record. Such as TIL and Blog.

Latest Posts

헤드퍼스트 디자인패턴 Chapter10 - 상태 패턴

헤드퍼스트 디자인패턴 본 책을 읽고 책의 내용을 간략하게 정리한 글입니다. Chapter 10. 객체의 상태 바꾸기 - 상태 패턴 예제 프로젝트 - 최첨단 뽑기 기계 상태 기계 기초 지식 알아보기 우선 뽑기 기계의 상태를 모아본다. 동전 없음 동전 있음 알맹이 매진 ...

Optional을 조심히 사용해야 하는 이유

Optional을 조심히 사용해야 하는 이유 어느 날, 같은 팀원분이 내가 Optional을 사용해서 작성한 코드를 보고 Optional을 사용할 때는 조심해서 사용해야 한다고 일러준 적이 있었다. 그 때 팀원분은 Optional의 개발자가 Optional은 반환 타입으로만 사용하도록 의도했다고 이야기해 주었고, 이번 게시...

QueryDsl에서 json 컬럼에 조건 적용하기

QueryDsl에서 json 컬럼에 조건 적용하기 JPA를 사용하면서 DB에 Collection이나 Object 형태로 값을 저장하는 json 컬럼을 종종 사용하곤 한다. 그러다 간혹 QueryDsl 에서 json 컬럼에 저장된 값의 내용에 따라 조건을 적용해 SQL문을 실행하고 싶은 경우가 있다. SQL문에서 json ...

헤드퍼스트 디자인패턴 Chapter9 - 반복자 패턴과 컴포지트 패턴

헤드퍼스트 디자인패턴 본 책을 읽고 책의 내용을 간략하게 정리한 글입니다. Chapter 9. 컬렉션 잘 관리하기 - 반복자 패턴과 컴포지트 패턴 예제 프로젝트 - 객체마을 식당과 팬케이크 하우스 합병 객체마을 식당에서는 점심 식사를, 팬케이크 하우스에서는 아침 식사를 노리고 메뉴를 만든다고 한다. 모든 메...

헤드퍼스트 디자인패턴 Chapter8 - 템플릿 메서드 패턴

헤드퍼스트 디자인패턴 본 책을 읽고 책의 내용을 간략하게 정리한 글입니다. Chapter 8. 알고리즘 캡슐화하기 - 템플릿 메서드 패턴 예제 프로젝트 - 커피와 홍차 커피와 홍차의 공통점은 카페인이 있다는 점과 만드는 방법이 매우 비슷한 방법으로 만들어진다는 점이다. Coffee 클래스와 Tea 클래스 만...

헤드퍼스트 디자인패턴 Chapter7 - 퍼사드 패턴

헤드퍼스트 디자인패턴 본 책을 읽고 책의 내용을 간략하게 정리한 글입니다. Chapter 7. 적응시키기 - 퍼사드 패턴 예제 프로젝트 - 홈시어터 만들기 영화나 TV 시리즈를 몰아볼 수 있는 홈시어터를 구축해보자. 홈시어터에는 스트리밍 플레이어, 프로젝터, 자동 스크린, 자동 조명, 서라운드 음향, 팝콘 ...

헤드퍼스트 디자인패턴 Chapter7 - 어댑터 패턴

헤드퍼스트 디자인패턴 본 책을 읽고 책의 내용을 간략하게 정리한 글입니다. Chapter 7. 적응시키기 - 어댑터 패턴 객체지향 어댑터 어떤 인터페이스를 클라이언트에서 요구하는 형태로 적응시키는 역할 새로운 클래스의 인터페이스가 기존 코드의 인터페이스와 다를 경우, 그냥 연결해서 사용할 수...

헤드퍼스트 디자인패턴 Chapter6

헤드퍼스트 디자인패턴 본 책을 읽고 책의 내용을 간략하게 정리한 글입니다. Chapter 6. 호출 캡슐화하기 - 커맨드 패턴 예시 - IoT 리모컨 리모컨 세부 사항 프로그래밍이 가능한 7개의 슬롯 버튼 7개의 슬롯 각각에 대한 ON/OFF 버튼 누른 버튼의 명령을 취소하는 UNDO 버튼 제어해야 ...

헤드퍼스트 디자인패턴 Chapter5

헤드퍼스트 디자인패턴 본 책을 읽고 책의 내용을 간략하게 정리한 글입니다. Chapter 5. 하나뿐인 특별한 객체 만들기 - 싱글턴 패턴 싱글턴 패턴의 용도 인스턴스를 하나만 만들어야 하는 객체 스레드 풀, 캐시, 대화상자, 사용자 설정, 레지스트리 설정을 처리하는 객체, 로그 기록용 객체와 같이 하나만 있을...

헤드퍼스트 디자인패턴 Chapter4

헤드퍼스트 디자인패턴 본 책을 읽고 책의 내용을 간략하게 정리한 글입니다. Chapter 4. 객체지향 빵 굽기 - 팩토리 패턴 new 연산자가 보이면 “구상”을 떠올려라 new 연산자를 사용하면 구상 클래스의 인스턴스가 생성된다. (인터페이스가 아닌 특정 구현을 사용해서) 앞서 구상 클래스를 바탕으로 코딩...