게임으로 넘어가기전에 정리할건 정리하고 가야지. Ktor Client 사용법 공부하다가 요로결석 걸려서 1주일 넘게 무력화 되어 있었다. 암튼… 앞에서 다뤘던 SQLDelight, Koin과 함께 Ktor까지 사실 전부 Kotlin Multi-Platform을 위한 것들이기도 하다. 안드로이드에서 Room, Hilt, Retrofit이 각각 DB, DI, Network를 위한 라이브러리로 주로 사용되는데, 자바기반이라서 KMP에서는 1:1로 대체 가능한 순수 Kotlin 기반 라이브러리들을 사용 하는 것이다. 하지만,…
[카테고리:] 코틀린
Kotlin 관련 메모
Using Koin with Android Compose
기본적인 Koin 사용법은 앞 포스팅에서 다뤘다. 이제 안드로이드에서 사용해보자. 버전카탈로그를 사용한다고 가정한다. 우선 libs.versions.toml 에 다음과 같이 추가한다. bom을 사용하기 때문에, 그 이후에는 version.ref런스 명시가 필요없다. koin-core, koin-android외 라이브러리들은 필요한 것들을 찾아서 추가한다고 생각하면 된다. 이제, build.gradle.kts 파일에 해당 라이브러리들을 추가해보자. Koin Usage : https://insert-koin.io/docs/quickstart/android-compose 안드로이드에 DI를 사용하는 가장 큰 이유중 하나는 MVVM구조에서 Repository, Viewmodel들을…
Koin 사용하기
시작하기에 앞서 개발자로 직장에서 일한지는 좀 오래됐지만, 일 할때 알게된 진리중 하나는 “문서를 있는그대로 100% 신뢰하지 마라”였다. 심지어 MS API문서도 직접 사용해보면 다르게 동작하는 경우가 있기도 했음. 안타깝지만, 개발자는 결국 코드로 읽어야 하는 존재란걸 또 깨닫는 경험을 하게됐다. Koin 4.0이 나왔음에도 공식 사이트의 문서들은 3.5에 기반한 내용들이다. 버전별 API문서도 없고, 심지어 가장 간단한 Kotlin tutorial도…
SQLDelight 사용하기
SQLDelight는 DB를 다루는 라이브러리면서 ROOM과는 반대로 작동한다. ROOM은 DB를 다루는 클래스를 만들면, 여기서 안전한 SQL Query를 만들어 준다면, SQLDelight는 SQLQuery를 작성하면, 이로부터 typesafe하고 안전하게 사용가능한 Kotlin API를 생성해준다. 뭐가 더 좋은지는 선택에 달려있는데, SQLDelight가 순수하게 Kotlin베이스라는 점에서 KMP(Kotlin Multi-Platform)개발에서 주로 사용되는 것으로 보인다. 안드로이드에서 사용하기 위해선 우선 플러그인이 필요하다. 버전 카탈로그를 사용하는 기준으로 libs.versions.toml 에…
Kotlin 에 익숙해지기 : 낯선 문법들 정리 #4
codepro 때문에 포스팅을 나눠서 계속 짤라먹어야 하는게 짜증나네. delegation : https://kotlinlang.org/docs/delegation.htmlhttps://kotlinlang.org/docs/delegated-properties.html 위임(delegation) 디자인 패턴( https://en.wikipedia.org/wiki/Delegation_pattern )은 한 클래스의 멤버 구현을 직접 하지 않고, 다른 클래스의 멤버구현을 이용하는 것이다. 다시말하면, 다른 클래스에게 위임하는 것이다. 코틀린은 이를 언어 수준에서 직접적으로 지원한다. 바로 ‘by’키워드가 그것이다. 위 코드에서 Window 클래스는 ClosedShape 인터페이스의 구현을 bounds에게 위임하고 있다. 클래스 단위가 아니라…