Kotlin 10 ์ฃผ๋
์ ๋ง์ดํ๋ ๋ง์ง๋ง ์ด๋ฒคํธ๋ฅผ GDG Seoul์์ ์ค๋นํ์ต๋๋ค. Kotlin์ 2011๋
7์ 19์ผ ์ฒ์ ๋ฐํ๋ ์ดํ 10๋
๊ฐ ๋ค์ํ ๋ถ์ผ์์ ํ์ฉ๋์ค๊ณ ์์ต๋๋ค. Java๋ฅผ ๋์ฒดํ๊ธฐ ์ํด ๊ฐ๋ฐ๋ ์ธ์ด๋ผ๋ ์์์ ์ด์ ๋๋ ์๋ฏธ๊ฐ ์์์ง๋ ๋ชจ๋ฆ
๋๋ค. ์ด๋ฒ Kotlin Night Seoul 2021์์๋ Kotlin์ ์ด์ฉํด ๊ฐ๋ฐํ๊ณ ๊ณ์ ๊ฐ๋ฐ์๋ฅผ ๋ชจ์
์ Adoption of Kotlin์ด๋ผ๋ ํ
๋ง๋ก ๋ค์ํ Kotlin์ ํ์ฉ๋ฒ์ ์์ ๋ณด๊ณ ์ ํฉ๋๋ค. ๐ ์ผ์ : 2021-11-17 (์์์ผ) ๐ ์๊ฐ : 20:00 ~ 22:00 ๐ป ์ฅ์ : GDG Seoul Youtube Live ๐ ๋ด์ฉ : โ Kotlin์ ๋ฉํฐํ๋ซํผ ๊ฐ๋ฐ์ ์ํ "์ํ๊ณ"์
๋๋ค. JetBrains์์๋ ๊ฐ๋ฐ์๊ฐ ๋ฐฑ์๋ ์๋น์ค๋ฅผ ์ฝ๊ณ ๋น ๋ฅด๊ฒ ๋น๋ํ ์ ์๋๋ก Ktor ํ๋ ์์ํฌ๋ฅผ ๋ง๋ค์์ต๋๋ค. ์ด ๋ฐํ์์๋ Ktor๋ฅผ ์๊ฐํ๊ณ , Exposed SQL ํ๋ ์์ํฌ์ ํตํฉํ๋ ๋ฐฉ๋ฒ๊ณผ ์ค์ ๋ก API๋ฅผ ๋น๋ํ๋ ๋ฐฉ๋ฒ์ ์๊ฐํฉ๋๋ค. ๋ฐฑ์๋ ๊ฐ๋ฐ์์ Kotlin ํ์ฉ์ ๋ํด ๋ ์ ์ดํดํ ์ ์๋๋ก ๋์๋๋ฆฌ๋ ค ํฉ๋๋ค. โ Kotlin์ผ๋ก API๋ฅผ ๊ฐ๋ฐํ ๋ ์ฌ์ฉ์๋ค์๊ฒ ํธํ์ฑ์ ์ ์ฐํจ์ ์ ๊ณตํ๊ณ , ์ ๋ฐ์ ์ธ API ๊ฐ์์ฑ์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๋ ๋ค์ํ ๊ธฐ๋ฅ๋ค์ ์๊ฐํฉ๋๋ค. โ Kotlin Flow๋ RxJava๋ฅผ ๋์ฒดํ ์ ์์๊น์? RxJava๋ ๋งค์ฐ ์ข์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด์ง๋ง Flow๋ RxJava๋ณด๋ค ๋์ฑ ๊ฐ๋ณ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค. SharedFlow์ ์ํ๋ฅผ ๊ฐ์ง๋ StateFlow๋ฅผ ํ์ฉํด ๋ ๋ง์ ํ์ฉ๋๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ์ด ๋ฐํ์์๋ Flow ์ฌ์ฉ์ ์ฃผ์ํด์ผ ํ ๋ถ๋ถ์ ์์๋ณด๊ณ , ์ด๋ค์์ผ๋ก ์ ๊ทผํ๋ฉด ์ข์์ง ์ ๋ฆฌํฉ๋๋ค. GDG Seoul ๋ฐ์
์ ๊ฐ๋ฐ์์ ๋์์ด๋, ๊ธฐํ์์ ๋ง์ผํฐ, ํน์ ๋ค๋ฅธ ๋ชจ๋ ์ง๊ตฐ์ ์ข
์ฌ์๊ฐ ์ฐจ๋ณ ์์ด ์์ ๋กญ๊ฒ ์ฐธ์ฌํ ์ ์๋ ์ปจํผ๋ฐ์ค/์ธ๋ฏธ๋/๋ฐ์
์ด๋ฉฐ, ์๋ก์ ๋ํ ์กด์ค์ ๋ฐํ์ผ๋ก ํ์ธ์๊ฒ ๋ถ์พ๊ฐ์ ์ค ์ ์๋ ์ฑ ์ ์ฒด์ฑ, ์ฑ์ ์ทจํฅ, ์ฅ์ , ์ธ๋ชจ, ๋ฏผ์กฑ, ๊ตญ์ , ์ธ์ข
, ๋์ด, ์ ์น, ์ข
๊ต ๋ฑ์ ๋ํ ๋ฐ์ธ์ ๊ธ์งํฉ๋๋ค. ํ๋ ๊ฐ๋ น์ Google Developer Groups ํ์ฌ์ ์ฐธ์ฌํ๋ ๋ชจ๋ ๊ฐ์ธ์๊ฒ ํด๋นํ๋ฉฐ ์๋ฐ ์ ํด์ฅ ๋ฑ์ ์ ์ฌ๋ฅผ ๋ฐ์ ์ ์์ต๋๋ค. ํ๋ ๊ฐ๋ น ์๋ฐ ์ฌ๋ก์ ๋ํ ๋ด์ฉ์ ๊ณต๊ฐ๋ ์ ์์ต๋๋ค. ์ฌ๋ ค ๊น๊ฒ ํ๋ํด์ฃผ์ธ์. ์ฐ๋ฆฌ๋ ๋ชจ๋ ๊ฐ์ ๊ณต๋์ฒด์ ๊ตฌ์ฑ์์
๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ๋ค๋ฅธ ์ฌ๋๋ค์๊ฒ ์น์ ํ๊ฒ ๊ทธ๋ฆฌ๊ณ ๋ฐ๋ฏํ๊ฒ ๋ง์ดํ๋ ์ข์ ์ฌ๋์ด ๋์ด์ฃผ์ธ์. ๋ค๋ฅธ ์ฌ๋์ด ํจ๊ปํ๊ณ ์ถ์ด ํ๋ ์ฌ๋์ด ๋์ด์ฃผ์ธ์. ์๋ก๋ฅผ ์กด์คํด ์ฃผ์ธ์. ํ๋ฐํ ํ ๋ก ์ ๊ฑด๊ฐํ ๊ฐ๋ฐ์ ์ํ๊ณ์ ๋์์ด ๋์ง๋ง, ๋นํ์ด ์๋ ๋น๋์ ํด๊ฐ ๋ฉ๋๋ค. ์๊ฒฌ์ ๊ณต๊ฐํ๋ ค ๋
ธ๋ ฅํ๊ณ , ๊ฐ๋ฑ์ ๋
น์ฌ๊ฐ๋ฉฐ ํจ๊ปํด์ฃผ์ธ์. ์๋ก๋ฅผ ์ดํดํ๊ธฐ ์ํด ๋
ธ๋ ฅํด์ฃผ์ธ์. ๋ง๊ณผ ํ๋์ ์ฑ
์๊ฐ์ ๋ณด์ฌ์ฃผ์ธ์. ์ฐ๋ฆฌ๋ ๊ณต๋์ฒด์ ๊ตฌ์ฑ์์ผ๋ก์ ํ๋ ๋ง๊ณผ ํ๋์ ๋ํด ์ฑ
์์ด ์์ต๋๋ค. ๊ทธ๋ก ์ธํด ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค๋ฉด ๋ฐ๋ก์ก์์ผ ํฉ๋๋ค. ์ด๋ ํ ๊ฒฝ์ฐ๋ผ๋ ๋ง๊ณผ ํ๋์ผ๋ก ์ธํด ํ์ธ์ด ๋ถ์พ๊ฐ์ ๋๊ผ๋ค๋ฉด ๋ฌธ์ ์ ํด๋น๋ฉ๋๋ค. ์ ๊ทน์ ์ผ๋ก ์ฐธ์ฌํด์ฃผ์ธ์. ์ ๊ทน์ ์ธ ์ฐธ์ฌ๋ ์๋ก์ ๊ฑฐ๋ฆฌ๋ฅผ ์ค์ด๊ณ ๋ณด๋ค ํฐ ๊ฐ์น๋ฅผ ๋ง๋ค์ด ๋
๋๋ค. ์ ๊ทน์ ์ผ๋ก ์ฐธ์ฌํ๋ฉฐ ์กฐํ๋กญ๊ฒ ์ด์ธ๋ ค์ฃผ์ธ์. ์์ ๋กญ๊ฒ ๋์์ ๊ตฌํ์ธ์. ๊ณค๋ํ ์ํฉ์ ๋ง์ฃผ์ณค๋ค๋ฉด ์ฃผ์์ ๋์์ ์์ฒญํ์ธ์. ๊ทธ๋ฆฌ๊ณ ๋์์ ์์ฒญ ๋ฐ์๋ค๋ฉด ์ฃผ์ ํ์ง ๋ง๊ณ ๋์์ฃผ์ธ์. ์ ์ฌ๋ฅผ ๋ฐ์ ๊ฒฝ์ฐ ํ์ฌ ์ฐธ์ฌ๋ฅผ ์ํด ์ง๋ถํ ๋น์ฉ์ ๋๋ ค๋ฐ์ ์ ์์ต๋๋ค. ๋ชจ๋ ๊ตฌ์ฑ์์ ์์ ์ด๋ ๋ค๋ฅธ ์ฌ๋์ด ๋ถํธ์ ๋๋ผ๊ฒ ํ๋ ํ๋์ ๋ณด์์ ๋ ์ด์์ง์ ์ฐพ๊ฑฐ๋ gdg-seoul@googlegroups.com์ผ๋ก ๋ณด๋ด์ ์๋ ค์ผ ํฉ๋๋ค. ์ด์์ง์ ์ด๋ฅผ ์ธ์งํ์ ๋ ์ฆ์ ํ๋์ ์ทจํด์ผ ํฉ๋๋ค. ์ด์์ง์ ์ฐธ๊ฐ์์๊ฒ ํ์พํ ๋์์ ์ฃผ์ด์ผ ํ๋ฉฐ ์ฐธ๊ฐ์์ ์์ ์ ์งํค๊ธฐ ์ํ ๋
ธ๋ ฅ์ ํด์ผ ํฉ๋๋ค. ๊ทธ ๋
ธ๋ ฅ์๋ ์ฐธ๊ฐ์ ๋ณดํธ, ๊ฒฝ์ฐฐ/์ฌ๋ฒ๊ธฐ๊ด์ผ๋ก์ ์ฐ๋ฝ์ ํฌํจํฉ๋๋ค.Adoption of Kotlin
1๏ธโฃ Ktor in Action : Shengyou Fan (JetBrains Developer Advocate)
2๏ธโฃ ๊ฒฌ๊ณ ํ API ๋์์ธ์ ์ํ Kotlin ํ์ฉ๋ฒ : ์์ฌ์
(GetStream Android Developer Advocate)
3๏ธโฃ Look into Kotlin Flow : ๊ถํํ (๋ ๋ชฌํธ๋ฆฌ Android Developer)
Code of Conduct
๊ฑด๊ฐํ ๊ณต๋์ฒด๋ฅผ ์ํด ๊ตฌ์ฑ์๋ค์ ์ ํ๋ ๊ฐ๋ น์ ์ค์ํ๊ณ , ์ฃผ์ ๋ฐ์ ๊ตฌ์ฑ์์ ์ฆ์ ํ๋ ๊ฐ๋ น์ ์ค์ํ ๊ฒ์ ์๊ตฌํฉ๋๋ค.