참여자:
강인한, 김근욱, 최승연, 한승엽
시작일:2020.08.03(화)
모임날짜: (2020년 12월 ~ ) 주 1회 (토요일)
목표:
1. Spring framework를 함께 공부합니다.
2. 능동적인 학습을 위해 노력합니다.
3. 클린코드를 (무조건) 지향합니다.
4. TDD를 (무조건) 지향합니다.
5. 프로젝트를 통해 공부한 내용을 체득합니다.
프로젝트:
* Spring framework와 clean code에 대해 공부한 것을 바탕으로 직접 프로젝트를 구현해 보며 체득합니다.
모두 같은 내용을 구현하며, 서로의 코드를 리뷰해 줍니다.
주제: '빵 예약 어플리케이션'의 서버 만들기
- 환경 설정: Spring(java, gradle)
- 순서
1. 설계 ex. 기능 정의
2. 주차별 구현 계획 수립
- 각 기능별로 구성원이 각자 코드 생성
- 코드 리뷰 진행(클린코드 책에 입각하여)
규칙:
1. 회의 시 개인 sns(카톡, 인스타그램 등- 단, 비트윈은 가능)를 하지 않습니다.
2. 쉬는 시간은 50분당 10분 동안 휴식할 수 있습니다
3. 급한 일은 적어도 일주일 전에 양해를 구합니다. 다른 사람들은 군말없이 일정을 조절해주어야 합니다.
4. 나태하지 않습니다.
5. 정리 순서: 강인한 -> 최승연 -> 한승엽 -> 김근욱
day0: 2020-08-04(화)
- 이번주 진행 사항
1. 스터디 운영 계획 수립1. 참고 서적: 코드로 배우는 스프링 웹 프로젝트(저: 구멍가게코딩단)
2. 주 2회(평일, 주말) 모임을 원칙으로 한다. 평일: 이론, 주말: 실습 - 숙제
1. 책 1장 보고 환경 설정 완료해오기 2. 책 2장 공부해오기 - 다음 모임에서 함께 토의
day1: 2020-08-08(토)
- 진행 사항
1. 학습 내용 (자세히)1. 환경 설정
2. 속도 판단, 진행 방법 논의
2. 스프링 개요, 의존성 주입
3. 어노테이션 정리
1. 속도
- 1장, 2장을 끝내는 데 약 2시간이 걸렸다.(쉬는시간 포함)
- 1장은 환경설정이긴 하지만 처음인 점을 감안했을 때, 앞으로도 1장에 1시간 정도 잡으면 적당할 듯 하다.
2. 진행 방법
- 앞으로는 한 명씩 돌아가면서 그 장의 내용을 미리 어느정도 정리해 온다.
- 나머지는 정리된 내용이 자기가 알고 있는 내용과 다르거나, 설명에 덧붙이면 좋을 것 같은 내용을 최대한 얘기해 준다.
- 각자 진행하면서 생겼던 의문점들도 정리해온다.
- 숙제
5장, 6장 (스프링 MVC의 기본 구조 / Controller) 공부해오기
day2: 2020-08-15(토)
- 진행 사항
1. 학습 내용 (자세히)1. spring---DB 환경 설정
2. 진행 방법 논의
2. MVC 기본구조
3. MVC의 Controller
환경설정 잘 했으니 진도 많이 나갑시다
- 숙제
7장, 8장, 9장, 10장, 11장 공부해오기
day3: 2020-08-23(일)
- 진행 사항
1. 학습 내용 (자세히)기본적인 웹 게시물 관리(chapter 7 ~ chapter 11)
1. 스프링 MVC 프로젝트의 기본 구성
2. business, persistence 계층의 CRUD 구현
3. 화면 처리
- 숙제
12장, 13장 공부해오기
day4: 2020-08-26(수)
- 진행 사항
1. 학습 내용 (자세히)Database / Mybatis와 Spring에서 페이징 처리 (chapter 12 ~ 13)
1. Database에서의 페이징 처리
2. Mybatis와 Spring에서의 페이징 처리
- 숙제
16장, 17장 절반(javascript 전까지) 공부해오기
day5: xxxxx
- 진행 사항
1. 학습 내용 (자세히)Database / Mybatis와 Spring에서 페이징 처리 (chapter 12 ~ 13)
1. Database에서의 페이징 처리
2. Mybatis와 Spring에서의 페이징 처리
- 숙제
16장, 17장 절반(javascript 전까지) 공부해오기
day6: 2020-09-03(목)
- 진행 사항
1. 학습 내용 (자세히)SpringFramework에서 REST 방식 사용하기
1. REST와 RESTful
2. annotation
- 숙제
17.4 부터 18까지
day1: 2020-11-28(토)
- 진행 사항
1. 학습 내용 (자세히)깨끗한 코드 (클린 코드 1장) / 스프링 부트
1. 깨끗한 코드
2. Spring vs Spring boot
- 숙제
클린 코드 2장 빵 예약 앱 DB 설계
day2: 2020-12-05(토)
- 진행 사항
1. 학습 내용 (자세히)의미있는 이름 (클린 코드 2장) / DB 구성
1. 의미있는 이름
2. 빵 예약 서비스 DB 구성
- 숙제
클린 코드 3장 API 명세서 작성(간단하게)
day3: 2020-12-12(토)
- 진행 사항
1. 학습 내용 (자세히)함수 (클린 코드 3장) / API 명세서 작성
1. 함수
2. API 명세서 작성
- 숙제
클린 코드 4장 회원가입(seller, customers) 모듈 개발 방법에 대해 고민해보기 ex.폴더구조, interface,imple 등등
day4: 2020-12-26(토)
- 진행 사항
1. 학습 내용 (자세히)주석 (클린 코드 4장) / 프로젝트 구조 / 회원가입 모듈
1. 주석
2. 프로젝트 구조
3. 회원가입 모듈
- 숙제
클린 코드 5장 Spring Security 공부해오기 및 랜덤 발표
day5: 2021-01-09(토)
- 진행 사항
1. 학습 내용 (자세히)형식 맞추기 (클린 코드 5장) / 팀 형식 맞추기 / Spring Security
1. 형식 맞추기(클린 코드 5장)
2. 백발자 팀 형식 맞추기
3. Spring Security
- 숙제
클린 코드 6장 Spring Security 예제 따라해보기
day6: 2021-02-06(토)
- 진행 사항
1. 학습 내용 (자세히)DDD패턴
1. DDD패턴으로 USER 부분 설계 및 구현
- 숙제
클린 코드 8장 DDD 패턴으로 bakery 부분 구현
day7: 2021-02-13(토)
- 진행 사항
1. 학습 내용 (자세히)클린 코드 8. 경계
Bakery Domain CRUD 구현
- 숙제
클린 코드 9장 각자 맡은 부분(RESTful, jwt, error handling, JPA) 정리 bakery crud 완벽히 해오기
day8: 2021-03-07(일)
- 진행 사항
1. 학습 내용 (자세히)RESTful, jwt, error handling, JPA 에 관한 발표
- 숙제
클린 코드 9장(단위 테스트)
nest.js 로 hello world! 띄워오기
day9: 2021-03-13(토)
- 진행 사항
1. 학습 내용 (자세히)1. 클린 코드 9. 단위 테스트
2. nest.js 로 "hello world" 띄우기
- 숙제
클린 코드 10장(클래스)
nest.js 로 회원가입 기능 만들어오기(공부할 것 : 1. 자스/타스 문법, 2. 패스포트(passport) 3. 네스트 기본 구조 및 동작 원리 (spring과의 차이점)