Next JWP Study 05
2017.04.17
study jwp
HTTP 웹 서버와 Servlet
다섯 번째 수업 이모저모
- 수업은
2017-04-17 19:00:00 +0900
에 시작.- 오늘은 리팩토링 후 Servlet, MVC 구현 순으로 학습.
- 앞으로 2주간은 MVC + JDBC + AJAX 구현 실습이 예정되어 있다.
- 이후로는 프레임워크를 구현하면서 Spring 공부할 준비를 한다.
- JSP 수업은 패스.
준비물
- 오늘 수업은 준비물이 있었다.
- https://github.com/slipp/jwp-basic 저장소를 자신의 계정으로 fork한다.
- fork한 jwp-basic 저장소를 로컬 PC로 clone한 후 master 브랜치를 step0-getting-started 브랜치로 변경한다.
- IntelliJ IDEA에서 maven 프로젝트로 import한다.
- src/test/java 디렉토리의 next.WebServerLauncher를 실행한 후 브라우저에서 http://localhost:8080 접속해 질문/답변 게시판 서비스 화면이 나타나는지 확인한다.
과제 구현
- Github Repository에 올려두었다.
- HTTP 웹 서버 구현할 때 만들었던
Annotation
과ReflectionUtil
,ControllerRegister
등을 그대로 복붙… 아니 재활용해서 완료했다. - 차이가 있다면: 지난번에는 Controller
interface
를 작성한 반면, 이번에는 Controller를abstract class
로 작성했다. forward method를 분리하기 위한 목적.
단상 : 객체지향 연습 방법은?
- 게임을 만들어 보기
- 마음 맞는 사람들과 서로 Code 리뷰
- 기타 등등…
메모 : 내 생각
이건 딱히 객체지향을 위한 방법은 아니지만 객체지향 연습에도 도움이 되는 방법이라 생각해서 메모한다.
계속해서 새로운 프로그램을 개발해보되, 같은 프로그램을 재개발하는 경험이 꽤 효과적이었던 것 같다. 열 번 스무 번 반복 개발할 필요까지는 없고, 똑같은 프로그램을 한 번 더 개발해보는 정도가 좋았다. 세 번째부터는 괴로운 느낌이 든다.
요약하자면 다음과 같은 무간지옥 사이클이라 할 수 있다.
- 개발
- 재개발
- 회고, 리뷰 : 교훈을 얻는다.
- 다른 프로그램 개발 계획을 세운다.
- 1로 돌아간다.
- 다음 프로그램에서 사용할만한 코드가 있다면 라이브러리화해서 조금이나마 무간지옥을 편하게 한다.
- 망했다 싶으면 다 지워도 된다. 업무라면 큰일나겠지만 이건 연습이니까. 게다가 git도 있고, 경험도 남아 있다. Fred Brooks도 어차피 언젠간 버리게 될 테니까 한 번은 버릴 마음을 갖고 코딩하라고 했었지 아마.