Chain of Responsibility Pattern 책임 연쇄 패턴
이미지 출처 : refactoring.guru ‘책임 연쇄 패턴’이란 순차적으로 진행되어야할 일련의 작업들이 있을때 적용할 수 있는 [[행동 디자인 패턴]] 중 하나이다. 이를 통해서 하나의 객체에서 하나의 작업만 수행하게 하며 [[단일 책임 원칙 (단일 책임 원칙)]], 적용할 작업들을 유연하게 추가/...
이미지 출처 : refactoring.guru ‘책임 연쇄 패턴’이란 순차적으로 진행되어야할 일련의 작업들이 있을때 적용할 수 있는 [[행동 디자인 패턴]] 중 하나이다. 이를 통해서 하나의 객체에서 하나의 작업만 수행하게 하며 [[단일 책임 원칙 (단일 책임 원칙)]], 적용할 작업들을 유연하게 추가/...
JPA 에서 연관관계의 자식 엔티티를 조회할때는 지연로드(LAZY), 즉시로드(EAGER) 방식이 있다. 이 글로 지연로드, 즉시로드 그리고 영속성 전이까지 이해하는데 도움이 되었음 한다. 로드 방식 지정하는 법 지연로드 방식으로 변경 하려면 다음처럼 fetch값을 변경한다. FetchType.LAZY : 지연로드 FetchType.EAGE...
초간단 실습을 해보며 MySQL에서 Inner Join과 Outer Join을 이해해보자! 예시 테이블 다음 예시 데이터들을 확인하여, 아래에 있을 실습에 착오가 없길 바란다. Employee Table name departmentID 문성훈 1 ...
프록시 패턴 이란 한줄 요약 : 프록시 패턴은 어떠한 객체를 대신하여 접근을 제어하는 등의 기능을 추가하는 디자인 패턴이다. Proxy는 직역하면 대리를 뜻한다. 즉, 무언가를 대신 처리해주는 것이다. 순차 다이어그램으로 그려보면 다음과 같다. 사진에서 보이듯 클라이언트는 실제 객체에 접근하지 않고, Proxy를 통해 접근하고 있다. 따...
서론 스프링부트에선 application.propertise혹은 application.yml을 통해 애플리케이션 설정을 할 수 있습니다. 대표적으로 MySQL 접속정보 (아이디, 패스워드…)가 이 파일에 담깁니다. 저는 예전에 이 파일을 제대로 관리하지 못해서 협업하는 팀원이 실수로 DB를 초기화 시키는 상황을 겪게 되었습니다 (포스트 참고). 과거...
간단한 프로젝트를 하다가 처음으로 REST Docs를 도입하게 되었습니다. 아무래도 처음 쓰는 기술이다 보니, 내부 구현체를 직접 확인해가며 동작 흐름을 이해하려고 노력했습니다. 그러다가 다음과 같은 코드를 발견하게 되었습니다. private String modify(String input) { List < String > replac...
주어진 채용공고 API 응답 예시로 요구사항 분석하기 채용공고 생성 주어진 응답예시는 다음과 같습니다. { "회사_id": 회사_id, "채용포지션": "백엔드 주니어 개발자", "채용보상금": 1000000, "채용내용": "원티드랩에서 백엔드 주니어 개발자를 채용합니다. 자격요건은..", "사용기술": "Python" } ...
한 3달전쯤에 백기선님 라이브방송에서 다른 분이 만든 API를 코드 리뷰하던 도중 CRUD 얘기가 나왔었다. 이때 어느 한 시청자분이 다음과 같이 채팅을 남기셨다. 시청자 A : 실제로 현업에선 CRUD보단 CRU만 사용하지 않나요? 이에 백기선님도 어느 정도 동의 하셨던 것 같았다. 과연 CRUD를 안 쓰고 CRU만 쓴다는 건 무슨 뜻이며,...
어느 한날 코딩을 하고 있었습니다. 명시적으로 예외가 발생하는 코드에서 IDE가 다음과 같은 코드 수정을 제안해주었습니다. ‘catch’ 절을 추가합니다. ‘IncompatibleClassChangeError’가 있는 catch에 ‘IOException’을(를) 추가 예외를 메서드 시그니처에 추가 try/catch로 둘러싸기 메서...
어느 한 날… 프로덕션 서버 (실운영은 안하고 있는 상태)에 생성해놓은 더미 데이터들이 몽땅 사라지는 일을 겪었습니다. 다시 일일이 만들기는 귀찮아서 집 나간 데이터를 되찾아보는 시간을 가졌습니다. 사건 조사 프론트엔드 개발하는 친구로부터 API가 동작하지 않는다며 연락을 받았습니다. 그래서 뭐지? 하며 JAVA 로그를 보는데… 칼럼이 발견되지 않는...