All Posts

Kotlin - lateinit과 lazy로 초기화를 지연하는 방법

lateinit과 lazy는 코틀린에서 프로퍼티 초기화를 늦추는 키워드입니다. 초기화 지연은 사용할지 모르는 데이터를 미리 초기화할 필요가 없어서 성능 향상에 도움이 됩니다. 코틀린에서 제공하는 Late init과 Lazy init에 대해서 소개하고 공통점과 차이점에 대해서 알아보겠습니다.

kotlin12 Jun 2019

Docker의 'ERROR Couldn't connect to Docker daemon' 에러 해결 방법

Docker, Docker-compose를 설치하고 사용하려는데 'ERROR Couldn't connect to Docker daemon'가 발생할 수 있습니다. 일반적으로 설치 과정 중에 권한을 부여하는 것을 빼먹어서 그렇습니다. 여기서 해결 방법을 간단히 정리하였습니다.

etc11 Jun 2019

Kotlin - 함수에 가변인자 전달하는 방법

가변인자는 개수가 정해지지 않은 인자를 말합니다. 인자가 유동적이라면 인자 개수만큼 함수도 오버로딩해야 합니다. 하지만 가변인자를 이용하면 함수를 하나만 만들어도 됩니다. 예제를 통해 코틀린에서 가변인자를 사용하는 방법에 대해서 알아보겠습니다.

kotlin10 Jun 2019

Android App Bundle로 Apk 크기를 더 작게 만들기

안드로이드 앱 번들은 Apk의 사이즈를 줄이기 위한 목적으로 P에서 소개되었습니다. 앱 번들은 리소스를 분할하여 필요한 것만 전달하는 기술입니다. 앱 번들의 구조와 동작 원리에 대해서 알아보고, 기반 기술인 Split apk, Dynamic delivery, Dynamic feature에 대해서 알아보겠습니다.

android09 Jun 2019

안드로이드 Q - Background Location 권한 제한

개인정보 강화를 위해 Q에서 위치 권한을 세분화하였습니다. 사용자는 앱이 위치 정보를 Foreground 또는 Background에서만 사용하도록 제한할 수 있습니다. 그래서 앱이 실행되지 않으면 위치 정보를 얻지 못할 수 있습니다. 새로운 정책에 대해서 기존 앱은 어떻게 대응을 해야 하는지 설명하였습니다.

android09 Jun 2019

안드로이드 Q - 새로운 저장소 정책, Scoped Storage 알아보기

Q에서 외부 저장소를 다루는 새로운 정책 Scoped Storage가 소개되었습니다. 이전과 가장 큰 차이점은 SAF(Storage Access Framework)를 사용하도록 강제하는 부분입니다. SAF를 통해서 디바이스가 사용자의 모든 파일을 알지 못하게 하고 필요한 파일만 접근 권한을 부여하도록 만들었습니다. 구글의 이런 정책은 보안을 향상시키기 위한 목적입니다.

android08 Jun 2019

Kotlin - Infix functions 알아보기

Infix 함수는 두개의 변수 가운데 오는 함수를 말합니다. 코틀린에서 기본적으로 정의된 Infix 함수들 중에 Pair를 만드는 `to`가 있습니다. Infix 함수를 사용하는 방법과, 사용해서 얻게되는 장점에 대해서 알아보겠습니다. 또한 Infix 함수를 정의하는 방법에 대해서 알아보겠습니다.

kotlin07 Jun 2019

Kotlin - Pair와 Triple 사용 방법

함수는 1개의 객체만 리턴합니다. 하지만 Pair와 Triple을 사용하면 2개 또는 3개의 객체를 함수가 리턴할 수 있습니다. Pair는 두개의 객체를 저장할 수 있는 객체이고, Triple은 3개의 객체를 저장하는 객체입니다. 어떻게 Pair와 Triple을 사용하는지 자세히 알아보겠습니다.

kotlin07 Jun 2019