๐ํ๋ก์ ํธ ๋ด์ฉ ๋ฉ์์ด์ฌ์์ฒ๋ผ ๋์๋ฆฌ์์ ํด์ปคํค์ ์ค๋นํ๊ธฐ ์ํด NCP๋ฅผ ์ฌ์ฉํ๊ฒ ๋์๋ค! ์ฐ๋ฆฌ ํ์ ์ด๋ฒ ํด์ปคํค ์ฃผ์ ๊ฐ '๋์งํธ ๊ฒฉ์ฐจ๋ฅผ ์ค์ด๊ธฐ ์ํ ์๋น์ค' ์๊ธฐ ๋๋ฌธ์ ์ฌ๋ฌ๊ฐ์ง ๊ณ ๋ฏผํด๋ณด๋ค๊ฐ ํ์ด์(tire, so)๋ผ๋ ์๋น์ค๋ฅผ ๋ง๋ค์ด๋ณด๊ธฐ๋ก ํ์๋ค! :) ๊ธฐํ 1๋ช
, ํ๋ก ํธ 3๋ช
, ๋ฐฑ 2๋ช
์ผ๋ก ๊ตฌ์ฑ๋ ์ฐ๋ฆฌ ํ์์ ๋๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์ ๋งก์๋ค! ๊ทธ ๊ณผ์ ์์ NCP์ ์์ฃผ ๋ค์ํ๊ณ ์ ๊ธฐํ ๊ธฐ๋ฅ๋ค์ ๋ง์ด ์ ํด๋ณผ ์ ์์๋ค! ์ด๋ค ์๋น์ค๋ค์ ์ฌ์ฉํ๋์ง ์๊ฐํ๊ธฐ ์์ ์ฐ๋ฆฌ ํ๋ก์ ํธ ์ด์ง ๋ง๋ณด๊ธฐ ํด๋๋ ค์ผ๊ฒ ๋ค ใ
ใ
๐๋ด๊ฐ ์ฌ์ฉํ ์๋น์ค๋ค! VPC ๊ฐ์ ์ฌ์ค ํด๋ผ์ฐ๋ ๋
๋ฆฝ๋ ๋คํธ์ํฌ ํ๊ฒฝ์ ๊ตฌ์ถํ๊ณ ๊ด๋ฆฌ ํ ์ ์๋ค! Server ๊ฐ์ ๋จธ์ (VM) ํํ๋ก ์ ๊ณต๋๋ค!! Object Sotrage ํ์ผ, ์ด๋ฏธ์ง, ๋น๋์ค ..
STUDY ๐
์ด๊ณตํ๊ธฐ!Integer.parseInt() // ๋ฌธ์์ด -> ์ ์ String.valueOf() // ์ ์ -> ๋ฌธ์์ด // ๋ฌธ์์ด ๋ฐฐ์ด = ๋์๋ฌธ์์ด.split("๊ธฐ์ค๋ฌธ์"); String str = "abc" String[] arr = str.split("") // -> ๋ฌธ์์ด ํ๋์ฉ ๋ฐฐ์ด์ ๋ด๊ธฐ arr[0] = a, arr[1] = b, arr[2] = c String str = "abc-def" int index = str.indexOf("-") // ์ธ๋ฑ์ค ๊ฐ ("-"์ ์์น) = 3 String str = "abcdef" String ans1 = str.substring(0, 3); // -> "abc" 0๋ฒ์งธ ๋ถํฐ 2๋ฒ์งธ ๊น์ง๋ง ์ถ๋ ฅ String ans2 = str.substring(3); // ->..
์ฌ์ ์ง์ ์๊ณ ๊ตฌ์ญ(Critical section) : ๋ค์์ ํ๋ก์ธ์ค๊ฐ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๋ฉฐ ์คํ๋๋ ์ํฉ์์ ๊ฐ ํ๋ก์ธ์ค๊ฐ ๊ณต์ ์์์ ์ ๊ทผํ๋ ์ฝ๋ ๋ธ๋ก์ ์๋ฏธ ๋ค์์ ํ๋ก์ธ์ค๊ฐ ๋์์ ๊ณต์ ์์์ ์ ๊ทผํ์ฌ ์ฌ์ฉํ๋ฉด ๋ฌธ์ ๊ฐ ์๊ธฐ๊ฒ ๋จ ์ฆ, ์ฌ๋ฌ ํ๋ก์ธ์ค๊ฐ ๋์ผ ์์์ ๋์์ ์ฐธ์กฐํ์ฌ ๊ฐ(๊ณต์ ํ๋ ๋ณ์๋ช
, ํ์ผ ๋ฑ)์ด ์ค์ผ๋ ์ํ ๊ฐ๋ฅ์ฑ์ด ์๋ ์์ญ ํ๋ก๊ทธ๋๋ฐ ์, ์ฑ๋ฅ ํฅ์์ ์ํด ์๊ณ์์ญ์ ์ต์ํํ๋ ์ค๊ณ๋ฅผ ํด์ผ ํจ ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ฐ์ดํฐ๋ฅผ ํ ๋ฒ์ ํ๋์ ํ๋ก์ธ์ค๋ง ์ ๊ทผํ ์ ์๋๋ก ์ ํ์ ๋๋ ๋๊ธฐํ ๋ฐฉ์์ ์ทจํด์ผ ํจ ๋๊ธฐํ ๋๊ตฌ์๋ ๋ํ์ ์ผ๋ก ๋ฎคํ
์ค(Mutex)์ ์ธ๋งํฌ์ด(Semaphore)๊ฐ ์์ ์ด๋ค์ ๋ชจ๋ ๊ณต์ ๋ ์์์ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ์ค๋ ๋/ํ๋ก์ธ์ค๊ฐ ์ ๊ทผํ๋ ๊ฒ์ ๋ง๋ ์ญํ ์ ํจ ๋ฎค..
CPU ์ค์ผ์ค๋ง์ด๋? ํ๋ก์ธ์ค๋ ์์ฑ๋ ํ ์ฌ๋ฌ ์ํ๋ฅผ ๊ฑฐ์นจ (์์ฑ, ์ค๋น, ์คํ, ์๋ฃ, ๋๊ธฐ ์ํ) ์ด๋, ์ด์์ฒด์ ์ CPU ์ค์ผ์ค๋ฌ๋ ์ค๋น ์ํ์ ํ๋ก์ธ์ค ์ค์์ ์ด๋ค ํ๋ก์ธ์ค์๊ฒ CPU๋ฅผ ํ ๋นํ ์ง ๊ฒฐ์ ํด์ผํจ! ์ด ๊ณผ์ ์ CPU ์ค์ผ์ค๋ง์ด๋ผ ํจ โก๏ธ CPU ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ๋ฐ๋ผ์ ํ๋ก์ธ์ค์์ ํด์ผ ํ๋ ์ผ์ ์ค๋ ๋ ๋จ์๋ก CPU์ ํ ๋น CPU ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ๋ชฉํ : CPU ์ด์ฉ๋ฅ ์ ๋๊ฒ, ์ฃผ์ด์ง ์๊ฐ์ ๋ง์ ์ผ์ ํ๊ฒ, ์ค๋น ํ์ ์๋ ํ๋ก์ธ์ค๋ ์ ๊ฒ, ์๋ต์๊ฐ์ ์งง๊ฒ ์ค์ ํ๋ ๊ฒ CPU ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ์ข
๋ฅ CPU ์ค์ผ์ค๋ฌ๋ ์ธ์ ์ค์ผ์ค๋ง์ ๊ฒฐ์ ํ ๊น? 1) ์คํ์ํ์์ ๋๊ธฐ์ํ๋ก ์ ํ๋ ๋ 2) ์คํ์ํ์์ ์ค๋น์ํ๋ก ์ ํ๋ ๋ 3) ๋๊ธฐ์ํ์์ ์ค๋น์ํ๋ก ์ ํ๋ ๋ 4) ์ข
๋ฃ๋ ๋ ..
MVC ํจํด : ๋ชจ๋ธ(Model), ๋ทฐ(view), ์ปจํธ๋กค๋ฌ(Controller)๋ก ์ด๋ฃจ์ด์ง ๋์์ธ ํจํด → ์ ํ๋ฆฌ์ผ์ด์
์ ๊ตฌ์ฑ ์์๋ฅผ ์ธ ๊ฐ์ง ์ญํ ๋ก ๊ตฌ๋ถํ์ฌ ๊ฐ๋ฐ ํ๋ก์ธ์ค์์ ๊ฐ๊ฐ์ ๊ตฌ์ฑ ์์์๋ง ์ง์คํด์ ๊ฐ๋ฐํ ์ ์์ ์ฅ์ : ์ฌ์ฌ์ฉ์ฑ๊ณผ ํ์ ์ฑ์ด ์ฉ์ดํจ ๋จ์ : ์ ํ๋ฆฌ์ผ์ด์
์ด ๋ณต์กํด์ง์๋ก ๋ชจ๋ธ๊ณผ ๋ทฐ์ ๊ด๊ณ๋ ๋ณต์กํด์ง ๋ชจ๋ธ : ์ ํ๋ฆฌ์ผ์ด์
์ ๋ฐ์ดํฐ์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค, ์์, ๋ณ์ ๋ฑ์ ๋ปํจ ๐ก ex) ์ฌ๊ฐํ ๋ชจ์์ ๋ฐ์ค ์์ ๊ธ์๊ฐ ๋ค์ด ์๋ค๋ฉด ๊ทธ ์ฌ๊ฐํ ๋ชจ์์ ๋ฐ์ค ์์น ์ ๋ณด, ๊ธ์ ๋ด์ฉ, ๊ธ์ ์์น, ๊ธ์ ํฌ๋งท์ ๊ดํ ์ ๋ณด๋ฅผ ๋ชจ๋ ๊ฐ์ง๊ณ ์์ด์ผ ํจ. → ๋ทฐ์์ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๊ฑฐ๋ ์์ ํ๋ฉด ์ปจํธ๋กค๋ฌ๋ฅผ ํตํด ๋ชจ๋ธ์ ์์ฑํ๊ฑฐ๋ ๊ฐฑ์ ํจ ๋ทฐ : ๋ชจ๋ธ์ ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ฉ์๊ฐ ๋ณผ ์ ์๋ ํ๋ฉด(UI)์ ๋ปํจ → inp..
SOLID ๋? → ๊ฐ์ฒด์งํฅ ์ค๊ณ ์ ์ง์ผ์ผ ํ๋ ์ค๊ณ ์์น 5๊ฐ์ง๋ฅผ ์ค์ฌ์ ๋ถ๋ฆ ์๊ฐ์ด ์ง๋๋ ์ ์ง๋ณด์์ ํ์ฅ์ด ์ฉ์ดํ ์์คํ
์ ๋ง๋ค๊ณ ์ ํ ๋ ์ ์ฉํ๋ ์์น ์ฅ์ : ์ ์ฐ์ฑ, ์ฌ์ฌ์ฉ์ฑ, ์ ์ง๋ณด์์ฑ์ด ๋์์ง 1) ๋จ์ผ ์ฑ
์ ์์น SRP : ํ ํด๋์ค๋ ํ๋์ ์ฑ
์๋ง ๊ฐ์ ธ์ผ ํ๊ณ ํด๋์ค๋ฅผ ๋ณ๊ฒฝํ๋ ์ด์ ๋ ๋จ ํ๋์ฌ์ผ ํ๋ค. ์งํค์ง ์์ ์, ํ ์ฑ
์์ ๋ณ๊ฒฝ์ ์ํด์ ๋ค๋ฅธ ์ฑ
์๊ณผ ๊ด๋ จ๋ ์ฝ๋์ ์ํฅ์ ๋ฏธ์น ์ ์์ ์ ์ง๋ณด์๊ฐ ๋งค์ฐ ๋นํจ์จ์ ์ด๊ฒ ๋จ ์ฑ
์ = ๊ธฐ๋ฅ ํ ํด๋์ค๊ฐ ์ํํ ์ ์๋ ๊ธฐ๋ฅ์ด ์ฌ๋ฌ ๊ฐ๋ผ๋ฉด, ํด๋์ค ๋ด๋ถ์ ํจ์์์ ๊ฒฐํฉ๋๊ฐ ๋์์ง ์์ง๋๋ ๋๊ณ ๊ฒฐํฉ๋๋ ๋ฎ์ ํ๋ก๊ทธ๋จ์ ์ค๊ณํ๋ ๊ฒ์ด ๊ฐ์ฒด์งํฅ ์ค๊ณ์ ํต์ฌ ์ฑ
์์ ์๊ฒ ์ชผ๊ฐ์ด ๋ถ๋ฆฌ์ํฌ ํ์๊ฐ ์์ ex) A ๋ผ๋ ๋ฉ์๋๊ฐ ์๊ณ , A ๋ฉ์๋๋ ..
๐ก ๋์์ธ ํจํด์ด๋?: ํ๋ก๊ทธ๋จ ์ค๊ณํ ๋ ๋ฐ์ํ๋ ๋ฌธ์ ์ ๋ค์ ๊ฐ์ฒด ๊ฐ์ ์ํธ ๊ด๊ณ ๋ฑ์ ์ด์ฉํ์ฌ ํด๊ฒฐํ ์ ์๋๋ก ํ๋์ ๊ท์ฝ ํํ๋ก ๋ง๋ค์ด ๋์ ๊ฒ์ ์๋ฏธํ๋ค! ์ฑ๊ธํค ํจํด : ํ๋์ ํด๋์ค์ ์ค์ง ํ๋์ ์ธ์คํด์ค๋ง ๊ฐ์ง๋ ํจํด์ด๋ค. ํ๋์ ํด๋์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋ฌ ๊ฐ์ ๊ฐ๋ณ์ ์ธ ์ธ์คํด์ค๋ฅผ ๋ง๋ค ์ ์์ง๋ง, ๊ทธ๋ ๊ฒ ํ์ง ์๊ณ ํ๋์ ํด๋์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋จ ํ๋์ ์ธ์คํด์ค๋ฅผ ๋ง๋ค์ด ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ก์ง์ ๋ง๋๋ ๋ฐ ์ฐ์ด๋ฉฐ, ๋ณดํต ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ ๋ชจ๋์ ๋ง์ด ์ฌ์ฉ๋๋ค! ์ฅ์ ํ๋์ ์ธ์คํด์ค๋ฅผ ๋ง๋ค์ด ๋๊ณ ํด๋น ์ธ์คํด์ค๋ฅผ ๋ค๋ฅธ ๋ชจ๋๋ค์ด ๊ณต์ ํ๋ฉฐ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์์ฑํ ๋ ๋น์ฉ์ด ์ ๊ฒ ์ฆ ๋จ์ ๋ชจ๋ ๊ฐ ๊ฒฐํฉ์ ๊ฐํ๊ฒ ๋ง๋ค๊ธฐ ๋๋ฌธ์ ์์กด์ฑ(์ข
์์ฑ)์ด ๋์์ง TDD๋ฅผ ํ ๋ ๊ฑธ๋ฆผ๋์ด ๋จ ๋จ์ ํ
์คํธ๋ ํ
์คํธ๊ฐ ์๋ก..