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
Databinding์ ์ฌ์ฉ ํ๊ณ ์์ด! ๋ ์ด๋ค ๋ฐฉ์์ผ๋ก ์ฐ๋์ง ์๊ฒ ์ด. ๊ทผ๋ฐ ์๋ฒ์์ ๋ฐ์์จ ๋ฐ์ดํฐ๋ค์ ์ด๋ป๊ฒ ๊ฐ๊ณตํด์ ๋ฐ๋ก ์จ? ์๊ฐ์ด๋ ํ์ ๋ญ ํ๋ฌผ๋ฉฐ ์ฌ์ฉ์ ์ฑ๋ณ์ด๋ผ๋ ๊ฐ๊ณตํด์ ๋ณด์ฌ์ค์ผํ๋๊ฑฐ ์๋๊ฐ? ๊ทธ๋ผ ๋ ๋ค๋ฅธ ๊ณณ์์ ์ฃผ์
ํด์ค์ผํ๋๊ฑฐ ์๋์ผ? ๋ผ๊ณ ์๊ฐํ์ง๋ง… ์~์ฃผ ์ข์ ๊ธฐ๋ฅ์ด ์๋ค.(์ด๋ฌ๋ฉด ๋ท๋ง์ด ๊ถ๊ธํด์ ๋ฒ์ด๋๊ธฐ ํ๋ค๋ค ๐คฆโ๏ธ) 1. ์ผ๋จ ์ฌ์ฉํ Data class๋ฅผ ๋ง๋ ๋ค. data class Memo( // @SerializedName("id") object ์ค ํด๋น ๊ฐ์ด null ๊ฒฝ์ฐ // -> json ์ผ๋ก ๋ง๋ค ํ๋๋ฅผ ์๋ ์๋ต @SerializedName("id") @Expose val id: Int, โ @SerializedName("title") @Expose val me..
Development/Kotlin
์ฝํ๋ฆฐ์ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ค์ํ ๊ธฐ๋ฅ ๊ณผ ํธ๋ฆฌํ ๊ธฐ๋ฅ์ผ๋ก ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ์ฝ๊ฒ ์ ์ฉํ ์ ์๋๋ก ๋์์ค๋๋ค. ๊ทธ์ค์์๋ apply, with, let, also, run์ ๊ฐ์ ๋ฒ์ ์ง์ ํจ์๋ค์ด ์์ต๋๋ค. ๊ฐ ๊ธฐ๋ฅ๋ค์ด ์ผํ ๋ณด๋ฉด ๋น์ทํด์ ํท๊ฐ๋ฆด ์ ์๊ณ ์ฌ์ฉํ๋ฉด ๋ณด๋ค ๊น๋ํ๊ฒ ์ฝ๋๋ฅผ ๊ด๋ฆฌ ํ ์ ์์ต๋๋ค. ๋ฒ์ ์ง์ ํจ์ ๋ ํน์ ๊ฐ์ฒด์ ๋ํ ์์
์ ๋ธ๋ก ์์ ๋ฃ์ด ์คํํ ์ ์๋๋ก ํ๋ ํจ์์
๋๋ค. ๋ธ๋ก์ ํน์ ๊ฐ์ฒด์ ๋ํด ํ ์์
์ ๋ฒ์๊ฐ ๋๋ฉฐ, ๋ฐ๋ผ์ ๋ฒ์ ์ง์ ํจ์๋ผ ๋ถ๋ฅธ๋ค. ๋ค๋ฅธ ๋ง๋ก ์์ ๊ฐ์ฒด ์ง์ ๋๋ค(ํจ์) ๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค. → ์์ ๊ฐ์ฒด๋ฅผ ๋ช
์ํ์ง ์๊ฑฐ๋ it์ ํธ์ถํ๋ ๊ฒ๋ง์ผ๋ก ๋๋ค ์์์ ์์ ๊ฐ์ฒด์ ๋ฉ์๋๋ฅผ ํธ์ถํ ์ ์๋๋ก ํด์ฃผ๊ธฐ ๋๋ฌธ์ด๋ค. ์ด๊ฒ์ด ๊ฐ๋ฅํ ์ด์ ๋ ๋ธ๋ก(block) ..