[헤드퍼스트 디자인패턴] 4장. 객체지향 빵 굽기 - 팩토리 패턴
·
스터디/객체지향
해당 게시물은 '헤드퍼스트 디자인패턴'을 읽고 내용을 정리한 글입니다.헤퍼디 스터디 링크: https://github.com/SSAFY11th-book-study/book-study 피자 코드에서 배우는 팩토리피자를 만드는 예시 코드가 있다.Pizza orderPizza(String type){ Pizza pizza; if(type.equals("cheese")) { pizza = new CheesePizza(); } else if (type.equals("greek"){ pizza = new GreekPizza(); } else if (type.equals("pepperoni"){ pizza = new PepperoniPizza(); } p..
[Docker] - SpringBoot 애플리케이션을 Docker 컨테이너로 패키징하고 Docker Hub에 업로드하기
·
개발 공부/Docker
SSAFY에서 2학기를 들어가면 3번의 프로젝트를 한다.해당 프로젝트에서는 AWS EC2 서버를 제공해 주는데, 해당 서버에 백엔드, 프론트엔드를 포함한 프로젝트에 필요한 다양한 자원들을 올려 놓고 사용한다.이 때, 해당 자원들을 컨테이너화 해서 서버에 올리기 위해, Docker를 사용한다.Docker 초보인 나는 코치님의 도움을 받아 Springboot 프로젝트를 컨테이너화 하는 방법부터 공부해보기로 했고, Docker를 시작하는 다른 사람들에게도 도움이 될 것 같아 이 글을 올린다. 1. 스프링 부트 프로젝트 빌드 (JAR 파일 생성)Gradle을 사용하는 경우, 프로젝트의 루트 디렉토리에서 다음 명령어 실행./gradlew clean build그러면 프로젝트의 루트 부분에 build 폴더가 생길 것..
[회고] SSAFY 1학기 회고
·
회고
시작하며 SSAFY 1학기가 무사히 끝났다. 그리고 두 달이 지났다.사실 무사히 끝난지는 잘 모르겠다. 여러가지 일이 있었다.너무 행복했던 일도, 아쉬워서 후회만 남는 일도 있다.몇 가지 키워드로 나의 싸피 생활을 돌아보면 좋을 것 같아 짧은 회고를 써 본다. 알고리즘알고리즘은 가장 큰 성장을 이뤘지만, 가장 아쉬운 부분이다.싸피에 들어가기 전, 나는 학교 수업 빼고 알고리즘을 공부해 본 적이 없었다.당연히 백준이나 프로그래머스 같은 사이트에서 문제를 따로 풀어 본 적은 손에 꼽았고, 싸피를 준비하며 코딩 테스트를 본다는 말에 몇일동안 연습한 게 전부였다.그래서 알고리즘을 꾸준히 풀어 본 경험이 있는 다른 친구들에 비해서 수업을 따라가기가 힘들었다.  또한 SSAFY 에는 1학기 내에 분반별로 특정 난이..
[스프링 부트와 AWS로 혼자 구현하는 웹 서비스] - 02
·
스터디/Spring
본 게시물은 이동욱 님의 [스프링 부트와 AWS로 혼자 구현하는 웹 서비스]를 만들면서, 만드는 과정과 어려웠던 점들에 대해 정리한 글입니다. 02. 스프링 부트에서 테스트 코드를 작성하자. 해당 장에서는 스프링 프로젝트에서 테스트 코드 작성의 기본을 알려준다. 단위 테스트나 TDD처럼 관련 용어들만 알고, 테스트가 중요하다는것만 알지, 정작 내 프로젝트에서 테스트를 해 본 적이 없는 나로서는 스프링 스터디때 하는 테스트에 대한 코드가 생소하기만 했다. 이 책을 계기로 내가 스프링 프로젝트의 테스트와 조금 더 가까워지길 바라며 2장을 시작했다. 테스트 코드 소개책에서는 먼저 TDD와 단위 테스트의 개념에 대해 정리한다.TDD는 테스트가 주도하는 개발을 말한다. 테스트 코드를 먼저 작성하는 것부터 시작한다..
[스프링 부트와 AWS로 혼자 구현하는 웹 서비스] - 01
·
스터디/Spring
본 게시물은 이동욱 님의 [스프링 부트와 AWS로 혼자 구현하는 웹 서비스]를 만들면서, 만드는 과정과 어려웠던 점들에 대해 정리한 글입니다.그래서 어쩌다 이 책을 읽게 됐냐면...백엔드 개발자로 성장하기 위해, SSAFY에서 스프링 스터디를 시작했지만, 스프링 프로젝트를 만들어보지 않은 내 입장에서는 스터디 첫날부터 내용을 따라가기가 너무 어려웠다. 사실 어렵긴 지금도 마찬가지지만...다행히도 착한 스터디원들은 나를 내쫓지 않았고, 스터디 내용을 따라갈 수 있도록 스프링에 대한 기초를 쌓을 만한 책이나 강의를 추천해 줬는데, 제일 기본이 되는 것이 이 "스프링 부트와 AWS로 혼자 구현하는 웹 서비스" 였다. 스터디원들도 주말동안 완성할 수 있는 난이도라고 했고, 책 머리말에서도 기본적인 자바 지식만 ..
[토비의 스프링3] 1장. 오브젝트와 의존관계(1.1~1.3)
·
스터디/Spring
1.2 DAO의 분리 1.2.1 관심사의 분리 객체지향으로 구현을 할 때는 미래의 변화에 대비하여 코드를 설계해야 한다. 미래의 변화란, 오브젝트에 대한 설계와 이를 구현한 코드가 변한다는 뜻이다. 대비하는 법이란, 변화의 폭을 최소한으로 줄여주는 것을 의미한다. 오브젝트의 관심사에 따라 한 번에 한 가지 관심사항에 집중해서 변경해야 한다. 관심이 같은 것끼리는 모으고 관심이 다른 것은 따로 떨어져 있게 하는 것. 1.2.2 커넥션 만들기의 추출 UserDao의 관심사항 첫째는 DB와 연결을 위한 커넥션을 가져올 방법 둘째는 사용자 등록을 위해 DB에 보낼 SQL 문장을 담은 Statement를 만들고 실행하는 것. 셋째는 작업이 끝나면 사용한 리소스인 Statement와 Connection 오브젝트를 ..