์ดํดํ๊ธฐ ์ฌ์ด ๊ฐ๋ฐ๊ฐ์๋ฅผ ๋ง๋ค๊ธฐ ์ํด ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค.
* ๋๋์ฝ๋์ ์ ํ๋ธ
https://www.youtube.com/channel/UC6V7LBEgcoTZUUgUU0Jv3xg
* ๋๋์ฝ๋์ ๊ธฐ์ ๋ธ๋ก๊ทธ
Posts
Q&A
์ค์ฝ์ด ๋ง๋ค๊ธฐ ๊ฐ์์ info.plist ํ์ผ์ด ์์ด์
๊ฐ์ฅ ์ฒซ๋ฒ์งธ ๊ฐ์์ธ SpriteKit์ด๋? ์์ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค ๋ ์์ฑ๋๋ ํ์ผ์ ๋๋ค. 10:30 ๋ถํฐ ํ์ธํด ๋ณด์ธ์ :-)
- 0
- 1
- 217
Q&A
Coroutine, Flow ์ง๋ฌธ
์ฌ๋ ค์ฃผ์ ์ฝ๋๋ฅผ ์คํ์์ผ๋ณด์๋ฉด ๋ฐํ๊ฐ์ ๋ค์๊ณผ ๊ฐ์ด ๋์ค๊ฒ ๋ฉ๋๋ค.I'm not blocked 1 1 I'm not blocked 2 2 I'm not blocked 3 3 https://play.kotlinlang.org/#eyJ2ZXJzaW9uIjoiMS45LjIyIiwicGxhdGZvcm0iOiJqYXZhIiwiYXJncyI6IiIsIm5vbmVNYXJrZXJzIjp0cnVlLCJ0aGVtZSI6ImlkZWEiLCJjb2RlIjoiaW1wb3J0IGtvdGxpbnguY29yb3V0aW5lcy4qXG5pbXBvcnQga290bGlueC5jb3JvdXRpbmVzLmZsb3cuKlxuXG5cbmZ1biBtYWluKCkgPSBydW5CbG9ja2luZzxVbml0PiB7XG4gICAgLy8gTGF1bmNoIGEgY29uY3VycmVudCBjb3JvdXRpbmUgdG8gY2hlY2sgaWYgdGhlIG1haW4gdGhyZWFkIGlzIGJsb2NrZWRcbiAgICBsYXVuY2gge1xuICAgICAgICBmb3IgKGsgaW4gMS4uMykge1xuICAgICAgICAgICAgcHJpbnRsbihcIkknbSBub3QgYmxvY2tlZCAka1wiKVxuICAgICAgICAgICAgZGVsYXkoMTAwKVxuICAgICAgICB9XG4gICAgfVxuICAgIC8vIENvbGxlY3QgdGhlIGZsb3dcbiAgICBzaW1wbGUoKS5jb2xsZWN0IHsgdmFsdWUgLT4gcHJpbnRsbih2YWx1ZSkgfVxuLy8gICAgIHByaW50bG4oXCJ0ZXN0XCIpIFxufVxuXG5mdW4gc2ltcGxlKCk6IEZsb3c8SW50PiA9IGZsb3cgeyAvLyBmbG93IGJ1aWxkZXJcbiAgICBmb3IgKGkgaW4gMS4uMykge1xuICAgICAgICBkZWxheSgxMDApIC8vIHByZXRlbmQgd2UgYXJlIGRvaW5nIHNvbWV0aGluZyB1c2VmdWwgaGVyZVxuICAgICAgICBlbWl0KGkpIC8vIGVtaXQgbmV4dCB2YWx1ZVxuICAgIH1cbn0ifQ==
- 0
- 1
- 342
Q&A
Transformations import ์๋จ
๋ํ๋์ ๋ฒ์ ์ด ์ฌ๋ผ๊ฐ๋ฉด์ ์ฌ์ฉ๋ฒ์ด ์ข ๋ ์ง๊ด์ ์ผ๋ก ๋ฐ๋๊ฒ ๋ง๋ ๊ฒ ๊ฐ๋ค์. ๊ณต์๋ฌธ์์ ์์ ์ ๋ฐ๋ผ ์ฌ์ฉํ์๋ฉด ๋ฉ๋๋ค.Transformations์ ์ฌ์ฉํ๋ฉด ์๋ก์ด ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด์ ์ฌ์ฉํ๊ฒ ๋๋๋ฐ, ์ด๋ ๊ฒ ํด์ผ ViewModel๊ณผ ๋ฐ์ดํฐ ๋ ์ด์ด์ ๊ฒฐํฉ๊ด๊ณ๊ฐ ์ฝํด์ ธ์ ์ฑ ๊ตฌ์กฐ๊ฐ ๊ฒฌ๊ณ ํด์ง๋๋ค.์๋ณธ ๋ฐ์ดํฐ ๊ฐ์ ๋ณํ์ ๊ฐํด์ ์ฌ์ฉํ๊ณ ์ถ์ ๊ฒฝ์ฐ์ Transformation์ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค. MainActivity ์์ myViewModel.liveCounter.value = myViewModel.liveCounter.value?.plus(1)๋ก ๊ฐ์ ์ฆ๊ฐ์ํจ ๊ฒ์ ์๋ณธ ๋ฐ์ดํฐ๋ฅผ ์์ ํ ๊ฒ์ด ๋ง์ต๋๋ค. ์ค์ ์ฑ์ผ๋ก ์๊ฐํ๋ฉด repository๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์์ ํ ๊ฒ์ธ๋ฐ, ์ด ์์์ ์์ ์์๋ ์์ง repository๊ฐ ์๊ฐ๋์ง ์์๊ธฐ ๋๋ฌธ์ ์ค๋ช ์ ๊ฐ๋ตํ๋ฅผ ์ํด viewmodel์์ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ์ต๋๋ค.
- 0
- 1
- 528
Q&A
moshi๊ด๋ จ ์ง๋ฌธ์ ๋๋ค.
ํ์ธํด ๋ดค๋๋ฐ codegen ๋ฒ์ ์ ์ ๊ทธ๋ ์ด๋ํ๋๋ ์ ์์ ์ผ๋ก ๋น๋๋ฉ๋๋ค :-)kapt("com.squareup.moshi:moshi-kotlin-codegen:1.15.0")
- 0
- 2
- 492
Q&A
searchBooks() ์์ ๋ถ ๊ฒ์ ์ ๋ ฅ์ ๋๋ฌด ๋นจ๋ฆฌ ํ ๊ฒฝ์ฐ ๋ง์ง๋ง ๊ธ์๋ก ๊ฒ์์ด ์๋ผ์.
Handler๋ ๋ฉ์ธ ์ค๋ ๋์์ ๋์ํ๋ฏ๋ก, ๋ง์ฝ ๊ฒ์ ๋์์ด ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ๋ ๊ฒฝ์ฐ UI๊ฐ ์๋ตํ์ง ์์ ์ ์์ต๋๋ค. ์ฐจ๋ผ๋ฆฌ ์ฝ๋ฃจํด์ผ๋ก searchJob์ ์ ์ํด์ ์์ ์ ์ ์ด ํด ๋ณด์ธ์.
- 0
- 1
- 318
Q&A
์๋๋ก์ด๋์์ ์ํคํ ์ฒ ํจํด
์ฐ์ MVC, MVP, MVVM์ ์๋๋ก์ด๋๊ฐ ๋์ค๊ธฐ๋ ์ ๋ถํฐ ์์๋ ๊ต์ฅํ ์ค๋๋ ๊ฐ๋ ์ด๋ผ๋ ๊ฒ์ ์์์ฃผ์๊ธฐ ๋ฐ๋๋๋ค. ๊ฐ์์์๋ ์ค๋ช ํ์ง๋ง MVC๋ 1970๋ ๋, MVP๋ 1990๋ ๋์ ๋์จ ์ํคํ ์ฒ์ด๋ฏ๋ก ์ด ์ํคํ ์ฒ์์ ๋งํ๋ View ํน์ ViewModel์ด๋ ์ด๋ค ๊ตฌ์กฐ๋ฅผ ์ค๋ช ํ๊ธฐ ์ํ ์๋์์ ๋ง๋ค์ด ๋ธ ๊ฐ๋ ์ด์ง, ๊ทธ๊ฒ์ด ์๋๋ก์ด๋์ View์ ViewModel์ ์ ํํ 1:1๋ก ๋์๋๋ ๋ฌด์ธ๊ฐ๊ฐ ์๋๋๋ค. ์๋๋ก์ด๋์ Activity๋ผ๋ ๊ฐ๋ ๋ถํฐ๊ฐ View์ Controller๋ฅผ ์์ ์ํ๋ก ๋ง๋ค์๋ ์๊ณ , ๋ ๋ฐ๋ก ๋ถ๋ฆฌํ์ฌ ๋ง๋ค ์๋ ์๋ ์ด์ค๊ฐํ ํด๋์ค์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ ๊ฐ์ ๋ง์ง๋ง์์ ์ธ๊ธํ๋ฏ์ด ์ํคํ ์ฒ์ ๊ฐ๋ ์ ๊ณผํ์ ์ผ๋ก ์ ์ฆ๋์ด ๋ถ๋ณ์ธ ๊ฐ๋ ์ด ์๋๋ฏ๋ก, ์ง๋จ์ ๋ฐ๋ผ ์๊ฐํ๋ ํํ๋ ๊ตฌ์กฐ๊ฐ ์กฐ๊ธ์ฉ ๋ค๋ฅผ ์ ์์ต๋๋ค. ์ ๊ฐ ๊ฐ์์์ ๋ณด์ฌ๋๋ฆฐ ๊ทธ๋ฆผ์ ์ธํฐ๋ท์์ ์ํคํ ์ฒ ๊ตฌ์กฐ๋ฅผ ๊ฒ์ํ๋ฉด ๋ํ์ ์ผ๋ก ์ฐพ์ ์ ์๋ ๊ทธ๋ฆผ์ผ๋ก ์ฌ๋ฌ ๋ธ๋ก๊ทธ๋ ๊ธฐ์ฌ์์ ์ด ๊ทธ๋ฆผ์ผ๋ก ์ํคํ ์ฒ ๊ตฌ์กฐ๋ฅผ ์ค๋ช ํ๊ณ ์์ต๋๋ค๋ง, [1]๋ฒ ์ง๋ฌธ์์ ํ์ ๊ฒ ์ฒ๋ผ ์ธํ์ ๋ทฐ๊ฐ ๋ฐ๋๋ค๊ณ ์๊ฐํ๋ ์ฌ๋๋ ์์ต๋๋ค. ์ํคํ ์ฒ ์์์ ํ์ดํ์ ๋ฐฉํฅ์ด ์ด๋ป๊ฒ ๋๋๋๋ ๊ฒ์ ์ด ์๊ธฐ์ ๋ณธ์ง์ด ์๋๋ฉฐ ์ ๋ต์ด๋ผ๋ ๊ฒ ์์ ๋ฟ๋๋ฌ ์ ๋ต์ด ๋ฌด์์ธ๊ฐ ํ๋ ๊ฒ ์ค์ํ ๊ฒ๋ ์๋๋๋ค. ์ค์ํ ๊ฒ์ ์ฝ๋์ ์ผ๊ด์ฑ์ ์ ์งํ๊ณ ์ ์ง๋ณด์์ฑ์ ๋์ด๊ธฐ ์ํ ๋ฐฉ๋ฒ์ ๋ํด ๊ณผ๊ฑฐ๋ก๋ถํฐ ์ฌ๋๋ค์ด ๊ณ์ ๊ณ ๋ฏผ์ ํด ์๊ณ ๊ทธ๊ฒ์ด ๋ชจ๋ธ์ ๊ฐ์ ํน์ ๋ณํ๋ผ๋ ํํ๋ก ์ด์ด์ ธ ์๋ค๋ ๊ฒ์ ์๋ ๊ฒ์ ๋๋ค. ๋ค๋ง 3๋ฒ์ผ๋ก ์ง๋ฌธํ์ ๊ฒ์ ๋๋ต์ ๋๋ฆฌ๋ฉด ์ ๊ฐ ๊ฐ์์์ ์ค๋ช ํ ๊ฒ์ฒ๋ผ MVC์์ ์ค๊ฐ์ ์ธํฐํ์ด์ค๋ฅผ ์ถ๊ฐํ ๊ฒ์ ์๋๋ ๊ด์ฌ์ฌ๋ฅผ ๋ถ๋ฆฌ(separation of concerns, SoC)ํ๋ ํจ๊ณผ๋ฅผ ์ป๋ ๊ฒ์ ๋๋ค. ๊ด์ฌ์ฌ๋ฅผ ๋ถ๋ฆฌํ๊ธฐ ์ํ ์ฌ๋ฌ๊ฐ์ง ์ค๊ณ์ ์์น์ ์ ๋ฆฌํ ๊ฒ์ด SOLID์ด๋ฉฐ, SOLID๋ฅผ ๊ตฌํํ๊ธฐ ์ํ ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ๋ฒ ์ค์ ํ๋๊ฐ ์์กด์ฑ ์ฃผ์ ์ด๋ผ๊ณ ์๊ฐํ์๋ฉด ๋ฉ๋๋ค. ์ด ๋ถ๋ถ์ ๋ํด์๋ ์น์ 10. Dependency Injection ๊ธฐ์ด ์์์ ์ฐธ๊ณ ํ์๊ธฐ ๋ฐ๋๋๋ค.
- 0
- 1
- 363
Q&A
RecyclerView.Adapter vs ListAdpater
ListAdapter๊ฐ ์ด๋ค ์ํฉ์์๋ Recyclerview.Adapter๋ณด๋ค ์ข์ ๊ฒ์ด ์๋๊ณ ์ํฉ์ ๋ง๊ฒ ์ฌ์ฉํ์๋ฉด ๋ฉ๋๋ค. ๋์ ์ผ๋ก ๋ณํ๊ฐ ๋ง์ ๋ฐ์ดํฐ๋ผ๋ฉด ListAdapter๊ฐ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํด ์ค ์ ์๊ฒ ์ง๋ง, ๊ณ ์ ๋ ๋ฐ์ดํฐ๋ฅผ ๊ณ์ ๋ณด์ฌ์ฃผ์ด์ผ ํ๋ ๊ฒฝ์ฐ ๊ตณ์ด ListAdapter๋ฅผ ์ธ ํ์๊ฐ ์๊ฒ ์ฃ .์ฌ์ค ListAdapter๋ Recyclerview.Adapter์์ DiffUtil์ ์ฐ๊ธฐ ํธํ๊ฒ ๋ง๋ ํ์ฅ์ ์ง๋์ง ์๊ธฐ ๋๋ฌธ์ ListAdapter๋ฅผ ์ด๋ค๊ณ ํด๋ ๋ด๋ถ์ ์ผ๋ก๋ ์ฌ์ค Recyclerview.Adapter๋ฅผ ์ฐ๊ณ ๊ณ์๋ ๊ฒ์ ๋๋ค.
- 0
- 1
- 425
Q&A
Flows ์ Coroutine
๋ง์ํ์ ๋๋ก ํ๋ฉด test๊ฐ ๋จผ์ ์ฐํ๊ฒ ๋ฉ๋๋ค. ๋ค์ ๋งํฌ์์ ํ์ธํด ๋ณด์ธ์ ๐ https://play.kotlinlang.org/#eyJ2ZXJzaW9uIjoiMS45LjEwIiwicGxhdGZvcm0iOiJqYXZhIiwiYXJncyI6IiIsIm5vbmVNYXJrZXJzIjp0cnVlLCJ0aGVtZSI6ImlkZWEiLCJjb2RlIjoiaW1wb3J0IGtvdGxpbnguY29yb3V0aW5lcy4qXG5pbXBvcnQga290bGlueC5jb3JvdXRpbmVzLmZsb3cuKlxuXG5cbmZ1biBtYWluKCkgPSBydW5CbG9ja2luZzxVbml0PiB7XG4gICAgLy8gTGF1bmNoIGEgY29uY3VycmVudCBjb3JvdXRpbmUgdG8gY2hlY2sgaWYgdGhlIG1haW4gdGhyZWFkIGlzIGJsb2NrZWRcbiAgICBsYXVuY2gge1xuICAgICAgICBmb3IgKGsgaW4gMS4uMykge1xuICAgICAgICAgICAgcHJpbnRsbihcIkknbSBub3QgYmxvY2tlZCAka1wiKVxuICAgICAgICAgICAgZGVsYXkoMTAwKVxuICAgICAgICB9XG4gICAgfVxuICAgIC8vIENvbGxlY3QgdGhlIGZsb3dcbi8vICAgICBzaW1wbGUoKS5jb2xsZWN0IHsgdmFsdWUgLT4gcHJpbnRsbih2YWx1ZSkgfVxuICAgIHByaW50bG4oXCJ0ZXN0XCIpIFxufVxuXG5mdW4gc2ltcGxlKCk6IEZsb3c8SW50PiA9IGZsb3cgeyAvLyBmbG93IGJ1aWxkZXJcbiAgICBmb3IgKGkgaW4gMS4uMykge1xuICAgICAgICBkZWxheSgxMDApIC8vIHByZXRlbmQgd2UgYXJlIGRvaW5nIHNvbWV0aGluZyB1c2VmdWwgaGVyZVxuICAgICAgICBlbWl0KGkpIC8vIGVtaXQgbmV4dCB2YWx1ZVxuICAgIH1cbn0ifQ==
- 1
- 1
- 519
Q&A
[BookSearchAdapter] onBindViewHolder์ currentList[position] ์ง๋ฌธ
getCurrentList๋ ํ์ฌ ํ์๋๊ณ ์๋ ๋ฐ์ดํฐ์ ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅํ ๋ณต์ฌ๋ณธ์ ๋ฐํํ๊ณ , getItem์ ํน์ ์์น์ ๊ฐ๋ณ ๋ฐ์ดํฐ ํญ๋ชฉ์ ์ป๋๋ฐ ์ฌ์ฉํฉ๋๋ค. ๋ฐ์ดํฐ๋ฅผ ์กฐ์ํ ๋ชฉ์ ์ด ์๋ UI ํ์์ ํ์ํ ๋ฐ์ดํฐ๋ getCurrentList๋ก ํ๋ํ๋ ๊ฒ์ด ์ ์ ํฉ๋๋ค.
- 0
- 1
- 323
Q&A
์ฝ๋ฃจํด ๋ฉ๋ชจ๋ฆฌ ๊ด๋ จํด์ ์ง๋ฌธ๋๋ฆฝ๋๋ค!
๋ค ๋ง์ต๋๋ค. ๋ค์ ํ ๋ก ๋ค๋ ์ฐธ๊ณ ํด ๋ณด์ธ์ :)https://stackoverflow.com/questions/43021816/difference-between-a-thread-and-a-coroutine-in-kotlin/43232925#43232925https://stackoverflow.com/questions/1934715/difference-between-a-coroutine-and-a-thread
- 0
- 1
- 397