4주차 발자국입니다. 공통 예외 처리 및 응답 구조 설계 AdminException과 @RestControllerAdvice를 활용한 공통 예외 처리 구현 ApiResponse 클래스를 통한 일관된 응답 메시지 제공 Form 및 Table DTO 설계 FormElementDTO를 상속받은 다양한 Form 요소 구현 (Text, Date, Select) Ta...
학습 내용 2주차 발자국입니다. 1. 데이터베이스 및 리포지토리 데이터베이스 초기화: H2 및 MySQL을 활용한 데이터베이스 설정과 application.yml 환경 분리 리포지토리 개발: JpaRepository 상속을 통해 기본적인 CRUD 메서드 활용 리포지토리 테스트 코드 작성: Mock을 활용한 단위 테스트 (@DataJpaTest, @MockB...
학습 내용 스프링, jpa, 코틀린을 통해 나만의 포토폴리오 등록 사이트를 개발해보는 첫 발자국입니다. 실습 전 이론 학습 이 강의의 가장 좋은 점이다. 기초적인 지식을 먼저 학습한 다음 실습을 접할 수 있어 지식의 공백이 생기지 않는다. 물론 이미 아는 부분이 많아 가볍게 들었지만 잘하는 개발자 분들을 보면 같은 지식을 본인만의 쉬운 언어로 정리하여 체계...
마지막 4주차 발자국을 작성하는 시간이다. Mockito로 Stubbing 하기 mock에 대한 원하는 행위(return)을 정의한 다음 내가 테스트하고자하는 서비스에만 집중. ⇒ stubbing이라고 일컷는다. Mockito에서 Stubbing 은 모의 객체(Mock)의 메서드가 호출될 때 반환할 값을 미리 설정해 두는 작업을 말한다. 테스트할 때 실제 ...
Layered Architecture의 레이어별 특징 및 테스팅 방법 정리 예시: 음식 배달 서비스 각 레이어를 음식 배달 서비스의 역할로 설명한다. 음식 배달 서비스를 통해 사용자가 음식을 주문하고, 음식점에서 음식을 준비하고, 배달원이 고객에게 음식을 전달하는 과정을 생각해 본다. Persistence Layer 특징 비지니스 가공 로직이 포함되어서는 ...
워밍업 클럽 백엔드 스터디 2기 3주차 발자국 입니다. 본격적인 TDD 가이드에 대하여 배우기 시작했습니다. 테스트는 왜 필요할까? 테스트 = 귀찮다? 프로그램이 커지면 수동테스트의 정확도가 어떨까? 사람이 할거야? 변화가 생기는 매순간마다 모든 팀원이 동일한 고민을 해야한다면 소프트웨어의 신뢰도가 낮아질 가능성이 높다. 올바른 테스트 코드 자동화 테스트로...
워밍업 클럽 백엔드 스터디 2기 2주차 발자국 입니다. 우선 객체의 책임과 추상화레벨에 근거한 코드다듬기에 대하여 배웠습니다. 주석의 양면성 주석이 많다는 것은, 그만큼 비지니스 요구사항을 코드에 잘 못 녹였다는 이야기 좋은 주석이란 → 우리가 가진 모든 코딩 표현 방법을 총동원해 코드에 의도를 녹여내고, 그럼에도 불구하고 전달해야 할 정보가 남았을 때 사...
학습 내용 리팩토링을 왜할까? 클린코드를 왜 작성할까? 우리는 생산을 해냈다고 끝이 아니다. 이후에 조상들이 작성한 코드를 후손들이 유지보수하는 일이 생기기 마련이다. 이에 관련하여 여러가지 방법에 대하여 배워보자 추상? 그게 뭔데 의미를 담을 수 있는 더 작은 단위, 책임 이름짓기 단수와 복수의 구분 관용어가 아닌 이상 줄임말 자제 그 집단만 알 수 있는...