전체 글
CHAPTER 01.디자인 패턴 소개와 전략 패턴
전략 패턴 이해를 위한 간단한 문제 제안 전략패턴을 이해하기 위해 간단한 문제를 먼저 제시해보도록 하겟습니다. “SIMUDuck”이라는 오리 게임을 만들기 위해 오리라는 객체를 정의하고 오리를 상속받아 도메인에 맞는 오리를 생성하는 설계 구조입니다. 이런 설계 상황에서 기획자의 요구에 의해 Duck이라는 객체에 Fly()라는 메소드를 추가 받아야 하는 요구사항이 들어온것입니다. 개발자는 상속을 사용하여 구현한 상태에서 모든 오리는 날수 있다고 생각하여 Fly()라는 메소드를 추가하게 됩니다. 근데 이런 상황에서 만약 모형 오리라는 클래스를 추가하게 되면 날지 못하는 오리들도 날게 되는 기이한? 오류가 발생하게 됩니다. 이처럼 전략패턴은 상속에 대한 부정적인 관점으로 인터페이스 기반 설계와 구현을 지향합니..
CHATER 00.이 책을 읽는 방법
이 책을 읽는 이유와 포스팅 하는 이유 이 책은 디자인 패턴에 대해 설명하는 책들입니다. 개인적으로 많은 멘토분들과 동료들이 이 책을 읽으라고 추천을 해주셨습니다. 이 카테고리의 포스팅된 글들은 제가 까먹고 기억하기 위해서 작성하는 목적도 가지고 있지만 구글링을 통해 들어와서 정보를 빠르게 필요로 하신 분들을 위해서이기도 합니다. 이 책의 저자는 에릭 프리먼과 엘리자베스 롭슨입니다. 에릭 프리먼은 월트 디즈니 온라인 CTO를 역임하고 현재는 WickedlySmart에서 책과 동영상 콘텐츠를 창작하는 일을 하는 프로입니다. 또한 헤드 퍼스트 시리즈를 만든 사람 중 한명입니다. 엘리자베스 롭슨은 소프트웨어 엔지니어 저자로서 WickedlySmart의 공동창업자로 예일대학교에서부터 기술적인 분야에 열정을 품고..
컨테이너 기반(Docker) MySQL 서버 InteliJ 연동 오류 처리
InteliJ IDE에서 DB 연동 중 아래와 같은 오류가 발생했다. The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server 당시 나의 오류 환경 SpringBatch 테스트를 위한 DB가 필요한 상황이었다. 당시 오류 환경은 아래와 같았다. Local에서 MySQL을 설치한 상태였다. (외부 접근 Port번호 3306 사용중) 컨테이너 Server(MySQL)를 동작시킨 상황이었다.(외부 접근 Port번호 3307:3307) 사용 위의 사진처럼 Port번호를 3307로 설정해도 접근이 안되는 문제가 발생했다. 처음 연동시에는 도커의..