코틀린의 sealed class
와 코틀린 1.5에서 추가된 sealed interface
에 대해서 알아봅니다.
-
posts
-
[Kotlin] Sealed Class and Sealed Interface
-
[ExoPlayer] Preloading and Caching Videos in ExoPlayer
ExoPlayer 라이브러리에 내장된 비디오 캐시 기능을 구현하고 사전 로드 하는 방법을 알아봅니다.
라이브러리에 내장된 관련 API 를 사용하면, 다운로드나 캐시 기능을 추가적으로 구현하지 않고도 간단하게 목적을 달성할 수 있습니다. -
[Android] JitPack 에서 안드로이드 라이브러리를 빠르게 배포해보자
이 글은 Maven 이 아닌 JitPack 를 통한 안드로이드 라이브러리(aar)를 배포하는 방법을 설명합니다.
더불어 이 글을 작성하는 시점(23.09.13) 최신 버전인 Gradle 8.3 과 AGP 8.1.1 에서 Jitpack 빌드 실패에 대한 트러블 슈팅 후기도 함께합니다. -
[Coroutine] 코루틴의 Continuation 과 동작 원리
코루틴의 Continuation 은 무엇이며 suspend 함수는 내부적으로 어떻게 동작하는 지 알아보자
-
[Kotlin] Generics 파헤치기 Part 2 - 변성(Variance)과 in, out 한정자
코틀린의 제네릭 프로그래밍 방식에 대해서 파헤쳐보기 두 번째 시간입니다.
-
[Kotlin] Generics 파헤치기 Part 1 - 정의, 타입 매개변수 제약
코틀린의 제네릭 프로그래밍 방식에 대해서 파헤쳐보기 첫 번째 시간입니다.
-
[Kotlin] Delegation 사용설명서
코틀린에서는 Delegation 디자인 패턴을 언어 수준에서 지원하는 기능을 가지고 있습니다.
이에 관하여 자세히 알아보고 사용법을 살펴보도록 하겠습니다. -
[Kotlin] Properties 와 Backing Fields 에 대하여
코틀린의 Properties 와 Backing Fields 에 대해서 알아보고, 추가로 자바와의 차이점과 Backing Properties 에 대해서도 다뤄봅니다.
-
[Java] equals() 와 hashCode() 메소드에 대한 고찰
모르고 넘어갈 수 있는 자바의
equals()
와hashCode()
메소드에 대해서 짚고 넘어가는 글을 작성해 봅니다. -
[Kotlin] inline 수정자에 대하여 알아보기
inline
수정자와 이와 관계되는 다양한 키워드에 대해 정리해봅니다. -
[Kotlin] inline(value) class
코틀린의 inline class 에 대해서 알아봅니다.
-
[Kotlin] 함수형 프로그래밍 (Functional Programming)
코틀린의 함수형 프로그래밍 문법을 기록하고자 글을 작성합니다.
-
[Android] TransactionTooLargeException
우리는
Activity
,Fragment
간에 데이터를 전달할때Intent
,Bundle
클래스를 통해 전달하곤 합니다.
여기서 전달 가능한 데이터 량의 제한이 있고, 이를 초과 시 OS 에서는 TransactionTooLargeException 예외가 발생하며 Application 은 종료됩니다. -
[Coroutine] CoroutineName 을 활용한 디버깅
코루틴을 활용한 비동기 프로그래밍을 하다보면, 현재 실행 중인 코루틴의 이름을 알고 싶은 경우가 있습니다.
-
[Kotlin] Collection Functions
코틀린 컬렉션 확장 함수들을 알아봅니다. 필드에서 생각보다 많이 사용하므로 숙지해놓으면 좋습니다.
-
[Coroutine] SupervisorJob
코루틴은 내부에서 Exception 이 발생하면 부모와 자식 양방향으로 예외를 전달합니다. 그리고 나서 코루틴 계층 전체를 종료합니다.
이러한 코루틴의 특성은 특정 자식 코루틴이나 블록에서 예외를 처리하고 Skip 하기가 곤란해지는 단점이 있습니다. -
[Coroutine] Flow & SharedFlow & StateFlow 알아보기
LiveData
라는 Observer 패턴을 구현하기 위한 훌륭한 도구가 있지만 Android 에서 만 사용 가능한 단점이 있기에 코틀린에서 지원하는Flow
를 사용한 데이터 스트림 구현을 권장합니다.
이 글에서는Flow
의 개념과 확장 인터페이스인SharedFlow
,StateFlow
에 대해 알아봅니다. -
[Coroutine] 코루틴 동시성(Concurrency) 제어
코루틴만의 동시성 제어 방식에 대하여 살펴봅니다.
-
[App] 내가 만든 앱
자동화 앱 알고 다운로드 👇👇👇
https://play.google.com/store/apps/details?id=com.ogoons.algo
-
[Kotlin] optional + let을 통한 null 체크
우리는 보통 null 체크하는 로직을 아래와 같이 구현합니다.
-
[Git] 자주 사용하는 Git Command 모음
일반적으로 자주 사용하는 명령어