레벨3의 슬럼프 극복
선택과 집중의 시기
- 뭔가 깊이 파고 싶은 주제를 내가 하나 정하고 책을 선정하여 조금씩 공부해갑니다.
- 피해야할 것은 자기 수준에 맞지 않는 것을 남들이 한다고 해서 하는 것입니다.
오프라인 강좌인 만큼 서로 돕고 함께 해나가야 합니다. 포기만 하지 않으면 다 할 수 있습니다!
레벨3의 목표는 '스스로 공부하는 방법을 익히는 것'입니다.
ATDD(Acceptance Test Driven Development)
Acceptance Test는 End To End Test라고도 불립니다.
이 부분을 이해하려면 어느 정도의 사전 지식들이 필요하며, 그 중에서도 HTTP
에 대한 지식들이 많이 요구됩니다(필독 도서 참고)
필요성
이전에 로그인 이후 구현되는 로직을 확인하기 위해 매번 수동으로 로그인하여 확인하는 과정을 모두 경험하셨을 것입니다. 이와같이 매번 수동으로 테스트하는 것은 생산성 측면에서 너무 비효율적이기 때문에 꼭 필요합니다!
레이어드 구조
미션을 진행하면서 구조를 분석해봅니다. 레이어드 구조는 현업에서 가장 많이 사용되고 있는 구조입니다. 또 기존 Controller → Repository 에서 Controller → Service
→ Repository 로 구조가 바뀌는데요. Service가 왜 필요할까요?
- Service Layer의 역할, 접근 권한에 대해 생각해봅시다.
- Service내에
Transactional
에 대해 알아볼 필요가 있습니다.
고민해야할 부분
- 테스트는 어디까지 하면 좋을지 생각해봅시다.
- 'TDD, Refactoring, 클린코드 for 웹'은 2주 내로 끝내는 것을 목표로 해봅시다.
- '이슈 관리 시스템'에선 프로젝트를 고려해봅시다(5주 내로 끝내볼 것). 이때 만들려고 하는 것을 못 만들어도 됩니다. 하지만 배울 수 있는 것이 분명 있어야 합니다. 그리고 이 기준에 따라 팀을 구성하든, 개인으로 하든 결정할 수 있습니다.
HandlerMethodArgumentResolver
는 파라미터를 받아서 알아서 처리하는 로직들이 담겨져 있습니다. 이에 대해 알아봅시다Interceptor
(서블릿에서는Filter
) 은 전처리, 후처리에 사용될 수 있습니다. 이 부분은 다른 서버 사이드 언어에도 공통적으로 있는 개념이고 중복을 제거하기 위해, AOP를 이해하기 위해서도 꼭 이해하여야 하는 개념입니다. 꼭 익혀야합니다.(면접 단골 질문 -Interceptor
필요성 관련)
'TIL' 카테고리의 다른 글
Today's Dev Notes(2018-12-09) (0) | 2018.12.09 |
---|---|
Today's Dev Notes(2018-12-08) (0) | 2018.12.08 |
Today's Dev Notes(2018-12-03) (0) | 2018.12.03 |
Today's Dev Notes(2018-12-02) (0) | 2018.12.02 |
Today's Dev Notes(2018-11-29) (0) | 2018.11.30 |