본문 바로가기

분류 전체보기118

번거로운 동작을 스텁(stub)으로 대체 "자바와 Junit를 활용한 실용주의 단위 테스트" 책에 나오는 번거로운 동작을 스텁으로 대체에 대해 알아볼까 합니다. 단위 테스트에서 외부 시스템이나 서비스와의 상호작용을 모의 객체(stub)를 사용하여 단순화 하는 방법에 대해 설명하는데요 이 접근법은 테스트의 실행 속도를 높이고, 외부 시스템의 불안정성이나 제어 불가능한 요소들로 부터 독립적인 테스트 환경을 만드는데 도움을 줍니다. * 테스트 용도로 하드 코딩한 값을 반환하는 구현체를 스텁이라고 합니다. 번거로운 동작 예시 네트워크를 통한 데이터 통신 : 실제 서버에 접속하여 데이터를 주고 받는 과정은 네트워크 지연, 서버 문제 등으로 테스트가 느려지가나 실패할 수 있습니다. 데이터베이스 접근 : 실제 데이터베이스에 접근하는 것은 테스트 실행 속도를.. 2024. 1. 19.
Intellij 에서 eclipse 프로젝트 import "자바와 Junit 을 활용한 실용주의 단위 테스트" 책을 공부하면서 책에서 제공하는 소스가 eclipse 기반으로 되어 있었습니다. 해당 소스를 인텔리제이로 import 하려고 합니다. 1. 프로젝트 가져오기 ( 아래 이미지 순서대로 진행하면 됩니다. ) [file] -> [new] -> [project from existing sources..] 2024. 1. 17.
Springboot3.x 버전에서의 Springdoc 라이브러리를 통한 Swagger 적용 Springdoc는 무엇인가? Springdoc는 Springboot 프로젝트를 사용하여 API 문서를 자동으로 생성하는 Java 라이브러리 입니다. 이 라이브러리는 실행 시간에 어플리케이션을 검사하여 Spring 구성, 클래스 구조 및 다양한 주석을 기반으로 API를 만듭니다. Swagger UI를 제공하는 라이브러리는 Springfox 뿐만 아니라, Springdoc 에서도 해당 라이브러리를 제공합니다. 최근에는 Springdoc 을 사용하는 것을 더 선호하는 편이라고 합니다. Gradle dependency implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.2") Springdoc에서의 Swagger UI 설정은 Spring.. 2024. 1. 12.
불필요한 객체 생성을 피하라 이펙티브 자바의 해당 item은 성능 최적화와 메모리 관리를 강조합니다. 이 원칙은 불필요한 객체 생성을 피함으로써 시스템의 메모리 사용과 성능을 개선하는데 중점을 둡니다. 불필요한 객체 생성의 문제 : 매번 필요할 때마다 새로운 객체를 생성하는 것은 메모리 사용을 증가시키고 가비지 컬렉션의 부담을 가중시킬 수 있습니다. 재사용을 통한 최적화 : 변경 불가능한 객체(immutable objects)나 변경 가능성이 없는 객체는 재사용하는 것이 좋습니다. 예를 들어 String 대신 StringBuilder를 사용할 수 있습니다. 팩토리 메소드 활용 : 객체 생성이 필요한 리소스가 큰 경우 "new" 대신 팩토리 메서드를 사용하여 기존 객체를 재사용할 수 있습니다. 경량 객체 사용 : 작은 메모리를 사용하.. 2024. 1. 11.