본문 바로가기

멘토링/NEXTSTEP ATDD6

깊이 있는 6주간의 기록 대방출 이 글은 필자의 이전 블로그인  https://velog.io/@beomdrive/NEXTSTEP-ATDD-Final에서 핵심 내용을 중심으로 요약한 후에, 내용을 추가 보완하였습니다.※ ATDD 모든 과정이 정리되어 있는 Github 주소: https://github.com/giibeom/nextstep-atdd-final-summary 더욱 개운하고 뿌듯했던 6주간의 여정2023년도 새로운 해를 맞이하고 1월부터 시작된 NEXTSTEP ATDD 과정이 3월 말이 돼서야 완주했다.코드숨 과정을 듣고 NEXTSTEP 과정을 바로 듣게 된 계기는 이동욱(향로) 멘토님의 추천이었지만, 개인적으로도 필요하다고 느꼈던 수강 목적은 다음과 같다.복잡한 비즈니스 로직에서도 코드를 깔끔하게 유지하는 역량을 키우고 싶.. 2024. 7. 22.
테스트 방탄복을 입고, 리팩터링 전쟁으로 이 글은 필자의 이전 블로그인 https://velog.io/@beomdrive/NEXTSTEP-ATDD-4에서 핵심 내용을 중심으로 요약한 후에, 내용을 추가 보완하였습니다. 멀고 험난한 리팩터링, 안전하게라도 하자리팩터링에 대한 개인적인 고찰을 주저리주저리 작성하기 전에, 요약본을 먼저 작성해보려고 한다.아래에 대한 긴 장문의 이야기는 해당 내용들이다.외부 보호 장벽 역할의 테스트를 둘러쌓아 놓자외부 보호막을 기반으로 점진적이고 안전하게 리팩터링 해나가자외부 보호막만으로는 부족하므로, 각각의 통합/단위 테스트도 보강해 나가자실무에서는 시간/리소스의 싸움일 테니, 주요 비즈니스 로직만이라도 우선적으로 작성해 나가자나머지 테스트들은 버그가 발생했을 때 재발 방지 테스트를 하나씩 쌓아나가면서 테스트 코드를.. 2024. 7. 22.
테스트와 인증(Auth)의 만남 이 글은 필자의 이전 블로그인 https://velog.io/@beomdrive/NEXTSTEP-ATDD-3에서 핵심 내용을 중심으로 요약한 후에, 내용을 추가 보완하였습니다. 겉핥기로만 알고 있던 "인증",  제대로 알아보다이전 솔루션 회사에서는 별도의 Auth(인증) 서버가 존재하는 형태로 아키텍처가 구성되어 있었다.3개의 애플리케이션 모듈이 각각 repository 단위로 분리되어 있는 Multi-Repo로 구성되어 있고, 모바일 애플리케이션도 존재했기 때문에 공통으로 관리하기 위함이었다. 이때 토큰 방식으로 인증이 이루어졌는데, 기존 세션 방식을 토큰 방식으로 전환된 이유는 아래와 같았다.세션 방식으로 진행할 때는 각 서버 간의 세션 정합성을 맞춰줘야 한다.이미 구축되어 있는 Redis를 통해 세.. 2024. 7. 22.
테스트에 대한 고민 종결 이 글은 필자의 이전 블로그인 https://velog.io/@beomdrive/NEXTSTEP-ATDD-2에서 핵심 내용을 중심으로 요약한 후에, 내용을 추가 보완하였습니다. TEST, 고민의 막을 내리다그토록 학습하고 싶었던 Test Code를 코드숨에서 처음 배우고, 정말 이런 저런 생각과 고찰을 많이 했었다.테스트 방식에 대한 고찰물론 Mocking을 통해 슬라이스를 해야하는 상황도 분명 있지만, Mock 객체를 통한 테스트는 한창 코드숨을 진행하고 있을 때부터 영 신뢰가 안갔던 것 같다. 지금도 테스트에 대해 완전히 마스터한 것은 아니지만 NEXTSTEP ATDD 과정을 통해 복잡했던 머릿속이 대부분 정리되면서 한결 편해졌다. 사실 내가 생각하고 기대했던 테스트 코드라는 역할(?)은 Mock 객.. 2024. 7. 21.
객체지향으로 생활체조를? 이 글은 필자의 이전 블로그인 https://velog.io/@beomdrive/NEXTSTEP-ATDD-1에서 객체지향 생활 체조 내용을 따로 분리한 후, 요약 및 추가 보완하였습니다. 객체지향 생활체조NEXTSTEP ATDD에서는 과정을 시작하기 전, 객체지향 생활 체조 원칙이라는 개념과 함께 9가지의 원칙을 소개해준다.강의에서는 따로 말해주지는 않지만 강의 자료에 아래와 같이 간략하게만 적혀있다.규칙 1: 한 메서드에 오직 한 단계의 들여쓰기(indent)만 한다.규칙 2: else 예약어를 쓰지 않는다.규칙 3: 모든 원시값과 문자열을 포장한다.규칙 4: 한 줄에 점을 하나만 찍는다.규칙 5: 줄여쓰지 않는다(축약 금지).규칙 6: 모든 엔티티를 작게 유지한다.규칙 7: 3개 이상의 인스턴스 변수.. 2024. 7. 21.
인수 테스트 핥아보기 이 글은 필자의 이전 블로그인 https://velog.io/@beomdrive/NEXTSTEP-ATDD-1에서 핵심 내용을 중심으로 요약한 후에, 내용을 추가 보완하였습니다. 또 한번의 시작퇴사 직후 바로 시작했던 Codesoom 멘토링 과정을 마무리하고 매우 고민이 됐었다.코드숨 총 정리 - 8주간의 기록더 채워가야 할 부족한 점이 뭘까? 물론 공부를 하면 할 수록 부족한 점이 계속 보이긴 했지만, 당장 급한 것이 뭘까 싶었다.퇴사 후 지금까지 했던 공부들을 되돌아보면서 문득 생각이 들었다."내가 진짜 테스트 코드를 효율적으로 짜는 역량이 생긴건가?""내가 복잡한 비즈니스 로직에서도 코드를 클린하게 유지할 수 있을까?" 한동안 계속 고민을 하다가 멘토님이신 이동욱(향로)님께도 고민을 털어놓았더니 아래.. 2024. 7. 21.