영킴 개발블로그
Preview Image

코틀린 기본2 - 변수와 함수

변수 선언 코틀린은 변수 선언 시 val 또는 var 키워드를 사용한다. 아래 코드를 보면 val, var 키워드와 함께 변수를 선언하였다. 그리고 변수명 뒤에 콜론(:)을 붙이고 자료형을 명시한다. 자료형을 생략하면 컴파일 시점에 변수에 초기화 값으로 자료형을 추론하여 자동으로 할당한다. // 자바와 달리 세미콜론(;)을 붙이지 않아도 된다. v...

Preview Image

스프링부트 인메모리 DB 테스트하기

스프링부트 환경에서 인메모리 데이터베이스는 테스트 목적으로 종종 사용된다. 데이터베이스 커넥션이 필요하거나 데이터 확인이 필요한 테스트의 경우 로컬DB or 테스트DB를 사용할 수도 있지만, 스프링부트에서 지원하는 인메모리 데이터베이스를 사용하면 직접 DB 커넥션을 하는 것에 비해 다른 이점을 가질 수 있다. 인메모리 데이터베이스 특징 디스크...

Preview Image

Nest4 - 데코레이터(Decorator)

NestJs 데코레이터 NestJS는 클래스, 메서드, 속성 등에 메타데이터를 추가하거나 기능을 주입하는데 사용할 수 있도록 데코레이터를 제공한다. 스프링의 Annotation과 동일한 역할을 한다고 보면 된다. 주요 데코레이터 여러가지 데코레이터를 제공하지만 그 중에서도 기본적으로 or 필수적으로 사용되는 데코레이터는 아래와 같다. @Modu...

Preview Image

스프링부트 애플리케이션 통합테스트

스프링부트 통합테스트 스프링부트 환경에서 통합테스트를 수행하기 위해서는 프로젝트의 컨트롤러, 서비스, 리포지토리 등과 같은 빈들을 포함한 전체 애플리케이션 컨텍스트 로드가 필요하다. 스프링부트는 이러한 통합테스트를 위해 @SpringBootTest 어노테이션을 제공하고 있다. @SpringBootTest 어노테이션은 통합테스트를 위해 애플리케...

Preview Image

MapStruct를 활용한 엔티티 <-> DTO 매핑

MapStruct는 자바 언어를 활용한 코드 생성 기반의 객체 매핑용 라이브러리이다. 어노테이션 등을 활용해 객체 간의 매핑 작업을 편리하게 수행할 수 있도록 지원하고, 주로 DTO(Data Transfer Object)와 엔티티(Entity) 등의 객체를 변환하기 위한 용도로 사용된다. 반복적이고 번거로운 매핑 코드를 빌드 시 자동으로 생성하여 개발...