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

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 오리 시뮬레이션 게임에서는 헤엄도 치고 꽥꽥 소리도 내는 다양한 오리가 등장한다. 이 시스템을 처음 디자인한 사람은 표준 객체지향 기법을 사용하...

웹에 날개를 달아주는 웹 성능 최적화 기법 Chapter9

웹에 날개를 달아주는 웹 성능 최적화 기법 본 책을 읽고 책의 내용을 간략하게 정리한 글입니다. Chapter 9. 웹 최적화 트렌드 웹 최적화의 역사 모바일 기기의 등장과 모바일 사이트 최적화 스마트폰이 등장하면서 모바일 사용자의 경험이 중요해짐 모바일과 데스크탑 사용자의 사이트 경험을 동일하게 만들기 위...

웹에 날개를 달아주는 웹 성능 최적화 기법 Chapter8

웹에 날개를 달아주는 웹 성능 최적화 기법 본 책을 읽고 책의 내용을 간략하게 정리한 글입니다. Chapter 8. 웹 프로토콜 최적화 HTTP의 발전 HTTP/1.1 GET, POST 외에도 PUT, DELETE 메서드 추가됨 Via 헤더를 사용해 중계 서버 정보를 공유하고 Accept 헤더로 클라이언트가...