목표
- 2012년 현재 자바 기반 웹 애플리케이션 개발에 필요한 기술 요소를 학습한다.
- 클라이언트 측면 보다는 서버측 기술 요소를 위주로 학습한다.
- SLiPP QnA 프로젝트를 같이 만들어 가면서 소스 코드를 분석하고 필요한 기술 요소를 적용해 가는 과정으로 진행한다.
스터디 참여자
스터디 일정
- 월 2회를 목표로 한다. 주말보다는 주중의 시간을 이용한다. 스터디 진행중 주중 시간이 부족하다고 판단되면 주말로 시간 변경
- 기간은 4~5개월로 생각하고 있으며, 후속 스터디가 필요하다고 판단될 경우 후속 스터디를 기획해 진행한다.
스터디 진행방식
진행 방식은 두 가지 중 하나를 선택한다.
- 진행 방식은 특정 주제에 대하여 한명이 발표자료를 준비해온 다음 토론하는 방식
- 진행하는 프로젝트를 해당 주제를 기반으로 구현해 보고 구현한 내용을 공유하는 방식
스터디는 가능하면 실무에 적용할 때 어떻게 적용하는지에 대한 활용방안을 같이 찾는 토론 형식으로 진행한다. 가능하면 발표는 간단하게 하고 토론을 위주로 진행한다. 실습이 필요한 경우에는 직접 실습을 통해 동작하는 모습을 볼 수 있도록 한다.
스터디 회칙
- 월 1-2만원 정도의 회비를 걷어서 운영하다.
- 벌금제도 운영
- 스터디 준비를 하나도 하지 않았을 경우 : 10000원
- 아무 연락 없이 무단 불참할 경우 : 5000원
- 사전 통보후 불참할 경우 : 3000원
- 지각하는 경우 : 2000원
스터디 문서 양식
스터디 문서를 작성할 때의 문서 양식 : 스터디 문서는 이 문서를 바탕으로 내용들을 추가하고 정리해 나갔으면 좋겠다.
스터디 커리큘럼
오리엔테이션
1차 스터디
- Software Lifecycle 논의
- 개발 문화와 개발 프로세스에 대한 내용을 주제로 토론 방식으로 진행한다.
- SLiPP QnA 요구사항 분석 및 최초 소소 코드 리뷰
- 스터디에서 사용할 SLiPP QnA 시스템에 대한 분석을 한다.
- 기존의 일반적인 개발 방식으로 구현되어 있는 소스 코드 공유
2차 스터디
- 자바 기반 로컬 웹 개발 환경 - Eclipse
- Maven or Gradle을 활용한 빌드 환경
- 프로젝트 기반 구조를 잡는다.
3차 스터디
- Behavior Driven Development - Cucumber, Selenium
- BDD를 연습하기보다 스펙 문서를 관리하고 유지하는 부분에 대해 집중적으로 학습한다.
- Test Driven Development - JUnit, Mockito
4차 스터디
- Spring DI 또는 Core
5차 스터디
- Callback Interface, Callback Class
- TDD와 리팩토링에 대한 이해를 한다.
- Spring JDBC
6차 스터디
- ORM - JPA, Hibernate
7차 스터디
- Spring MVC
8차 스터디
- Spring Security
- 진행 상황에 따라 진행하지 않을 수도 있다.
9차 스터디
- Spring Data JPA
- JPA 기반 개발 프로세스
10차 스터디
- 질답, 태그 게시판 구현 마무리
- 소스 코드 리뷰를 통한 코드 개선