개발 Tip

    [개발] 테스트 코드란?

    테스트 코드 소개 Red Green Cycle Red: 항상 실패하는 테스트를 먼저 작성하고 Green: 테스트가 통과하는 프로덕션 코드를 작성하고 Refactor: 테스트가 통과하면 프로덕션 코드를 리팩토링 단위 테스트? 단위 테스트는 TDD의 첫 번째 단계인 기능 단위의 테스트 코드를 작성 하는 것 TDD와 달리 테스트 코드를 꼭 먼저 작성해야 하는 것도 아니고, 리팩토링도 포함되지 않습니다. 순수하게 테스트 코드만 작서하는 것을 이야기 합니다. 테스트 코드는 왜 작성해야 할까? 단위 테스트는 개발단계 초기에 문제를 발견하게 도와줍니다. 단위 테스트는 개발자가 나중에 코드를 리팩토링하거나 라이브러리 업그레이드 등에서 기존 기능이 올바르게 작동하는지 확인할 수 있습니다. (ex. 회귀 테스트) 단위 테..

    개발용어 모음집

    Annotation 사전상으로는 주석의 의미이지만 Java에서는 주석 이상의 기능을 가지고 잇습니다. Annotation은 자바 소스 코드에 추가하여 사용할 수 있는 메타데이터의 일종입니다. 소스코드에 추가하면 단순 주석의 기능을 하는 것이 아니라 특별한 기능을 사용할 수 있습니다. 종류 @Component 개발자가 생성한 Class를 Spring의 Bean으로 등록할 때 사용하는 Annotation입니다. Spring은 해당 Annotation을 보고 Spring의 Bean으로 등록합니다. @ComponentScan Spring Framework는 @Component, @Service, @Repository, @Controller, @Configuration 중 1개라도 등록된 클래스를 찾으면, Con..

    [Tip] 패키지 구조는 어떻게 짜는 게 맞을까?

    문제 프로젝트를 진행하던 와중에 IDE의 왼쪽을 쳐다보면 수많은 Service 클래스들을 보고 기겁을 하곤 한다. 프로젝트에서는 Service 클래스에게는 SRP를 엄격하게 적용시켜 Service를 기능별로 작게 나누는 것이 목표 중 하나이다. 그래서 Service 클래스가 굉장히 많은 것을 확인할 수 있다. 요즘은 도메인형 패키지 구조를 사용하라는 것이 추세인듯 하다. 아직 계층형과 도메인형간의 대립이 있지만 거의 도메인형 패키지 구조가 좋다는 추세로 가는 것 같다. 해결 다음은 도메인형 패키지 구조로 변경하기 전의 어떤 프로젝트의 패키지 구조이다. com ㄴ dsm ㄴ kkoribyeol ㄴ configuration ㄴ controller | ㄴ request | ㄴ response | ㄴ filte..