[Design Pattern] Adapter ํจํด
Adaper ํจํด ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํจ์ผ๋ก์จ ํธํ๋์ง ์๋ ์๋ณธ ์ธํฐํ์ด์ค๋ฅผ ์ด์ฉํ ์ ์๊ฒ ํจ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ ๋ฐ์ดํธ ๋ฐ ๊ต์ฒด์ ์ ์ฐํ๊ฒ ๋์ฒํ ์ ์์
Adaper ํจํด ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํจ์ผ๋ก์จ ํธํ๋์ง ์๋ ์๋ณธ ์ธํฐํ์ด์ค๋ฅผ ์ด์ฉํ ์ ์๊ฒ ํจ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ ๋ฐ์ดํธ ๋ฐ ๊ต์ฒด์ ์ ์ฐํ๊ฒ ๋์ฒํ ์ ์์
Host ๋คํธ์ํฌ์ ์ฐ๊ฒฐ๋ ๋ชจ๋ ์ข ๋ฅ์ ์ฅ์น๋ฅผ Node ๋ ธ๋ ์ค IP ์ฃผ์(๋คํธ์ํฌ ์ฃผ์)๊ฐ ํ ๋น๋ ๊ฒ๋ค์ Host Host๋ค๋ผ๋ฆฌ ๋ฐ์ดํฐ๋ฅผ ์ก์์ ํ๋ค ๋ฐ์ดํฐ์ ์ก์์ ์ Host๊ฐ ์คํํ๋ Process๊ฐ ์ํ
์ฐ๊ฒฐ ์งํฅ vs. ๋น์ฐ๊ฒฐ ์งํฅ
ํ๋กํ ์ฝ Protocol ๋คํธ์ํฌ ํ๊ฒฝ ๋ด ๋ชจ๋ ๊ธฐ๊ธฐ๊ฐ ์๋ก ํต์ ํ๋ฉฐ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ผ๋ ค๋ฉด, ๊ฐ ๊ธฐ๊ธฐ์๋ ์ฌ์ ํ์๋ ํต์ ํ์ฝ/๊ท์ฝ์ด ํ์ ์ปดํจํฐ๋ ์๊ฑฐ๋ฆฌ ํต์ ์ฅ๋น ์ฌ์ด์์ ๋ฉ์์ง๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ์์๊ณผ ๊ท์น์ ์ฒด๊ณ ์ ํธ ์ฒด๊ณ, ์ธ์ฆ, ๊ทธ๋ฆฌ๊ณ ์ค๋ฅ ๊ฐ์ง ๋ฐ ์์ ๊ธฐ๋ฅ์ ํฌํจ ๊ตฌํ๋๋ ๋ฐฉ๋ฒ์ ๋ ๋ฆฝ์ ์ด๋, ํ๋์จ์ด ๋๋ ์ํํธ์จ์ด ๊ทธ๋ฆฌ๊ณ ...
HTTP HyperText Transfer Protocol HTML ๋ฌธ์์ ๊ฐ์ ๋ฆฌ์์ค๋ค์ ๊ฐ์ ธ์ฌ ์ ์๋๋ก ํด์ฃผ๋ ํ๋กํ ์ฝ Plain text๋ก๋ถํฐ JSON ๋ฐ์ดํฐ ๋ฐ XML๊ณผ ๊ฐ์ ํํ์ ์ ๋ณด๋ ์ก์์ ๊ฐ๋ฅ ๋ณดํต์ ํด๋ผ์ด์ธํธ๊ฐ ์ด๋ค ์ ๋ณด๋ฅผ HTML ํํ๋ก ๋ฐ๊ณ ์ถ์์ง, JSON ํํ๋ก ๋ฐ๊ณ ์ถ์์ง ๋ช ์ ...
์๋ก ์ฐธ์กฐํ๋ shared_ptr ์ํ ์ฐธ์กฐํ๋ shared_ptr์ ์ฌ์ฉํ์ง ์๋๋๋ ์๋์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ํด์ ๋ถ๊ฐ
์์ ๊ด๋ฆฌ๋ฅผ ๋ชปํ๋ ์๊ฐ
shared_ptr ์ฌ๋ฌ ๊ฐ์ ์ค๋งํธ ํฌ์ธํฐ๊ฐ ํ๋์ ๊ฐ์ฒด๋ฅผ ๊ฐ์ด ์์ ํด์ผํ๋ ์ํฉ ํ๋์ ์์์ ๋ช๊ฐ์ ํฌ์ธํฐ๊ฐ ๊ฐ๋ฆฌํค๋์ง ์ถ์ ํ๋ ํฌ์ธํฐ control block์ ํ ๋นํ์ฌ ๋ณต์ฌ๋ฅผ ํ์ฉ ๊ฐ shared_ptr ๊ฐ์ฒด์ ์ ์ฅ๋๋ ๊ฒ์ด ์๋๋ผ ์ค์ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๋ control block์ ํ ๋น ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๋...
์๋ฒฝํ ์ ๋ฌ perfect forwarding wrapper ํจ์๊ฐ ํ์ํ ๊ฒฝ์ฐ
move semantic