블로그
전체 4#카테고리
- 백엔드
2024. 10. 27.
0
[BE 클린코드/테스트코드 스터디] 4주차 회고
4주차 동안 무엇을 공부했는가?목차4주차 동안 학습한 목차는 다음과 같다.Spring & JPA 기반 테스트Mock을 마주하는 자세더 나은 테스트를 작성하기 위한 구체적 조언Appendix각 목차 별 본인이 생각하는 중점을 요약하자면 다음과 같다.Spring & JPA 기반 테스트각 레이어별 어떻게 테스트 코드를 작성해야하는가Mock을 마주하는 자세Mock을 사용하는 방법 및 상황에 따른 Mock 사용더 나은 테스트를 작성하기 위한 구체적 조언테스트는 문서의 역할을 한다는 점을 생각하고 테스트를 작성하자Appendix학습 테스트를 통해 학습하는 방법 RestDocs를 사용한 테스트 코드로 API 작성 방법미션미션 5. 각 레이어의 특징과 테스트 작성 방법미션 6. 공통되는 테스트 코드가 존재한다면, 이를 setUp으로 뺄 것인가두 미션은 지금까지 공부한 내용을 정리하는 미션이었다.따라서 따로 고민하며 무언가를 수행하지는 않았고, 나만의 테스트 작성의 기준점을 세우는 시간이었다.4주차 이후, 생각..한 달 이라는 시간이 정말 빠르게 지나갔다고 생각한다.단순히 클린코드, 테스트 코드가 아닌 컨벤션, 다양한 방법중 단점이 적은 방법 등.. 핵심적인 내용들이 강의의 위주였다고 생각한다.해당 스터디를 진행하면서 개인 프로젝트에 리팩토링, 테스트 코드를 작성하였는데 많이 도움이 되었던 것 같다.아직 개인 프로젝트에 적용할 사항들이 많은데, 어려움을 느낄 때 마다 다시 강의를 보면서 진행하려고 한다.
2024. 10. 20.
0
[BE 클린코드/테스트코드 스터디] 3주차 회고
3주차 동안 무엇을 공부했는가?목차3주차 동안 학습한 목차는 다음과 같다.단위 테스트TDD테스트는 []다.Spring & JPA 기반 테스트 각 목차 별 본인이 생각하는 중점을 요약하자면 다음과 같다.단위 테스트작은 코드 단위를 독립적으로 검증하는 테스트TDD선 테스트 작성 후, 기능 구현테스트는 []다테스트는 단순히 테스트의 용도만 있는 것이 아니다..Spring & JPA 기반 테스트@SpringBootTest 와 @DataJpaTest의 차이테스트에서 @Transaction은 신중히 고려해야할 사항이다. 미션미션 4. 지뢰찾기 게임 테스트코드 작성하기테스트코드를 작성하는데에 본 강의에서 중요하게 다룬 경계 테스트를 집중하였다.다만, 여태까지 중요하다고 생각한 부분에만 테스트코드를 작성해왔던 터라 "테스트를 작성해야하는 부분"을 선정하는게 어렵게 느껴졌다.값의 변경이 생기고 해당 부분이 외부에 노출되는 코드들을 최대한 테스트 코드를 작성하려고 노력하였다. 3주차 이후, 생각..테스트가 익숙하지 않다보니, 생각보다 쉽지 않았던 것 같다.정말 중요하다는 것은 잘 알지만, 구현에 반해 테스트 코드는 노동이라는 생각이 오랜 시간 자리 잡았던 것 같다.다음 강의부터 Mock, Spring dosc와 같은 내용들이 준비 되어있으니, 테스트 코드의 즐거움을 찾기위해 노력해봐야 할 것 같다.
2024. 10. 13.
0
[BE 클린코드/테스트코드 스터디] 2주차 회고
2주차 동안 무엇을 공부했는가?목차2주차 동안 학습한 목차는 다음과 같다.코드 다듬기리팩토링 연습기억하면 좋은 조언들각 목차 별 본인이 생각하는 중점을 요약하자면 다음과 같다.코드 다듬기주석, 코드의 나열 순서, 패키지 구조 또한 중요하다.결국 코드는 읽어야 하는 대상이기 때문에 읽기 좋게 구성하자리팩토링 연습스터디카페 예약 서비스 리팩토링을 진행하였다.기억하면 좋은 조언들모든 것에 정답은 없다.단지 저울질이 중요할 뿐이다. 미션미션 3. 스터디 카페 이용권 선택 시스템 리팩토링처음에는 전체적인 구조를 파악하고 구조를 나눌려고 하였다.하지만, 내가 만든 프로젝트가 아니기 때문에 상세 구현들을 쪼개는 것이 쉽지 않았다.이로 인해 다시 초기 상태를 복구하고 큰 단위에서 쪼개기 시작하였고, 처음에 목표한 구조와 비슷한 구성으로 리팩토링 할 수 있었다. 2주차 이후, 생각..미션을 진행하면서 작년에 지원한 우아한 테크코스가 많이 생각났다.그 당시 객체지향의 개념을 잘 알지못하였기 때문에 현실의 개념들을 프로젝트에 적용하려고 하다보니 쉽게 엉키는 경우가 많았고, 아쉬운 부분들이 많았다.물론 이번 리팩토링도 아쉬운 부분들이 분명 있었지만, 전체적으로 코드를 보는 시선이 달라졌다고 생각한다.특히 Solid 원칙을 전부 준수하는 코드를 작성하는 것이 가능한가? 라고 늘 의문을 가지고 있었지만, 전부 준수하지 않더라도 어느 정도까지 준수를 하는것이 바람직한 것 같다 라는 기준이 생기게 된 것 같다.
2024. 10. 06.
0
[BE 클린코드/테스트코드 스터디] 1주차 회고
1주차 동안 무엇을 공부했는가?목차1주차 동안 학습한 목차는 다음과 같다.추상논리, 사고의 흐름객체 지향의 패러다임객체 지향 적용하기각 목차 별 본인이 생각하는 중점을 요약하자면 다음과 같다.추상추상은 단순, '인터페이스를 사용한다'와 같은 행위가 아니다.정말 구체적인 내용이 아닌 큰 흐름을 나타내는 것을 의미한다.논리, 사고의 흐름책을 읽듯이 코드를 읽기 편하게 작성하는 것이 중요하다.객체 지향 패러다임SOLID 원칙을 따르면서 코드를 작성하는 것이 유지보수적인 측면에서 도움이 된다.그렇다고 해서 이는 절대적인 규칙은 아니다.객체 지향 적용하기조합, Value Object, 일급 컬렉션 등 SOLID 원칙을 따르는 방법의 코드 작성을 지향하자미션미션 1. 추상과 구체의 예시해당 미션을 보고 CS 에서 사용되는 추상 예시를 작성할까 고민을 했었다.하지만, 이런 접근은 읽기 좋은 코드를 만든다는 것과 연관성이 크게 없는 것 같아서'식사를 한다.' 현실에서 언제든 이뤄지는 행위에 대해서 작성 했다.미션 2. SOLID 원칙과 코드 리팩토링SOLID 원칙을 스스로 생각하기 편한 형태의 글로 풀어 내려고 노력했다.사실 SOLID 원칙의 내용들을 그냥 읽으면 전부 비슷한 내용인 것 처럼 보이기 때문에 풀어서 작성하는 것이 도움이 많이 된 것같다.코드 리팩토링은 최근에 진행중인 프로젝트에서 형태만을 가지고 와서 진행했다.1주차 이후, 생각..나름 '객체 지향에 대해서 공부를 열심히 해보고, 코드에 녹아내려 봤다.'라고 생각했는데, 그냥 '레고 처럼 틀에 끼워맞추는 행위만 하지 않았나'라는 생각을 하게 되었다.공부하면서 필기를 거의 하지 않는 편이지만, 이번에는 옵시디언이라는 앱을 사용해서 전반적으로 정리해보려고 한다.
백엔드