스프링+자바에서는 종종 static 클래스나 매서드를 쓴다. static 매서드/클래스를 쓰게 되면, 빈보다 먼저 생성되기 때문에 굉장히 유용하게 쓸 수 있는데, 코틀린에서는 특이하게 static이라고 명명하지 않고 다른 이름으로 사용한다. companion object라는 이름으로 사용하는데 자바에서의 static과는 사용법이 조금 다르다. 공용 클래스에 static 매서드로 만들어진 UTC KST 시간 변환 매서드가 있다고 해보자. Java public class CommonUtils { public static LocalDateTime convertToUtc(LocalDateTime localDateTime) { if (localDateTime == null) { return null; } Zone..
문제 상황은 다음과 같다. 단건 저장 위해서 아래와 같은 요청 객체를 만들었다. data class QuizRequestDto( val question: String, val answer: String, val hint: String? val order: Int, val visible: String ) 그리고 정상적으로 동작하는 것을 확인하고, Bulk 수행을 위해서 다음과 같은 요청 객체를 만들었다. data class QuizListRequestDto( val quizList: List ) 테스트 요청을 날려보니 아래와 같은 에러를 뱉는다. 11:36:51.103 [http-nio-8080-exec-4] ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.se..
Java와 다른점이 보일때마다 쓰는 Kotlin - 2 자바에서는 매서드 파라미터나 return 값을 범용적으로 사용하고 싶을 때 Object로 타입을 지정한다. (Object는 모든 객체의 최상위 부모 클래스이다.) 코틀린에서는 비슷한 의미로 Any를 쓴다. Any도 코틀린의 최상위 클래스이다. Any를 타고 들어가보면 아래와 같은 설명이 있다. The root of the Kotlin class hierarchy. Every Kotlin class has Any as a superclass. 따라서 Any는 Object와 사실상 큰 차이가 없다. 차이가 있다면 이후에 타입을 판별하는 부분인데, 코틀린에서는 스마트 캐스트라는 기능을 추가적으로 제공한다. 그리고 자바에서 Object를 사용할 때 어떤 객..
Java와 다른점이 보일때마다 쓰는 Kotlin - 1 application.yml에 지정해놓은 환경 변수 값 혹은 environment 값을 가져올 때 Spring-Java에서는 @Value를 쓴다. 예를 들어, Spring-Java에서 프로필 값을 가져올 때는 별도의 설정 없이 아래와 같이 값을 가져올 수 있다. @Value("${spring.config.activate.on-profile}") String profile; 그런데 코틀린에선 위와 같이 Value를 지정해선 동작하지 않는다. 코틀린에서는 조금 다르게 사용해야 한다. @Value("\${spring.config.activate.on-profile}") lateinit var profile: String 일단 자바랑 다르게 이스케이프 문자..
- Total
- Today
- Yesterday
- openAI API
- 후쿠오카
- GIT
- 티스토리챌린지
- elasticsearch
- Log
- cache
- CloudFront
- MySQL
- lambda
- springboot
- JWT
- docker
- 스프링부트
- terraform
- Spring
- ChatGPT
- AWS
- java
- Elastic cloud
- OpenAI
- serverless
- AWS EC2
- 람다
- Kotlin
- 오블완
- S3
- AOP
- OpenFeign
- EKS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |