프로젝트 룸이란 Java의 새로운 동시성 관리 모델입니다. GraalVM 상으로 돌아가며 기존의 커널에서 관리되던 쓰레드를 가상머신에서 관리되며 기존의 쓰레드보다 가벼운게 특징입니다. 더욱 자세한 내용은 검색하면 많이 나오니 관심 있으신 분들은 찾아보시길 권합니다.
안녕하세요, 이번엔 저번에 공유드렸던 Jetbrains Compose를 Darwin OS 환경에서 실행시키는 방법에 대한 변경사항과 기존에 feature wise modular로 구성했던 프로젝트를 Kotlin Multiplatform으로 변경하면서 Jetbrains
안녕하세요, 안드로이드 데브 서밋 2022에서 진행된 세션중에 Compose Modifiers deep dive 세션을 한번 살펴보겠습니다.
안녕하세요, 오늘은 Hilt의 Custom Component를 통해 로그인 세션을 유지하는 것을 해보겠습니다.전체적인 구조는 Repository 패턴을 이용하여 유저 정보를 가져오고, 해당 유저 정보가 살아있는 동안 같은 SignInViewModelDelegate를 반
안녕하세요, 오늘은 기존에 존재하는 어플에 KMM Library를 붙여볼겁니다.KMM Library는 다음과 같은 방법들로 기존의 어플에 붙일 수 있습니다.링크와 같이 싸그리 뭉퉁그려 묶어서 메인 빌드와 같이 포함시키는 방법Composite 빌드를 통해 독립적인 프로젝
안녕하세요, 이번 포스팅에서는 각 피쳐별로 나눈 모듈에서 프래그먼트 ui 테스트를 진행하고, ui 테스트를 진행할 때 공통적으로 쓰이는 JUnit Runner와 Hilt Module, 테스트 보조 함수 등을 다른 모듈에서 구성하고 이 모듈을 호출하는 방식으로 진행하겠습
안녕하세요, 오늘은 KMM에서 로컬디비로 많이 쓰이는 SqlDelight를 Unit Testing 해보겠습니다.우선적으로 Unit Test 환경은 인텔리제이에서 구성하겠습니다. 현재 안드로이드 스튜디오 최신 릴리즈인 Chipmunk에서 androidTest source
오늘은 KMM Library를 Sonatype Jira Maven Central로 배포하는 법을 알아보겠습니다.크게 세 가지의 단계로 알아보겠습니다. 각 단계가 이미 적용되어 있으신 분들은 다음 단계를 보시면 됩니다.Sonatype Jira 계정 생성Issue tick
Kotlin/Native에는 외부 라이브러리를 사용하기 위해 cinterop를 제공합니다.오늘은 이 cinterop를 통해 Umberlla Framework를 Kotlin/Native로 바인딩을 해보겠습니다.대표적인 예제로 Firebase를 Kotlin/Native로
Jetbrains Compose에서 Darwin OS에 뷰를 그릴 때 remote url로부터 image를 load하는 것을 해보겠습니다.먼저 각 모듈에 Ktor Http Client를 설정해줍니다.그런 다음 image url로 부터 byteArray를 받은 다음 이미
안녕하세요 이번에는 Decompose에서 Darwin Compose를 구현해보겠습니다.먼저 사용한 라이브러리 버전들은 다음과 같습니다.AGP : 7.2.1Kotlin : 1.6.21Jetbrains Compose : 1.2.0-alpha01-dev675Decompose
안녕하세요. 오늘은 Kotlin MultiPlatform Mobile에서 Android, iOS에서 UI 코드를 공유하기 위해 Jetbrains Compose와 Skioko를 적용해보겠습니다.
안녕하세요. 오늘은 Github Actions를 통해 Firebase App Distribution에 앱을 업로드하는 것을 해보겠습니다.
안녕하세요. 오늘은 Google IO 2022에서 다룬 Compose Performance에서 Defer reads as long as possible에 대해 포스팅하겠습니다.공식 가이드(https://developer.android.com/jetpack/co
안녕하세요. 이번에는 ViewModel에서 Paging3 에서 받아오는 데이터를 테스팅 해보겠습니다. 코드는 이 프로젝트의 presentation module을 보시면 됩니다. 빠르게 ViewModel의 코드부터 보겠습니다. 다른 항목들은 이전 시리즈의 글을 참고해
안녕하세요. 이번엔 MVI Pattern을 Coroutines를 이용해 구현해보겠습니다.MVI Pattern에 Redux의 개념을 살짝 섞어서 구현했습니다.전체 코드를 보시려면 해당 링크에 들어가서 보시면 됩니다.먼저, 상태 관리에서 야무
이전에 Multi Module에서 Compose Compiler가 없는 모듈의 클래스를 가져와 사용할 때, Skippable이 의도대로 적용되지 않는 점을 포스팅한 적이 있습니다. 이번 포스팅에서는 그러한 것들을 간편히 데이터로 확인할 수 있는 방법에 대해 알아보고,
Gradle의 preview 기능이었던 version catalog가 stable 해져서 feature preview를 붙일 필요가 없어졌습니다. https://docs.gradle.org/7.4.2/release-notes.html#promoted
안녕하세요. 이번 포스팅에서는 멀티 모듈에서 컴포즈를 사용할 때 주의해야할 사항에 대해서 알아보겠습니다.https://qiita.com/takahirom/items/6907e810d3661e19cfcf이 포스팅을 보고 작성하게 되었습니다.요즘 클린 아키텍처를
안녕하세요. 이번 포스팅에서는 kotlinx의 serialization을 통해 datastore에 정보를 저장하고 꺼내 써보는 방법에 대해 작성해보겠습니다.기존 DataStore를 사용하는 방법은 Preferences DataStore, Proto DataStore 두