In "Android"
![[Android] TaskStackBuilder ๊ฐ๋จ ์ ๋ฆฌ](/assets/images/posts/figure_android15_01.png)
[Android] TaskStackBuilder ๊ฐ๋จ ์ ๋ฆฌ
Task์ Back Stack Task: ์ฌ์ฉ์๊ฐ ํน์ ์์ ์ ํ ๋ ์ํธ์์ฉํ๋ Activity ๋ชจ์ ๋ชจ๋ Activity๊ฐ ์คํ์์...
![[Android Studio] MacOS Big Sur 11.3์์ ์๋๋ก์ด๋ ์๋ฎฌ๋ ์ดํฐ๊ฐ ์คํ๋์ง ์์ ๋ ํด๊ฒฐ๋ฐฉ๋ฒ](/assets/images/5.png)
[Android Studio] MacOS Big Sur 11.3์์ ์๋๋ก์ด๋ ์๋ฎฌ๋ ์ดํฐ๊ฐ ์คํ๋์ง ์์ ๋ ํด๊ฒฐ๋ฐฉ๋ฒ
์ต๊ทผ MacOS๋ฅผ Big Sur๋ก ์ ๋ฐ์ดํธํ๊ณ ๋์ ์๋๋ก์ด๋ ์๋ฎฌ๋ ์ดํฐ๊ฐ ์คํ๋์ง ์๋ ๋ฌธ์ ๊ฐ ์์๋ค. ์ฐพ์๋ณด๋ Android emulator ์ต์ ...
![[Android] unit test์์ android Util ์ฌ์ฉํ๊ธฐ](/assets/images/4.png)
[Android] unit test์์ android Util ์ฌ์ฉํ๊ธฐ
Unit test์์ android Utils๋ฅผ ์ฌ์ฉํ ์ฝ๋๋ฅผ ํธ์ถํ๋ ๊ฒฝ์ฐ, ์๋์ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
![[Android Studio] Wi-Fi ํ๊ฒฝ์์ ์ ์ ์ฐ๊ฒฐ์์ด ๋๋ฒ๊น
ํ๊ธฐ](/assets/images/2.png)
[Android Studio] Wi-Fi ํ๊ฒฝ์์ ์ ์ ์ฐ๊ฒฐ์์ด ๋๋ฒ๊น ํ๊ธฐ
Wi-Fi ํ๊ฒฝ์์ ์ ์ ์ฐ๊ฒฐ์์ด ๋ฌผ๋ฆฌ ๋๋ฐ์ด์ค์ ์ฑ ์คํ ๋ฐ ๋๋ฒ๊น ํ๋ ๋ฐฉ๋ฒ
![[Android] Dependency Injection Part 3. Dagger basics](/assets/images/1.png)
[Android] Dependency Injection Part 3. Dagger basics
์ด ๊ธ์ Android Developer ๊ฐ์ด๋ ๋ด์ฉ์ ํ ๋๋ก ์์ฑ๋์์ต๋๋ค. ์์ ์ฝ๋๋ Kotlin๋ง ๊ฐ์ ธ์์ผ๋ฉฐ, Java ์ฝ๋๋ ์๋ฌธ์์...
![[Android] ExoPlayer๋ฅผ ์ฌ์ฉํ ๋ ์ด๊ฐ๋จ ์ค๋์ค ํฌ์ปค์ค ์ฒ๋ฆฌํ๊ธฐ](/assets/images/6.png)
[Android] ExoPlayer๋ฅผ ์ฌ์ฉํ ๋ ์ด๊ฐ๋จ ์ค๋์ค ํฌ์ปค์ค ์ฒ๋ฆฌํ๊ธฐ
ExoPlayer๋ฅผ ์ฌ์ฉํ ๋ ์ด๊ฐ๋จ ์ค๋์ค ํฌ์ปค์ค ์ฒ๋ฆฌํ๊ธฐ - ๋๋ฌด ๊ฐ๋จํด์ ๋นํฉ์ฐ..๐ฅ
![[Android] MediaBrowser.connect() ์๋ฌด ๋ฐ์์ด ์์ ๋](/assets/images/5.png)
[Android] MediaBrowser.connect() ์๋ฌด ๋ฐ์์ด ์์ ๋
MediaBrowser.connect() ํธ์ถํด๋ ์๋ฌด ๋ฐ์์ด ์์ ๋ ํด๊ฒฐ ๋ฐฉ๋ฒ
![[Android] java.lang.UnsupportedOperationException: This session doesn't support queue management operations](/assets/images/4.png)
[Android] java.lang.UnsupportedOperationException: This session doesn't support queue management operations
MediaControllerCompat ์ฌ์๋ชฉ๋ก ์์ (addQueueItem / removeQueueItem)์ ์๋ํ์ ๋ UnsupportedOperationException ๋ฐ์ํ๋ ๊ฒฝ์ฐ..

Android 10 ๋ณ๊ฒฝ ์ฌํญ : Scoped Storage
Android 10์ ํฐ ๋ณ๊ฒฝ ์ฌํญ ์ค ํ๋์ธ Scoped Storage์ ๋ํด ์ ๋ฆฌํด ๋ณด์์ต๋๋ค.
![[Android] Dependency Injection Part 2. ์ง์ ์์กด์ฑ ์ฃผ์
ํ๊ธฐ](/assets/images/3.png)
[Android] Dependency Injection Part 2. ์ง์ ์์กด์ฑ ์ฃผ์ ํ๊ธฐ
์ด ๊ธ์ Android Developer ๊ฐ์ด๋ ๋ด์ฉ์ ํ ๋๋ก ์์ฑ๋์์ต๋๋ค. ์์ ์ฝ๋๋ Kotlin๋ง ๊ฐ์ ธ์์ผ๋ฉฐ, Java ์ฝ๋๋ ์๋ฌธ์์...
![[Android] Dependency Injection Part 1. Overview](/assets/images/2.png)
[Android] Dependency Injection Part 1. Overview
์ด ๊ธ์ Android Developer ๊ฐ์ด๋ ๋ด์ฉ์ ํ ๋๋ก ์์ฑ๋์์ต๋๋ค. ์์ ์ฝ๋๋ Kotlin๋ง ๊ฐ์ ธ์์ผ๋ฉฐ, Java ์ฝ๋๋ ์๋ฌธ์์...

Android ๊ฐ๋ฐ์๋ฅผ ์ํ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ Part 2
์๋ฌธ Functional Programming for Android Developers โ Part 2์ ๋ฒ์ญํ ๊ธ์ ๋๋ค.

Android ๊ฐ๋ฐ์๋ฅผ ์ํ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ Part 1
์๋ฌธ Functional Programming for Android Developers โ Part 1์ ๋ฒ์ญํ ๊ธ์ ๋๋ค.
![[Android] Kotlin Delegates in Android: Android ๊ฐ๋ฐ์ Properties Delegate ํ์ฉํ๊ธฐ](/assets/images/4.png)
[Android] Kotlin Delegates in Android: Android ๊ฐ๋ฐ์ Properties Delegate ํ์ฉํ๊ธฐ
์๋ฌธ Kotlin Delegates in Android: Utilizing the power of Delegated Properties in Android development์ ๋ฒ์ญํ...
![[Android] Kotlin Extension Function์ ์ฌ์ฉํ์ฌ ๋๋ธ ํด๋ฆญ ๋ฐฉ์งํ๊ธฐ](/assets/images/3.png)
[Android] Kotlin Extension Function์ ์ฌ์ฉํ์ฌ ๋๋ธ ํด๋ฆญ ๋ฐฉ์งํ๊ธฐ
์ฝํ๋ฆฐ ํ์ฅ ํจ์๋ฅผ ํตํด View ๋๋ธ ํด๋ฆญ ๋ฐฉ์ง๋ฅผ ์ฝ๊ฒ ๊ตฌํํ ์ ์์ต๋๋ค.
![[Android] Jetpack - LiveData](/assets/images/2.png)
[Android] Jetpack - LiveData
LiveData๋ฅผ ํ๋ก์ ํธ์ importํ๋ ๋ฐฉ๋ฒ์ ํ๋ก์ ํธ์ ์ปดํฌ๋ํธ ์ถ๊ฐํ๊ธฐ ์ฐธ๊ณ
![[Android] 100% ์ด๋ณด์๋ฅผ ์ํ RxJava(RxJava for 100% beginners)-part 1](/assets/images/1.png)
[Android] 100% ์ด๋ณด์๋ฅผ ์ํ RxJava(RxJava for 100% beginners)-part 1
์ด ๊ธ์ ์๋ฌธ์ ๋ฒ์ญํ ๊ธ์ ๋๋ค.
![[Android] ๋ ์ด์์ ๊ณ์ธต ์ฑ๋ฅ ์ต์ ํ(Optimizing Layout Hierarchies)](/assets/images/6.png)
[Android] ๋ ์ด์์ ๊ณ์ธต ์ฑ๋ฅ ์ต์ ํ(Optimizing Layout Hierarchies)
์๋ฌธ: Optimizing Layout Hierarchies์ ๋ฒ์ญํ ๊ธ์ ๋๋ค.
![[Android] Bitmap์ ์์ ์
ํ๊ธฐ](/assets/images/posts/screenshot_00.png)
[Android] Bitmap์ ์์ ์ ํ๊ธฐ
์ฃผ์ด์ง ๋นํธ๋งต์ ์์์ ๋ฎ์ด ์์ฐ๋ ๋ฐฉ๋ฒ ๊ฐ์ ์ด๋ฏธ์ง๋ฅผ ์ฌ๋ฌ ์์ผ๋ก ์ฌ์ฉํด์ผ ํ ๋ ์ ์ฉํ๋ค. ์์๋,...
![[Android] dpi / dip](/assets/images/3.png)
[Android] dpi / dip
์น์ ๋จ์
![[Android] AsyncTask](/assets/images/2.png)
[Android] AsyncTask
AsyncTask ๋ฐฑ๊ทธ๋ผ์ด๋ ์์ ๊ฒฐ๊ณผ๋ฅผ UI๋ก ์ ๋ฌ
![[Android] View](/assets/images/1.png)
[Android] View
View UI ๊ตฌ์ฑ์์, ์ฌ์ฉ์์ ๋์ ๋ณด์ด๋ ํ๋ฉด์ ๊ตฌ์ฑ ์์
![[Android] Activity](/assets/images/4.png)
[Android] Activity
Activity
![[Android] Intent](/assets/images/3.png)
[Android] Intent
์ธํ ํธ
In "Study"

Kotlin constructor ์ ๋ฆฌ
Kotlin์ ํด๋์ค๋ ํ๋์ Primary constructor(์ฃผ ์์ฑ์)์ ํ๋ ์ด์์ Secondary constructor(๋ถ ์์ฑ์)๋ฅผ ๊ฐ์ง ์ ์์ต๋๋ค.
![[Design Pattern] Strategy Pattern](/assets/images/posts/study-02-img.png)
[Design Pattern] Strategy Pattern
Strategy pattern ์ผ๋ช , ์ ๋ตํจํด
![[Design Pattern] Observer Pattern](/assets/images/4.png)
[Design Pattern] Observer Pattern
Observer Pattern ํ ๊ฐ์ฒด์ ์ํ๊ฐ ๋ณ๊ฒฝ๋์์ ๋ ๋ค๋ฅธ ๊ฐ์ฒด๋ค์ด ์์์ผ ํ๋ ๊ฒฝ์ฐ ์ฌ์ฉํ๋ค. ์ํ๋ฅผ ๊ฐ์ง๋...
In "GoF"
![[Design Pattern] Strategy Pattern](/assets/images/posts/study-02-img.png)
[Design Pattern] Strategy Pattern
Strategy pattern ์ผ๋ช , ์ ๋ตํจํด
![[Design Pattern] Observer Pattern](/assets/images/4.png)
[Design Pattern] Observer Pattern
Observer Pattern ํ ๊ฐ์ฒด์ ์ํ๊ฐ ๋ณ๊ฒฝ๋์์ ๋ ๋ค๋ฅธ ๊ฐ์ฒด๋ค์ด ์์์ผ ํ๋ ๊ฒฝ์ฐ ์ฌ์ฉํ๋ค. ์ํ๋ฅผ ๊ฐ์ง๋...
In "Kotlin"
![[Kotlin In Action] 7. ์ฐ์ฐ์ ์ค๋ฒ๋ก๋ฉ๊ณผ ๊ธฐํ ๊ด๋ก](/assets/images/posts/figure7_4.png)
[Kotlin In Action] 7. ์ฐ์ฐ์ ์ค๋ฒ๋ก๋ฉ๊ณผ ๊ธฐํ ๊ด๋ก
Convention(์ปจ๋ฒค์ /๊ด๋ก) : Kotlin์์ ์ด๋ค ์ธ์ด ๊ธฐ๋ฅ๊ณผ ๋ฏธ๋ฆฌ ์ ํด์ง ์ด๋ฆ์ ํจ์๋ฅผ ์ฐ๊ฒฐํด์ฃผ๋ ๊ธฐ๋ฒ ์) ์ด๋ค ํด๋์ค...

Kotlin Range
Kotlin์ ๋ฒ์๋ฅผ ์ฝ๊ฒ ์์ฑํ ์ ์๋ rangeTo() ํจ์๋ฅผ ์ ๊ณตํ๋ค. rangeTo()๋ .. ์คํผ๋ ์ดํฐ๋ก ํํ๋ ๊ฐ๋ฅํ๋ค.

Kotlin ์ซ์ ํ์
์ ์ ํ์
![[Kotlin In Action] 6. ์ฝํ๋ฆฐ ํ์
์์คํ
](/assets/images/posts/figure6_3.png)
[Kotlin In Action] 6. ์ฝํ๋ฆฐ ํ์ ์์คํ
#1. null ๊ฐ๋ฅ์ฑ (nullability) NPE๋ฅผ ํผํ ์ ์๊ฒ ๋๊ธฐ ์ํ ์ฝํ๋ฆฐ ํ์ ์์คํ ์ ํน์ฑ
![[Ktor] 3. Response](/assets/images/2.png)
[Ktor] 3. Response
Ktor Client ๊ฐ์ด๋ ์์ฝ ์ ๋ฆฌ
![[Ktor] 2. Request](/assets/images/1.png)
[Ktor] 2. Request
Ktor Client ๊ฐ์ด๋ ์์ฝ ์ ๋ฆฌ
![[Ktor] 1. ํด๋ผ์ด์ธํธ, Engine](/assets/images/6.png)
[Ktor] 1. ํด๋ผ์ด์ธํธ, Engine
Ktor Client ๊ฐ์ด๋ ์์ฝ ์ ๋ฆฌ
![[Kotlin In Action] 5. ๋๋ค๋ก ํ๋ก๊ทธ๋๋ฐ](/assets/images/posts/figure5_3.png)
[Kotlin In Action] 5. ๋๋ค๋ก ํ๋ก๊ทธ๋๋ฐ
๋๋ค์/๋๋ค: ๋ค๋ฅธ ํจ์์ ๋๊ธธ ์ ์๋ ์์ ์ฝ๋ ์กฐ๊ฐ
![[Kotlin In Action] 4. ํด๋์ค, ๊ฐ์ฒด, ์ธํฐํ์ด์ค](/assets/images/posts/figure4_2.png)
[Kotlin In Action] 4. ํด๋์ค, ๊ฐ์ฒด, ์ธํฐํ์ด์ค
#1. ํด๋์ค ๊ณ์ธต ์ ์
![[Kotlin In Action] 3. ํจ์ ์ ์์ ํธ์ถ](/assets/images/posts/figure3_2.png)
[Kotlin In Action] 3. ํจ์ ์ ์์ ํธ์ถ
#1. ํจ์ ํธ์ถ
![[Kotlin In Action] 2. ์ฝํ๋ฆฐ ๊ธฐ์ด](/assets/images/posts/figure2_1.png)
[Kotlin In Action] 2. ์ฝํ๋ฆฐ ๊ธฐ์ด
#1. ํจ์
![[Kotlin In Action] 1. ์ฝํ๋ฆฐ์ด๋ ๋ฌด์์ด๋ฉฐ, ์ ํ์ํ๊ฐ?](/assets/images/posts/figure1_1.png)
[Kotlin In Action] 1. ์ฝํ๋ฆฐ์ด๋ ๋ฌด์์ด๋ฉฐ, ์ ํ์ํ๊ฐ?
์ฝํ๋ฆฐ(Kotlin)? ์๋ฐ ํ๋ซํผ์์ ๋์๊ฐ๋ ์๋ก์ด ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ๊ฐ๊ฒฐ, ์ค์ฉ์ , ์๋ฐ ์ฝ๋์์ ์ํธ์ด์ฉ์ฑ ์ค์

Kotlin constructor ์ ๋ฆฌ
Kotlin์ ํด๋์ค๋ ํ๋์ Primary constructor(์ฃผ ์์ฑ์)์ ํ๋ ์ด์์ Secondary constructor(๋ถ ์์ฑ์)๋ฅผ ๊ฐ์ง ์ ์์ต๋๋ค.

Android ๊ฐ๋ฐ์๋ฅผ ์ํ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ Part 2
์๋ฌธ Functional Programming for Android Developers โ Part 2์ ๋ฒ์ญํ ๊ธ์ ๋๋ค.

Android ๊ฐ๋ฐ์๋ฅผ ์ํ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ Part 1
์๋ฌธ Functional Programming for Android Developers โ Part 1์ ๋ฒ์ญํ ๊ธ์ ๋๋ค.
![[Android] Kotlin Delegates in Android: Android ๊ฐ๋ฐ์ Properties Delegate ํ์ฉํ๊ธฐ](/assets/images/4.png)
[Android] Kotlin Delegates in Android: Android ๊ฐ๋ฐ์ Properties Delegate ํ์ฉํ๊ธฐ
์๋ฌธ Kotlin Delegates in Android: Utilizing the power of Delegated Properties in Android development์ ๋ฒ์ญํ...
![[Android] Kotlin Extension Function์ ์ฌ์ฉํ์ฌ ๋๋ธ ํด๋ฆญ ๋ฐฉ์งํ๊ธฐ](/assets/images/3.png)
[Android] Kotlin Extension Function์ ์ฌ์ฉํ์ฌ ๋๋ธ ํด๋ฆญ ๋ฐฉ์งํ๊ธฐ
์ฝํ๋ฆฐ ํ์ฅ ํจ์๋ฅผ ํตํด View ๋๋ธ ํด๋ฆญ ๋ฐฉ์ง๋ฅผ ์ฝ๊ฒ ๊ตฌํํ ์ ์์ต๋๋ค.
In "Java"

Android ๊ฐ๋ฐ์๋ฅผ ์ํ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ Part 2
์๋ฌธ Functional Programming for Android Developers โ Part 2์ ๋ฒ์ญํ ๊ธ์ ๋๋ค.

Android ๊ฐ๋ฐ์๋ฅผ ์ํ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ Part 1
์๋ฌธ Functional Programming for Android Developers โ Part 1์ ๋ฒ์ญํ ๊ธ์ ๋๋ค.
In "Translation"
![[Android] Dependency Injection Part 3. Dagger basics](/assets/images/1.png)
[Android] Dependency Injection Part 3. Dagger basics
์ด ๊ธ์ Android Developer ๊ฐ์ด๋ ๋ด์ฉ์ ํ ๋๋ก ์์ฑ๋์์ต๋๋ค. ์์ ์ฝ๋๋ Kotlin๋ง ๊ฐ์ ธ์์ผ๋ฉฐ, Java ์ฝ๋๋ ์๋ฌธ์์...
![[Android] Dependency Injection Part 2. ์ง์ ์์กด์ฑ ์ฃผ์
ํ๊ธฐ](/assets/images/3.png)
[Android] Dependency Injection Part 2. ์ง์ ์์กด์ฑ ์ฃผ์ ํ๊ธฐ
์ด ๊ธ์ Android Developer ๊ฐ์ด๋ ๋ด์ฉ์ ํ ๋๋ก ์์ฑ๋์์ต๋๋ค. ์์ ์ฝ๋๋ Kotlin๋ง ๊ฐ์ ธ์์ผ๋ฉฐ, Java ์ฝ๋๋ ์๋ฌธ์์...
![[Android] Dependency Injection Part 1. Overview](/assets/images/2.png)
[Android] Dependency Injection Part 1. Overview
์ด ๊ธ์ Android Developer ๊ฐ์ด๋ ๋ด์ฉ์ ํ ๋๋ก ์์ฑ๋์์ต๋๋ค. ์์ ์ฝ๋๋ Kotlin๋ง ๊ฐ์ ธ์์ผ๋ฉฐ, Java ์ฝ๋๋ ์๋ฌธ์์...

Android ๊ฐ๋ฐ์๋ฅผ ์ํ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ Part 2
์๋ฌธ Functional Programming for Android Developers โ Part 2์ ๋ฒ์ญํ ๊ธ์ ๋๋ค.

Android ๊ฐ๋ฐ์๋ฅผ ์ํ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ Part 1
์๋ฌธ Functional Programming for Android Developers โ Part 1์ ๋ฒ์ญํ ๊ธ์ ๋๋ค.
In "Swift"
In "Android Studio"
![[Android Studio] MacOS Big Sur 11.3์์ ์๋๋ก์ด๋ ์๋ฎฌ๋ ์ดํฐ๊ฐ ์คํ๋์ง ์์ ๋ ํด๊ฒฐ๋ฐฉ๋ฒ](/assets/images/5.png)
[Android Studio] MacOS Big Sur 11.3์์ ์๋๋ก์ด๋ ์๋ฎฌ๋ ์ดํฐ๊ฐ ์คํ๋์ง ์์ ๋ ํด๊ฒฐ๋ฐฉ๋ฒ
์ต๊ทผ MacOS๋ฅผ Big Sur๋ก ์ ๋ฐ์ดํธํ๊ณ ๋์ ์๋๋ก์ด๋ ์๋ฎฌ๋ ์ดํฐ๊ฐ ์คํ๋์ง ์๋ ๋ฌธ์ ๊ฐ ์์๋ค. ์ฐพ์๋ณด๋ Android emulator ์ต์ ...
In "BigSur"
![[Android Studio] MacOS Big Sur 11.3์์ ์๋๋ก์ด๋ ์๋ฎฌ๋ ์ดํฐ๊ฐ ์คํ๋์ง ์์ ๋ ํด๊ฒฐ๋ฐฉ๋ฒ](/assets/images/5.png)
[Android Studio] MacOS Big Sur 11.3์์ ์๋๋ก์ด๋ ์๋ฎฌ๋ ์ดํฐ๊ฐ ์คํ๋์ง ์์ ๋ ํด๊ฒฐ๋ฐฉ๋ฒ
์ต๊ทผ MacOS๋ฅผ Big Sur๋ก ์ ๋ฐ์ดํธํ๊ณ ๋์ ์๋๋ก์ด๋ ์๋ฎฌ๋ ์ดํฐ๊ฐ ์คํ๋์ง ์๋ ๋ฌธ์ ๊ฐ ์์๋ค. ์ฐพ์๋ณด๋ Android emulator ์ต์ ...
In "KMM"
![[Ktor] 3. Response](/assets/images/2.png)
[Ktor] 3. Response
Ktor Client ๊ฐ์ด๋ ์์ฝ ์ ๋ฆฌ
![[Ktor] 2. Request](/assets/images/1.png)
[Ktor] 2. Request
Ktor Client ๊ฐ์ด๋ ์์ฝ ์ ๋ฆฌ
![[Ktor] 1. ํด๋ผ์ด์ธํธ, Engine](/assets/images/6.png)
[Ktor] 1. ํด๋ผ์ด์ธํธ, Engine
Ktor Client ๊ฐ์ด๋ ์์ฝ ์ ๋ฆฌ
In "Github"

Github Action์ ์ด์ฉํ PR ktlint ๋ฆฌ๋ทฐ ์๋ํ
Github Action๊ณผ ReviewDog์ ์ด์ฉํ์ฌ ๊ฐํธํ๊ฒ PR ๋ฆฌ๋ทฐ๋ฅผ ์๋ํํ ์ ์๋ค. SonarLint ์ฐ๋์ ์๋ฒ ํ๊ฒฝ๋ ํ์ํด...