Kotlin
Spring Boot + kotlin 프로젝트에 ktlint 적용하기 (Multi module 통합 관리하기)
Spring Boot + kotlin 프로젝트에 ktlint 적용하기 (Multi module 통합 관리하기)
2024.01.18이번 게시글에서는 ktlint를 사용해보고 적용했던 내용들을 간단하게 정리해보고자 합니다. 📌 간단한 Overview 📌 spring boot, kotlin 프로젝트에서 ktlint 설정 📌 멀티모듈 환경에서 ktlint 설정 📌 git commit시 ktlint check 설정 위의 내용을 가지고 ktlint를 어떻게 적용했는지 한 번 알아보겠습니다. 1. 간단한 Overview KtLint is a linter tool for checking and enforcing code style conventions for Kotlin programming language. (https://medium.com/@naeem0313/configuring-and-running-ktlin-on-android-stud..
[JUnit] mock을 이용한 신규 생성 로직 단위 테스트(JUnit5, mockito)
[JUnit] mock을 이용한 신규 생성 로직 단위 테스트(JUnit5, mockito)
2022.08.13(메인 사진 출처: https://famunity.net/kotlin-junit5/) 개인프로젝트 진행하며 카페 도메인 신규 생성 서비스 로직에 대한 단위테스트를 적용했던 내용을 기록겸 작성한 글입니다. 서비스 단위 테스트를 위해 JUnit5, mockito를 이용하여 진행하였습니다. 📌 1. 서비스 테스트를 위한 기본 구성 @ExtendWith(MockitoExtension::class) @TestMethodOrder(MethodOrderer.DisplayName::class) internal class CafeServiceTest { @InjectMocks lateinit var mockCafeService: CafeService @Mock lateinit var mockCafeRepository: ..
Kotlin, Spring Validation 이용한 입력 데이터 유효성 검증
Kotlin, Spring Validation 이용한 입력 데이터 유효성 검증
2022.03.03어떤 요청에 대한 입력값에 대해서 코드상으로 하나하나 유효성 검증을 하는 것은 상당히 번거로운 일입니다. 예를들어, 어떤 날짜 입력이 주어졌는데 제대로된 날짜 형식으로 입력했는지 검증하는 코드를 로직상에 추가했다면 비즈니스 로직에 집중해야 될 코드가 오염될 수 있습니다. Spring에서 제공하는 Validation은 이와 같은 입력값에 대한 유효성 검증을 Controller단과 별개로 진행해 간편하게 진행할 수 있도록 기능을 제공하고 있습니다. Spring Validation에 대한 내용을 정리해보고자 합니다. 📌 1. gradle 설정 implementation 'org.springframework.boot:spring-boot-starter-validation' Spring Boot 2.3 버전 부터..
[Kotlin] Java 코드를 가져올 때 nullable 주의점
[Kotlin] Java 코드를 가져올 때 nullable 주의점
2022.02.16Java 코드로 작성된 클래스를 Kotlin으로 Converting하는 작업에서 중요한 부분이 전환하려는 클래스와 여러 형태로 연결된 기존 Java 클래스들을 고려해야 한다는 점입니다. 특히 Kotlin에서는 Java와 다르게 컴파일 단계에서 null 처리를 할 수 있다는 점입니다. 그래서 Kotlin 코드로 작성된 클래스에서 Java로 된 클래스를 사용할 때 Java 클래스를 신뢰해서는 안된다는 점이 중요합니다. 📌 1. Java 클래스를 인자로 받을 때 // Module: Java class fun processExample(module: Module) { // ... module.sendAnything(anything) // ... } 예를 들어 코틀린으로 이루어진 클래스에서 Java 코드로 된 클..
[Kotlin] 주생성자 내 private 필드 설정
[Kotlin] 주생성자 내 private 필드 설정
2021.12.16Kotlin에서 주생성자 인터페이스 구현시 getter override 중복 상황 정리 📌 1. Kotlin에서 주생성자 코틀린은 자바와 다르게 주생성자, 부생성자라는 개념이 있습니다. class User(val nickname: String) 코틀린으로 User 클래스를 만들었습니다. 해당 클래스의 프로퍼티는 nickname 하나뿐입니다. 위 코드처럼 코틀린에서 클래스 이름 뒤에 오는 괄호로 둘러싸인 코드를 주생성자(primary constructor)라고 말합니다. User 클래스를 코틀린에서 자바 코드로 변환을 하면 다음과 같이 나옵니다. public final class User { private final String nickname; public final String getNickname()..