์ธํฐ๋ท์ ํต์ ๊ณ์ธต์ ๋ํ๋ด๋ TCP/IP 5๊ณ์ธต ๋ชจ๋ธ์์ ๋คํธ์ํฌ ๊ณ์ธต๊น์ง๋ง ํด๋ ์ธํฐ๋ท์์ ๋ชจ๋ ์ปดํจํฐ๊ฐ ์๋ก ํต์ ํ ์ ์๊ฒ ๋๋ค. ๊ทธ๋ฐ๋ฐ ํจํท์ ๋ฐ์ ๋์์ด ์๊ฑฐ๋ ๋ถ๋ฅ ์ํ์ธ ๊ฒฝ์ฐ, ํน์ ์ค๊ฐ์ ํจํท์ด ์์ค๋๊ฑฐ๋ ์์๋๋ก ์ค์ง ์๋๋ค๋ฉด ํต์ ์ด ์ํํ๊ฒ ์ด๋ฃจ์ด์ง ์ ์๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฌด์ฌํ ๋ชฉ์ ์ง ์ปดํจํฐ์ ๋์ฐฉํ๋๋ผ๋ ๊ฐ์ IP ์ฃผ์๋ฅผ ์ฌ์ฉํ๋ ์๋ฒ์์ ํต์ ํ๋ ์ ํ๋ฆฌ์ผ์ด์
์ด ๋ ์ด์์ด๋ผ๋ฉด ์ด๋ค ํ๋ก์ธ์ค์ ๋ฐ์ดํฐ๊ฐ ๊ฐ์ผํ ์ง ์ ์ ์๋ค. TCP/IP์ ์ ์ก ๊ณ์ธต์์ TCP/UDP ํ๋กํ ์ฝ์ ํตํด ์ด๋ฌํ ๋คํธ์ํฌ ๊ณ์ธต์ ํ๊ณ๋ฅผ ๊ทน๋ณตํ ์ ์๋ค. TCP ํ๋กํ ์ฝ์ ๋ฐ์ดํฐ์ ๋์ฐฉ ๋ณด์ฆ ๋ฐ ์์ ๋ณด์ฅ์ผ๋ก ์ ๋ขฐ์ฑ์ ์ ๊ณตํ๋ค. ๋ํ TCP/UDP ํจํท์ ์ถ๋ฐ์ง, ๋ชฉ์ ์ง PORT ๋ฒํธ๋ฅผ ํฌํจํ์ฌ ์ต์ข
๋์ฐฉ์ง ํ๋ก..
๐ฑ CS
๊ฐ์ ๋ฉ๋ชจ๋ฆฌ (virtual memory) ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋๋ ํ๋ก์ธ์ค๊ฐ ๊ฐ์์ ๊ณต๊ฐ์ ์ฐธ์กฐํ์ฌ ๋ง์น ์ปค๋ค๋ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ฐ๊ณ ์๋ ๊ฒ์ฒ๋ผ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ ๊ฒ์ด๋ค. ์ฆ, ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ค์ ๋ฉ๋ชจ๋ฆฌ๋ณด๋ค ๋ง์๋ณด์ด๊ฒ ํ๋ ๊ธฐ์ ! ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ ๋ถ์ฐ์ ํ ๋น ๋ฐฉ์์ ํตํด ๊ด๋ฆฌ๋์ด, ์ฐ์ ํ ๋น ๋ฐฉ์์์ ๋ฐ์ํ๋ ๋จํธํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์์๋ค. ๋ถ์ฐ์ ํ ๋น ๋ฐฉ์์ ๋ํ์ ์ธ ์๋ก๋ ํ์ด์ง(paging)๊ณผ ์ธ๊ทธ๋ฉํ
์ด์
(segmentation)๊ธฐ๋ฒ์ด ์๋ค. ํ์ด์ง (paging) ํ์ด์ง์ ํ๋ก์ธ์ค์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ page ๋จ์๋ก ๋๋์ด์ page์ ๋์ผํ ํฌ๊ธฐ์ frame ๋จ์๋ก ๋๋ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ์ ๋ถ์ฐ์์ ์ผ๋ก ํ ๋นํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ๋ฒ์ด๋ค. ํ์ด์ง์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ๋จ์ํํ๊ณ , ์ธ๋ถ ๋จํธํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋๋ฐ ๋์..
push()์ ์ฌ์ฉํ Queue๋ฅผ q1, pop()์ ์ฌ์ฉํ Queue๋ฅผ q2๋ผ๊ณ ํ์๋ค. [ push() ] q1.add()๋ฅผ ํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค. [ pop() ] q1์์ popํ 1๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋๋๊ณ , ๋๋จธ์ง n-1๊ฐ์ ๋ฐ์ดํฐ๋ฅผ q2๋ก ์ด๋์ํจ๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ๊ฐ์ฅ ์ต๊ทผ์ ๋ค์ด์จ ๋ฐ์ดํฐ๋ฅผ ์ ์ธํ ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ q2๋ก ์ฎ๊ฒจ์ง๋ค. q1์ ๋จ์์๋ ๋ฐ์ดํฐ๋ฅผ q1.remove()ํ์ฌ ๊ฐ์ฅ ์ต๊ทผ์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐํํ๋ค. ๋ค์์ ์งํ๋ pop()์ ์ํด q2๊ฐ ๋น์ด์์ง ์์ ๊ฒฝ์ฐ, q1๊ณผ q2์ ์ด๋ฆ์ swapํ๋ค. ๊ตฌํ ์ฝ๋ import java.util.LinkedList; import java.util.Queue; public class QueueStack { Queue q1; Queue q2;..
enqueue() ๊ตฌํ์ ์ฌ์ฉํ Stack์ inStack, dequeue() ๊ตฌํ์ ์ฌ์ฉํ Stack์ ๋ ๋ฒ์งธ outStack์ผ๋ก ์ ์ธํ์๋ค. [ enqueue() ] inStack์ push()ํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋๋ก ๊ตฌํํ์๋ค. [ dequeue() ] outStack์ด ๋น์ด์๋ค๋ฉด inStack์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์จ๋ค. ์ด ๊ฒฐ๊ณผ ๊ฐ์ฅ ๋จผ์ ๋ค์ด์จ ๋ฐ์ดํฐ๊ฐ outStack์ top์ ์์นํ๊ฒ ๋๋ค. outStack.pop()์ผ๋ก ๊ฐ์ฅ ๋จผ์ ๋ค์ด์จ ๋ฐ์ดํฐ๋ฅผ ๋ฐํํ๋ค. outStack์ด ๋น์ด์์ง ์๋ค๋ฉด pop()์ ํด์ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๊ณ , outStack์ ๋ฐ์ดํฐ๋ฅผ ๋ค ์ถ์ถํ๋ฉด inStack์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ฒ ๋๋ค. ๊ตฌํ ์ฝ๋ import java.util.Stack; public class Stac..
HTTPS๋? HTTPS์ SSL์ ์ฌ์ฉํ ํ๋กํ ์ฝ์ด๋ค. HTTP๋ ํ๋ฌธ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ํ๋กํ ์ฝ์ด๊ธฐ ๋๋ฌธ์ ์ ์ก๋๋ ๋ฐ์ดํฐ๊ฐ ์ํธํ๋์ง ์๋๋ค๋ ๋จ์ ์ด ์๋ค. HTTPS๋ SSL๋ก ์ด๋ฅผ ํด๊ฒฐํ์๋ค. SSL ํ๋กํ ์ฝ์ด๋? SSL์ ์น ์๋ฒ์ ์น ๋ธ๋ผ์ฐ์ ๊ฐ์ ๋ณด์์ ์ํ ํ๋กํ ์ฝ๋ก ๊ณต๊ฐํค, ๋์นญํค ์ํธํ ๋ฐฉ์์ ํผํฉํ์ฌ ์ฌ์ฉํ๋ค. SSL์ ์ธ์ฆ๊ธฐ๊ด์ผ๋ก๋ถํฐ ์๋ฒ์ ํด๋ผ์ด์ธํธ์ ์ธ์ฆ์ ํ๋ ๋ฐ ์ฌ์ฉ๋๋ค. ์ธ์ฆ์ ๋ฐ๊ธ ์ฌ์ดํธ๋ ์ธ์ฆ๊ธฐ๊ด(CA)์ ์์ ์ ์ ๋ณด์ ๊ณต๊ฐํค๋ฅผ ์ ์ถํ๋ค. CA๋ ์ด ์ ๋ณด๋ฅผ ๊ฒ์ฆํ๊ณ , CA์ ๋น๋ฐํค๋ฅผ ์ฌ์ฉํด ์ธ์ฆ์๋ฅผ ๋ง๋ค์ด ์ฌ์ดํธ์๊ฒ ๋ฐ๊ธํ๋ค. ์ฌ์ฉ์์ ๋ธ๋ผ์ฐ์ ์๋ CA์ ๊ณต๊ฐํค๊ฐ ๋ด์ฅ๋์ด ์์ด CA๊ฐ ๋ฐ๊ธํ ์ธ์ฆ์๋ฅผ ๊ฒ์ฆํ ์ ์๋ค. ์ฌ์ดํธ ์ ์ ์ฌ์ฉ์๊ฐ ์ฌ์ดํธ์ ์ ์ํ๋ฉด ์ฌ์ดํธ๋ S..
์๋ฒ๊ฐ ๋๋ ค์ง ๊ฒฝ์ฐ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ํ์ฌ ์์ฐจ์ ์ผ๋ก ์์๋ณด์ 1. ์๋ฒ ํ์ฅ : ์ค์ผ์ผ ์์, ์ค์ผ์ผ ์
2. DB ๋ณ๋ชฉ ํด๊ฒฐ : Primary-Secondary DB, ์์ฃผ ์ฐ๋ ๋ฐ์ดํฐ ์บ์(Redis) 1. ์๋ฒ ํ์ฅ1) ์ค์ผ์ผ ์์(Scale Out)์๋ฒ ์ฌ๋ฌ ๋๋ฅผ ์ถ๊ฐํ์ฌ ์์คํ
์ ํ์ฅํ๋ '์ํ ํ์ฅ' ๋ฐฉ๋ฒ์ด๋ค.์๋ฒ๊ฐ ์ฌ๋ฌ ๋๊ฐ ๋๊ธฐ ๋๋ฌธ์ ์๋ฒ์ ๊ฑธ๋ฆฌ๋ ๋ถํ๋ฅผ ๊ท ๋ฑํ๊ฒ ํด์ฃผ๋ ๋ก๋๋ฐธ๋ฐ์ฑ์ด ํ์์ ์ผ๋ก ๋๋ฐ๋์ด์ผ ํ๋ค.์ค์ผ์ผ ์์์ ๊ฒฝ์ฐ ์๋ฒ ํ ๋๊ฐ ์ฅ์ ๋ก ๋ค์ด๋๋๋ผ๋ ๋ค๋ฅธ ์๋ฒ๋ก ์๋น์ค ์ ๊ณต์ด ๊ฐ๋ฅํ๋ค๋ ์ฅ์ ์ด ์๋ค.ํ์ง๋ง ๋ชจ๋ ์๋ฒ๊ฐ ๋์ผํ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์์ด์ผ ํ๋ฏ๋ก ๋ฐ์ดํฐ ๋ณํ๊ฐ ์ ์ ์น ์๋ฒ์ ์ ํฉํ ๋ฐฉ์์ด๋ค. 2) ์ค์ผ์ผ ์
(Scale Up)์๋ฒ์ CPU๋ RAM ๋ฑ์ ์ถ๊ฐํ๊ฑฐ๋ ..
OSI 7 ๊ณ์ธต์ด๋ ๊ตญ์ ํ์คํ๊ธฐ๊ตฌ(ISO)์์ ๊ฐ๋ฐํ ๋ชจ๋ธ๋ก, ์ปดํจํฐ ๋คํธ์ํฌ ํ๋กํ ์ฝ ๋์์ธ๊ณผ ํต์ ์ ๊ณ์ธต์ผ๋ก ๋๋์ด ์ค๋ช
ํ ๊ฒ์ด๋ค. ๊ณผ๊ฑฐ OSI 7 ๊ณ์ธต๋ชจ๋ธ์ ๊ฐ๋ตํ๋ TCP/IP 4 ๊ณ์ธต ๋ชจ๋ธ๋ก ๋์ฒด๋์์ง๋ง, ํ๋์ ์ธํฐ๋ท์ ์ข ๋ ์ธ๋ถํ๋ TCP/IP 5 ๊ณ์ธต์ ์ฃผ๋ก ์ฌ์ฉํ๋ค. ๊ฐ ๊ณ์ธต์ ํ์ ๊ณ์ธต์ ๊ธฐ๋ฅ์ ์ด์ฉํ๊ณ ์์ ๊ณ์ธต์๊ฒ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. ์๋ฅผ ๋ค์ด ์์ฉ ๊ณ์ธต์ HTTP ํ๋กํ ์ฝ์ ์ ์ก ๊ณ์ธต์ TCP ํ๋กํ ์ฝ๊ณผ ๋คํธ์ํฌ ๊ณ์ธต์ IP ํ๋กํ ์ฝ์ ์ด์ฉํด์ ์๋ํ๋ค. ๊ทธ๋ ๋ค๋ฉด ๊ณ์ธต์ ์ ๋๋๊ณ , ์ ์์์ผ ํ ๊น? ๊ณ์ธต์ ๋๋๋ฉด ํต์ ์ด ์ผ์ด๋๋ ๊ณผ์ ์ ๋จ๊ณ๋ณ๋ก ์ ์ ์๊ณ , ํน์ ํ ๊ณณ์ ์ด์์ด ์๊ธฐ๋ฉด ๊ทธ ๋จ๊ณ๋ง ์์ ํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ๋ํ ๋ฐ์ดํฐ ์ ์ก๊ณผ์ ์ ๋จ๊ณ์ ์ผ๋ก ์ดํดํจ์ผ๋ก์จ, ๋คํธ์ํฌ ..