kotlin(9)
-
[Kotlin] Coroutine suspend function ์ ๋์ฒด ๋ญ์ผ?
๋ชฉ์ฐจ suspend ๋ ๋ฌด์์ธ๊ฐ. ์ฌ์ ์ ์ฐพ์๋ณด๋ฉด, '์ค์งํ๋ค' ๋ผ๋ ๋ป์ ๋จ์ด๋ค. ๊ทธ๋ ๋ค๋ฉด, coroutine ์์์ suspend keyword ๋ ๋ฌด์์ ์๋ฏธํ ๊น? a function that could be started, paused, and resume. ์์ํ๊ณ , ๋ฉ์ถ๊ณ , ๋ค์ ์์ํ ์ ์๋ ํจ์ ๋ผ๊ณ ํ๋ค. (ํ , ์ ์๋ ๊ต์ฅํ ์งง์๋ฐ ์ ์๋ฟ์ง๋ ์๋๋ค) suspend๋ ๋น๋๊ธฐ ์คํ์ ์ํ ์ค๋จ ์ง์ ์ ์๋ฏธ ์ฆ, ์ ์ ์ค๋จ(suspend)ํ๋ค๋ ์๋ฏธ์ด๊ณ , ์ ์ ์ค๋จํ๋ค๋ฉด ์ธ์ ๊ฐ๋ ๋ค์ ์์(resume)๋๋ค๋ ๋ป. ๊ทธ๋. ์ ์๋ ์๊ฒ ์ด. ๊ทผ๋ฐ ๊ทธ๋์..? ๋ญ ๋ญ๊ฐ ๋ค๋ฅธ๋ฐ !!!!! ์ด ์ฐ์ฐํจ์ ์ด๋ฒ ํ ์คํธ๋ฅผ ํตํด ์์ํ๊ฒ ํด์ํ๋ค. ๋์ ๊ฐ์ด ์ดํด๊ฐ ์ ์ ๋ ๋ถ๋ค์ ์๊ฒ ์กฐ๊ธ์ด๋๋ง ๋..
2021.06.13 -
[Kotlin] Scope Functions - let, run, with, apply, and also ์ ๋ํ์ฌ
์ค๋์ ๊ฐ๋ : Kotlin Scope Functions ์ฒ์์ ์ ๋ง ํท๊ฐ๋ ธ๋ค. ๊ทธ๋ ์ง๋ง ์ฐจ์ด๋ฅผ ์๊ณ ๋๋ ์ ๋ง ์ฝ๋ค! ๊ฐ ํจ์๋ ํฌ๊ฒ 2๊ฐ์ง์ ํน์ง์ผ๋ก ๋๋๋ค. ์ด๊ฒ๋ง ์๋ฉด ๋!๋! ์ฐจ์ด 1. Context object : this ๋๋ it ์ฌ๊ธฐ์ "Context object"๋, ์๋ ์ฝ๋๋ฅผ ๋ณด์. val adam = Person("Adam").apply { // ์ฌ๊ธฐ์ Person ๊ฐ์ฒด๋ฅผ ์ด๋ป๊ฒ ๋ฐ๋๋์ ์๋ฏธ. apply๋ this ๋ก ๋ฐ์ age = 32 // ๋ฐ๋ผ์, this.age ์ ๋์ผํจ city = "London" // this.city์ ๋์ผ } val adam = Person("Adam").also { // also๋ it ์ผ๋ก ๋ฐ์ it.age = 32 it.city = "Londo..
2020.02.17 -
[Android] DI(์์กด์ฑ ์ฃผ์ )๊ณผ Koin์ ๋ํ์ฌ
#์ค๋์ ๊ฐ๋ : Koin DI ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋? ์์กด์ฑ ์ฃผ์ ์ ํ ๊ฐ์ฒด๊ฐ ๋ค๋ฅธ ๊ฐ์ฒด์ ์์กด์ฑ์ ์ ๊ณตํ๋ ๊ธฐ์ ์ ๋๋ค. "์์กด์ฑ"์ ์๋ฅผ ๋ค์ด ์๋น์ค๋ก ์ฌ์ฉํ ์ ์๋ ๊ฐ์ฒด์ ๋๋ค. ์ฌ์ฉํ ์๋น์ค๋ฅผ ์ง์ ํ๋ ํด๋ผ์ด์ธํธ ๋์ ํด๋ผ์ด์ธํธ๊ฐ ์ฌ์ฉํ ์๋น์ค๋ฅผ ์๋ ค์ค๋๋ค. -์ํค๋ฐฑ๊ณผ ์ฐ์ DI ๋? DI : Dependency Injection(์์กด์ฑ ์ฃผ์ )์ ์ค๋ง ์์กด์ฑ ์ฃผ์ ์ ์๋ฏธ๋ฅผ ์์๋ณด์. ์์กด์ฑ์ด๋, ๋๋ ์์กด์ฑ์ ๊ด๊ณ๋ฅผ ์๋์ ๊ฐ์ด ์ดํดํ๋ค. ์๋ฅผ ๋ค์ด, A์ B๊ฐ ์๋ค. ์ด๋ค action์ด ํํด์ ธ A์ ์ํฅ์ ๋ฏธ์ณค๋ค. A๊ฐ ์ํฅ์ ๋ฐ์๊ธฐ ๋๋ฌธ์ B๋ ์ํฅ์ ๋ฐ๋๋ค. ์ด๋ฌํ A-B์ ๊ด๊ณ๋ฅผ ์์กด์ฑ์ด ์๋ค๊ณ ๋ณธ๋ค. ์ฃผ์ ์ด๋, "๋ฐ์์ ์์ผ๋ก ๋ฃ๋๋ค"๋ผ๋ ์๋ฏธ๋ก ๋ณผ ์ ์๋ค. ์ฆ, ์ํํธ์จ์ด์์์ ์์กด์ฑ ์ฃผ์ ์ด๋..
2019.11.15