๐์์ง 2์ฐจ ์ ๋ฆฌ๊ฐ ํ์ํ ๊ธ!
๐ ์น ์๋ฒ์ WAS์ ์ฐจ์ด๋?
WS (Web Server):
์๋ฒ ์ปดํจํฐ์ ํน์ ํด๋, ๋๋ ํ ๋ฆฌ์ ๋ธ๋ผ์ฐ์ ๊ฐ ์ฝ์ ์ ์๋ ํ์ผ(์ ์ ์ปจํ ์ธ )์ ๋ฃ์ด๋๊ณ ์ด ํด๋๊ฐ ์ธ๋ถ์์ ์ ๊ทผํ ์ ์๋๋ก ๊ฐ๋ฐฉํ์ฌ ์๋ฒ์ ์ง์ ๋ ์ฃผ์๋ก ์ ์ํ๋ฉด ๊ทธ ํ์ผ์ ๋ฐ์ ๊ฐ ์ ์๊ฒ ํ๋ ๊ฒ์ด ๊ธฐ๋ณธ์ ์ธ ์น์๋ฒ์ ์ญํ
์ฌ๊ธฐ์ ์ ์ ์ปจํ ์ธ ๋
๋ณํ๊ฐ ์๋ ์ปจํ ์ธ ๋ก ์๋ฒ์ ์ ์ฅํด๋๊ณ ์๋ฒ๊ฐ ์์ฒญ ๋ฐ์ผ๋ฉด ์๋ต๋ง ํด์ฃผ๋ฉด ๋๋ ๊ฒ์ ๋งํ๋ฉฐ ์ด๋ ์ฌ์ฉ์์๊ฒ๋ ๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ค๋ค.
ํด๋ผ์ด์ธํธ(์น๋ธ๋ผ์ฐ์ ) ์์ฒญ์ด ๋์ ์ธ ๋ฐ์ดํฐ๋ฉด ๋์ ์ปจํ ์ธ ๋ฅผ WS๊ฐ ์ฒ๋ฆฌํ ์ ์๊ธฐ ๋๋ฌธ์ WAS์ ์์ฒญํ๊ณ , WAS์์ ์ฒ๋ฆฌํ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ ํด๋ผ์ด์ธํธ์ ๋ฐํ
- ์์ : Apache, Nginx, IIS
๐
Apache :
Nginx :
IIS :
WAS ( Web Application Server):
WAS๋ DB์กฐํ ๋ฐ ๋ค์ํ ๋น์ง๋์ค ๋ก์ง ์ฒ๋ฆฌ๋ฅผ ์๊ตฌํ๋ ๋์ ์ปจํ ์ธ ๋ฅผ ์ ๊ณตํ๊ธฐ ์ํ Application ์๋ฒ
- ๋์ ์ปจํ ์ธ ์ฒ๋ฆฌ : ๋๊ฐ ์ธ์ ์ด๋ป๊ฒ ์๋ฒ์ ์์ฒญํ๋์ง์ ๋ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ์ ๋ค๋ฅด๊ฒ ๋ณด์ฌ์ฃผ๋ ์ปจํ ์ธ
- (์ ์ ์ปจํ ์ธ ์ฒ๋ฆฌ๋ ๊ฐ๋ฅ ์๋๋ฉด WS๋ฅผ ๋ด์ฅํ๊ณ ์๊ธฐ ๋๋ฌธ)
- ํ๋ก๊ทธ๋จ ์คํ ํ๊ฒฝ๊ณผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
- ์ฌ๋ฌ ๊ฐ์ ํธ๋์ญ์ ์ ๊ด๋ฆฌํ๋ค.
- ์ ๋ฌด๋ฅผ ์ฒ๋ฆฌํ๋ ๋น์ฆ๋์ค ๋ก์ง์ ์ํํ๋ค.
- ์น ์๋ฒ + ์ปจํ ์ด๋ ํํ (WS๊ฐ ๋ณด๋ธ ๋์ ์๋ฒ ์ปจํ ์ธ ๋ฅผ ์คํํ๊ณ ์ํ ๊ฒฐ๊ณผ๋ฅผ ๋ค์ WS๋ก ๋ณด๋ด์ฃผ๋ ์ญํ )
- ์์ : Tomcat, Jeus
WAS ํ๋๋ก ๋ ๊ฐ์ง ์ข ๋ฅ์ ํ์ด์ง๋ฅผ ๋ฐฐํฌ ํ ์ ์๋ ๋ฐ ์ ์น์๋ฒ์ ๊ฐ์ด ์ฌ์ฉํ ๊น์?
- ๋ณด์ ๊ธฐ๋ฅ : ์น์๋ฒ์ Reverse Proxy ๊ธฐ๋ฅ
๊ณต๊ฒฉ์ ๋ํด ์๋จ์ WS ๋ฐฐ์นํ์ฌ ์ค์ ์ ๋ณด๊ฐ ์๋ WAS๊น์ง ์ ํ๋์ง ๋ชปํ๊ฒ ํ๊ฑฐ๋ WAS๋จ์์์ ์ค์ ์ ๋ณด๊ฐ ๋ฐ์ผ๋ก ๋ ธ์ถ๋์ง ์๊ฒ ํ๋ค. ์๋ฒ ๋ด๋ถ์ ์ผ๋ก ํ์ผ๋ค์ด ์ด๋ ํด๋์ ์์นํ๊ณ , ์๋น์ค๊ฐ ๋ช ๋ฒ ํฌํธ๋ก ๋๊ณ ์๋ ์ง ๋ฑ ์๋ฒ์ ์ ๋ณด๋ฅผ ์จ๊ธด๋ค.
- ์น์๋ฒ์ reverse proxy๊ฐ ๊ฐ๋ ๊ธฐ๋ฅ ์ค ํ๋์ธ ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ํตํด ํด๋ผ์ด์ธํธ์ ์๋ฒ Pool ์ฌ์ด์ ์์นํ์ฌ ํ ์๋ฒ๋ก ๋ถํ๊ฐ ์ง์ค๋์ง ์๋๋ก ํธ๋ํฝ์ ๊ด๋ฆฌํด์ฃผ๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์๋ค
- ๊ตฌ์กฐ์ ์ ์ฐ์ฑ : ํ๋์ ์น์๋ฒ๋ฅผ ๋๊ณ ์ฌ๋ฌ ์น ์ดํ๋ฆฌ์ผ์ด์ ์ ์ฌ์ฉํ ์ ์๋๋ฐ WS๊ฐ ์ผ์ข ์ ๋ผ์ฐํฐ ์ญํ ์ ํ์ฌ, ๋ก๋๋ฐธ๋ฐ์ฑ, fail over, failback, ๋ฌด์ค๋จ ์ด์์ ๊ฐ๋ฅํ๊ฒ ํ๋ค.
- WAS๋ง ์ฌ์ฉํ๋ฉด WAS์ฅ์ ์ ์ค๋ฅ ํ๋ฉด ๋ ธ์ถ์ด ๋ถ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ WS์ด์ฉํด ์ฅ์ ์ ๋ํ ์๋ฆผ๊ธฐ๋ฅ๋ ๊ฐ๋ฅํ๋ค.
๐๊ณตํต์
- HTTP ๊ธฐ๋ฐ์ผ๋ก ๋์, HTTP ํ๋กํ ์ฝ์ ํตํด ์ ์ก
๐์ ์ ํ์ด์ง
์ํฉ์ ๋ฐ๋ผ ๋ณ๊ฒฝ๋์ง ์๋ ํ์ด์ง๋ก ์๋ฒ์์ ๋ณ๊ฒฝํ์ง ์๋ ํ ๋ณํ์ง ์๋๋ค
์ฌ์ฉ์ ์์ฒญ์ ๊ด๊ณ ์์ด ํญ์ ๋์ผ
๐๋์ ํ์ด์ง
์ํฉ์ ๋ฐ๋ผ ๋ณํ๋ ํ์ด์ง๋ก ํด๋ผ์ด์ธํธ์์ ์ด๋ป๊ฒ ์ ๊ทผํ๋๋์ ๋ฐ๋ผ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ๋ค
์ฌ์ฉ์ ์์ฒญ์ ๋ฐ๋ผ ๋ณํ
๐๋ก๋๋ฐธ๋ฐ์ฑ
์๋ฒ๊ฐ ์ฒ๋ฆฌํด์ผ ํ ์ ๋ฌด ํน์ ์์ฒญ(Load)์ ์ฌ๋ฌ ๋์ ์๋ฒ๋ก ๋๋์ด(Balancing) ์ฒ๋ฆฌํ๋ ์ฅ์น ๋๋ ๊ธฐ์ ์ ์๋ฏธ
ํด๋ผ์ด์ธํธ์ ์๋ฒ Pool ์ฌ์ด์ ์์นํ์ฌ ํ ์๋ฒ๋ก ๋ถํ๊ฐ ์ง์ค๋์ง ์๋๋ก ํธ๋ํฝ์ ๊ด๋ฆฌํด ๊ฐ๊ฐ์ ์๋ฒ๊ฐ ์ต์ ์ ํผํฌ๋จผ์ค๋ฅผ ๊ฐ๋ฅํ๊ฒ ๋๋๋ค.
๐๋ก๋๋ฐธ๋ฐ์ฑ์ health check
์๋ฒ์ ์ฃผ๊ธฐ์ ์ผ๋ก http์์ฒญ์ ๋ณด๋ด ์๋ฒ์ ์ํ๋ฅผ ํ์ธํ๋ ๊ธฐ๋ฅ
health check ์ค์
- interval : health check ํตํด ์๋ฒ ์ํ ํ์ธํ๋ ์์ฒญ ์ ์ก (default : 5์ด)
- fails : ์์ฒญ ์คํจ์ ์๋ฒ๊ฐ ๋น์ ์์ด๋ผ๊ณ ์ธ์ง (default : 1ํ)
- passes : ์๋ฒ๊ฐ ๋ค์ ๋ณต๊ตฌ๋์ด ์์ฒญ์ด ์ฑ๊ณตํ๋ฉด ์๋ฒ๊ฐ ์ ์์ผ๋ก ์ธ์ง (default : 1ํ)
๐Scale Up, Scale Out
๐fail-over, ์ฅ์ ๊ทน๋ณต, ์ฅ์ ์กฐ์น, ์์คํ ๋์ฒด ์๋ ๋ฑ
์ปดํจํฐ ์๋ฒ, ์์คํ , ๋คํธ์ํฌ ๋ฑ์์ ์ด์์ด ์๊ฒผ์ ๋ ์๋น ์์คํ ์ผ๋ก ์๋ ์ ํ๋๋ ๊ธฐ๋ฅ
ํ์ ์ด์๋๋ ์์คํ ์ Active, ๊ฐ์ ์ธํ ์ผ๋ก ๊ตฌ์ฑ๋์ด ๋๊ธฐํ๋ ์์คํ ์ Passive ๋ผ๊ณ ํ๋๋ฐ Active ์์คํ ์ด ๋ฉ์ถ๊ฑฐ๋ ์ฅ์ ๊ฐ ๋ฐ์ํ๋ฉด Passive ์์คํ ์ด Active ์ํ๋ก ๋ณ๊ฒฝ๋์ด ์๋น์ค๋ฅผ ์ด์ด ์ด์ํ๊ฒ ๋๋ค.
๋์ ๊ฐ์ฉ์ฑ์ ์๊ตฌํ ๋ ๊ตฌ์ฑํ๋ค
๐๋์ ๊ฐ์ฉ์ฑ, ๊ณ ๊ฐ์ฉ์ฑ (HA / High Availability)
๊ฐ์ฉ์ฑ์ด๋ ์ผ๋จ ์๋น์ค๋ฅผ ์ ์์ ์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅ ํ ์ ๋๋ฅผ ์๋ฏธํ๋ฉฐ
๊ณ ๊ฐ์ฉ์ฑ์ด๋ ์๋น์ค๊ฐ ์ค๋ ๊ธฐ๊ฐ ๋์ ์ง์์ ์ผ๋ก ์ ์ ์ด์์ด ๊ฐ๋ฅํ ์ฑ์ง์ ๋งํ๋ค.
+ ๊ฐ์ฉ์ฑ์ ๋์ด๋ ๋ฐฉ๋ฒ
์์คํ ์ด์คํ, ์์คํ ํ์ฅ ๋ฑ
๐failback
ํ์ผ ์ค๋ฒ์ ๋ฐ๋ผ ์ ํ๋ ์๋ฒ, ์์คํ , ๋คํธ์ํฌ ๋ฑ์ ์ด์์ด ๋ฐ์ํ๊ธฐ ์ ์ ์ํ๋ก ๋๋๋ฆฌ๋ ์ฒ๋ฆฌ
๐๋จ์ผ ์ฅ์ ์ , SPOF (single point of failure)
์์คํ ๊ตฌ์ฑ ์์ ์ค์์ ๋์ํ์ง ์์ผ๋ฉด ์ ์ฒด ์์คํ ์ด ์ค๋จ๋๋ ์์. ์ด์คํ๊ฐ ๋์ด์์ง ์๋ค๋ฉด SPOF์ผ ๊ฐ๋ฅ์ฑ์ด ๋๋ค.
๐๋ก๋๋ฐธ๋ฐ์ฑ ์๊ณ ๋ฆฌ์ฆ
- ๋ผ์ด๋๋ก๋น ๋ฐฉ์
- ๊ฐ์ค ๋ผ์ด๋๋๋ก๋น ๋ฐฉ์
- IP ํด์ ๋ฐฉ์
- ์ต์ ์ฐ๊ฒฐ ๋ฐฉ์
- ์ต์ ๋ฆฌ์คํฐ ํ์
๐๋ถํ๋ถ์ฐ์ ๊ฐ์ฅ ๋ง์ด ํ์ฉ๋๋ L4, L7 ๋ก๋๋ฐธ๋ฐ์์ ๋ํด ์ค๋ช
- L4, L7?
OSI 7๊ณ์ธต์์์ Layer ๋ฒํธ, ์์ ๊ณ์ธต์์ ์ฌ์ฉ๋๋ ์ฅ๋น์ผ์๋ก(1 -> 7 ์์) ํ์ ๊ณ์ธต์ ์ฅ๋น๊ฐ ๊ฐ์ง๊ณ ์๋ ๊ธฐ๋ฅ์ ๋ชจ๋ ๊ฐ์ง๊ณ ์์ด ์์๋ก ๊ฐ์๋ก ๋์ฑ ์ ๊ตํ ๋ก๋ ๋ฐธ๋ฐ์ฑ ๊ฐ๋ฅ
- L4 : ๋คํธ์ํฌ ๊ณ์ธต์ด๋ ํธ๋์คํฌํธ ๊ณ์ธต์ ์ ๋ณด๋ฅผ ๋ฐํ์ผ๋ก ๋ก๋๋ฅผ ๋ถ์ฐ, IP์ฃผ์๋ ํฌํธ๋ฒํธ, MAC์ฃผ์, ์ ์ก ํ๋กํ ์ฝ์ ๋ฐ๋ผ ํธ๋ํฝ์ ๋๋๋ ๊ฒ์ด ๊ฐ๋ฅ
- L7 : ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต์์ ๋ก๋๋ฅผ ๋ถ์ฐ, HTTP ํค๋, ์ฟ ํค ๋ฑ๊ณผ ๊ฐ์ ์ฌ์ฉ์ ์์ฒญ์ ๊ธฐ์ค์ผ๋ก ํน์ ์๋ฒ์ ํธ๋ํฝ์ ๋ถ์ฌํ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค. ํจํท์ ๋ด์ฉ์ ํ์ธํ๊ณ ๊ทธ ๋ด์ฉ์ ๋ฐ๋ผ ๋ถ์ฐ์ด ๊ฐ๋ฅํ ๊ฒ
๋ก๋๋ฐธ๋ฐ์(Load Balancer)์ ๊ฐ๋ ๊ณผ ํน์ง
[BY ๊ฐ๋น์] ํ๋์ ๋ชจ๋ ์ ๋ณด๋ ์ธํฐ๋ท์ ํตํด ์ฐ๊ฒฐ๋์ด์์ต๋๋ค. ์ธํฐ๋ท์ ๋ฐ๋ฌ์ ๋ฐ์ดํฐ ํต์ ์ ๋ณด๋ค...
m.post.naver.com
๐๋ผ์ฐํฐ๋
์ปดํจํ ๋๋ฐ์ด์ค์ ๋คํธ์ํฌ๋ฅผ ๋ค๋ฅธ ๋คํธ์ํฌ์ ์ฐ๊ฒฐํ๋ ๋คํธ์ํน ๋๋ฐ์ด์ค
๐๋ผ์ฐํ
๋คํธ์ํฌ์์ ๊ฒฝ๋ก๋ฅผ ์ ํํ๋ ํ๋ก์ธ์ค. ์ปดํจํฐ ๋คํธ์ํฌ๋ ํ๋ ํ๋์ ์์คํ ์ ๋ ธ๋, ๊ทธ๋ฆฌ๊ณ ์ด๋ฅผ ์ฐ๊ฒฐํ๋ ๊ฒฝ๋ก ๋๋ ๋งํฌ๋ก ๊ตฌ์ฑ๋๋ค. ์๋ก ์ฐ๊ฒฐ๋ ๋ ๋ ธ๋๋ ์ฌ๋ฌ ๊ฒฝ๋ก๋ฅผ ํตํด ํต์ ์ ํ๋๋ฐ, ๋ผ์ฐํ ์ ๋ฏธ๋ฆฌ ์ ํด์ง ๊ท์น์ ์ฌ์ฉํ์ฌ ์ต์์ ๊ฒฝ๋ก๋ฅผ ์ ํํ๋ ํ๋ก์ธ์ค๋ค.
ํต์ ์ ์์ด ํจ์จ์ฑ์ ๋์ด๊ณ ๋คํธ์ํฌ๊ฐ ์ ์ฒด ์์ด ์ต๋ํ ๋ง์ ์ฉ๋์ ์ฌ์ฉํ ์ ์๋๋ก ๋ฐ์ดํฐ ํธ๋ํฝ์ ๊ด๋ฆฌํจ์ผ๋ก์จ ๋คํธ์ํฌ ์ฅ์ ๋ฅผ ์ต์ํ ํ ์ ์๊ฒ ํด์ค๋ค.
๐๋ ์ดํด์, ์ฒ๋ฆฌ๋
๋ถ๋ฆฌ ํ๋ฉด ์ฒ๋ฆฌ๋์ด ์ ์ข์์ง๊น?
๐Tomcat ์ด๋ Apache ์ฐจ์ด (๊ผญ ์์๋๊ธฐ)
Apache๊ฐ WS
Tomcat์ ์๋ฐ์์ ์ฐ์ด๋ WAS ์ค ํ๋, ์คํ๋ง ๋ถํธ์ ํฐ์บฃ์ด ๋ด์ฅ๋์ด ์๋ค.
JAVA EE ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ค์ด์ก์ผ๋ฉฐ, JSP์ Servlet์ ๊ตฌ๋ํ๊ธฐ ์ํ ์๋ธ๋ฆฟ ์ปจํ
์ด๋ ์ญํ ์ ์ํํ๋ค.
์ํ์น์๋ฒ์๋ ๋ค๋ฅด๊ฒ DB์ฐ๊ฒฐ, ๋ค๋ฅธ ์์ฉํ๋ก๊ทธ๋จ๊ณผ ์ํธ ์์ฉ ๋ฑ ๋์ ์ธ ๊ธฐ๋ฅ๋ค์
์ฌ์ฉํ ์ ์๋ค.
๐์๋ธ๋ฆฟ ์ปจํ ์ด๋๊ฐ ๋ญ๊น์?
์๋ธ๋ฆฟ :
ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋ฐ๊ณ ์์ฒญ์ ์ฒ๋ฆฌํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ํด๋ผ์ด์ธํธ์๊ฒ ์ ๊ณตํ๋ ์๋ฐ ์ธํฐํ์ด์ค.
์๋ธ๋ฆฟ ์ปจํ ์ด๋:
- ์๋ธ๋ฆฟ๋ค์ ๋ชจ์ ๊ด๋ฆฌ
- ์๋ก์ด ์์ฒญ์ด ๋ค์ด์ฌ ๋๋ง๋ค ์๋ก์ด ์ค๋ ๋๋ฅผ ์์ฑ
- ์์ ์ด ๋๋ ์๋ธ๋ฆฟ ์ค๋ ๋ ์๋ ์ ๊ฑฐ
๐๋ธ๋ผ์ฐ์ ๋ง ์์ฒญ ๊ฐ๋ฅํ๊ฑฐ ์๋๋๊น ์์ฒญ์ ๋ํ ๋ถ๋ถ์ ๋ค์ ์ ๋ฆฌํ ๊ฒ
์์ฒญ์ด ๋ชจ๋ฐ์ผ์ธ์ง ๋ธ๋ผ์ฐ์ ์ธ์ง ๋ฑ ์ด๋ป๊ฒ ๊ตฌ๋ถ์ด ๊ฐ๋ฅํ์ง
๐์น์๋ฒ ๋ฌธ์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ๋ก CDN
๐๋ถํ๋ฅผ ๋ฐฉ์งํ์ ๋ ์คํ๋ง์์ ์ด์ ์ด ์๋์ง
์คํ๋ง์ Apache Tomcat์ ๋ด์ฅํ๊ณ ์์ด ์ค๋ ๋๋ฅผ ๋ช๊ฐ ๊ฐ์ง๊ณ ์๊ณ ์ฒ๋ฆฌ๋
์คํ๋ง ๋ถํธ์ ๋ด์ฅ๋ Tomcat์ ๋ค์ค ์์ฒญ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด, ๋ถํ ํ ๋ ์ค๋ ๋ ์ปฌ๋ ์ ์ธ Thread Pool์ ์์ฑํ๋ค. ์ ์ ์์ฒญ์ด ์ค๋ฉด ์ด ์ค๋ ๋ ํ์์ ์ค๋ ๋๋ฅผ ํ ๋นํ๋ค.
๐๋๋ ํ ๋ฆฌ ์ฉ๋ ์ด๊ณผ์ ์ด๋ป๊ฒ ํธ๋ค๋ง ํ ๊ฒ์ธ๊ฐ
EVS? EBS?๋ฅผ ์ฆ์ค ๋๋ S3๋ฅผ ํ์ฉํด ์ ์ ์ปจํ ์ธ ๋ด๋ ค์ฃผ๊ธฐ
๐ Stack๊ณผ Queue ๊ทธ๋ฆฌ๊ณ Array์ Linked List ์๋ฃ๊ตฌ์กฐ์ ๋ํด ๋ง์ํด์ฃผ์๊ณ ์ฐจ์ด์ ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
๐Stack vs Queue
- ์คํ์ Last In First Out ํ์ ์ ์ถ ๊ตฌ์กฐ๋ก ๋ง์ง๋ง์ ์ ์ฅ๋ ๊ฒ์ ๋จผ์ ๊บผ๋ด์ด ์ฐ๋ ์๋ฃ ๊ตฌ์กฐ๋ฅผ ๋งํฉ๋๋ค. ๋ฐ์ดํฐ ์ ๊ทผ์ ๊ฐ์ฅ ์ต๊ทผ์ ์์ธ ๋ฐ์ดํฐ์ธ top์ ํตํด์ ๋ง ์ ๊ทผ์ด ๊ฐ๋ฅํฉ๋๋ค. ๊ฐ์ฅ ์ต๊ทผ์ ๋ฃ์ ๊ฒ์ ๋ค์ ๊บผ๋ด ์ฐ๋ ํน์ง ๋๋ฌธ์ ์น ๋ธ๋ผ์ฐ์ ๋ค๋ก ๊ฐ๊ธฐ๋ ๊ฐ์ฅ ์ต๊ทผ ์์ ๋ด์ญ์ผ๋ก ๋๋๋ฆฌ๋ ์คํ ์ทจ์ undo, ๋ฌธ์์ด ์ญ ์ ๋ฑ์ ๊ธฐ๋ฅ์ผ๋ก ํ์ฉ์ด ๊ฐ๋ฅํฉ๋๋ค.
- ํ๋ First In First Out์ ์ ์ ์ ์ถ ๊ตฌ์กฐ๋ก ๋จผ์ ์ ์ฅํ ๊ฒ์ ๋จผ์ ๊บผ๋ด๋ ์๋ฃ ๊ตฌ์กฐ์ ๋๋ค. ์ญ์ ์ฐ์ฐ๋ง ์ด๋ฃจ์ด์ง๋ ๊ณณ์ Front๋ผ๊ณ ํ๋ฉฐ ์ฝ์ ๋ง ์ด๋ฃจ์ด์ง๋ ๊ณณ์ Rear๋ผ๊ณ ํฉ๋๋ค. ์ ๋ ฅ๋ ์์์ ๋ฐ๋ผ ์ฒ๋ฆฌ๋๊ธฐ ๋๋ฌธ์ ์๋ฒ์ ์ง์ผ์ผํ๋ ๋ชจ๋ ์ฒ๋ฆฌ์ ์ฌ์ฉ๋ฉ๋๋ค. ํ๋ฆฐํธ, ์๋งค ๋๊ธฐ์ด ๋ฑ์ ์ฌ์ฉ
๐Queue ์ข ๋ฅ
Queue ์ธํฐํ์ด์ค์ ๊ตฌํ์ฒด๋ ์ฌ๋ฌ๊ฐ๊ฐ ์๋๋ฐ
์ฐ์ ์์ ํ (PriorityQueue) : ์ ์ฅํ ์์์ ์๊ด์์ด ์ฐ์ ์์ ๋์ ๊ฒ๋ถํฐ ๊บผ๋ด๋ ๋ฐฉ์
Deque(Double-Ended Queue) : ๊ฐ๊ฐ ํ์ชฝ๋ง ์ถ๊ฐ ์ญ์ ํ ์ ์๋ Queue์ ๋ฌ๋ฆฌ ์์ชฝ ๋์์ ์ถ๊ฐ ์์ ๊ฐ ๊ฐ๋ฅํ๋ค.
์ด Deque ๊ตฌํ์ฒด ์ค์ ArrayDeque์ LinkedList๊ฐ ์๋ค.
๐๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ์ Stack ๋ํด์๋ ์๋?
ํ๋ก๊ทธ๋จ์ด ์๋์ผ๋ก ์ฌ์ฉํ๋ ์์ ๋ฉ๋ชจ๋ฆฌ ์์ญ, ํจ์ ํธ์ถ์ ์ง์ญ๋ณ์, ๋งค๊ฐ๋ณ์๊ฐ ์ ์ฅ๋๊ณ ํจ์ ์ข ๋ฃ์ ์ฌ๋ผ์ง๋ค. Stack ์์ญ์์๋ ์ด๋ฆ์ฒ๋ผ Stack ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ํ์ ์ ์ถ ๋ฐฉ์์ผ๋ก push๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ pop์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ธ์ถํ๋ค.
๐๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ์ ๋ํด์
Code : ์คํํ ํ๋ก๊ทธ๋จ์ ์ฝ๋๊ฐ ์ ์ฅ๋๋ ์์ญ, ํ ์คํธ ์์ญ์ด๋ผ๊ณ ๋ ํ๋ฉฐ, ํ๋ก๊ทธ๋จ์ด ์์ํ๊ณ ์ข ๋ฃ ๋ ๋๊น์ง ๋ฉ๋ชจ๋ฆฌ์ ๊ณ์ ๋จ์ ์๋๋ค.
Data : ํ๋ก๊ทธ๋จ์ ์ ์ญ ๋ณ์์ ์ ์ ๋ณ์๊ฐ ์ ์ฅ๋๋ ์์ญ. ํ๋ก๊ทธ๋จ ์์๊ณผ ํจ๊ป ํ ๋น๋๋ฉฐ ์ข ๋ฃ์ ์๋ฉธํ๋ค.
Stack : ํ๋ก๊ทธ๋จ์ด ์๋์ผ๋ก ์ฌ์ฉํ๋ ์์ ๋ฉ๋ชจ๋ฆฌ ์์ญ, ํจ์ ํธ์ถ์ ์ง์ญ๋ณ์, ๋งค๊ฐ๋ณ์๊ฐ ์ ์ฅ๋๊ณ ํจ์ ์ข ๋ฃ์ ์ฌ๋ผ์ง๋ค. Stack ์์ญ์์๋ ์ด๋ฆ์ฒ๋ผ Stack ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ํ์ ์ ์ถ ๋ฐฉ์์ผ๋ก push๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ pop์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ธ์ถํ๋ค. ๋ฉ๋ชจ๋ฆฌ์ ๋์ ์ฃผ์์์ ๋ฎ์ ์ฃผ์๋ก ํ ๋นํ๋ค.
Heap : ํ๋ก๊ทธ๋๋จธ๊ฐ ์ง์ ๊ณต๊ฐ์ ํ ๋น, ํด์ ํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ผ๋ก ๋ฐ ํ์ ํฌ๊ธฐ๊ฐ ๊ฒฐ์ ๋๋ค. new ์ฐ์ฐ์๋ฅผ ํตํด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ๋ค. ํ ์์ญ์ ์ ์ ์ ์ถ์ ๋ฐฉ์์ผ๋ก ๋ฉ๋ชจ๋ฆฌ์ ๋ฎ์ ์ฃผ์์์ ๋์ ์ฃผ์ ๋ฐฉํฅ์ผ๋ก ํ ๋นํ๋ค(Stack๊ณผ๋ ๋ฐ๋๋ฐฉํฅ).
๐์ค๋ฒ ํ๋ก์ฐ
ํ์ ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ด ๋ถ์กฑํ์ฌ ๋ฉ๋ชจ๋ฆฌ ์์ ์๋ ๋ฐ์ดํฐ๊ฐ ๋์น๋ ํ์์ด๋ค.
ํ์ ๋ฉ๋ชจ๋ฆฌ ์์ชฝ ์ฃผ์ ๋ถํฐ ํ ๋นํ๊ณ , ์คํ์ ๋ฉ๋ชจ๋ฆฌ ์๋์ชฝ ์ฃผ์๋ถํฐ ํ ๋น๋์ด ๊ฐ ์์ญ์ด ์๋ ๊ณต๊ฐ์ ์นจ๋ฒํ๋ ์ผ์ด ๋ฐ์ํ๋๋ฐ ํ์ด ์คํ์ ์นจ๋ฒํ๋ฉด ํ ์ค๋ฒ ํ๋ก์ฐ๋ผ๊ณ ํ๋ฉฐ, ๋ฐ๋๋ก ์คํ์ด ํ์ ์นจ๋ฒํ๋ฉด ์คํ ์ค๋ฒ ํ๋ก์ฐ๋ผ๊ณ ํ๋ค.
๐ํด๊ฒฐ๋ฐฉ๋ฒ
๐DFS ์์ stack์ด๋ ์ฌ๊ทํจ์๋ก ํธ๋๋ฐ ์ ์ด๊ฑธ ์ฌ์ฉํ๋ ๊ฑธ๊น
๐java์ ์ปฌ๋ ์ ์ stack์ ๋ฌด์์ ์์๋ฐ๊ณ ์์๊น์? ๋ด๋ถ ๊ตฌํ์ ์ด๋ป๊ฒ ๋์ด ์์๊น
java์์ stack์ vector๋ฅผ ์์๋ฐ์ ์ฌ์ฉํ๋ ๋ฐ vector๋ sychronized ์ฒ๋ฆฌ๊ฐ ๋์ด ์์ด ๊ถ๊ณ ๋์ง ์๋๋ค.
๋์ Deque๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์ถ์ฒํ๊ณ ์๋ค.
๐Stack์ ๊ตฌํํ๋ค๋ฉด ์ด๋ค ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํด์ ๊ตฌํ ํ ์ ์์๊น์?
ArrayList๋ก ๊ตฌํ, ArrayList๊ฐ ์ ๊ณตํ๋ ๋ฉ์๋๋ก Stack๊ตฌํ์ด ์ฝ๊ธฐ๋๋ฌธ(?)
๐ Array vs LinkedList
๋ฐฐ์ด๊ณผ ๋งํฌ๋๋ฆฌ์คํธ๋ ์ ๋ ฅ๋ ๋ฐ์ดํฐ๋ค์ด ๋์ด๋์ด ์ ์ฅ๋์ด ์๋ ์๋ฃ๊ตฌ์กฐ๋ผ๋ ๊ณตํต์ ์ด ์์ง๋ง, ๊ทธ ์ฐ๊ฒฐ ๋ฐฉ์์ด ๋ค๋ฆ ๋๋ค.
- ์ฐ๊ฒฐ์ ์ฐจ์ด
๋ฐฐ์ด์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์์ ์ฐ์์ ์ผ๋ก ์ ์ฅ๋์ด ์๊ณ ์ฒ์ ์์ฑํ ๋ ๊ทธ ํฌ๊ธฐ๋ฅผ ์ ํ๋ฉฐ ์๋ฐ ๊ฐ์ ๊ฒฝ์ฐ์๋ ์ดํ ๋ณ๊ฒฝ์ด ๋ถ๊ฐ๋ฅํฉ๋๋ค. ๋ฐ์ดํฐ ์ ๊ทผ ์์๋ index๋ฅผ ํตํด ์ ๊ทผํ๊ฒ ํ๊ฑฐ๋ ์์ฐจ์ ์ผ๋ก ํ์ํ์ฌ ์ ๊ทผํ๊ฒ ๋ฉ๋๋ค. ๋งํฌ๋๋ฆฌ์คํธ๋ ๋ฐฐ์ด๊ณผ ๋ฌ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐ์์ ์ผ๋ก ์ฌ์ฉํ์ง ์๊ณ ๋ฐ์ดํฐ๋ฅผ ๋ด์ ๋ ธ๋๋ค์ ์ด์ ๊ณผ ๋ค์ ๋ ธ๋๋ฅผ ๋ํ๋ด๋ ํฌ์ธํฐ๋ฅผ ํตํด ์ฐ๊ฒฐ๋ฉ๋๋ค.
- ๋ฐ์ดํฐ ์ ๊ทผ ๋ฐ ์ฝ์ ๊ณผ ์ญ์ ์์์ ์ฐจ์ด
๋งํฌ๋ ๋ฆฌ์คํธ๋ ๋ฐฐ์ด๊ณผ๋ ๋ค๋ฅด๊ฒ index๊ฐ ์์ด ๋ฐ๋ก ์ ๊ทผ์ด ๋ถ๊ฐ๋ฅํ๊ณ ์์ฐจ์ ์ธ ๊ฒ์์ ํตํด ๋ฐ์ดํฐ์ ์ ๊ทผํ๊ฒ ๋ฉ๋๋ค.
์ด๋ฐ ํน์ง ๋๋ฌธ์ ๋ฐฐ์ด์ ๋นํด ํ์์ ์ธ ๋ฉด์ด ๋ถ๋ฆฌํด ๋ณด์ด์ง๋ง ์ด ํน์ง์ ์ญ์ ์ ์ฝ์ ์์ ์ฉ์ดํ๊ฒ ์์ฉํฉ๋๋ค. ๋ฐฐ์ด์์ ๋ฐฐ์ด ์ค๊ฐ์ ๊ฐ์ ์ญ์ ํ๊ฑฐ๋ ์ ๊ฑฐํ๋ฉด ๊ทธ ์ธ๋ฑ์ค ์ดํ ๋ชจ๋ ๊ฐ์ด ๋ชจ๋ ๋น๊ฒจ์ง๊ฑฐ๋ ๋ฐ๋ ค๋๋ ํฐ ์ฒ๋ฆฌ๊ฐ ์ผ์ด๋๋ ๋งํฌ๋๋ฆฌ์คํธ๋ ํฌ์ธํฐ๋ง ์์ ํ๊ธฐ ๋๋ฌธ์ ์ญ์ ์ฝ์ ์ ํ ๋ ธ๋๋ง ์์ ํ๋ฉด ๋ฉ๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ ํ ๋น ์ฐจ์ด
๋ฐฐ์ด์ ์ ์ธ์ ์ปดํ์ผ ๋น์์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ ๋น๋์ด ์ ์ ๋ฉ๋ชจ๋ฆฌ๋ก ํ ๋น ๋ฐ๋๋ค
Lisnked list์ ๋ฉ๋ชจ๋ฆฌ๋ ์๋ก์ด ๋ ธ๋๊ฐ ์ถ๊ฐ๋ ๋๋ง๋ค ํ ๋น๋์ด ๋์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ ๋ฐ๋๋ค.
๐ArrayList ์ฌ์ด์ฆ ์ฆ๊ฐํ๋ ์๋ฆฌ
List๊ฐ ์ธ๋ถ์ ์ผ๋ก size๋ฅผ ์์ ์์ ๋ก ๋ณํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง ์ค์ ๋ก๋ ์ฌ์ด์ฆ๊ฐ ๋ณํ๋ ๊ฒ ์๋๋ผ ์๋ก์ด ๋ฐฐ์ด๋ก ์ ์ฅํ๋ ๊ฒ์ด๋ค.๋ฐฐ์ด์ ๋์ด์ ์ ์ฅํ ๊ณต๊ฐ์ด ์์ผ๋ฉด ๋ณด๋ค ๊ธฐ์กด ๋ฐฐ์ด์ 1.5๋ฐฐ ํฐ ์๋ก์ด ๋ฐฐ์ด์ ์์ฑํด์ ๊ธฐ์กด ๋ฐฐ์ด์ ์ ์ฅ๋ ๋ด์ฉ์ ์๋ก์ด ๋ฐฐ์ด๋ก ๋ณต์ฌํ ๋ค์ ์ ์ฅํ๋ค.
๐๊น์ ๋ณต์ฌ vs ์์ ๋ณต์ฌ
ArrayList๋ ์์ ๋ณต์ฌ๊ฐ ์ผ์ด๋๋ค. ์?
- ๊น์ ๋ณต์ฌ
๊ฐ์ฒด๋ฅผ ๋ณต์ฌํ ๋ "์ธ์คํด์ค ๋ณ์๊น์ง" ๋ณต์ฌํจ
๋ณ๋์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๊ฐ์ ๋ณต์ฌํ์ฌ ๋ณต์ฌํ ๊ฐ์ ๋ณ๊ฒฝํด๋ ์๋ณธ์ ์ํฅ์ ๋ฏธ์น์ง ์๋๋ค.
- ์์ ๋ณต์ฌ
๊ฐ์ฒด๋ฅผ ๋ณต์ฌํ ๋ "๊ฐ์ฒด๋ง, ์ฃผ์๊ฐ๋ง"์ ๋ณต์ฌํจ
๋ฐ๋ผ์ ๋ ์๋ณธ, ๋ณต์ฌ ์ธ์คํด์ค ๋ณ์๋ ๊ฐ์ ๊ฐ์ฒด๋ฅผ ๋ฐ๋ผ๋ณด๊ณ ์์ด ํ์ชฝ์ด ์์ ๋๋ฉด ๋ค๋ฅธ ํ์ชฝ๋ ๋ณ๊ฒฝ๋๋ค.
- ๋ฐฉ์ด์ ๋ณต์ฌ
๐์๋ฐ List ์ข ๋ฅ
- ArrayList : Vector ํด๋์ค์ ๋จ์ ์ ๋ณด์ํ๊ธฐ ์ํด์ ๋์จ ํด๋์ค. ๊ฐ์ฒด๋ฅผ ์ถ๊ฐํ๋ฉด ๊ฐ์ฒด๊ฐ ์ธ๋ฑ์ค๋ก ๊ด๋ฆฌ๋๋ค. ์ธ๋ฑ์ค๋ก ๊ด๋ฆฌ๋๋ ๊ฒ์ ๋ฐฐ์ด๊ณผ ์ ์ฌํ์ง๋ง ์ฌ์ฉ์ค์ ํฌ๊ธฐ๊ฐ ๋ณํ ์ ์๋ค๋ ํฐ ์ฐจ์ด์ ์ด ์๋ค. Thread-safeํ์ง ๋ชปํ๋ค. ๋ฉํฐ์ค๋ ๋ ํ๊ฒฝ์์ ์ฌ์ฉํด์ผ ํ๋ค๋ฉด CopyOnWriteArrayList ๋๋ Collections.synchronizedList๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ArrayList๋ ์ด๊ธฐ ์ฉ๋์ด 10์ด๊ณ ์ด๊ณผํ๋ฉด 1.5๋ฐฐ, iterator๋ง์ฌ์ฉํ ์ ์๋ค.
- Vector : ๋ฒกํฐ๋ ์๋ฐ ์ปฌ๋ ์ ํ๋ ์์ํฌ๊ฐ ๋์ค๊ธฐ ์ ๋ถํฐ ์๋ ํด๋์ค. ์์๋ฅผ ์ ์งํ๊ณ , ์ค๋ณต์ ํ์ฉํ๋ค. , iterator์ Enumeration์ด ์ฌ์ฉ๊ฐ๋ฅํ๋ค. ์ด๊ธฐ์ฉ๋ 10์ด๊ณ ์ด๊ณผํ๋ฉด 2๋ฐฐ. HashTable๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์์ค ์ฝ๋ ํธํ ๋๋ฌธ์ ๋จ์ ์๋ ํด๋์ค ์ด๊ธฐ ๋๋ฌธ์ ArrayList๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ถ์ฒ๋๋ค. Vector๊ฐ ์ฑ๋ฅ์ ์ผ๋ก ๋ฌธ์ ๊ฐ ๋๋ ๊ฑด Thread-safe ํน์ฑ ๋๋ฌธ์ธ๋ฐ ๋๊ธฐํ๊ฐ ํ์ํ์ง ์ฌ๋ถ์ ์๊ด์์ด ์์ ์ ์ ๊ทธ๋ ์ค๋ฒํค๋๊ฐ ์๊ธฐ ๋๋ฌธ.
- LinkedList : ๋งํฌ๋๋ฆฌ์คํธ ์ญ์ List์ ๊ตฌํ์ฒด์ง๋ง, ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐ์์ ์ผ๋ก ์ฌ์ฉํ์ง ์๊ณ ๋ฐ์ดํฐ๋ฅผ ๋ด์ ๋ ธ๋๋ค์ ์ด์ ๊ณผ ๋ค์ ๋ ธ๋๋ฅผ ๋ํ๋ด๋ ํฌ์ธํฐ๋ฅผ ํตํด ์ฐ๊ฒฐ๋๋ค. ๋ฐฐ์ด์์๋ ์ค๊ฐ ๊ฐ์ ์ฝ์ ํ๊ฑฐ๋ ์ญ์ ํ๋ฉด ๊ทธ ๋ค์ ๊ฐ์ ์ ๋ถ ์์ผ๋ก ๋๊ณ ์ค๊ฑฐ๋ ๋ฐ์ด๋ด์ผํ๋ ํฐ ์ด๋์ด ์๋๋ฐ ๋งํฌ๋๋ฆฌ์คํธ ์ฌ์ด์ ๊ฐ์ ์ฝ์ , ์ญ์ ์ ์ฐ๊ฒฐํ๋ ํฌ์ธํฐ๋ฅผ ์์ ํ๊ธฐ๋ง ํ๋ฉด ๋๋ฏ๋ก ์ด๋ฐ ์ํฉ์์์ ์ฑ๋ฅ์ด ์ฐ์ํ๋ค
๐ ๋งํฌ๋ ๋ฆฌ์คํธ ์ข ๋ฅ
- ๋จ์ผ ์ฐ๊ฒฐ ๋ฆฌ์คํธ (singly linked list)
์ ์ฅํ๋ ๋ฐ์ดํฐ๊ฐ ๋ค์ด๊ฐ๋ ๋ฐ์ดํฐ ํ๋์ ๋ค์ ๋ ธ๋๋ฅผ ๊ฐ๋ฆฌํค๋ ๋งํฌ ํ๋๊ฐ ์๋๋ฐ ๋จ์ผ ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ ๋ง์ง๋ง ๋ ธ๋์ ๋งํฌ๊ฐ null๋ก์จ ๋ง์ง๋ง ๋ ธ๋๋ฅผ ํํํ๋ ๊ฒ์ด ํน์ง
- ์ํ ์ฐ๊ฒฐ ๋ฆฌ์คํธ (circular linked list)
๋ง์ง๋ง ๋ ธ๋์ ๋งํฌํ๋๊ฐ null์ด ์๋๋ผ ์ฒซ ๋ฒ์งธ ๋ ธ๋๋ฅผ ๊ฐ๋ฆฌํค๋ ๊ฒ์ด ํน์ง
ํ๋์ ๋ ธ๋์์ ๋ค๋ฅธ ๋ชจ๋ ๋ ธ๋๋ก ์ ๊ทผ์ด ๊ฐ๋ฅํด(?) ์ฝ์ ๊ณผ ์ญ์ ๊ฐ ์ฉ์ด
- ์ด์ค ์ฐ๊ฒฐ ๋ฆฌ์คํธ (doubly linked list)
ํ ๋ ธ๋์ ์ค๋ฅธ์ชฝ ๋งํฌ, ์ผ์ชฝ ๋งํฌ๊ฐ ์กด์ฌํ๋ค. ํน์ ๋ ธ๋์์ ์๋ฐฉํฅ์ผ๋ก ์์ ๋กญ๊ฒ ์์ง์ผ ์ ์์ด, ๋จ์ผ ๋ฆฌ์คํธ๊ฐ ์ ํ ๋ ธ๋๋ฅผ ์ฐพ๊ธฐ ํ๋ ๊ฒ, ์ํ ๋ฆฌ์คํธ๋ ํ๋ฐํด๋ฅผ ๋ค์ ๋์ ์ ํ ๋ ธ๋๋ฅผ ์ฐพ์์ผํ๋ ์ ๋ฑ์ ๋จ์ ์ ๋ณด์ํ๋ค.
๊ทธ๋ฌ๋ ๋งํฌํ๋๊ฐ ๋์ด๋จ์ ์์ด ๊ณต๊ฐ์ ๋ ๋ง์ด ์ฐจ์งํ๊ฒ ๋์๊ณ ์ฝ๋๊ฐ ๋ณต์กํ๋ค๋ ๋จ์ ์ด ์๋ค.
+ ์ ์ด๋ฐ ์ข ๋ฅ๊ฐ ๋์์๊น? ๋ฌด์จ ๋ฌธ์ ์ ์ด ์ผ์ด๋์ ์๊ฒผ์๊น?
์คํ๋ง ๋ถํธ ์๋จ Tomcat์ด ํ๋ก HTTP ์์ฒญ์ ๋ฐ์, ์ด๊ฒ ์์ด๋ฉด ๋ค์ ์ค๋ ์์ฒญ์ด ๋ฒ๋ ค์ง๊ธฐ๋ ํ๋ค. ๊ทธ๋ฆฌ๊ณ request๋ Ack์ ๋ฐ๊ธฐ ์ ๊น์ง ๊ณ์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๋? ์ด๊ฑฐ๋ ์ข๋
๐ ์ฐ์ ์์ ํ๋ ์ด๋ค ์๋ฃ๊ตฌ์กฐ๋ก ์ด๋ฃจ์ด์ ธ์๋์ง, ํ์ ๋ํ ๊ฑธ ๋ ๋ณด์ํด
'Memo' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฉด์ ๋๋น] ์ค๋ฒ๋ก๋ฉ vs ์ค๋ฒ๋ผ์ด๋ฉ, RDB vs NoSql (0) | 2023.03.02 |
---|---|
๋ฉด์ ๋๋น - ํ๋ก๊ทธ๋๋ฐ, ์๊ฐ๋ณต์ก๋ vs ๊ณต๊ฐ๋ณต์ก๋ (0) | 2023.03.01 |
๋ฉด์ ๋๋น - Spring Test์ฐจ์ด, ํธ๋์ญ์ , TCP vs UDP (0) | 2023.02.27 |
๋ฉด์ ๋๋น - parameter vs argument, ํ๋ก์ธ์ค vs ์ค๋ ๋ (0) | 2023.02.24 |
๋ฉด์ ๋๋น - MSA & ์ ๋ค๋ฆญ & List, Set, Map, HashMap์ ์ฐจ์ด (0) | 2023.02.23 |