Java


S.O.L.I.D 원칙 객체지향 설계 방법으로 코드의 품질(성능, 유지보수성 등)을 올리는 기본 원칙들. Single Responsibility Principle 단일 책임 원칙 클래스는 한가지 책임(기능)만을 담당해야 함. Open-Closed Principle 개방-폐쇠 원칙 확장에는 열려있으며 변경에는 닫혀있어야 함. Liskov subsitution Principle 리스코프 치환 원칙 상위타입을 하위 타입으로 치환할 때 프로그램의 정확성을 깨뜨리지 않으면서 치환 가능해야 함. Interface Segregation Principle 인터페이스 분리 원칙 특정 인터페이스 여러개가 범용 인터페이스 하나 보다 좋음. Dependency Inversion Principle 의존성 역전 원칙 프로그래머는..


1. Gradle plugin 추가 jacoco를 사용하여 coveralls에 report하는 방법을 사용할 것이다. build.gradle에 아래의 plugins과 jacocoReport를 추가하자. plugins { id 'jacoco' id 'com.github.kt3k.coveralls' version '2.10.2' } jacocoTestReport { reports { xml.enabled = true html.enabled = true } } 2. Coveralls 회원가입 회원가입이후(github 아이디로 회원가입하자) 왼쪽 패널에서 ADD REPOS를 누른다. Coveralls를 적용할 레파지토리를 찾아서 OFF를 ON으로 바꾸자. 만약 Organization의 레포라면 ADD REPOS..

유닛 테스트 vs 통합 테스트 유닛 테스트 - 테스트 단위 중 가장 작은 단위의 테스트, 주로 간단한 함수의 테스트를 담당한다. 입력값에 따른 함수의 출력이 정확한지 판단한다. 입력 범위 내의 데이터가 입력으로 주어졌을 시 적절한 동작으로 출력이 되는지, 입력 범위 밖의 데이터가 입력으로 주어졌을 시 알맞은 Exception을 Throw하는지 등등이 될 수 있다. 통합 테스트 - 각각의 시스템들이 서로 상호작용이 재대로 이루어지고 있는지 확인하는 테스트이다. 통합 테스트는 유닛 테스트만으로 충분하지 않을 때 사용한다. 통합테스트는 유닛 테스트를 수행하는 것보다 통상 시간이 오래 걸린다. 시스템을 구동하는데 드는 시간 때문이다. 기능 테스트는 Code레벨 테스트가 아니므로 따로 적는다. 기능 테스트는 기술..

springfox swagger-ui 2.9.2 버전까지는 이렇게 디펜던시를 추가하고 io.springfox springfox-swagger2 2.9.2 io.springfox springfox-swagger-ui 2.9.2 Configuration 컴포넌트에서 Docket 클래스를 Bean 등록을 해주고 @Configuration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket api() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(this.apiInfo()) .select() .apis(RequestHandlerSelectors.any()) .paths(PathSelector..