Flow/LiveData….What Are They? Best Use Case. (Lets Build a Login System)
강성우 | 27 May 2021
이 글은 Inuwa Ibrahim의 Flow/LiveData….What Are They? Best Use Case. (Lets Build a Login System)을 번역 하였다.
Android Runtime — How Dalvik and ART work?
강성우 | 29 April 2021
이 글은 Paulina Sadowska의 Android Runtime — How Dalvik and ART work?을 번역 하였다.
Common Design Patterns and App Architectures for Android
강성우 | 28 April 2021
이 글은 Matt Luedke, Aaqib Hussain의 Common Design Patterns and App Architectures for Android을 번역 하였다.
How to parse JSON in Android using Kotlin
강성우 | 26 April 2021
이 글은 John Codeos의 How to parse JSON in Android using Kotlin을 번역 하였다.
FireBase Realtime Database의 퍼포먼스 측정 및 모니터링
강성우 | 22 April 2021
이 글은 Sam Stern의 Measuring Realtime Database performance with Firebase Performance Monitoring을 번역 하였다.
Firebase Realtime Database Basic
강성우 | 16 February 2021
Google에서 제공하는 NoSQL 클라우드 데이터베이스, Firebase의 Realtime Database를 사용 하는 예제를 정리 하였음.
Modelling UI State on Android
강성우 | 11 February 2021
이 글은 Stojan Anastasov의 Migrate from LiveData to StateFlow and SharedFlow을 번역 하였다.
LiveData - under the hood
강성우 | 31 January 2021
이 글은 Alex Zhukovich의 LiveData under the hood을 번역 하였다.
Ultimate Guide to Android Custom View
강성우 | 23 December 2020
Ultimate Guide to Android Custom View
View Binding Android - 3 Major Benefits
강성우 | 16 November 2020
View Binding Android - 3 Major Benefits
Firebase - Crashlytics의 안드로이드 앱 설정
강성우 | 18 October 2020
1. Firebase-Crashlytics에 대해 gradle 추가
안드로이드 퍼포먼스에 대한 팩트 체크
강성우 | 15 October 2020
이 글은 Calin Juravle의 Busting Android performance myths를 번역 하였다.
Dagger hilt cheat sheet
강성우 | 28 September 2020
Manuel Vivo의 글 ‘Hilt and Dagger annotations cheat sheet을 번역하고 정리 하였다.
Android Clean architecture
강성우 | 17 September 2020
그동안 안드로이드 아키텍쳐에 클린 아키텍쳐를 적용하면서 정리했어야 하는 내용들을 정리 하였다.
Memory leak of ViewBinding
강성우 | 30 August 2020
최근 구독중인 android weekly에서 데이터 바인딩을 이용해 뷰 바인딩을 사용시 Fragment에서 바인딩 된 뷰 바인딩 객체가 Framgent가 더이상 사용되지 않음에도 유지된 상태로 남아 있어 메모리 누수가 발생할 수 있다는 글을 읽어 보았다. 해당 글을 참고 하여 실제로 메모리 누수가 발생하는지, 그리고 해결방법은 어떤지 하나하나 정리해보려고 한다.
Glide v4 - Documents
강성우 | 24 August 2020
Glide에 대한 숙련이 필요하다고 느낀 요즘, Glide v4 Documentation를 참고 하여 내용을 번역하면서 필요한 내용들 위주로 정리 하였다.
AndroidX - CoodinatorLayout with Scroll
강성우 | 10 August 2020
안드로이드에서 많이 볼 수 있는 UI 디자인의 패턴 중 스크롤의 위치 에 따라 상단 ToolBar와 다른 뷰들에 대해 처리하는 방법을 정리 하였다. 기존에는 ScrollView에 listener를 추가 하여 콜백으로 전달 받는 스크롤 위치에 대해서 후처리를 하여 다른 뷰를 갱신하였지만 android x에서 제공 하는 방법은 더 접근하기 쉬운 방법으로 스크롤이벤트에 따른 뷰의 변화를 처리 해 줄 수있다.
Koin - Activity Scope
강성우 | 30 July 2020
Koin에서 Activity scope를 적용한 경험을 정리하였다. 이 내용을 잘 응용하면 custom scope를 적용하는 대 에도 무리가 없을것 으로 생각 된다.
Migration to Dagger-Hilt
강성우 | 12 July 2020
dagger에서 hilt를 이용하여 안드로이드에서 더 효율높은 DI를 사용 하는 방법들에 대해 정리 하였다.
AndroidX - ActivityResultContract
강성우 | 24 June 2020
안드로이드 컴포넌트 중 하나인 Activity간의 데이터를 처리 하는 방법으로 startActivityForResult()과 onActivityResult() 콜백이 있다. 이 방식의 Activity result처리 방법을 개선한 ActivityResultContract에 대해서 간단하게 알아보려 한다.
Jetpack - ListAdapter
강성우 | 22 June 2020
ListAdapter는 support library에 추가된 라이브러리로서 기존 RecyclerView의 Adapter에 이전 데이터셋 과 새로운 데이터셋의 비교를 담당하는 DiffUtil과 함께 사용 된다.
Dagger with Kotlin generic
강성우 | 19 June 2020
이 문서에서는 코틀린과 Dagger를 같이 사용하면서 발생했던 generic 관련 이슈를 정리 해 보았다.
Redux basic for Android developers
강성우 | 16 June 2020
Redux 기반의 안드로이드 아키텍쳐를 이해하기 위해서 Redux 에 대한 기초를 안드로이드 개발자 입장에서 정리해 보았다.
dagger.android basic
강성우 | 14 June 2020
이 문서에서는 기존 Dagger 를 사용 했을때 발생하는 문제들에 대해서 dagger.android 의 API 를 사용 하여 단순화 시켜보는 내용들에 대해서 정리 하였다.
Koin basic
강성우 | 13 June 2020
Koin 은 Service locator pattern을 기반으로 만들어진 도구 이다. 이는 Dependency injection tool 으로 사용 할 수 있다. 이 패턴은 장,단점을 명확하게 갖고 있다. Koin 은 순수 코틀린으로만 작성 되어 있고 다른 라이브러리나 APT 등에 대한 디펜던시가 없어 가볍게 사용하기에 좋다.
late initialize of Kotlin
강성우 | 12 June 2020
null 을 허용하지 않는 변수에서 초기화의 시점을 좀 더 늦게 할 수 있는 방법들에 대해서 디컴파일 코드와 함께 정리해 보았다.
Koin 에서 ViewModel 주입 방법
강성우 | 11 June 2020
Koin 에서 모듈의 인스턴스들은 single 이나 factory 등 으로 각각의 상황에 맞추어서 인스턴스를 사용하면 된다. 하지만 ViewModel 의 경우 안드로이드 컴포넌트 라이프 사이클에 맞추어 동작 하기 떄문에 Activity, Fragment 에 대한 ViewModelProvider 를 이용하여 ViewModel 인스턴스를 사용 해야 한다.
ViewModel 상태 관리
강성우 | 10 June 2020
ViewModel 에서는 ViewModel 을 가져올때 ViewModelProvider를 통해 LifeCycle 을 지정 하여 Activity 나 Fragment 의 생명주기와 동기화된 활동을 보여준다. 아래 그 생명주기를 참조하면 알 수 있다.
코틀린 표준 라이브러리 함수
강성우 | 10 June 2020
코틀린의 표준화 된 함수들중 일부를 정리 하였다. 몰론 개발자에 따라서 이 함수를 꼭 사용할 필요는 없다고 생각 한다. 왜냐하면 코틀린에서는 다양한 확장함수 를 직접 만들 수 있고 개발중인 도메인, 피쳐 등에 따라 성격과 네이밍이 바뀔 수 있으므로 그때마다 확장함수를 만들어서 사용해도 무방하다고 생각 한다. (몰론 기술적인 측면에서 표준 라이브러리 함수들과 성능상의 차이 등이 없어야 할 것이다)
파이썬 기초 간단 정리
강성우 | 25 February 2017
이 문서에서는 지금 까지 파이썬을 공부 하면서 필요하거나 중요한 내용들 위주로 정리 하였다. 어느 언어라던지 반복적인 학습을 통해서 문법을 익히고 그 다음에 간단한 프로젝트를 하면서 문법에 익숙해지는 것이 좋다고 생각 한다. 하지만 파이썬과 같은 동적 언어가 아닌 자바같은 정적 언어에 익숙해져있는 상태 라면 아무래도 파이썬을 익히기에 어렵게 느껴질 수는 있다. 대부분 이 문제는 문법에 국한되어 있는 경우가 많으며 이는 반복적인...
JVM Dalvik, ART and Runtime Data Area
강성우 | 31 October 2016
JVM(Java Virtual Machine)은 아키텍쳐와 플랫폼에 상관없이 실행할 수 있는 환경을 제공하는 언어라고 할 수 있다. 안드로이드에서는 JAVA를 사용 하지만 JVM은 라이센스 문제로 인하여 Dalvik이라는 VM을 만들어서 사용 했었다. Dalvik VM은 JVM이기는 하지만 JVM의 명세를 따르지는 않는다. Stack머신인 다른 JVM과는 달리 Dalvik VM은 레지스터 머신이며, 독자적인 툴을 이요하여 자바 바이트 코드를 Dalvik VM용 레지스터 기반 명령어 코드로 변환 한다.