์ฌ์ ์ง์ ์๊ณ ๊ตฌ์ญ(Critical section) : ๋ค์์ ํ๋ก์ธ์ค๊ฐ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๋ฉฐ ์คํ๋๋ ์ํฉ์์ ๊ฐ ํ๋ก์ธ์ค๊ฐ ๊ณต์ ์์์ ์ ๊ทผํ๋ ์ฝ๋ ๋ธ๋ก์ ์๋ฏธ ๋ค์์ ํ๋ก์ธ์ค๊ฐ ๋์์ ๊ณต์ ์์์ ์ ๊ทผํ์ฌ ์ฌ์ฉํ๋ฉด ๋ฌธ์ ๊ฐ ์๊ธฐ๊ฒ ๋จ ์ฆ, ์ฌ๋ฌ ํ๋ก์ธ์ค๊ฐ ๋์ผ ์์์ ๋์์ ์ฐธ์กฐํ์ฌ ๊ฐ(๊ณต์ ํ๋ ๋ณ์๋ช
, ํ์ผ ๋ฑ)์ด ์ค์ผ๋ ์ํ ๊ฐ๋ฅ์ฑ์ด ์๋ ์์ญ ํ๋ก๊ทธ๋๋ฐ ์, ์ฑ๋ฅ ํฅ์์ ์ํด ์๊ณ์์ญ์ ์ต์ํํ๋ ์ค๊ณ๋ฅผ ํด์ผ ํจ ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ฐ์ดํฐ๋ฅผ ํ ๋ฒ์ ํ๋์ ํ๋ก์ธ์ค๋ง ์ ๊ทผํ ์ ์๋๋ก ์ ํ์ ๋๋ ๋๊ธฐํ ๋ฐฉ์์ ์ทจํด์ผ ํจ ๋๊ธฐํ ๋๊ตฌ์๋ ๋ํ์ ์ผ๋ก ๋ฎคํ
์ค(Mutex)์ ์ธ๋งํฌ์ด(Semaphore)๊ฐ ์์ ์ด๋ค์ ๋ชจ๋ ๊ณต์ ๋ ์์์ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ์ค๋ ๋/ํ๋ก์ธ์ค๊ฐ ์ ๊ทผํ๋ ๊ฒ์ ๋ง๋ ์ญํ ์ ํจ ๋ฎค..
STUDY ๐/CS
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๋ฅผ ํ ๋ ๊ฑธ๋ฆผ๋์ด ๋จ ๋จ์ ํ
์คํธ๋ ํ
์คํธ๊ฐ ์๋ก..
์ฟ ํค : ํด๋ผ์ด์ธํธ ๋ก์ปฌ์ ์ ์ฅ๋๋Key-Value์์ ์์ ๋ฐ์ดํฐ ํ์ผ ํด๋ผ์ด์ธํธ์ ์๋ฒ์์ ๊ฐ์ ์์ฑ/์์ /์ญ์ ํ ์ ์๋ค. ํด๋ผ์ด์ธํธ์์ ๊ฐ์ ์กฐ์ํ ์ ์๊ธฐ ๋๋ฌธ์, ๋ณด์์ ์ทจ์ฝํ๋ค. ๊ฐ ๋ธ๋ผ์ฐ์ ๋ณ๋ก ์ ์งํด์ผํ๋ ๋ณ๋ก ์ค์ํ์ง ์์ ์ ๋ณด๋ ์ฟ ํค์ ์ ์ฅํด๋ ๋๋ค. JSESSIONID ๋ ์ค์ํ ์ ๋ณด์ด์ง๋ง ๊ตฌ์กฐ์ ์ด์ฉ ์ ์์ด ์ฟ ํค์ ์ ์ฅ๋์ด์ผ ํ๋ค. JSESSIONID ๋ ํด๋ผ์ด์ธํธ(๋ธ๋ผ์ฐ์ )๊ฐ ์กฐ์์ ํ๋๋ผ๋ ๋ณธ์ธ๋ง ์ํด์ด๊ธฐ ๋๋ฌธ์, ๋ณดํต์ ์กฐ์์ ํ์ง ์๋๋ค. ์ธ์
: ๋ธ๋ผ์ฐ์ ๊ฐ ์ข
๋ฃ๋๊ธฐ ์ ๊น์ง ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ์ ์งํ๊ฒ ํด์ฃผ๋ ๊ธฐ์ ์๋ฒ์์๋ง ๊ฐ์ ์์ฑ/์์ /์ญ์ ํ ์ ์๋ค. ํด๋ผ์ด์ธํธ์์ ๊ฐ์ ์กฐ์ํ ์ ์๊ธฐ ๋๋ฌธ์, ๋ณด์์ฑ์ด ์ข๋ค. ๊ฐ ๋ธ๋ผ์ฐ์ ๋ณ๋ก ์ ์งํด์ผํ๋ ์ค์ํ ์ ๋ณด๋ ์ธ์
์ ์ ..
๋ชจ๋ํ : ์ํํธ์จ์ด๋ฅผ ๊ฐ ๊ธฐ๋ฅ๋ณ๋ก ๋๋ ๊ฒ ๋ชฉ์ ์ ๋ง๋ ๊ธฐ๋ฅ๋ค๋ก ๋ชจ๋ํํ์ฌ ๋๋๋ ๊ฒ์ด ์ข์ ๋ชจ๋ํ! ๋ชจ๋ : ๋ชจ๋ํ๋ก ๋๋ ์ง ๊ฐ๊ฐ์ ๊ธฐ๋ฅ์ ๊ฐ์ง ๊ฒ ๋ชจ๋์ ๊ธฐ๋ฅ์ ๋
๋ฆฝ์ ์ผ๋ก ์ํ๋์ด์ผ ํ๊ณ , ๋ค๋ฅธ ๋ชจ๋๊ณผ๋ ์ฐ๊ด๋๊ฐ ์ ์ด์ผ์ง ์ข์ ๊ฒ ์์ง๋๋ ๋๊ฒ, ๊ฒฐํฉ๋๋ ๋ฎ๊ฒ ๊ฒฐํฉ๋ : ์๋ก ๋ค๋ฅธ ๋ชจ๋ ๊ฐ์ ์ฐ๊ด๋ ๊ด๊ณ, ๊ฐ๋จํ ์ผ๋ง ์ฃผ๊ณ ๋ฐ๊ธฐ Java์์๋ class ๊ฐ์ ๊ฒฐํฉ๋๊ฐ ๋๋ค = ์ฐ๊ด๋๊ฐ ๋๋ค ๋ก ํ๋จ. ํด๋น class๋ฅผ ๋ณ๊ฒฝํ๋ฉด ์ฐ๊ด๋ class๋ ๋ณ๊ฒฝํ๊ธฐ. ๋ณ๊ฒฝํ์ง ์์ผ๋ฉด ๋ค๋ฅธ class์์๋ ์ฌ์ฌ์ฉํ๊ธฐ ํ๋ฌ ์์ง๋ : ํ ๋ชจ๋ ๋ด๋ถ ์ ์ฒ๋ฆฌ ์์๋ค ๊ฐ์ ๊ด๊ณ, ์์ง๋๊ฐ ๋ฎ์ผ๋ฉด ์ฌ์ฌ์ฉ๊ณผ ์ดํด๊ฐ ํ๋ฌ