목록Kotlin (5)
soft IT life

서버의 profile에 따라 configuration, properties 세팅을 다르게 설정해주고 싶다면? ex) object storage 같은 서비스를 이용할 때에는 버킷을 여러개 두고 사용이 가능하다. 따라서 test용 버킷과 실 production 버킷을 따로 두고 사용할 수 있다. but How?? 같은 서버 하나로 test용/ production용... 등으로 나누어 사용하고싶다면...? 서버의 profile을 다르게 설정해주어 properties 데이터를 각 profile에 맞게 세팅해줄 수 있다. 어디서? application.yml 아래 코드를 보면, 서버의 프로필이 dev일 때 -> bucket이 test용으로 세팅 서버의 프로필이 prod일 때 -> bucket이 실버킷으로 세팅 되..
바인딩할 DTO에 @어노테이션 적용하기 @field:[Validation] Kotlin 환경에서 Validation을 적용하려면 변수를 Nullable 타입으로 선언해야한다. @field:NotNull(message = "a는 필수 입력값입니다.") var a : String? = "abc" why? 위처럼 Nullable 타입으로 선언하지 않고 그냥 선언하면 Kotlin은 nullsafety이기 때문에 정상적인 핸들링을 기대하기 힘들다. why ? 아무 값을 입력하지 않아도 default value가 설정되는 primitive type 같은 경우에는, 만약 null로 client에서 넘어왔을때 default 값이 설정 되기 때문에 null이 아니라고 인식하여 정상적인 validation check가 불..
보호되어 있는 글입니다.
String Template ${}를 사용하여 string 문자열 내에서 변수 사용 가능 fun test1(): String { val text : String = "hello" return("he+llo=${text}") } => he+llo=hello 조건식 if when (switch 대신 사용) fun checkNum(score: Int) { when(score) { 0 -> println("0입니다") 1 -> println("1입니다") 2,3 -> println("2혹은 3입니다.") else -> println("0~3 이외 숫자입니다.") //생략가능 } var b: Int = when(score) { 1->1 2->2 else -> 3 //생략 불가능 ! } println("b는 ${b..
기본 요소 : 함수 함수선언은 'fun'을 사용 함수를 최상위에 정의 가능(반드시 클래스 안에서 함수를 정의해야할 필요가 없음) 타입 명시는 변수명 뒤 식이 본문인 함수가 자주 쓰인다. cf) if는 문장이 아니라 식이다. 본래 자바에서 if문은 값을 만들어내는 식이 아니라 문장이었다. 반면 대입문은 자바에서 식이었으나 코틀린에서는 문이 되었다. //'블록이 본문인 함수'-block body fun max(a: Int, b: Int): Int { return if(a > b) a else b } //'식이 본문인 함수'-expression body fun max(a: Int, b: Int) Int = if(a>b) a else b //위는 동일 kotlin의 '타입추론' 식이 본문인 함수의 반환 타입생략..