โจ์ธ๊ธฐ๊ธ

Android 10 ๋ณ๊ฒฝ ์ฌํญ : Scoped Storage
Android 10์ ํฐ ๋ณ๊ฒฝ ์ฌํญ ์ค ํ๋์ธ Scoped Storage์ ๋ํด ์ ๋ฆฌํด ๋ณด์์ต๋๋ค.
![[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] TaskStackBuilder ๊ฐ๋จ ์ ๋ฆฌ](/assets/images/posts/figure_android15_01.png)
[Android] TaskStackBuilder ๊ฐ๋จ ์ ๋ฆฌ
Task์ Back Stack Task: ์ฌ์ฉ์๊ฐ ํน์ ์์ ์ ํ ๋ ์ํธ์์ฉํ๋ Activity ๋ชจ์ ๋ชจ๋ Activity๊ฐ ์คํ์์...

Java->Kotlin ๋ณํ ํ Dagger2 XXX_MemberInjector is defined multiple times ์๋ฌ
Java๋ก ๋ BaseActivity ํด๋์ค๋ฅผ Kotlin์ผ๋ก ๋ณํํ๋ฉด์ ์๋์ ๊ฐ์ ๋น๋ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.

Github Action์ ์ด์ฉํ PR ktlint ๋ฆฌ๋ทฐ ์๋ํ
Github Action๊ณผ ReviewDog์ ์ด์ฉํ์ฌ ๊ฐํธํ๊ฒ PR ๋ฆฌ๋ทฐ๋ฅผ ์๋ํํ ์ ์๋ค. SonarLint ์ฐ๋์ ์๋ฒ ํ๊ฒฝ๋ ํ์ํด...
![[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. ๋๋ค๋ก ํ๋ก๊ทธ๋๋ฐ
๋๋ค์/๋๋ค: ๋ค๋ฅธ ํจ์์ ๋๊ธธ ์ ์๋ ์์ ์ฝ๋ ์กฐ๊ฐ
![[Android Studio] MacOS Big Sur 11.3์์ ์๋๋ก์ด๋ ์๋ฎฌ๋ ์ดํฐ๊ฐ ์คํ๋์ง ์์ ๋ ํด๊ฒฐ๋ฐฉ๋ฒ](/assets/images/5.png)
[Android Studio] MacOS Big Sur 11.3์์ ์๋๋ก์ด๋ ์๋ฎฌ๋ ์ดํฐ๊ฐ ์คํ๋์ง ์์ ๋ ํด๊ฒฐ๋ฐฉ๋ฒ
์ต๊ทผ MacOS๋ฅผ Big Sur๋ก ์ ๋ฐ์ดํธํ๊ณ ๋์ ์๋๋ก์ด๋ ์๋ฎฌ๋ ์ดํฐ๊ฐ ์คํ๋์ง ์๋ ๋ฌธ์ ๊ฐ ์์๋ค. ์ฐพ์๋ณด๋ Android emulator ์ต์ ...
![[Kotlin In Action] 4. ํด๋์ค, ๊ฐ์ฒด, ์ธํฐํ์ด์ค](/assets/images/posts/figure4_2.png)
[Kotlin In Action] 4. ํด๋์ค, ๊ฐ์ฒด, ์ธํฐํ์ด์ค
#1. ํด๋์ค ๊ณ์ธต ์ ์