spring이나 spring boot가 아닌 일반 java, kotlin 프로젝트를 이미 작성해놨다.gradle로 의존성을 받아야하는데기존 프로젝트에 gradle 추가하는 방법이 검색해도 잘 안 나와서.. 프로젝트 구조에서 gradle 의존성을 추가해준 다음에build.gradle.kts(코틀린의 경우) 파일을 새로 만들고 코드를 작성해주면 끝난다. plugins { kotlin("jvm") version "2.1.10"}group = "org.example"version = "1.0-SNAPSHOT"repositories { mavenCentral()}dependencies { implementation("org.jetbrains.kotlin:kotlin-stdlib:2.1.20") ..
Map과 List를 사용하면 스프링 bean에 등록된 구현체(인터페이스를 implements한 클래스들)들을 조회할 수 있다.기본 모양은 이렇다.static class DiscountService { private final Map policyMap; private final List policies; @Autowired public DiscountService(Map policyMap, List policies) { this.policyMap = policyMap; this.policies = policies; System.out.println("policyMap = " + policyMap);..
kotlin에 있는 data, enum, object는 언뜻보면 매우 닮았다. 그 차이를 잘 모르겠음.근데 똑같고 비슷할거면 굳이 세 개의 특별한 클래스로 나누지 않았겠지?그 차이를 알아보자...1. data classdata를 '가지고 있기' 위해서 사용한다.따라서 toString(), equals(), hashCode(), copy() 같은 함수를 자동으로 제공한다.[Use case] data model이나 DTO를 사용하고 싶을 때data class User(val id: Int, val name: String)val user1 = User(1, "Alice")val user2 = user1.copy(name = "Bob") // Easy to clone with slight changes2. e..
https://tistory-pencilcase.tistory.com/373BOOKS코틀린 아카데미 (25.5.5 完)스프링으로 시작하는 리액티브 프로그래밍 (25.6.1 完)쏙쏙 들어오는 함수형 코딩함수형 자바스크립트 프로그래밍인간다운 git (25.6.19 完)DOCSgoogle docsbloggithub-kotlingithub-springWithKotlin ARCHITECTUREBFF클래스 다이어그램모나드 디자인 패턴함수형 프로그램이의 정의역과 치역Result pattern10K problem, 그리고 대용량 트래픽이란 뭘까 (feat. 네트워크IO, 벤치마크, 워크로드, stackless coroutine) INFRA & 보안LinuxwgetnClaivsACLNATBase64와 IVproxy10k..
ClientResponse에 대해서 알아보자 ClientResponse (Spring Framework 6.2.5 API)bodyToFlux reactor.core.publisher.Flux bodyToFlux(Class elementClass) Extract the body to a Flux. Type Parameters: T - the element type Parameters: elementClass - the class of elements in the Flux Returns: a flux containing the body of the given typedocs.spring.ioRepresents an HTTP response, as returned by WebClient and also ..
개발을 하다보면 코드표를 사용하여 값을 처리해야하는 경우가 있다. 이 경우 enum 클래스를 사용하곤 한다. Spring boot - kotlin에서 이를 구현하자.1. enum class 만들기 (feat. complie constant, 컴파일 상수)포트원의 은행 코드표를 예시로 사용한다.https://faq.portone.io/1dae5145-1feb-4ef2-87ef-4b0e8a984945 가상계좌 은행코드표포트원을 통해 확인가능한 은행명 & 코드faq.portone.io enum class BankCode( val bankCode: String, ) { BANKCODE("020") // 우리은행 }그 뒤 @Service에 enum을 사용하여 이름을 부여하고자한다.@Service(BankCode..