본문 바로가기

코틀린

(4)
[10분 Boot-up] Kotlin으로 스프링부트 Web Application 만들기 - (7) 단위 테스트(Unit Test) JUnit5 적용하기 Kotiln과 Spring Boot을 모르더라도 10분씩 따라하면서 자연스럽게 Web Application을 만들어보는 것이 목표입니다. 각 챕터에서 나오는 중요한 내용은 별도로 [더 알아보기]에 보충해서 작성할 예정입니다. 시작하기 이번에는 Service의 함수들에 대한 단위 테스트를 작성하는 방법을 소개한다. 단위 테스트란 기존의 작성된 코드를 검증하는 자동 테스트를 말한다. 단위 테스트는 TDD(테스트 주도 개발)에 아주 중요한 도구가 되기도 한다. 보통 단위 테스트를 작성할 때 몇 가지 프레임워크를 함께 사용하는데 대표적으로 JUnit과 MockK 프레임워크이다. JUnit은 자바의 단위 테스트를 위한 프레임워크 도구로 Assert 단정문을 통해서 테스트 수행 결과를 판별하여 결과를 리포트해준다...
[10분 Boot-up] Kotlin으로 스프링부트 Web Application 만들기 - (1) 개발 환경 설정하기(Gradle) Kotiln과 Spring Boot을 모르더라도 10분씩 따라하면서 자연스럽게 Web Application을 만들어보는 것이 목표입니다. 각 챕터에서 나오는 중요한 내용은 별도로 [더 알아보기]에 보충해서 작성할 예정입니다. 시작하기 요즘 Kotlin으로 Spring Boot 웹 어플리케이션 서버를 개발하고 있다. 작년까지 평범하게 Java 8 버전으로 Spring Boot 2.3 기반으로 서버를 개발했었는데 벌써 Spring Boot는 2.4버전이 나오고, 나는 Kotlin을 사용하고 있다. 세월도 빠르지만 기술의 발전 속도는 점점 더 빨라지고 새로운 기술의 등장은 더 많아지는 것 같다. 사실 Kotlin 자체가 등장한지는 꽤 됐지만, Android 개발을 넘어 Java 생태계의 Spring Boot ..
[Kotlin] apply, also, let, run, with 상황에 맞게 사용하기 Scope Functions Kotlin 표준 라이브러리는 몇 가지 객체의 Context 내에서 코드 블록{}을 실행하는 것이 유일한 목적인 몇 가지 함수가 포함되어 있다. 객체에서 이 람다 함수를 호출하면 해당 함수는 일시적인 Scope를 생성하고, 해당 Scope 안에서는 객체의 이름 없이도 접근이 가능하다. 이러한 함수를 Scope Function(범위 지정 함수)이라고 하며, let, run, with, apply, also가 있다. 기본적으로 이 5가지 함수들은 동일한 기능을 수행하기 때문에 어떤 상황에 어떤 Scope Function을 사용하는 것이 맞는지 매우 혼동스럽기 때문에 처음 Kotlin을 사용하는 사용자 입장에서는 난처한 상황을 겪게된다. 일단 아래 5가지 함수의 정의를 살펴보자. ..
[Kotlin] Delegate Pattern 이란? by 키워드 사용하기 Delegate Pattern 이란? Delegate Pattern을 알기 전에 Delegator와 Delegate 용어를 정리해보자. Delegator는 어떤 행위를 다른이에게 위임하는 위임자, Delegate는 어떤 행위를 위임받아 실제로 수행하는 대리자를 의미한다. 따라서 Delegate Pattern이란 어떤 기능을 자신이 수행하지 않고 다른 객체에 위임하여 해당 객체가 일을 수행하도록 구성한 디자인 패턴이다. Delegate Pattern이 필요한 이유는? Delegate Pattern의 필요성을 이해하기 위해서는 상속(Inheritance)과 구성(Composition)에 대한 내용을 함께 이해해야 한다. 흔하게 상속은 is-a 관계라고 말하는데(Hero class가 SuperMan class..