KMP/CMP 마이그레이션, 정말 프로덕션에서 가능할까? - 키친보드 앱 마이그레이션 도전기
안녕하세요. 스포카 FE팀의 Android 개발자 김진우입니다. “Kotlin/Compose Multiplatform(이하 KMP/CMP) 마이그레이션, 정말 프로덕션에서 가능할까?” 이 질문에 대한 답을 찾기 위해 저희 팀은 키친보드 Android 앱의 KMP/CMP 마이그레이션에 도전했습니다. 그 과정에서 가장 큰 난관은 Compose Navigation의 한계로 인한 WebView 화면 상태 유실 문제였습니다. 이로 인해 마이그레이션 자체
AndroidArchitectureFrontendKotlinMobile
detekt에 custom rule 추가하기
AndroidKotlinTools
Querydsl에서 Kotlin JDSL 으로
안녕하세요. 또다시 전환 이야기로 찾아온 스포카 백엔드팀 프로그래머 남경호입니다. (이번에는 제목을 다르게 지어봤어요.) 최근 저희 백엔드팀에서는 Querydsl을 Kotlin JDSL로 전환하는 작업을 진행하였는데요. Querydsl은 Spring Framework를 사용하고 계신다면 누구나 알고 계실 유명한 쿼리 빌더 라이브러리입니다. 한편 Kotlin JDSL은 2021년 라인에서 공개한 쿼리빌더 라이브러리입니다. 저희가 이렇게 유명한 라
BackendDatabaseKotlinSpringTools
카카오헤어샵
2024-04-24 · 약 2년 전
오버레이 권한을 받았는데 오버레이가 안됩니다. - 제 폰에선 되는데요??
안녕하세요. 카카오헤어샵 Android 개발자 에이단(aidan)입니다. 원래 저는 두루에 이어서 Compose 관련해서 2번째 글을 작성하려고 했었습니다. 하지만 최근 작업한 오버레이 기능 관련해서 더 흥미로울만한 일을 겪게되어 이렇게 작성합니다. 카카오헤어샵에는 헤어짱이라는 CRM 솔루션 서비스가 있습니다. 해당 서비스에서는 어플리케이션도 제공하죠 이
AndroidDevOpsKotlinMobilePerformance
다나와 Kotlin을 만나다!
소개 안녕하세요. 다나와 검색 파트 장민규, 오피스 파트 윤성현, 이주영입니다. 다나와에는 많은 기술 스택을 보유 하고 있습니다. Java, PHP, Go, Python 등 다양한 언어를 사용하고 있으며, 최근에는 Kotlin을 도입하여 사용하고 있습니다. 이번 포스팅에서는 Kotlin을 도입하게 된 이유와 어떻게 사용하고 있는지 소개하겠습니다. 왜 Kotlin을 사용하게 되었나요? 장민규: Kotlin을 시작하게 된 이유 단순했습니다. ‘요즘
AndroidBackendKotlin
카카오헤어샵
2022-12-28 · 3년 이상 전
안드로이드 Hilt 딥 다이브 - DI와 Dagger 그리고 Hilt 에 대해서
안녕하세요 저희는 서비스 개발팀에서 안드로이드 개발을 하고있는 두루와 스티븐입니다. 오늘은 Dagger와 Hilt에 대해 깊게 조사해본 것을 소개하겠습니다. Hilt는 프로젝트에서 의존성 주입을 실행하는 상용구를 줄이는 Android용 의존성 주입 라이브러리입니다. Hilt를 들어가기 전 의존성 주입(DI)를 사용하는 이유와 힐트의 기본형인 Dagger에
AndroidJavaKotlinTools
카카오헤어샵
2022-10-28 · 3년 이상 전
LiveData에서 Flow로 변형해보기 - LiveData -> Flow(StateFlow & SharedFlow)
안녕하세요. 서비스 개발팀에서 Android 개발을 하고 있는 신입 두루라고 합니다. 최근 프로젝트를 진행하면서 기존 LiveData를 Flow로 적용했던 내용에 대해서 소개하려고 합니다. StateFlow & SharedFlow에 대해서 이야기를 하기 전에 기존에 LiveData는 어떤 것인지에 대해서 이야기를 해보려고 합니다. LiveData Live
AndroidArchitectureKotlinMobile
우당탕탕 Kotlin 전환기
Kotlin 전환 목적 Kotlin이 좋다면서요? (Java 개발자의 막연한 생각) Java 백엔드 개발 일을 하면서 주변으로부터 종종 Kotlin이 좋다는 이야기를 들었습니다. null 처리도 좋고, Coroutine을 이용한 동시성 프로그래밍도 직관적이고, 보일러플레이트 코드도 줄고, 기존 Java와 호환도 되고… ‘어쨌든 좋다(?)’는 이야기만 들었지, Kotlin을 실제 업무에 적용해보지는 않았기에 장점을 체감하지는 못했습니다. 그러던
BackendJavaKotlin
스포카에서 Kotlin으로 JPA Entity를 정의하는 방법
안녕하세요. 키친보드 팀의 백엔드 프로그래머 남경호입니다. 최근 Kotlin이 서버 언어로 주목받기 시작하면서 Kotlin + Spring으로 서버를 개발하는 케이스가 많아졌습니다. 그러면서 자연스레 Kotlin으로 JPA를 사용하는 사례 또한 많아졌는데요. 다만 Kotlin으로 JPA를 사용하다 보면, 정확하게는 Entity를 정의하다 보면 Kotlin의 언어적 특성과 잘 맞지 않는 부분을 많이 발견하게 됩니다. JPA 는 Java Persi
BackendDatabaseKotlinSpring
Hello Anko!! - 2탄
2탄에서는 😃 윈폼(Windows Forms, 이하 윈폼)의 UI Framework 과 비슷한 구조를 구성하는 방법에 대해서 소개하고, 윈폼 코드와 비교해보도록 하겠습니다. (️ 1탄 다시보기) AnkoComponent<T> 인터페이스 아시다시피 윈폼에서는 UI 와 Business 코드를 Partial 예약어를 통해 두 개로 분할 합니다. UI생성 코드는 Designer 코드에 작성하고, Business 코드에서 UI 인스턴스를 쉽게 접근할
AndroidKotlinPerformanceTools
Hello Anko!! - 1탄
들어가며 “Anko는 안드로이드 개발 경험을 더 낫게 만들려는 노력에서 태어난 코틀린 라이브러리이다”고 책에서 소개하고 있습니다. 더불어 Anko를 사용하면 안드로이드 개발이 쉽고 효율적이다고 부연 설명하는데, 사실 8년 동안 윈도우 어플리케이션을 개발해왔던 저에게는 그리 쉽지 않았습니다. 뭐든 처음 접하면 생소하고 어렵기 마련이니까요. 게다가 아직 Anko 관련 서적이 많지 않아서 안드로이드 개발 서적의 일부 챕터를 참고해야 하는 상황이라 더
AndroidKotlinMobile