4주차 발자국 드디어 이번 워밍업 클럽의 마지막 날입니다. 0기와 2기에 참여했었고 서로 다른 주제였는데 다음 워밍업 클럽 주제가 또 기다려지네요. 개인적으로는 코틀린을 기다리고 있습니다. 이번 주차에 포함된 진도는 아래와 같습니다. Presentation Layer Mock을 마주하는 자세 더 나은 테스트를 작성하기 위한 구체적 조언 학습 테스트 | Re...
1. @Mock, @MockBean, @Spy, @SpyBean, @InjectMocks 의 차이를 한번 정리해 봅시다. 모두 JUnit, Spring 테스트 환경에서 사용된다. 각각의 어노테이션들은 그 목적과 사용 방식이 조금은 다르다. @Mock 가짜 클래스 객체를 생성한다. 이 어노테이션에 의해 모킹된 객체는 실제 객체의 메소드 호출에 대해 빈 응답을...
토요일에 백엔드 3주차 진도를 모두 진행했습니다. 클린코드에 이어 테스트 코드 역시 애플리케이션 개발 과정에서 매우 중요한 과정 중 하나로 저도 생각하고 있습니다. 사실 이미 이전에 전부 수강을 다 했던 강의라서 다시 이 강의에서 배운 것들 중에 적용하지 못한 것은 없는지를 중점적으로 보았습니다. 이번 주차에는 레이어드 아키텍처의 큰 축인 Presentat...
이번 주차에는 다음과 같은 내용을 수강했습니다. 코드 다듬기 클린코드 리팩토링 실습 기억하기 좋은 조언들 1주차와는 달리 스터디카페 이용권을 예시로 진행을 했는데요. 코드 다듬기 코드 다듬기에서는 주석의 양면성이 가장 인상 깊었습니다. 주석은 클린 코드에서 가장 많은 논란이 있는 주제인데요. 최근에 개인적으로 느끼기에는 주석을 사용하는 걸 무조건적으로 죄악...
이번 주는 클린한 코드를 작성하는 방법에 대해서 쭉 배웠습니다. 수강하면서 가장 느꼈던 것은 클린 코드는 단순히 '나 이렇게 코드 깔끔하게 짠다'라는 것을 자랑하기 위함이 아닌 내가 아닌 함께 일하는 동료를 위한, 이타적인 행위임을 느꼈습니다. 학습 내용 요약 Day 2 - 추상과 구체 추상과 구체 시간에는 다시 한번 추상화를 잘하는 것이 클린한 코드의 시...
첫 번째 미션 : 아래 코드를 읽기 좋은 코드로 변경하기 아래의 코드는 물론 기능 구현상에서 오작동을 일으키는 코드는 아니겠지만 이번 섹션에서 배운 내용을 토대로 읽는 사람으로 하여금 과부하까진 아니더라도 부하를 겪을 수 있습니다. 아래의 코드는 그럼 어떤 문제를 가지고 있을까요? public boolean validateOrder(Order order) ...
이번 3주차에는 3단계 까지 수행한 내용을 적어보고 프로젝트를 수행하면서 든 생각 등을 적어보겠습니다. 전체 코드는 아래의 깃허브 주소에서 확인하실 수 있습니다. https://github.com/wisehero/warming-up_mini-project/tree/master/src/main/java/com/example/warmingup_miniproje...
2주차는 좀 많이 아쉬운 주였습니다. 몸이 아파서 학습에 온전히 시간을 쓰지 못했고, 연휴에도 골골대면서 누워있던 시간이 많았습니다. 그래도 중간중간 기운이 좀 나거나 상태가 괜찮아지면 다시 책상에 앉아 코드를 작성했는데요. 미니 프로젝트는 Java 21, 스프링부트 3버전을 사용하고 있습니다. Java 버전을 21로 선택한 이유는 추후 태현님께서 Java...
7일차 과제는 기존의 프로젝트를 JPA로 전환하고, 더 다양한 API를 만드는 것입니다. 저는 이미 과제를 처음부터 JPA로 진행하고 있었으므로, 해당 부분을 생략하고 문제를 바로 보겠습니다. 첫 번째 문제는 다음의 스펙에 맞추어 API를 만드는 것입니다. HTTP method : GET HTTP path : /api/v1/fruit/count HTTP q...
사실 강의 수강은 워밍업 클럽이 열리기 전부터 듣고 있었어요. 이미 JPA로 전환하는 부분까지 다 넘어갔었습니다. 사실 이것때문에 30% 할인 쿠폰을 미리 받지 못한 것에 대해서는 조금 아쉽긴 했습니다 ㅋㅋㅋ. 강의를 수강하게 된 이유는 저는 국비교육을 수료한 이후로 다른 정량적 스펙이나 코딩테스트, 자기소개서에 시간을 너무 많이 쓰게 되었고 중간에 인턴이...