Development/Android
์ด์ Coroutine ๊ธ์ ์ด์ด ์ถ๊ฐ์ ์ผ๋ก ๊ธ์ ์ฐ๋ คํ๋ค. ์๋๋ก์ด๋์์ ์ฝ๋ฃจํด / Coroutine ์จ๋ด
์๋ค - 0 ์ฝ๋ฃจํด์ด๋! ๋ป : ์ฝ๋ฃจํด(Coroutine)์ Co- Routine์ ํฉ์ฑ์ด์ธ๋ฐ Co(์ ๋ชฐ๋ผ์ ์๋ฌธ์ฌ์ ๋งํฌ๋ฅผ ๋ค๊ณ ์๋ค) - ํ๋, ํ๋ ฅ, ํจ๊ป co- 1. together; with: 2. abbreviation for company (= business): 3. written… dictionary.cambridg taekwon-seungwon.tistory.com ์ด๋ฒ์ ๋ฐฐ์ธ ์ - build.gradle ์ถ๊ฐ - CoroutineScope - Coroutine Dispatcher - Coroutine ์ํ๊ด๋ฆฌ - WithContext ๋์คํจ์ณ ๋ถ๋ฆฌ - Coroutine ๋น๋ ..
Development
์ด๋ฒ์ ๋ฐฐ์ธ ๊ฒ - SOLID๋ - ์์น๋ณ ์์ - ๊ฒฐ๋ก SOLID๋ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์์ ์ดํด๊ฐ ์ฌ์ด, ์ ์ฐํ, ์ ์ง๋ณด์ ๊ฐ๋ฅํ SW(Soft-Ware: ์ํํธ์จ์ด)๋ฅผ ๋ง๋ค๊ธฐ ์ํด ์๋ ๋์ด์ง ๋์์ธ ์์น์ด๋ค. SOLID ์์น์ ์๊ตฌํ ๊ธฐ๋ฅ์ด ๋ณ๊ฒฝ๋๊ฑฐ๋ ์ฐ๋ฆฌ๊ฐ ํ์ฌ ์กด์ฌํ๋ ํ๋ก๊ทธ๋จ์ ์ถ๊ฐ์ ์ธ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ณ ์ถ์ ๋, ์์คํ
์ ํฐ ๋ณ๊ฒฝ ์์ด, ์ง์ ๊ฐ๋ฅํ ์ฝ๋๋ฅผ ๋ง๋ค ์ ์๋๋ก ๋์์ค๋ค. SOLID๋ 5๊ฐ์ง ์์น์ ์ ์ผ ์ฒซ ๊ธ์๋ฅผ ๋ฐ์ ๋ง๋ค์๋ค. - S : Single Resposibility Priciple / ๋จ์ผ ์ฑ
์ ์์น - O : Open Closed Principle / ๊ฐ๋ฐฉ ํ์ ์์น - L : Liskov Substitution Principle / ๋ฆฌ์ค์ฝํ ์นํ ์์น - I : I..
Development/Android
์ด ๊ธ์์ ๋ฐฐ์ธ์ - ๋ค๋ฅธ DI์์ ์ฐจ์ด์ - Hilt์ ๊ดํ ์ ๋ฐ์ ์ธ ์ง์ - Hilt๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ - Hilt์์ ์์ฃผ ์ฌ์ฉํ๋ Annotation DI -> Dependency Inject ์์กด์ฑ ์ฃผ์
์ด๋ผ๊ณ ํ๋ค. ์ด์ ์ Koin์ ๊ดํ ๋ธ๋ก๊ทธ๋ฅผ ์์ฑ ํ์ ๋๋ ๊ณต๋ถ๋ฅผ ํ์์ง๋ง Hilt๋ฅผ ์ข ๋ ๋ง์ด ์์๋ณด๋ ค ๋ค์๊ธ ๊ธ์ ์ด๋ค. ์ด์ ์ ์ผ๋ Koin์ ๊ดํ ๋ธ๋ก๊ทธ ์์กด์ฑ ์ฃผ์
์ Koin๐ช ํ ๋ข์ - 1 ์์กด์ฑ ์ฃผ์
์ด๋ผ.. ๋๋ฌด๋๋ ์ต์ํ์ง ์์ ๋ฌธ์ฅ์ด๋ค. ๋จ์๊ฒ ์์กดํ์ง๋ง๊ณ ์ฃผ์ฒด์ ์ผ๋ก ์ด์ ๋ผ๋ ๋ง์ ์ฌ์ฉํ ๋๋ง ์ผ๋ ๋จ์ด๋ฅผ ๊ฐ๋ฐํ ๋ ์ฌ์ฉํ๋ ์ด์ํ๊ณ ๋จ๋ฒ์ ์ดํด๊ฐ ๋์ง ์๋๋ค. ์์กด taekwon-seungwon.tistory.com ์์กด์ฑ ์ฃผ์
์ Koin๐ช ๋ ๋ข์ - 2 ์ด๋ฒ์ ์ค์ ๋ก..
Development/Compose
๋์์ธ QA๋ฅผ ํ๋์ค ์์คํ
์ค์ ์์ ๊ธ์ ํฌ๊ธฐ๋ฅผ ๋ณ๊ฒฝํ์ ๋ ์์คํ
์ค์ ๊ฐ์ ๋ฐ๋ผ๊ฐ์ง ์๊ณ ๋ชจ๋ ๊ธฐ๊ธฐ ๋๊ฐ์ด ๋
ธ์ถํด๋ฌ๋ผ. Compose์์ Text์ fontSize๋ฅผ sp๋ก ์ง์ ํ๊ฒ ๋๋ฉด ์์คํ
์ค์ ์ ๋ฐ๋ผ๊ฐ๊ฒ ๋๊ณ dp๋ก ์ค์ ํด์ผ๋ง ์ ๋๊ฐ์ผ๋ก ์ ์ง๋๋ ๊ฒ์ ์์๋ค. ๊ทผ๋ฐ TextStyle๋ก ๋ชจ๋ ๊ณ ์ ์์ผ์ style์ ์ง์ ํด์ฃผ๊ณ ์๋ ๋ dp๋ก ์ค์ ํ๋ ค๊ณ ๋๋ฆฌ๋ฅผ ์น๋ค ๊ฒฐ๊ตญ ์๋์ ๊ฐ์ด ์ค์ ํ๊ฒ ๋๋ค. ์ด๋ฒ์ ๋ฐฐ์ด ๊ฒ! 1. Compose์์๋ fontSize๋ฅผ ์ ํ ๋ sp๋ฅผ ์ ์ธํด์ค์ผํ๋ค. 2. ๊ผญ dp๋ก fontSize๋ฅผ ์ ์ธํด์ค์ผ ํ๋ค๋ฉด, ์๋์ ๊ฐ์ด ์ ์ธ ํด์ฃผ๋ฉด ๋๋ค. (๋ฌด์กฐ๊ฑด Composable ์ด๋
ธํ
์ด์
์ ์ถ๊ฐํด์ค์ผ๋ง ๊ฐ๋ฅํ ํจ์์ด๋ค) 3. ํ์ง๋ง ๋์์ด๋์ ์ผํ๋ฉด์ textStyle ..
Development
๋ณธ๊ฒฉ์ ์ผ๋ก ๊ฐ๋ฐ ๋ธ๋ก๊ทธ๋ฅผ ์์ํ๋ ค๋๋ฐ ํญ์ ๋ณด๊ธฐ๋ง ํด์ค๋ ๊ฒ์ ๋ง๋ค์ด์ผํ๋ ์ฌ์ ์ด๋. ์ ํ๋ธ๋ฅผ ๋งค์ผ ๋ณด์ง๋ง ๊ทธ๊ฑธ ์ง์ ๋ด๊ฐ ๋ง๋ ๋ค๋ฉด? ์ด๋ผ๋ ๋ง์๊ณผ ๋น์ทํ๊ฒ ์ง์
์ฅ๋ฒฝ์ด ์๊ฐ๋ณด๋ค ๋๋ค. ์ฌ๋ฌ๊ฐ์ง ์ง์
์ฅ๋ฒฝ ํน์ ๊ฑฑ์ ์ ๋์ดํด๋ณด์๋ฉด - ์์ฆ ๋ง์ด ์ฐ๋ ๋ฐ๊ณผ ํจ๊ป ์ฌ๋ฐ๊ฒ ๋ง๋ค๊ณ ์ถ๋ค. - ์ด๋ณด์ฒ๋ผ ๋ณด์ด๊ณ ์ถ์ง ์๋ค. - ์ ๋๋ก ๋ ๊ธ์ ์ฐ์ง ์์ผ๋ฉด ์ฌ๋๋ค์ด ์ํ์ง ์์๊น? - ์ ์ด๋ค ์ฃผ์ ๋ก ๊ธ์ ์ฐ์ง? ๋ฑ๋ฑ... ์ง์ด์ด์ธ์ง ๊ณ ๋ฏผ์ ์๋ฐฑ๋ฒ ํ๊ณ ๊ธ์ ์ผ๋ค ์ง์ ๋ค๋ฅผ ๋ฐ๋ณตํ๋ฉฐ ์๊ฐ๊ฐ ๋๋ฉด ์ด๋ฐ ๋๋์ธ๊ฐ? ๋ผ๊ณ ์๊ฐ์ด ๋ค ์ ๋์๋ค. ์์ ๊ฑฑ์ ๋ค์ ํ๋์ฉ ํ์ด๋ณด์๋ฉด, - ์์ฆ ๋ง์ด ์ฐ๋ ๋ฐ๊ณผ ํจ๊ป ์ฌ๋ฐ๊ฒ ๋ง๋ค๊ณ ์ถ๋ค. ์ด๊ฑด ๋ญ ํด๋ณด๋ฉด ๋๋ค. ๊ทผ๋ฐ ์ฌ์ง์ ์ฐพ๊ธฐ๋ ํด์ผํ๊ณ ๊ณ์ํด์ ๋ฐ์ ์๊ณ ์๋ ์ฌ๋์ด๋ผ๋ฉด ์ฌ์ฉํด๋ณด๋ฉด..
Stream of thought
23๋
4์ 27์ผ ๋ชฉ์์ผ ๋ฐ๋ฏํ ํ์ด๊ณผ ์ฐจ๊ฐ์ด ๋ฐ๋์ด ๊ณต์กดํ๋ ์ค๋๋ง์ ๋๊ปด๋ณด๋ ๋ด์ ๊ณ์ ์ ๋ณด๋ด๊ณ ์๋ ๋ง 28์ธ์ ๋. 3์๋ง์ ์ฒซ ํ์ฌ์์ ๋์ ์ฃผ์ ํ ๋ฒ ๊ผด๋ก ์ง๊ธ๊น์ง ์ด 3๋ฒ ๋ฉด์ ์ ๋ดค๋๋ฐ ๋๊ตฐ๋ฐ์์ ๋ฉด์ ๋ง๋ฌด๋ฆฌ ์ฏค์ ์ด๋ฐ ์ง๋ฌธ์ ๋์ ธ์ฃผ์
จ๋ค. ๋ฉด์ ๊ด : "10๋
๋ค์ ๋ฉด์ ์๋์ ๋ชจ์ต์ ์ด๋ค ๋ชจ์ต์ผ ๊ฒ ๊ฐ์ผ์ธ์?" ๋ : (๊ทธ๋ฌ๊ฒ...) ์ด๋ ๊ฒ ์ง๋ฌธ ํด์ฃผ์
จ์ง๋ง ๋๋ "10๋
๋ค์ ์ด๋ค ์ฌ๋์ด ๋๊ณ ์ถ์ผ์ธ์?" ๋ผ๊ณ ๋ค๋ ธ๋ค. ๋ญ ๋ด๊ฐ ๋ค๋ฅด๊ฒ ํด์ํ์์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง ํ์คํ์ง ์์ ๋ฏธ๋, ๋งค์ผ ๋ณํ๋ ์ธ์๊ณผ ์ด๋ป๊ฒ ๋ ์ง ๋ชจ๋ฅด๋ ์ธ์์ธ๋ฐ 10๋
๋ค? 3650์ผ ๋ค๋ฅผ ์ด๋ป๊ฒ ์์ํ ๊น. ํ์ ๋ 1๋
, 5๋
, 10๋
, 20๋
๋ค ์๊ธฐ์ ๋ชจ์ต์ ์์ํด๋ณด์์. ๋ผ๊ณ ํ๊ธฐ ์ด ๋ ์ผ๋ ๊ธฐ์ต์ด ์๋ค. ๊ทธ ๋๋ง๋ค ..
์นดํ
๊ณ ๋ฆฌ ์์
์ฝ๋ฃจํด์ด๋! ๋ป : ์ฝ๋ฃจํด(Coroutine)์ Co- Routine์ ํฉ์ฑ์ด์ธ๋ฐ Co(์ ๋ชฐ๋ผ์ ์๋ฌธ์ฌ์ ๋งํฌ๋ฅผ ๋ค๊ณ ์๋ค) - ํ๋, ํ๋ ฅ, ํจ๊ป co- 1. together; with: 2. abbreviation for company (= business): 3. written… dictionary.cambridge.org Routine - ์ผ๊ณผ ํน์ ๋ฐ๋ณต์ ์ธ ์์
(์ฐ๋ฆฌ๊ฐ ํํ ์ฐ๋ ํจ์๋ก ์๊ฐํด๋ ๊ด์ฐฎ๋ค)์ด๋ ๋ป์ผ๋ก ๋ง๋ค์ด์ง ๋จ์ด๋ก, ์์ญํด "ํ๋ ๋ฃจํด", "ํ๋ ํจ์"๋ก ํํํ๊ธฐ๋ ํฉ๋๋ค. ์ด๋ ๊ฒ Coroutine์ ๋ป์ ๊ธฐ์ตํ๋๊ฒ ์ค๋ ๊ธฐ์ต์ด ๋จ์ ๊ฒ ๊ฐ๋ค. ํ๋ ๋ฃจํด, ์ฆ Coroutine์ ํ์ฉํด์ ๋ญ ํ๋ ๊ฒ์ด๋ ๋ผ๊ณ ํ๋ฉด RxJava๋ผ๋๊ฐ ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ผ๋๊ฐ ์๋ ๋์ค์ ์๋ฒํธ์ถ์ ๊ธฐ๋ค..
Taekwondo
์ญํ์ ๋๊ฐ์ฐจ๊ธฐ. ์ฝ๊ฒ ๋ถ๋ฌ ์ญํด 10๋
๋์ ์ฐฌ ๋ฐ์ฐจ๊ธฐ ๊ธฐ์ ์ด๋ค. ์ผ๋จ ์ญํด์ ์ค๋ช
ํ๋ ค๋ฉด ๋๊ฐ์ฐจ๊ธฐ(ํด์ฐจ๊ธฐ)๋ฅผ ์์์ผํ๋ค. ๋๊ฐ์ฐจ๊ธฐ๋ ์ค๋ฅธ๋ฐ์ ์ง๊ณ ์ผ์ชฝ์ผ๋ก ํ์ ํ์ฌ ์ ํ ํน์ ๋ฐ์ ๋ฐ๊พธ๋ฉฐ ๋๋ ค์ฐจ๊ธฐ๋ฅผ ์ฐจ๋ ๊ฒ์ ๋๊ฐ์ฐจ๊ธฐ๋ก ํํํ๋ค. ํ์ง๋ง ์ญํ์ ๋๊ฐ์ฐจ๊ธฐ๋ ํ์ ์ ๋ฐ๋๋ก ๋๋ค๊ณ ์ดํดํ๊ธฐ ์ฝ์ง๋ง ์ผ๋ฐ์ ์ง๊ณ ์ค๋ฅธ๋ฐ๋ก ๋๊ฐ์ฐจ๊ธฐ๋ฅผ ์ฐจ๋ ๊ฒ์ ๋งํ๋ค. ์ดํด๊ฐ ์ ๋ ์ ์์ผ๋ ์๋์ GIF๋ก ์ค๋ช
์ ํ๊ฒ ๋ค. ๋ณด๋ ๊ฒ๊ณผ ๊ฐ์ด ๊ต์ฅํ ์ญ๋์ ์ด๊ณ ๊ฐํ ํ๊ดด๋ ฅ์ ๊ฐ์ง ๋ฐ์ฐจ๊ธฐ์ด๋ค. ํด์ฐจ๊ธฐ์๋ ๋ค๋ฅด๊ฒ ๋ฌ๋ ค์ค๋ฉด์ ๋ฐ์ฐจ๊ธฐ๋ฅผ ์ฐจ๊ฒ ๋๋๋ฐ ์กฐ๊ธ ์๋ จ์ด ํ์ํ ๋ฐ์ฐจ๊ธฐ์ด๋ค. ๊ทธ๋์ ๋งจ ์ฒ์์ ์ ์๋ฆฌ์์ ์ฐ์ต์ ๊ถ์ฅํ๋ค. ์ด ๊ธ์ ํํ ๋ฆฌ์ผ ๊ด๋ จ ๊ธ์ด ์๋ ๋ฆฌ๋ทฐ ๋น์ค๋ฌด๋ฆฌํ ๊ธ์ด๋ผ ์์ธํ ๊ธฐ์ ์ค๋ช
์ด ์์ง๋ง ๋์ค์ ๊ผญ ๊ธ์ ์จ๋ณผ๊น ํ๋ค. ..
Development/Android
์๋๋ก์ด๋ ๊ฐ๋ฐ์ ํ๋ฉด์ ๊ฐ์ฅ ์ค์ํ ์ ์ ๊ทธ๋ฅ ๊ธฐ๋ฅ์ ์ ๋ถ์ด๋๊ฒ ์๋๋๊ฑธ ๋ง์ ๋ถ๋ค์ด ๊ณต๊ฐํ์ค๊ฑฐ๋ค. ํธ๋ํฐ๋ ์์ ์ปดํจํฐ์ด๊ธฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ ์ ํด์ผํ๊ณ ๊ณผ๋ถํ๊ฐ ์ค์ง ์๊ฒ, ์ฌ์ฉ์๊ฐ ๋งค๋๋ฝ๊ฒ ์ฌ์ฉํ ์ ์๊ฒ ๊ฐ๋ฐ์ ํ๋๊ฒ ๊ฐ๋ฐ์ ์ํ๋ค๊ณ ์๊ฐํ๋ค.(ํ์ฌ๊น์ง...) ์ฐ์ฐจ๊ฐ ์์ด๊ณ ๊ฒฌํด์ ์ง์์ด ์กฐ๊ธ์ฉ ๋์ด๊ฐ์๋ก ๋ ์ค์ํ๋ค๊ณ ์๊ฐํ๋ ๋ถ๋ถ๋ค์ด ๋ณํด๊ฐ๋ฉด์ ๊ณต๋ถํด์ผํ๋ ๊ฒ๋ค์ด ๋ง์์ง๋ค. ๋ฐฐ์์๋ ๋์ด ์๋ ๊ฒ ๊ฐ๋ค. ์ผ๋จ Thread๋ ๋ฌด์์ธ๊ฐ? ๐ ์ฌ์ ์ ์๋ฏธ - "ํ๋ก์ธ์ค ๋ด์์ ์คํ๋๋ ์ฌ๋ฌ ํ๋ฆ์ ๋จ์" - ํ๋ก์ธ์ค์ ํน์ ํ ์ํ ๊ฒฝ๋ก - ํ๋ก์ธ์ค๊ฐ ํ ๋น๋ฐ์ ์์์ ์ด์ฉํ๋ ์คํ์ ๋จ์ ๐ง๐ป๐ป ์ดํดํ๊ธฐ ์ฌ์ด ๋๋ง์ ์๋ฏธ - ๋ฐฅ์ ๋ง๋ค ๋ ๋ฐฅ์ฅ์ ์ทจ์ฌ๋ฒํผ์ ๋๋ฅด๊ณ ๋ฐฅ์ด ๋ค ๋ ๋๊น์ง ๊ตญ์ ๋์ธ๋ค..
Development/Kotlin
์์ฆ ์ฑ๋ค์ Listํ์์ผ๋ก ๋ฐ์ดํฐ๋ค์ ๋ณด์ฌ์ฃผ๊ณ ์๋ค. ์ธ์คํ, ์ ํ๋ธ, ํ์ด์ค๋ถ, ๋ฐฐ๋ฌ์ ๋ฏผ์กฑ ๋ฑ๋ฑ ์ ๊ทธ๋ฐ ์ฑ์ ์ฐพ๊ธฐ๊ฐ ํ๋ค๋ค. ๊ทธ๋ฌ๋ฉด Listํ์์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ค๊ณ ๊ทธ๋ฅ ๋ฟ๋ ค์ฃผ๋ฉด ์๊ด ์์ง๋ง ์น์ ํ์ง ์์ data๋ค์ด ๊ฐํน ์๋๋ฐ ์ด ๋ฐ์ดํฐ๋ค์ sortingํ๊ฑฐ๋ ์ ๊ฑฐ ํน์ ๋ณํฉํด์ผํ๋ ์ํฉ์ด ์๊ธด๋ค. ์๋ฅผ ๋ค์ด, ์ฌ๋ฌ ํ์๋ค์ด ์ฌ๋ ธ๋ ๊ฒ์๋ฌผ๋ค์ ํ์๋ณ๋ก ๋ฌถ์ด์ ๋ณด์ฌ์ค์ผํ๋ ์ํฉ์ด ์๋๋ฐ ์๋ฒ์์ ๊ทธ๋ฅ ๊ฒ์๊ธ๋ง ์ซ~ ๋ด๋ ค์ฃผ๊ณ ์ฑ์์ ํด์ฃผ์ธ์~ ํ๋ฉด ๋ณดํต for ๋ฌธ์ ๋๋ ค์ ํ์ ์์ด๋๋ ์ผ์นํ๋ฉด ๋ฆฌ์คํธ์ ๋ค์ ๋ด๊ณ ์ฐ๋ผ์ฐ๋ผ~ ์๋ฌดํผ! ๋ฆฌ์คํธ๋ฅผ ์ ๋ ฌ, ๊ด๋ฆฌํ๋๋ฐ ๊ต์ฅํ ๊ท์ฐฎ๋ค. ๊ทธ๋ฌ๋ฉด ๋์์ด ๋ญ๊ฐ ์๋? → Kotlin์ Collections ํจ์๋ฅผ ์ธ ๊ฒ์ด๋ค. ๊ทธ๊ฒ ๋ญ๋ฐ? → Collections์..