우아한 테크 세미나는 평소 알고 있었고 자주 보고 있었지만 실시간 참여는 처음이었다.
이번 9월 세미나는(9/29) 코틀린+스프링부트에 관한 내용이라 관심이 생겨 신청해봤다.
전에 쏘카 교육을 들을때 처음 코틀린 + 스프링부트를 접했는데
처음 배운 것 치고 굉장히 획기적이다! 재밌다! 고 느껴 꼭 더 공부해보고 싶다는 생각이 들었다.
💾 내용 정리
코틀린
자바와 같은 정적 타입 지정 언어
멀티 플랫폼 언어 → JVM로도 JS로도 사용할 수 있음
코틀린 코드 능력 키우기
- 코틀린 표준 라이브러리를 배우고 익혀라!
- 자바로 역컴파일하는 습관 들여라!
인텔리제이 Tools > Kotlin > Show Kotlin Bytecode => Decompile
✔ 자바와 코틀린을 같이 쓸 수 있는데 코틀린 컴파일러가 먼저 발생
- 롬복 대신 데이터 클래스 사용하라!
✔ 코틀린 컴파일러가 먼저 발생하고 @annontation 프로세서는 그 이후 동작하기에 코틀린에선 롬복 사용 불가
> 코틀린보다 자바 컴파일러를 먼저 실행한다면 문제 해결 가능
> 최근 코틀린 버전에서 실험단계로 롬복 컴파일러 플러그인이 추가됨
✔ 데이터 클래스 사용하면 컴파일러가 equals( ), hashCode( ), toString( ), copy( ) 등 자동 생성해줌
+ kotlin의 final 이슈 > All-open 컴파일러 플러그인 → Kotlin-spring 컴파일러 플러그인 사용
- 필드 주입 필요하면 지연 초기화 사용하라!
+ 잭슨 코틀린 모듈 → 매개변수 없는 생성자 없더라도 직렬화와 역직렬화 지원함
- 변경 가능성을 제한하라!
✔ 코틀린의 클래스와 멤버가 final인 것처럼 일단 val 로 선언하고 필요시 var로 변경
✔ backing property
영속성 Persistence
+ No-arg 컴파일러 플러그인 → 매개변수 없는 생성자 추가됨
- 엔티티에 데이터 클래스 사용을 피하라!
- 사용자 지정 getter를 사용하라!
✔ 사용자 지정 getter를 정의하면 프로퍼티에 접근할 때마다 호출됨
- 널이 될 수 있는 타입은 빠르게 제거하라!
✔ 널이 될 수 있는 타입을 사용하면 널 검사를 넣거나 !! 연산자를 써야 함
+ 코틀린 사용 참고할 코드
GitHub - woowacourse/service-apply: 우아한테크코스 지원부터 최종 합격까지 모든 과정을 관리한다.
https://youtube.com/playlist?list=PLgXGHBqgT2TtGi82mCZWuhMu-nQy301ew
오늘 영상은 10월 중순쯤에 업로드 된다고 한다. 나중에 또 봐야지!
일단 이 세미나 자체가 코틀린 능력 키우기, 더 나은 코드 작성하기, 이슈 관리 등에 가까운 내용이라 이해는 뭐 반절도 못했다. 채팅창도 대부분 직급 높은 개발자분들인 거 같았다. 질문 수준이나... 등등을 보면
다만 쏘카 교육을 하면서 왜 여기선 이렇게 쓰이는 거지? 에 대해 조금이나마 더 알아갈 수 있었다.
코틀린 공부도 놓지 말고 계속 해나가고 싶다. 꾸준히 하다보면 지금 배운 내용이 모두 이해되는 날이 오겠지? 화이팅!
'기타 학습' 카테고리의 다른 글
[Network ①] 네트워크 기본 이론 (네트워크 기초 / 구성 / 분류 / 규칙) (0) | 2021.10.07 |
---|---|
HTTP 프로토콜 방식 (웹 기초 / 네트워크) (1) | 2021.10.04 |
[Github] 깃허브 wiki 작성하기 (repository 문서화 / 인덱스화 / TIL ) (0) | 2021.09.09 |
Docker로 mysql 설치 (mysql / docker / WSL 2 / sqlectron) (0) | 2021.06.26 |
kotlin compiler 설치 (코틀린 / 코틀린 컴파일러) (0) | 2021.06.26 |
댓글