Kotlin 한 6개월 사용후기

문법적으로 기존 언어에 비해 많이 이질적이지 않고 받아들일만 했다.

구글에서 안드로이드 공식언어로 지정, 인텔리J의 젯브레인에서 개발, 스프링 진영에서도 지원된다고 하고…

별 문제가 없을 줄 알았는데… 이게 웬걸

  • JPA Entity 설계가 안되는건 아닌데 힘들었다.
    data class로 설계한다고도 하던데…. 기본값을 일일이 지정해줘야하는것도 불편하고… 이건 빠르게 포기하고 domain 모듈은 자바로 변경해서 작업해가지고 뭐가 더 안되는지도 모르겠다.
  • QueryDSL 안된다. 안됐었다. 지금은 모르겠다.
  • Validation. 힘들었지만 하긴했다. 다 되긴되더라
    @Field.NotNull
    val name:String
  • Annotation 넣을때.. 안되는건 아닌데 뭔가 괴상하다.
    이런형태에서 @Annotations(arrayOf(Annotation, Annotation))
    이것도 지원되기 시작 @Annotations([Annotation, Annotation])
  • Gradle kotlin 버전과 intellij plugin 버전이 안맞으면 아예 먹통이 된다.

이래저래 몇번 쓰다보니 익숙해지긴 했다.

위의 과정에서 제대로 된 해결책을 찾기가 힘들다는게 문제..

그리고 자꾸 변한다는것도 문제랄까… 좋아지니까 좋은건가

PowerShell 명령어로 윈도우 환경변수Env 관리

Registry에서 환경변수의 경로

‘Path’에 gradle 경로 append

Gradle HOME 추가

 

뽀너스

자주 쓰는 명령

Error : Kotlin 플러그인 버전이 안 맞을 때 생기는 문제

Message

kotlin은 기본이 final이라서 @Cofiguration, @Bean 등의 스프링 설정파일을 사용할 때 오류가 발생한다.

plugin: kotliln-spring 을 사용하면 원래 괜찮아야 되는데….

그래들 라이브러리 버전을 몇 개 올려놨더니 문제가 발생한다.

 

여기저기 찾아봤는데 해결책이 잘 안보인다..annotation processing을 풀어놓으라는 말도 있고(안됨)

예전에 했던 프로젝트는 그냥잘 썼는데 갑자기?

변경한 부분이 spring을 5로 올리고 kotlin을 1.12.0에서 1.12.20으로 올렸는데

intellij plugin 버전은 1.12.1인것같아서 플러그인 업데이틀 해봤는데(안댐)

저번에도 어노테이션 쓸 때 arrayOf로 써야되는거랑 이런부분 바뀔 때 마다 오류나더니만…

꼬출린 진짜

해결하는데 시간이 한참 걸릴 것 같다.

실행된다.

플러그인과 의존성의 버전을 맞춰주자…..꼭

코틀린은 갈길이 멀다. 안정화되려면 2년은 있어야 하지 않을까

 

Error : Mysql Google RDS에서 사용시 function 생성오류

Message : you *might* want to use the less safe log_bin_trust_function_creators variable

메시지를 카피를 제대로 안해놔서…. 어쨌든 권한부족 관련 메세지가 뜬다.

MySQL, Triggers and Amazon RDS

 

웹콘솔에서 DB에 들어가서 – 수정 – 데이터베이스 플래그 추가

log_bin_trust_function_creators = on(1)

저장 후 재시작