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

헤드퍼스트 디자인패턴 Chapter5

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

헤드퍼스트 디자인패턴 Chapter4

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

Bouncer 패턴과 Extract method 기법

Bouncer 패턴과 Extract method 기법 이전 포스팅에서 다룬 Early Return 기법의 단점이었던 “여러 줄의 코드에서 적용했을 때 함수의 복잡도가 높아진다.” 라는 점을 보완하기 위한 방법 중 대표적인 방법인 Bouncer 패턴과 Extract method 기법에 대해 다루어본다. Bouncer 패턴...

Early Return을 알아보자

Early Return을 알아보자 Early Return을 사용하면 좋은 경우 먼저 아래와 같은 계산을 하는 코드가 있다고 생각해보자. public class ExampleClass { public int calculateResult(int x, int y) { int z = 0; ...

자바 버전 별 특징

자바 버전 별 차이점 Java 7 Type Inference (타입 추론) // 7이전 버전 List<String> list = new ArrayList<String>(); // 7이후 버전 List<String> list2 = new ArrayList<>(); ...

헤드퍼스트 디자인패턴 Chapter3

헤드퍼스트 디자인패턴 본 책을 읽고 책의 내용을 간략하게 정리한 글입니다. Chapter 3. 객체 꾸미기 - 데코레이터 패턴 OCP 살펴보기 OCP(Open-Closed Principle) 디자인 원칙 5 클래스는 확장에는 열려 있어야 하지만 변경에는 닫혀 있어야 한다. 우리의 목...

사례로 보는 Spring Event & Kafka

Spring Event와 Kafka 예시 사례 문서 정리 작업을 수행하는 한 애플리케이션이 있다고 가정해보자. 정리할 문서들이 들어오고 정리 요청을 하게 되면 정리 작업이 수행된다. 해당 애플리케이션에서 문서를 정리하는 작업에는 문서 내용 분석, 내용 별 분리, 불필요한 문서 정리 등 특정 작업 단계가 있고, 각 단계마...

lombok @Builder의 기본값 초기화 딜레마

lombok @Builder의 기본값 초기화 딜레마 개요 lombok에서 제공해주는 @Builder 어노테이션은 생성자 인자를 메서드 체인으로 대입하여 생성자를 호출할 수 있게 빌더 클래스를 생성해준다. 클래스 레벨에서 @Builder를 선언하면 모든 요소를 받는 package-private 생성자가 자동으로 생성되고, ...

헤드퍼스트 디자인패턴 Chapter2

헤드퍼스트 디자인패턴 본 책을 읽고 책의 내용을 간략하게 정리한 글입니다. Chapter 2. 객체들에게 연락 돌리기 - 옵저버 패턴 기상 모니터링 애플리케이션 알아보기 이 시스템은 기상 스테이션(실제 기상 정보를 수집하는 장비), WeatherData 객체(기상 스테이션으로부터 오는 정보를 추적하는 객체), ...

헤드퍼스트 디자인패턴 Chapter1

헤드퍼스트 디자인패턴 본 책을 읽고 책의 내용을 간략하게 정리한 글입니다. Chapter 1. 디자인 패턴 소개와 전략 패턴 오리 시뮬레이션 게임, SimUduck 오리 시뮬레이션 게임에서는 헤엄도 치고 꽥꽥 소리도 내는 다양한 오리가 등장한다. 이 시스템을 처음 디자인한 사람은 표준 객체지향 기법을 사용하...