nextstep
DDD 세레나데 2주차 - 크게 소리 내어 모델링하기
NEXTSTEP에서 진행하는 교육과정 DDD 세레나데 2기다. DDD(Domain-Driven Design) 세레나데 edu.nextstep.camp 교육을 수강한 지 1년이 지났지만, 이제야 후기를 작성한다. 2주차 후기 2주차는 모델링을 주제로 유비쿼터스 언어, 바운디드 컨텍스트, 이벤트 스토밍을 배우는데 간단하게 설명하면 유비쿼터스 언어는 구성원이 사용하는 비즈니스 용어를 하나로 통일한 언어이며 바운디드 컨텍스트는 도메인 범위를 정한다고 볼 수 있다. 이벤트 스토밍은 비즈니스 도메인을 빠르게 탐색하고 학습하여 유비쿼터스 언어와 바운디드 컨텍스트를 정하는 데 큰 도움을 준다. 이번에 배운 내용은 DDD를 적용하는 회사가 아니더라도 적용할 수 있는 좋은 내용이다. 이벤트 스토밍으로 구성원간 서로 다른 ..
DDD 세레나데 1주차 - 도메인 주도 설계 이해
NEXTSTEP에서 진행하는 교육과정 DDD 세레나데 2기다. DDD(Domain-Driven Design) 세레나데 edu.nextstep.camp 교육을 수강한 지 1년이 지났지만, 이제야 후기를 작성한다. 1주차 후기 1주차는 레거시 코드를 통해 도메인 주도 설계 등장 배경을 겪어보고, 왜 도메인 주도 설계인가를 알아본다. 리팩토링을 하기 위한 첫걸음으로 테스트 코드를 학습한다. 테스트 코드를 작성하는 방법은 여러 가지로 모두 경험해보고 어느 상황에 사용하면 좋을지 알아본다. 텐트를 세우기 위해 말뚝이 필요하듯이 리팩터링을 하기 위해선 테스트 코드가 필요하다. 나는 TDD, 클린코드 with Java 11기가 끝난 지 얼마 안 된 시점이라 생소한 개념이 많아서 따라가기 힘들었는데 아래의 개념을 들어..
DDD 세레나데 시작하면서...
NEXTSTEP에서 진행하는 교육과정 DDD 세레나데 2기다. DDD(Domain-Driven Design) 세레나데 edu.nextstep.camp 교육을 수강한 지 1년이 지났지만, 이제야 후기를 작성한다. 수강 이유 TDD, 클린 코드 with Java edu.nextstep.camp TDD, 클린코드 11기를 수강하고 나서 객체지향을 알게 되었고, 서적과 스터디로 오브젝트 등을 읽으면서 객체지향을 좀 더 알아가고 있었다. 당시 21년 하반기에 취업목표를 생각하고 있었고, 구인 공고를 찾아봤더니 DDD, MSA 용어가 많이 보였다. 커뮤니티 게시글이나 스터디 모집에서 DDD가 많이 보였고, 지인들도 DDD 스터디를 구한다고 했었다. 관심이 생겼지만, 커뮤니티에서 DDD, MSA는 난이도가 높아 나중..
ATDD 5주차 - 마무리
NEXTSTEP에서 진행하는 교육과정 ATDD와 함께 클린 API로 가는 길 4기다. 글을 작성하는 시점에서는 과정명이 ATDD, 클린 코드 with Spring으로 변경되었다. ATDD, 클린 코드 with Spring edu.nextstep.camp ATDD 미션 다시 보기 1주차 - 인수 테스트 기반 기능 구현 - 인수 테스트 작성 방법 - 인수 테스트 가독성 고려 2주차 - ATDD + TDD Cycle 경험 - 인수 테스트를 시작으로 세부 구현을 단위 테스트로 구현 - Outside In TDD와 InSide Out TDD를 경험 - 테스트 비용을 고려하여 단위 테스트로 분리 3주차 - 인수 테스트 기반 리팩토링 - 인수 테스트를 통해 점진적으로 기능 개발 경험 - 인수 테스트 통합을 통해 인..
ATDD 4주차 - 테스트 기반 문서화
NEXTSTEP에서 진행하는 교육과정 ATDD와 함께 클린 API로 가는 길 4기다. (글을 작성하는 시점에서는 과정명이 ATDD, 클린 코드 with Spring으로 변경되었다.) ATDD, 클린 코드 with Spring edu.nextstep.camp 4주차 교육 요약 교육은 지난주 피드백으로 의존성에 대한 이야기, 단위테스트 vs 인수테스트 내용이 있으며 단위 테스트에서는 통과가 되었는데, 인수 테스트에서 실패하는 상황이 발생한 경우, 언제 어떻게 발생하는지 언급하고(ex:인메모리와 DB 조회의 차이) 본 수업으로 테스트 환경과 도구 여러가지가 언급되지만 그중 @SpringBootTest, @WebMvcTest, @DataJpaTest 3가지를 간략히 언급하고 넘어간다. @SpringBootTe..
ATDD 3주차 - ATDD 기반 리팩토링
NEXTSTEP에서 진행하는 교육과정 ATDD와 함께 클린 API로 가는 길 4기다. (글을 작성하는 시점에서는 과정명이 ATDD, 클린 코드 with Spring으로 변경되었다.) ATDD, 클린 코드 with Spring edu.nextstep.camp 🚀 1단계 - 토큰 기반 로그인 구현 🚀 1단계 - 토큰 기반 로그인 구현 by loop-study · Pull Request #180 · next-step/atdd-subway-favorite 안녕하세요 리뷰어님! 3주차 미션을 진행하게된 박현철이라고 합니다. 이전까지는 기능마다 인수테스트를 작성하다가, 하나로 묶어 진행되었는데, 중간에 한번 에러가 발생하니 독립적인 것보 github.com 요구사항 AuthAcceptanceTest의 myInfo..
ATDD 2주차 - ATDD + TDD 후기
NEXTSTEP에서 진행하는 교육과정 ATDD와 함께 클린 API로 가는 길 4기다. (글을 작성하는 시점에서는 과정명이 ATDD, 클린 코드 with Spring으로 변경되었다.) ATDD, 클린 코드 with Spring edu.nextstep.camp 🚀 1단계 - 구간 추가 기능 변경 🚀 1단계 - 구간 추가 기능 변경 by loop-study · Pull Request #213 · next-step/atdd-subway-path 안녕하세요. 리뷰어님! 이번에 리뷰이가 된 박현철이라고 합니다. 늦게 제출해서 죄송합니다. 🙈 이번 단계를 진행하면서 Mockito를 사용하고 인수테스트와 단위테스트를 포함해서 중복되는 테 github.com 요구사항 변경된 스펙 - 구간 추가 제약사항 변경 변경된 스..
ATDD 1주차 - 인수테스트 후기📖
NEXTSTEP에서 진행하는 교육과정 ATDD와 함께 클린 API로 가는 길 4기다. (글을 작성하는 시점에서는 과정명이 ATDD, 클린 코드 with Spring으로 변경되었다.) ATDD, 클린 코드 with Spring edu.nextstep.camp 🚀 1단계 - 노선 관리 기능 구현 step1 : 노선 관리 기능 구현 by loop-study · Pull Request #165 · next-step/atdd-subway-map 안녕하세요 리뷰어님. 박현철입니다. 기존의 지하철 인수 테스트를 참고하여 노선 관리 기능 구현을 했습니다. 앞으로 많은 지도 부탁드립니다! 🙇🏻♀️ github.com 요구사항 아래 인수 조건을 검증하는 인수 테스트 작성하기 작성한 인수 테스트를 충족하는 기능 구현하기..