
( ์ถ์ฒ : ์๋๋ก์ด๋ ์คํ๋์ค, Room์ผ๋ก ๋ฐ์ดํฐ ์ ์งํ๊ธฐ ) 1. Gradle์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ถ๊ฐ // Room implementation "androidx.room:room-runtime:$room_version" kapt "androidx.room:room-compiler:$room_version" implementation "androidx.room:room-ktx:$room_version" 2. Model Entity ๋ง๋ค๊ธฐ (์์) import androidx.room.ColumnInfo import androidx.room.Entity import androidx.room.PrimaryKey @Entity data class Item( @PrimaryKey(autoGenerate = tru..
Node JS์์ ๋ชจ๋์ ๋ง๋ค์ด์ฃผ๊ธฐ ์ํด์ npm i ์์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋๋ฐ, npm ERR! code 1 npm ERR! path D:\Project\sleact\back\node_modules\bcrypt npm ERR! command failed ์ด๋ฐ์์ผ๋ก ํน์ ํจํค์ง์์ ๊ณ์ ์๋ฌ๊ฐ ๋ฌ๋ค. ํ์ธํด๋ณด๋ bcrypt ๋ฅผ ์ฌ์ฉํ๋๋ฐ์ ์๋ฌ๊ฐ ๋๋ ๊ฒ! ' npm i -g windows-build-tools ' ์ด๋ ๊ฒ๋ ํด๋ดค๋๋ฐ ์ฌ์ ํ ์๋ฌ.. ํด๊ฒฐ npm install bcrypt ์์ ๊ฐ์ด bcrypt ๋ฅผ ์ธ์คํจํด์ฃผ๋ ๋ฐ๋ก ํด๊ฒฐ๋์๋ฐ...^^

1๋ ์ด์ ์ผ์์ผ๋ง๋ค ๊พธ์คํ ๋ชจ์ด๋ ๋๋จํ ์ฌ๋๋ค์ด ์๋ ๊ณณ...๐ฅณ ํ ์ด๋ธ ์๋ฆฌ๊ฐ ๋๊ณ ์ ์ฒด์ ์ผ๋ก ์กฐ์ฉํ ๋ถ์๊ธฐ๋ผ์ ์ง์์ ๊ณต๋ถ ์๋ ๋๋ ์ง์คํ ์ผ์ด ์์๋ ๊ฐ๋ฉด ์ ๋ง ์ข๋ค. ๋ฐ๋ก ์ ์๊ฐ๋์๋ค์ด ์ํ๊ธฐ๊ฐ์ ์ ์ฉํ๋ ๊ฒ ๊ฐ๋ค.. ์ฐ๋ฆฌ ๊ฒธ๋ฅ์ด ์ง๋์งฑ์ด ์ค ํ๋ธ๋ฐ์ง ํค์ฐ๊ธฐ ์ธํธ! ์๋IT์ผ์ ๊ฐ๋ค๊ฐ ๋ฐ์๋ค๋๋ฐ ์ ๋๋ ๋ชป๋ฐ์์ง....? ์๋ฌดํผ ์ ํค์์ ์๊ณ ์์คํ ํ๋ธ ํค์๋ผ๊ฒ ๐ฟ

๊น์ ์ฌ์ฉํ๋ฉด์ ๊ฐ์ฅ ๋ฎ์ ์ดํด๋์์ ๋ฌด์์ ์ผ๋ ๋ถ๋ถ์ ๊ผฝ์๋ฉด, ๊น ๋ธ๋์น ๋ถ๋ฆฌ! ๋๋ฒ์งธ ํ๋ก์ ํธ์์๋ ๊ธฐ์กด์ ์ฌ์ฉํ๋ SVN ์ด ์๋ Git-lap ์ ์ด์ฉํด ํ์์ ๊ด๋ฆฌํ๋ค๋ณด๋, ๋ธ๋์น๋ฅผ ์ ์ ํ๊ฒ ๊ณจ๋ผ์ ์ฌ์ฉํ๋๊ฒ์ด ์์ฃผ์~์ฃผ ์ด์ํ๋ค. ์ด ํฌ์คํ ์์๋ ์์ฒญ๋๊ฒ ์ฆ์ ์ค์ ๋์ ๋ฐฐ์ ๋ ๊น ๋ธ๋์น ์ ๋ต๊ณผ ํ๋ฆ์ ๋ํ ๋ถ๋ถ์ ๊ฐ๋จํ๊ฒ ์ ๋ฆฌํด๋ณด๊ณ ์ ํ๋ค. Git-Flow ๋? ๊ฐ๋ฐ ์ ๊ฐ์ฅ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ ๋ธ๋์น ์ ๋ต์ผ๋ก ํฌ๊ฒ 4๊ฐ์ง ์ข ๋ฅ์ ๋ธ๋์น๋ก ๊ฐ๋ฐ์ ํด๋๊ฐ๋ ์ ๋ต์ด๋ค. ์์ ๊ทธ๋ฆผ์ผ๋ก ์ถ์ธกํด๋ณด์๋ฉด, 1. Master(main) : ์ค๊ณง ๋ฐฐํฌ๋๊ณ ์๋ค. Release๋ฅผ ๋ณํฉํ๋ค. ์ด๋ฆ์ด ์ฃผ์ธ๊ณต์ด๋ค. 2. Develop : Main์ผ๋ก๋ถํฐ ์ถ๋ฐํ๊ณ , feature๋ฅผ ๋ถ๋ฆฌํ๋ค๊ฐ ๋ค์ ๋ณํฉ๋๋๊ฒ ๋ฐ๋ณต๋..

Activity 1) Activity ์๋ช ์ฃผ๊ธฐ ์ฝ๋ฐฑ - onCreate() : ์์ฑ์, ์์์ ์ ๋๋! ์ค๋น, ํ๋ฉด์ ์ด ๋ฉ์๋์์ ์งํํด์ค๋ค. - onStart() : ์์ ์ , onStop()์์ ๋ค์ ํค๋ฉด onStart() ๋จ๊ณ๋ก ๋์ด์จ๋ค. - onResume() : ์์ ์์ ์ง์ - Activity Running : ๋ฐํ์์ ์ํ, ์ค์ ๋ก ์๋์ค์ธ ์ํ. ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ๋ ๋จ๊ณ - onPause() : ์์ ๋ํ์์๊ฐ์๊ฒ ํ๋ฉด์ ๊ฐ๋ฆฌ๊ฑฐ๋ ์ ๊ท ํ๋ฉด์ด ๋ฑ์ฅํ๋ฉด? ์ผ์์ ์ง ์ํ - onStop() : ์ฌ์ฉํ๋ ์กํฐ๋นํฐ๊ฐ ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ๋์ด๊ฐ ์ํ -> onRestart()๋ก ๋์ด๊ฐ์ ๋ค์ ์์ํจ. - onDestroy() : ๋ ์ด์ ํด๋น ์กํฐ๋นํฐ๋ฅผ ์ฌ์ฉํ์ง ์๋ ์ํ. ์์ ๊ป์๋. ์ค๋ ์ ์ฐ๋ฉด ..

Intent : ์ ๋ณด์ ๋ฌ์ ์ํ ํฐ ์๋ฏธ์ ๋๊ตฌ. - ๊ฐ ์ปดํฌ๋ํธ ๊ฐ(Acitivity A -> Activity B) ์ ํต์ ์ ๋งก๊ณ ์์ - ํน์ ์ปดํฌ๋ํธ๋ฅผ ์คํํ๊ณ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๊ธฐ ์ํ "์๋" - Activity ์คํ, Service ์คํ, Broadcast ์ ๋ฌ์ ์ฌ์ฉ - ๋ช ์์ , ์์์ ์ฑ๊ฒฉ์ผ๋ก ๋๋จ. (๋ช ์์ : ์ด๋ฆ ์ง์ , ๋์ผํ ์ฑ ๋ด ๋ค๋ฅธ ์ปดํฌ๋ํธ ์คํ ์ ์ฌ์ฉ, ์์์ : ์ด๋ฆ ๋ช ์ X, manifest์ intent-filter์ ์์์ ์ปดํฌ๋ํธ๋ฅผ ๋ฑ๋กํจ, ์ํํ ์์ ๋ง ๋ช ์->๋ชจ๋ manifest ํ์ผ์ ๋ค์ง๊ณ intent-filter ์ฐพ์์ ์์์ ์ํํ๊ฒ ๋จ) //๋ช ์์ intent.getStringExtra(name : ๋ด๊ฐ์ง์ ํ์ด๋ฆ); //๊ธฐ์กด๋ฐ์ดํฐ๋ฐ์์ฌ๋ -> ๋ณดํต..

Git ? ๊น(Git) ์ ์ปดํจํฐ ํ์ผ์ ๋ณ๊ฒฝ์ฌํญ์ ์ถ์ ํ๊ณ ์ฌ๋ฌ ๋ช ์ ์ฌ์ฉ์๋ค ๊ฐ์ ํด๋น ํ์ผ๋ค์ ์์ ์ ์กฐ์จํ๊ธฐ ์ํ ๋ถ์ฐ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ด๋ค. ๋๋ ์ด๋ฌํ ๋ช ๋ น์ด๋ฅผ ๊ฐ๋ฆฌํจ๋ค. ์ํํธ์จ์ด ๊ฐ๋ฐ์์ ์์ค ์ฝ๋ ๊ด๋ฆฌ์ ์ฃผ๋ก ์ฌ์ฉ๋์ง๋ง ์ด๋ ํ ์งํฉ์ ํ์ผ์ ๋ณ๊ฒฝ์ฌํญ์ ์ง์์ ์ผ๋ก ์ถ์ ํ๊ธฐ ์ํด ์ฌ์ฉ๋ ์ ์๋ค. ๊ธฐํํ์ ๋ถ๋ณ ์ด๋ก ์ ๋ฐํ์ผ๋ก ์ค๊ณ๋๊ณ , ๋ถ์ฐ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ผ๋ก์ ๋น ๋ฅธ ์ํ ์๋์ ์ค์ ์ ๋๊ณ ์๋ ๊ฒ์ด ํน์ง์ด๋ฉฐ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ, ๋ถ์ฐ, ๋น์ ํ ์ํฌํ๋ก๋ฅผ ์ง์ํ๋ค. - Git, ์ํค๋ฐฑ๊ณผ 1. ๊ธฐ์ด ๋ช ๋ น์ด ํ๋ฉด ์ด๊ธฐํ : Ctrl + L ์ฒ์์ผ๋ก ๊ฐ๊ธฐ : Ctrl + A (์ํ์ธ๊ฐ?) ๋์ผ๋ก ๊ฐ๊ธฐ : Ctrl + E (End..?) ๋ชฉ๋ก ๋ณด๊ธฐ : ls ํ์ผ ๋ด์ฉ ๋ณด๊ธฐ : cat ํน์ ๋ฌธ์ ๊ฒ์..

Docker ? : ๋์ปค(Docker)๋ ๋ฆฌ๋ ์ค์ ์์ฉ ํ๋ก๊ทธ๋จ๋ค์ ํ๋ก์ธ์ค ๊ฒฉ๋ฆฌ ๊ธฐ์ ๋ค์ ์ฌ์ฉํด ์ปจํ ์ด๋๋ก ์คํํ๊ณ ๊ด๋ฆฌํ๋ ์คํ ์์ค ํ๋ก์ ํธ์ด๋ค. ๋์ปค ์น ํ์ด์ง์ ๊ธฐ๋ฅ์ ์ธ์ฉํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค:๋์ปค๋ ๋ฆฌ๋ ์ค์์ ์ด์ ์ฒด์ ์์ค ๊ฐ์ํ์ ์ถ์ํ ๋ฐ ์๋ํ ๊ณ์ธต์ ์ถ๊ฐ์ ์ผ๋ก ์ ๊ณตํ๋ค. [6] ๋์ปค๋ cgroups์ ์ปค๋ ์ด๋ฆ๊ณต๊ฐ๊ณผ ๊ฐ์ ๋ฆฌ๋ ์ค ์ปค๋์ ๊ธฐ๋ฅ๋ค๊ณผ OverayFS, aufs์ ๊ฐ์ ์ ๋์ธ ๊ฐ๋ฅ ํ์ผ ์์คํ ์ ๋ฆฌ์์ค ๊ฒฉ๋ฆฌ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉฐ, [7] ์ด๋ฅผ ํตํด ๋ ๋ฆฝ์ ์ธ "์ปจํ ์ด๋"๊ฐ ํ๋์ ๋ฆฌ๋ ์ค ์ธ์คํด์ค ์์์ ์คํํ ์ ์๊ฒ ํจ์ผ๋ก์จ ๊ฐ์ ๋จธ์ ์ ์์ํ์ฌ ์ ์ง ๋ณด์ํด์ผ ํ๋ ๋ถ๋ด์ ์์ ์ค๋ค. - ๋์ปค, ์ํค๋ฐฑ๊ณผ ์ฌ์ค ์ด ๊ธ๋ง ๋ด์๋ ํ ๋ฒ์ ์ ์ดํด๊ฐ ๋์ง ์๋๋ค. ์ง์ ์ฐ๊ด๋ ๋ฌด์ธ๊ฐ ํด๋ณธ ์ ..