profile
동료들이 같이 일하고 싶어하는 백엔드 개발자가 되고자 합니다!
post-thumbnail

디자인 패턴 - 템플릿 메소드 패턴

헤드 퍼스트 디자인 패턴을 읽고 정리한 글입니다.템플릿 메소드 패턴은 알고리즘의 골격을 정의한다. 템플릿 메소드를 사용하면 알고리즘의 일부 단계를 서브클래스에서 구현할 수 있으며, 알고리즘의 구조는 그대로 유지하면서 알고리즘의 특정 단계를 서브클래스에서 재정의할 수도

2022년 8월 1일
·
0개의 댓글
·
post-thumbnail

디자인 패턴 - 어댑터, 퍼사드

헤드 퍼스트 디자인 패턴을 읽고 정리한 글입니다.어댑터 패턴 : 특정 클래스 인터페이스를 클라이언트에서 요구하는 다른 인터페이스로 변환한다. 인터페이스가 호환되지 않아 같이 쓸 수 없었던 클래스를 사용할 수 있게 도와준다.퍼사드 패턴 : 서브시스템에 있는 일련의 인터페

2022년 7월 29일
·
0개의 댓글
·
post-thumbnail

디자인 패턴 - 커맨드 패턴

헤드 퍼스트 디자인 패턴을 읽고 정리한 글입니다.커맨드 패턴을 이용하면 요구 사항을 객체로 캡슐화 할 수 있으며, 매개변수를 써서 여러 가지 다른 요구 사항을 집어넣을 수도 있다. 또한 요청 내역을 큐에 저장하거나 로그로 기록할 수도 있으며, 작업 취소 기능도 지원 가

2022년 7월 27일
·
0개의 댓글
·
post-thumbnail

싱글턴 패턴

헤드 퍼스트 디자인 패턴을 읽고 정리한 글입니다.싱글턴 패턴은 해당 클래스의 인스턴스가 하나만 만들어지고, 어디서든지 그 인스턴스에 접근할 수 있도록 하기 위한 패턴이다.초콜릿 공장에서는 초콜릿을 끓이는 장치인 초콜릿 보일러를 컴퓨터로 제어한다.이 보일러에서는 초콜릿과

2022년 6월 26일
·
0개의 댓글
·
post-thumbnail

팩토리 패턴 - 추상 팩토리

헤드 퍼스트 디자인 패턴을 읽고 정리한 글입니다.느슨한 결합을 이용하는 객체지향 디자인, 객체의 인스턴스를 만드는 작업이 항상 공개되어 있어야 하는 것은 아니며, 오히려 결합과 관련된 문제가 생길 수 있다. 팩토리 패턴을 이용하여 불필요한 의존성을 없애보자추상 팩토리

2022년 6월 20일
·
0개의 댓글
·
post-thumbnail

팩토리 패턴 - 팩토리 메서드

헤드 퍼스트 디자인 패턴을 읽고 정리한 글입니다.느슨한 결합을 이용하는 객체지향 디자인, 객체의 인스턴스를 만드는 작업이 항상 공개되어 있어야 하는 것은 아니며, 오히려 결합과 관련된 문제가 생길 수 있다. 팩토리 패턴을 이용하여 불필요한 의존성을 없애보자팩토리 메소드

2022년 5월 28일
·
1개의 댓글
·
post-thumbnail

데코레이터 패턴

헤드 퍼스트 디자인 패턴을 읽고 정리한 글입니다.데코레이터 패턴을 이용하면 객체에 추가 요소를 동적으로 더할 수 있습니다. 데코레이터를 사용하면 서브 클래스를 만드는 경우에 비해 훨씬 유연하게 기능을 확장할 수 있습니다.OO커피는 단기간에 급속도로 성장한 대형 커피 전

2022년 3월 11일
·
0개의 댓글
·
post-thumbnail

옵저버 패턴

헤드 퍼스트 디자인 패턴을 읽고 정리한 글입니다.옵저버 패턴에서는 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들한테 연락이 가고 자동으로 내용이 갱신되는 방식으로 일대다 의존성을 정의한다.실제 기상 정보를 수집하는 장비인 기상 스테이션과 기상 스테이션으로부터

2022년 3월 6일
·
0개의 댓글
·
post-thumbnail

자바 제네릭스

제네릭스란 JDK 1.5부터 도입한 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법이다. 다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일 시의 타입 체크를 해주는 기능이다.제네릭스가 필요한 이유는 객체의 타입을 컴파일 시에 체크하기 때문에 객

2022년 2월 10일
·
0개의 댓글
·
post-thumbnail

전략 패턴

헤드 퍼스트 디자인 패턴을 읽고 정리한 글입니다.전략 패턴 은 알고리즘군을 정의하고 각각의 알고리즘을 캡슐화하며 교환해서 사용할 수 있도록 만든다. 전략을 사용하면 알고리즘을 사용하는 클라이언트와는 독립적으로 알고리즘을 변경할 수 있다.오리 연못 시뮬레이션 게임에서 오

2022년 2월 10일
·
0개의 댓글
·
post-thumbnail

JVM 아키텍처 - 1

JVM은 Java virtual machine을 줄인 것으로 자바를 실행하기 위한 가상 컴퓨터이다.자바로 작성된 애플리케이션은 모두 JVM에서만 실행되기 때문에, 자바 애플리케이션을 실행하기 위해서는 JVM이 반드시 필요하다. 컴파일러는 Java 파일을 .class 파

2022년 2월 3일
·
0개의 댓글
·
post-thumbnail

static inner vs non-static inner class

프로젝트를 진행하며 리턴하는 api의 요청 혹은 응답의 DTO 클래스들은 데이터의 형식에 따라 많은 수가 필요하곤 했는데 재사용성을 줄이고 관리적인 측면에서 중첩클래스를 사용함으로써 하나의 dto만으로 완전히 관리될 수 있도록 inner static dto class로

2022년 2월 3일
·
0개의 댓글
·
post-thumbnail

Spring AOP

AOP는 관점 지향 프로그래밍. Spring의 핵심 개념중 하나인 DI가 애플리케이션 모듈들 간의 결합도를 낮춰준다면, AOP는 애플리케이션 전체에 걸쳐 사용되는 기능을 재사용하도록 지원하는 것쉽게 말해 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어서

2022년 1월 27일
·
0개의 댓글
·
post-thumbnail

Spring WebClient

스프링 어플리케이션에서 HTTP 요청할 때 사용하는 방법으로 RestTemplate과 WebClient가 있다. 스프링 5.0 이전까지는 클라이언트에서 HTTP 접근을 위해 사용한 것은 RestTemplate 이었다. 스프링 5.0 에서 WebClient가 나왔고 현재

2022년 1월 27일
·
0개의 댓글
·

Spring jpa n + 1(~작성중)

spring jpa를 사용하면서 빈번히 맞닥뜨렸던 n+1 문제 정리 및 프로그래머스 데브코스 진행하며 발표 했던 내용에 페이지네이션 보완하기 위해 작성하게 되었다.xxToMany에서의 주의점과 Pagination

2022년 1월 19일
·
0개의 댓글
·
post-thumbnail

Spring @Async

사용자가 어떤 게시글을 작성하면 조건에 맞는 다른 사용자에게 쪽지같은 알림을 구현해야 하는 상황게시글 작성알림처음에는 하나의 transaction으로 처리로 구현을 진행했으나 알림 기능은 부가적인 기능이고 댓글 작성 기능에 영향을 주면 안된다고 생각이 들었다. 따라서

2022년 1월 19일
·
0개의 댓글
·
post-thumbnail

Spring Boot Slice Test

Spring Data JPA 사용하는 미션에서 멘토님께 리뷰를 받으며 다음과 같은 피드백을 받으며 슬라이스 테스트 존재에 대해 알게 되었다.Repository Test시 @SpringBootTest를 @DataJpaTest로 변경해서 테스트 작성하기슬라이스 테스트란 무

2022년 1월 12일
·
0개의 댓글
·
post-thumbnail

java 버전별 차이 & 특징

Java 버전별 특징들을 찾아보면서 좋은 글이 있어 해당 글을 정리한 포스팅입니다.최신 Java 버전은 이제 6개월마다 따른다. 수많은 새로운 버전이 출시됨에 따라 기본적으로 다음과 같은 사용 시나리오가 존재기업의 기존 프로젝트에서는 Java 8을 사용해야 하는 경우가

2022년 1월 12일
·
0개의 댓글
·

[이펙티브 자바] private 생성자나 열거 타입으로 싱글턴임을 보증하라

인스턴스를 오직 하나만 생성할 수 있는 클래스를 말한다.ex) 함수와 같은 무상태 객체, 설계상 유일해야 하는 시스템 컴포넌트클래스를 싱글턴으로 만들면 이를 사용하는 클라이언트를 테스트하기가 어려워질 수 있다.타입을 인터페이스로 정의한 다음 해당 인터페이스를 구현해서

2021년 10월 13일
·
0개의 댓글
·

[이펙티브 자바] 선택적 매개변수가 많다면 빌더를 고려하라

선택적 매개변수가 많을 때 적절히 대응하기 어려움ex) 영양정보를 표현하는 클래스필수 항목: 1회 내용량, n회 제공량, 1회 제공량당 칼로리선택 항목: 총 지방, 트랜스지방, 콜레스테롤, 나트륨 등 20가지 이상대다수 제품은 선택 항목 중 대다수의 값이 0이런 클래스

2021년 10월 12일
·
0개의 댓글
·