๋ชฉ์ฐจ
2.1 ๋๊ฐ ๋ฐ ์์ฌ์ฝ๋ ๊ท์ฝ
2.2 ์ ์ถ์ํ ๊ณ์ธต์ ๋ง๋๋๊ฐ?
2.3 ์ฝ๋์ ๊ณ์ธต
2.4 ๋ง์ดํฌ๋ก์๋น์ค๋ ์ด๋ค๊ฐ?
์์ฝ
2์ฅ์ ๋ค์๊ณผ ๊ฐ์ ๋ด์ฉ์ ๋ค๋ฃฌ๋ค.
- ๊น๋ํ ์ถ์ํ ๊ฒ์ธต์ ํตํด ํ์ ๋ฌธ์ ๋ก ์ธ๋ถํํ๋ ๋ฐฉ๋ฒ
- ์ถ์ํ ๊ณ์ธต์ด ์ฝ๋ ํ์ง์ ์์๋ฅผ ๋ฌ์ฑํ๋ ๋ฐ ์ด๋ป๊ฒ ๋์์ด ๋๋์ง
- API ๋ฐ ๊ตฌํ ์ธ๋ถ ์ฌํญ
- ํจ์, ํด๋์ค ๋ฐ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํด ์ฝ๋๋ฅผ ์ถ์ํ ๊ณ์ธต์ผ๋ก ๋๋๋ ๋ฐฉ๋ฒ
2.1 ๋๊ฐ ๋ฐ ์์ฌ์ฝ๋ ๊ท์ฝ
๋ง์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์๋ ๊ฐ(๋๋ ์ฐธ์กฐ/ํฌ์ธํฐ)์ด ์๋ค๋ ๊ฐ๋ ์ ๊ฐ์ง๊ณ ์๋ค. ์ด ๊ฐ๋ ์ ํํํ๊ธฐ ์ํด ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ๋null๊ฐ์ ์ฌ์ฉํ๋ค. ํ์ง๋ง ๋๊ฐ์ ๋๋ฌด ๋ง์ ์ฅ๋จ์ ์ด ์๋ค.
- ๊ฐ์ด ์ ๊ณต๋์ง ์๊ฑฐ๋ ํจ์๊ฐ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ ์ ์๋ ๊ฒฝ์ฐ๊ฐ ์์ฃผ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ "๊ฐ์ด ์๋ค" ๋๋ "๋ถ์ฌํ๋ค"๋ ๊ฐ๋ ์ ์์ฉํ์ง๋ง
- ๊ฐ์ด ๋์ผ ์ ์๋๋ ํน์ ๋์ด๋ฉด ์ ๋๋ ๊ฒฝ์ฐ๊ฐ ํญ์ ๋ช ๋ฐฑํ ๊ฒ์ ์๋๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค. ๋ํ ๊ฐ๋ฐ์๋ค์ ๋ณ์์ ์ก์ธ์คํ๊ธฐ ์ ์ ๋๊ฐ์ธ์ง ํ์ธํ๋ ๊ฒ์ ์์ฃผ ์๊ณ ์ด ๊ฒฝ์ฐ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
๋คํ์ค๋ฝ๊ฒ๋ ์ต๊ทผ ๋ช ๋ ๋์ ๋ ์์ ์ฑnull safety ํน์ ๋ณด์ด๋ ์์ ์ฑvoid safety์ ๋ํ ์๊ฐ์ด ์ค์๋๊ณ ์๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋๊ฐ์ด ๊ฐ๋ฅํ ๋ณ์๋ ๋ฐํ๊ฐ์ ๊ทธ์ ๋ง๊ฒ ํ์ํด์ผ ํ๊ณ ์ปดํ์ผ๋ฌ๋ ๋ฐ๋์ ๋๊ฐ ์ฌ๋ถ ํ์ธ์ ํ ์๋ฐ์ ์๋๋ก ๋ง๋ ๋ค.
์ต๊ทผ ๋ช ๋ ๊ฐ ์๋ก ๋ฑ์ฅํ ์ค์ํ ์ธ๋ค ๋๋ถ๋ถ์ ๋ ์์ ์ฑ์ ์ง์ํ๋ค. ๋ํ C#๊ณผ ๊ฐ์ ์ธ์ด๋ ์ต์ ๋ฒ์ ์์ ์ ํ์ ์ผ๋ก ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ์๋ฐ์์๋ ์ด๊ฒ์ ์ฌ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๋ค. ์ฌ์ฉ ์ค์ธ ์ธ์ด๊ฐ ๋ ์์ ์ฑ์ ์ง์ํ๋ค๋ฉด ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์๋ฐ ์ฌ์ฉ ์ค์ธ ์ธ์ด๊ฐ ๋ ์์ ์ฑ์ ์ง์ํ์ง ์๋๋ค๋ฉด, ๋๊ฐ์ ์ฌ์ฉํ๋ ๋์ ์ต์ ๋Optional ํ์ ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.(์๋ฐ, ๋ฌ์คํธ, C++ ๋ฑ์ ์ธ์ด์์ ์ง์)
๊ธฐ๋ณธ์ ์ผ๋ก ๋ณ์, ํจ์์ ๋งค๊ฐ๋ณ์ ๋ฐ ๋ฐํ ์ ํ์ ๋ชจ๋ ๋๊ฐ์ ๊ฐ์ง ์ ์๋ค. ๊ทธ๋ฌ๋ ๋ฐ์ดํฐ ์ ํ ์ด๋ฆ์ ๋์ "?" ๊ธฐํธ๊ฐ ๋ถ์ด ์์ผ๋ฉด ๋๊ฐ์ ๊ฐ์ง ์ ์๋ค๋ ์๋ฏธ์ด๊ณ ์ด๋๋ ๋๊ฐ ์ฌ๋ถ๋ฅผ ํ์ธํ์ง ์๊ณ ์๋ ์ฌ์ฉํ ์ ์๋๋ก ์ปดํ์ผ๋ฌ๊ฐ ๊ฐ์ ํ๋ค.
2.2 ์ ์ถ์ํ ๊ณ์ธต์ ๋ง๋๋๊ฐ?
์ฝ๋ ์์ฑ์ ๋ณต์กํ ๋ฌธ์ ๋ฅผ ๊ณ์ํด์ ๋ ์์ ํ์ ๋ฌธ์ ๋ก ์ธ๋ถํํ๋ ์์ ์ด๋ค. ์ด๊ฒ์ ์ค๋ช ํ๊ธฐ ์ํด ์ฌ์ฉ์์ ์ด๋ค ์ฅ์น์์ ์คํ๋๋ฉด์ ์๋ฒ์ ๋ฉ์์ง๋ฅผ ๋ณด๋ด๋ ์ฝ๋๋ฅผ ์์ฑํ๋ค๊ณ ๊ฐ์ ํด๋ณด์. ์ฝ๋๋ ๋จ ์ธ ์ค๋ฆฌ๊ณ ๋ค์๊ณผ ๊ฐ์ ๋ค ๊ฐ์ง ๊ฐ๋จํ ๊ฐ๋ ๋ง ๋ค๋ฃจ๋ฉด ๋๋ค.
- ์๋ฒ์ URL
- ์ฐ๊ฒฐ
- ๋ฉ์ธ์ง ๋ฌธ์์ด ๋ณด๋ด๊ธฐ
- ์ฐ๊ฒฐ ๋ซ๊ธฐ
HttpConnection connection =
HttpConnection.connnect("http://example.com/server");
connection.send("Hello server");
connection.close();
์ด๊ฒ์ ์ค์ ๊ฐ๋จํ ๋ฌธ์ ๊ฐ ์๋๋ค. ํด๋ผ์ด์ธํธ ์ฅ์น์์ ์๋ฒ๋ก 'Hello server'๋ผ๋ ๋ฌธ์์ด์ ๋ณด๋ด๋ ๋ฐ๋ ๋ค์๊ณผ ๊ฐ์ ์ผ์ด ์ผ์ด๋๋ค.
- ์ ์กํ ์ ์๋ ํ์์ผ๋ก ๋ฌธ์์ด ์ง๋ ฌํ
- HTTP ํ๋กํ ์ฝ์ ๋ชจ๋ ๋ณต์กํ ๋์
- TCP ์ฐ๊ฒฐ
- ์ฌ์ฉ์์ ์ฅ์น๊ฐ ์์ดํ์ด ํน์ ์ ๋ฃฐ๋ฌ ๋คํธ์ํฌ์ ์ฐ๊ฒฐ๋์ด ์๋์ง ์ฌ๋ถ ํ์ธ
- ๋ฐ์ดํฐ๋ฅผ ๋ผ๋์ค ์ ํธ๋ก ๋ณ์กฐ
- ๋ฐ์ดํฐ ์ ์ก ์ค๋ฅ ๋ฐ ์์
์ด ์๋ ์๋ฒ์ ๋ฉ์์ง๋ฅผ ๋ณด๋ด์ผ ํ๋ค๋ ์์ ์์ค์ ๋ฌธ์ ๊ฐ ์๋ค. ๊ทธ๋ฌ๋ ์ด๋ฅผ ์ํด (์์์ ๋์ดํ ๊ฒ ๋ฑ) ํด๊ฒฐํด์ผ ํ ํ์ ๋ฌธ์ ๊ฐ ๋ง๋ค. ๋คํ์ค๋ฝ๊ฒ๋ ๋ค๋ฅธ ๊ฐ๋ฐ์๋ค์ด ์ด ๋ชจ๋ ํ์ ๋ฌธ์ ๋ฅผ ์ด๋ฏธ ํด๊ฒฐํ๊ธฐ ๋๋ฌธ์ ์ฐ๋ฆฐ ๊ทธ๊ฒ๋ค์ ์ธ์ํ ํ์๋ ์์ด์ก๋ค.
ํ๋์ ๋ฌธ์ ๊ฐ ์์ ๋ ์ด ๋ฌธ์ ์ ํ์ ๋ฌธ์ ์ ๋ํ ํด๊ฒฐ์ฑ ์ด ์ผ๋ จ์ ์ธต์ ํ์ฑํ๊ณ ์๋ ๊ฒ์ผ๋ก ์๊ฐํ ์ ์๋ค. ์ต์์ ๊ณ์ธต์์๋ HTTP ํ๋กํ ์ฝ์ด ์ด๋ป๊ฒ ๊ตฌํ๋๋์ง ์ ํ์๊ฐ ์์ด ์๋ฒ์ ๋ฉ์์ง๋ฅผ ๋ณด๋ด๋ ๊ฒ๋ง ์ ๊ฒฝ์ ์ฐ๋ฉด์ ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋ค. ์ด์ ๋น์ทํ๊ฒ HTTP ํ๋กํ ์ฝ์ ๊ตฌํํ๊ธฐ ์ํ ์ฝ๋๋ฅผ ์์ฑํ ์์ง๋์ด๋ ๋ฐ์ดํฐ๊ฐ ๋ฌด์ ์ ํธ์ ๋ณ์กฐ๋๋ ๋ฐฉ๋ฒ์ ๋ํด ์๋ฌด๊ฒ๋ ๋ชฐ๋ผ๋ ๋ฌธ์ ๊ฐ ์์์ ๊ฒ์ด๋ค. HttpConnection ์ฝ๋๋ฅผ ๊ตฌํํ ๊ฐ๋ฐ์๋ ๋ฌผ๋ฆฌ์ ์ธ ๋ฐ์ดํฐ ์ ์ก์ ์ถ์์ ์ธ ๊ฐ๋ ์ผ๋ก ์๊ฐํ ์ ์์๊ณ , ์ฐ๋ฆฌ ์ญ์ HTTP ์ฐ๊ฒฐ์ ์ถ์์ ์ธ ๊ฐ๋ ์ผ๋ก ์๊ฐํ ์ ์๋ค. ์ด๊ฒ์ ์ถ์ํ ๊ณ์ธตlayers of abstraction์ด๋ผ๊ณ ํ๋ค.

์ข ๋ ์ผ๋ฐ์ ์ผ๋ก ๋งํด์ ์ด๋ค ๋ฌธ์ ๋ฅผ ํ์ ๋ฌธ์ ๋ก ๊ณ์ํด์ ๋๋์ด ๋ด๋ ค๊ฐ๋ฉด์ ์ถ์ํ ๊ณ์ธต์ ๋ง๋ ๋ค๋ฉด, ๊ฐ์ ์ธต์ ๋ด์์๋ ์ฝ๊ฒ ์ดํดํ ์ ์๋ ๋ช ๊ฐ์ ๊ฐ๋ ๋ง์ ๋ค๋ฃจ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ณ ์ฝ๋๋ ํน๋ณํ ๋ณต์กํด ๋ณด์ด์ง ์์ ๊ฒ์ด๋ค. ์ํํธ์จ์ด ์์ง๋์ด๋ก์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๋ ์ด๊ฒ์ด ๋ชฉํ๊ฐ ๋์ด์ผ ํ๋ค.
2.2.1 ์ถ์ํ ๊ณ์ธต ๋ฐ ์ฝ๋ ํ์ง์ ํต์ฌ ์์
๊นจ๋ํ๊ณ ๋๋ ทํ ์ถ์ํ ๊ณ์ธต์ ๊ตฌ์ถํ๋ฉด 1์ฅ์์ ์ดํด๋ณธ ์ฝ๋ ํ์ง์ ๋ค ๊ฐ์ง ํต์ฌ ์์(๊ฐ๋ ์ฑ, ๋ชจ๋ํ, ์ฌ์ฌ์ฉ์ฑ ๋ฐ ์ผ๋ฐํ์ฑ, ํ ์คํธ ์ฉ์ด์ฑ)์ ๋ฌ์ฑํ ์ ์๋ค. ๊ทธ ์ด์ ๋ ๋ค์๊ณผ ๊ฐ๋ค.
๊ฐ๋
์ฑ
๊ฐ๋ฐ์๋ค์ด ์ฝ๋๋ฒ ์ด์ค์ ์๋ ์ฝ๋์ ๋ชจ๋ ์ธ๋ถ ์ฌํญ์ ์ดํดํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํ์ง๋ง ๋ช ๊ฐ์ง ๋์ ๊ณ์ธต์ ์ถ์ํ๋ฅผ ์ดํดํ๊ณ ์ฌ์ฉํ๊ธฐ๋ ์๋นํ ์ฝ๋ค. ๊นจ๋ํ๊ณ ๋๋ ทํ ์ถ์ํ ๊ฒ์ธต์ ๋ง๋๋ ๊ฒ์ ๊ฐ๋ฐ์๊ฐ ํ ๋ฒ์ ํ๋ ๊ฐ ์ ๋์ ๊ณ์ธต๊ณผ ๋ช ๊ฐ์ ๊ฐ๋
๋ง ๋ค๋ฃจ๋ฉด ๋๋ค๋ ๊ฒ์ ์๋ฏธํ๊ธฐ ๋๋ฌธ์ ์ฝ๋์ ๊ฐ๋
์ฑ์ด ํฌ๊ฒ ํฅ์๋๋ค.
๋ชจ๋ํ
์ถ์ํ ๊ณ์ธต์ด ํ์ ๋ฌธ์ ์ ๋ํ ํด๊ฒฐ์ฑ
์ ๊น๋ํ๊ฒ ๋๋๊ณ ๊ตฌํ ์ธ๋ถ ์ฌํญ์ด ์ธ๋ถ๋ก ๋
ธ์ถ๋์ง ์๋๋ก ๋ณด์ํ ๋, ๋ค๋ฅธ ๊ณ์ธต์ด๋ ์ฝ๋์ ์ผ๋ถ์ ์ํฅ์ ๋ฏธ์น์ง ์๊ณ ๊ณ์ธต ๋ด์์๋ง ๊ตฌํ์ ๋ณ๊ฒฝํ๊ธฐ๊ฐ ๋งค์ฐ ์ฌ์์ง๋ค. ๋ชจ๋ํ๊ฐ ์ ๋์ด ์๋ค๋ฉด ์์ ์์ค์ ์ฝ๋์์๋ ๋ค์ํ ์ํฉ์ ๋์ฒํ๊ธฐ ์ํด ์ด๋ค ํน๋ณํ ์์ฑ์ ์ํํ ํ์๊ฐ ์๋ค.
์ฌ์ฌ์ฉ์ฑ ๋ฐ ์ผ๋ฐํ์ฑ
ํ์ ๋ฌธ์ ์ ๋ํ ํด๊ฒฐ์ฑ
์ด ๊ฐ๊ฒฐํ ์ถ์ํ ๊ณ์ธต์ผ๋ก ์ ์๊ดด๋ฉด ํด๋น ํ์ ๋ฌธ์ ์ ๋ํ ํด๊ฒฐ์ฑ์ ์ฌ์ฌ์ฉํ๊ธฐ๊ฐ ์ฌ์ด์ง๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฌธ์ ๊ฐ ์ ์ ํ๊ฒ ์ถ์์ ์ธ ํ์ ๋ฌธ์ ๋ก ์ธ๋ถํ๋๋ค๋ฉด, ํด๊ฒฐ์ฑ
์ ์ฌ๋ฌ ๊ฐ์ง ๋ค๋ฅธ ์ํฉ์์ ์ ์ฉํ๊ฒ ์ผ๋ฐํ๋ ๊ฐ๋ฅ์ฑ์ด ํฌ๋ค.
ํ
์คํธ ์ฉ์ด์ฑ
์ ๋ขฐํ ์ ์๋ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ์ ํ๋ค๋ฉด, ๊ฐ ํ์ ๋ฌธ์ ์ ๋ํ ํด๊ฒฐ์ฑ
์ด ๊ฒฌ๊ณ ํ๊ณ ์ ๋๋ก ์๋ํ๋์ง ํ์ธํด์ผ ํ๋ค. ์ฝ๋๊ฐ ์ถ์ํ ๊ณ์ธต์ผ๋ก ๊นจ๋ํ๊ฒ ๋ถํ ๋๋ฉด ๊ฐ ํ์ ๋ฌธ์ ์ ๋ํ ํด๊ฒฐ์ฑ
์ ์๋ฒฝํ๊ฒ ํ
์คํธํ๋ ๊ฒ์ด ํจ์ฌ ์ฌ์ด์ง๋ค.
2.3 ์ฝ๋์ ๊ณ์ธต
์ค์ ๋ก ์ถ์ํ ๊ณ์ธต์ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ์ฝ๋๋ฅผ ์๋ก ๋ค๋ฅธ ๋จ์๋ก ๋ถํ ํ์ฌ ๋จ์ ๊ฐ์ ์์กด ๊ด๊ณ๋ฅผ ๋ณด์ฌ์ฃผ๋ ์์กด์ฑ ๊ทธ๋ํ๋ฅผ ์์ฑํ๋ ๊ฒ์ด๋ค. ๋๋ถ๋ถ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ์ฝ๋๋ฅผ ๋ค๋ฅธ ๋จ์๋ก ๋๋๊ธฐ ์ํด ๋ช ๊ฐ์ง ์ธ์ด ์์๋ฅผ ์์ ๋กญ๊ฒ ์ฌ์ฉํ ์ ์๋ค. ๋์ฒด์ ์ผ๋ก ๊ทธ ์์๋ ๋ค์๊ณผ ๊ฐ๋ค.
- ํจ์
- ํด๋์ค(๋ฐ ๊ตฌ์กฐ์ฒด๋ ๋ฏน์ค์ธ๊ณผ ๊ฐ์ด ํด๋์ค์ ๋น์ทํ ์์๋ ๊ฐ๋ฅ)
- ์ธํฐํ์ด์ค(๋๋ ์ด์ ๋์ผํ ์์)
- ํจํค์ง, ๋ค์์คํ์ด์ค, ๋ชจ๋

2.3.1 API ๋ฐ ๊ตฌํ ์ธ๋ถ ์ฌํญ
์ฝ๋๋ฅผ ์์ฑํ ๋ ๊ณ ๋ คํด์ผ ํ ์ธก๋ฉด์ด ๋ ๊ฐ์ง ์๋ค.
- ์ฝ๋๋ฅผ ํธ์ถํ ๋ ๋ณผ ์ ์๋ ๋ด์ฉ:
- ํผ๋ธ๋ฆญ ํด๋์ค, ์ธํฐํ์ด์ค ๋ฐ ํจ์(๋ฉ์๋)
- ์ด๋ฆ, ์ ๋ ฅ ๋งค๊ฐ๋ณ์ ๋ฐ ๋ฐํ ์ ํ์ด ํํํ๊ณ ์ ํ๋ ๊ฐ๋
- ์ฝ๋ ํธ์ถ ์ ์ฝ๋๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ฌ์ฉํ๊ธฐ ์ํด ์์์ผ ํ๋ ์ถ๊ฐ ์ ๋ณด(์: ํธ์ถ ์์)
- ์ฝ๋๋ฅผ ํธ์ถํ ๋ ๋ณผ ์ ์๋ ๋ด์ฉ: ๊ตฌํ ์ธ๋ถ ์ฌํญ
์๋น์ค๋ฅผ ๊ตฌ์ถํ๊ฑฐ๋ ํธ์ถํ๋ ๋ฑ์ ์์ฑ์ ํด๋ณธ ์ ์ด ์๋ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ํ๋ก๊ทธ๋๋ฐ ์ธํฐํ์ด์คapplication programming interface, API๋ผ๋ ์ฉ์ด์ ์ต์ํ ๊ฒ์ด๋ค. API๋ ์๋ธ๋ฅผ ์ฌ์ฉํ ๋ ์์์ผ ํ ๊ฒ๋ค์ ๋ํ ๊ฐ๋ ์ ํ์ํํ๊ณ , ์๋น์ค์ ๋ชจ๋ ๊ตฌํ ์ธ๋ถ ์ฌํญ์ ์ด API ๋ค์ ๊ฐ์ถ๋ค.
์์ฑํ ์ฝ๋๋ฅผ ๋ค๋ฅธ ์ฝ๋๋ค์ด ์ฌ์ฉํ ์ ์๋๋ก ๋ฏธ๋ API๋ฅผ ๋ ธ์ถํ๋ ๊ฒ์ผ๋ก ์๊ฐํ๋ฉด ์ ์ฉํ ๋๊ฐ ์๋๋ฐ ๊ฐ๋ฐ์๋ค์ ์ข ์ข ํด๋์ค, ์ธํฐํ์ด์ค, ํจ์๋ค์ 'API ๋ ธ์ถ'์ด๋ผ๊ณ ๋งํ๊ณค ํ๋ค. ์๋ ๊ทธ๋ฆผ์ ํด๋์ค์ ๋ค์ํ ์ธก๋ฉด์ ์ด๋ป๊ฒ ๊ณต๊ฐ API์ ์ผ๋ถ์ ๊ตฌํ ์ธ๋ถ ์ฌํญ์ผ๋ก ๋๋ ์ ์๋์ง ์์๋ฅผ ๋ณด์ฌ์ค๋ค.

API๋ ํธ์ถํ๋ ์ชฝ์ ๊ณต๊ฐํ ๊ฐ๋ ๋ง ์ ์ํ๋ฉด ๋๊ณ ๊ทธ ์ด์ธ์ ๋ชจ๋ ๊ฒ์ ๊ตฌํ ์ธ๋ถ ์ฌํญ์ด๊ธฐ ๋๋ฌธ์ ์ฝ๋๋ฅผ API์ ๊ด์ ์์ ์๊ฐํ๋ฉด ์ถ์ํ ๊ณ์ธต์ ๋ช ํํ๊ฒ ๋ง๋๋ ๋ฐ ๋์์ด ๋๋ค. ์ฝ๋์ ์ผ๋ถ๋ฅผ ์์ฑํ๊ฑฐ๋ ์์ ํ ๋, API์ ์ด ์์ ์ฌํญ์ ๋ํ ๊ตฌํ ์ธ๋ถ ์ ๋ณด๊ฐ ์์ด ๋๊ฐ๋ค๋ฉด ์ถ์ํ ๊ฒ์ธต์ด ๋ช ํํ๊ฒ ๊ตฌ๋ถ๋์ด ์ด๋ฃจ์ด์ง ๊ฒ์ด ์๋๋ค.
2.3.2 ํจ์
์ด๋ค ๋ก์ง์ ์๋ก์ด ํจ์๋ก ๊ตฌํํ๋ฉด ๋๋ถ๋ถ ์ ์ตํ๋ค. ๊ฐ ํจ์์ ํฌํจ๋ ์ฝ๋๊ฐ ์งง์ ๋ฌธ์ฅ์ฒ๋ผ ์ฝํ๋ฉด ์ด์์ ์ด๋ค. ๋๋ฌด ๋ง์ ๊ฐ๋ ์ ๋์์ ๋ค๋ฃจ๊ฒ ๋๋ฉด ์ฝ๋๊ฐ ์ดํดํ๊ธฐ ์ด๋ ต๋ค. ๋ํ ๋จ์ผ ํจ์ ๋ด์์ ๋๋ฌด ๋ง์ ์์ ์ ์ํํ๋ฉด ๊น์ด ์ค์ฒฉ๋ if ๋ฌธ๊ณผ ๊ฐ์ด ์ฝ๋๋ฅผ ์ดํดํ๊ธฐ ์ด๋ ต๊ฒ ๋ง๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค.
ํจ์๊ฐ ํ๋ ์ผ์ ๋ค์ ์ค ํ๋๋ก ์ ํํ๋ฉด ์ดํดํ๊ธฐ ์ฝ๊ณ ๋จ์ํ ๋ฌธ์ฅ์ผ๋ก ํํ๋๋ ํจ์๋ฅผ ์์ฑํ๊ธฐ ์ํ ์ข์ ์ ๋ ฅ์ด ๋ ์ ์๋ค
- ๋จ์ผ ์ ๋ฌด ์ํ
- ์ ๋ช ๋ช ๋ ๋ค๋ฅธ ํจ์๋ฅผ ํธ์ถํด์ ๋ ๋ณต์กํ ๋์ ๊ตฌ์ฑ
์ด ๋ ๊ฐ์ง ์ฌํญ์ด ์ ํํ๊ณ ๊ณผํ์ ์ธ ๊ฒ์ ์๋๋ค. '๋จ์ผ ์ ๋ฌด'๋ผ๋ ๊ฒ์ด ํด์ํ๊ธฐ ๋๋ฆ์ด๊ณ , ๋ค๋ฅธ ํจ์๋ฅผ ํธ์ถํด์ ๋ ๋ณต์กํ ๋์์ ๊ตฌ์ฑํ ๋์๋ ์ฌ์ ํ (if๋ฌธ ์ด๋ for ๋ฃจํ์ ๊ฐ์ด) ์ฝ๊ฐ์ ์ ์ด ํ๋ฆ์ด ํ์ํ๊ธฐ ๋๋ฌธ์ด๋ค.
์ผ๋จ ํจ์๋ฅผ ์์ฑํ์ผ๋ฉด ์์ฑ๋ ์ฝ๋๋ฅผ ๋ฌธ์ฅ์ผ๋ก ๋ง๋ค์ด๋ณด๋ฉด ์ข๋ค. ๋ฌธ์ฅ์ ๋ง๋ค๊ธฐ ์ด๋ ต๊ฑฐ๋ ๋๋ฌด ์ด์ํ๋ฉด ํจ์๊ฐ ๋๋ฌด ๊ธธ๋ค๋ ๊ฒ์ ์๋ฏธํ๊ณ ๋ ์์ ํจ์๋ก ๋๋๋ ๊ฒ์ด ์ ์ตํ ๊ฒ์ด๋ค.
ํจ์๋ฅผ ์๊ฒ ๋ง๋ค๊ณ ์ํํ๋ ์์ ์ ๋ช ํํ๊ฒ ํ๋ฉด ์ฝ๋์ ๊ฐ๋ ์ฑ๊ณผ ์ฌ์ฌ์ฉ์ฑ์ด ๋์์ง๋ค. ์ฝ๋ ์์ฑ์ ์ผ๋จ ๋ง์น๊ณ ์ฝ๋ ๊ฒํ ๋ฅผ ์์ฒญํ๊ธฐ ์ ์ ์์ ์ด ์์ฑํ ์ฝ๋๋ฅผ ๋นํ์ ์ผ๋ก ๋ค์ ํ๋ฒ ์ดํด๋ณด๋ ๊ฒ์ด ์ข๋ค. ํจ์๋ฅผ ํ ๋ฌธ์ฅ์ผ๋ก ํํํ๊ธฐ ์ด๋ ต๊ฒ ๊ตฌํํ๋ค๋ฉด ๋ก์ง์ ์ผ๋ถ๋ฅผ ์ ๋ช ๋ช ๋ ํฌํผ ํจ์๋ก ๋ถ๋ฆฌํ๋ ๊ฒ์ ๊ณ ๋ คํด๋ด์ผ ํ๋ค.
2.3.3 ํด๋์ค
๊ฐ๋ฐ์๋ค์ ๋จ์ผ ํด๋์ค์ ์ด์์ ์ธ ํฌ๊ธฐ์ ๋ํด ๋ ผ์ํ๊ณ ๋ค์๊ณผ ๊ฐ์ ๋ง์ ์ด๋ก ๊ณผ ๊ฒฝํ ๋ฒ์น์ ์ ์ํ๋ค.
- ์ค ์number of lines: ๋๋๋ก 'ํ ํด๋์ค๋ ์ฝ๋ 300์ค์ ๋์ง ์์์ผ ํ๋ค'์ ๊ฐ์ ๊ฐ์ด๋๋ผ์ธ์ ์ ํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค.
- 300์ค๋ณด๋ค ๊ธด ํด๋์ค๋ ๋๋ฌด ๋ง์ ๊ฐ๋ ์ ๋ค๋ฃจ๋ฏ๋ก ๋ถ๋ฆฌํด์ผ ํ๋ค๋ ๊ฒ์ (ํญ์์ ์๋) ์์ฃผ ๋ง์ ๊ฒฝ์ฐ์ ์ฌ์ค์ด์ง๋ง ์ด๊ฒ์ด ๋ฌด์กฐ๊ฑด ์ ์ ํ ํฌ๊ธฐ์์ ๋ปํ์ง๋ ์๋๋ค. ์ด๊ฒ์ ์ด๋ค ๊ฒ์ด ์๋ชป๋์์์ง๋ ๋ชจ๋ฅธ๋ค๋ ๊ฒฝ๊ณ ์ ์ญํ ๋ง ํ ๋ฟ, ์ด๋ค ๊ฒ์ด ์ณ๋ค๋ ๋ณด์ฅ์ ์๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ์ด์ ๊ฐ์ ๊ท์น์ ์ค์ ๋ก ์ฌ์ฉํ๊ธฐ์๋ ์๋นํ ์ ํ์ ์ด๋ค.
- ์์ง๋ ฅcohesion: ์ด๊ฒ์ ํ ํด๋์ค ๋ด์ ๋ชจ๋ ์์๋ค์ด ์ผ๋ง๋ ์ ์ํด ์๋์ง๋ฅผ ๋ณด์ฌ์ฃผ๋ ์ฒ๋๋ก, ์ข์ ํด๋์ค๋ ๋งค์ฐ ์์ง๋ ฅ์ด ๊ฐํ๋ค. ์ด๋ค ๊ฒ๋ค์ด ์ด๋ป๊ฒ ๊ฒฐ์๋์ด ์๋์ง ๋ถ๋ฅํ ์ ์๋ ๋ฐฉ์์ด ๋ง์ด ์๋๋ฐ ๋ค์์ ์ด์ ๋ํ ๋ช ๊ฐ์ง ์๋ค
- ์์ฐจ์ ์์ง๋ ฅ: ์ด๊ฒ์ ํ ์์์ ์ถ๋ ฅ์ด ๋ค๋ฅธ ์์์ ๋ํ ์ ๋ ฅ์ผ๋ก ํ์ํ ๋ ๋ฐ์ํ๋ค.
- ๊ธฐ๋ฅ์ ์์ง๋ ฅ: ์ด๊ฒ์ ๋ช ๊ฐ์ง ์์๋ค์ด ๋ชจ์ฌ์ ํ๋์ ์ผ์ ์ฑ์ทจํ๋ ๋ฐ ๊ธฐ์ฌํ ๋ ๋ฐ์ํ๋ค.
- ๊ด์ฌ์ฌ์ ๋ถ๋ฆฌseparation of concerns: ์ด๊ฒ์ ์์คํ ์ด ๊ฐ๊ฐ ๋ณ๊ฐ์ ๋ฌธ์ (๋๋ ๊ด์ฌ์ฌ)๋ฅผ๋ค๋ฃจ๋ ๊ฐ๋ณ ๊ตฌ์ฑ ์์๋ก ๋ถ๋ฆฌ๋์ด์ผ ํ๋ค๊ณ ์ฃผ์ฅํ๋ ์ค๊ณ ์์น์ด๋ค. ์ด๊ฒ์ ์ค์ ์ ์ธ ์๋ ๊ฒ์ ์ฝ์์ด TV์ ๋์ผํ ์ ํ์ผ๋ก ํจ๊ป ๋ฌถ์ด์ง ์๊ณ , TV์ ๋ถ๋ฆฌ๋๋ ๋ฐฉ์์์ ์ฐพ์๋ณผ ์ ์๋ค.
์์ง๋ ฅ๊ณผ ๊ด์ฌ์ฌ์ ๋ถ๋ฆฌ์ ๋ํด ์๊ฐํ ๋๋ ์๋ก ๊ด๋ จ๋ ์ฌ๋ฌ ๊ฐ์ง ์ฌํญ์ ํ๋์ ์ฌํญ์ผ๋ก ๊ฐ์ฃผํ๋ ๊ฒ์ ์ด๋ ์์ค์์ ํด์ผ ์ ์ฉํ ์ง ๊ฒฐ์ ํด์ผ ํ๋ค. ์ด๊ฒ์ ๋งค์ฐ ์ฃผ๊ด์ ์ผ ์ ์๊ธฐ ๋๋ฌธ์ ์ข ์ข ๋ณด๊ธฐ๋ณด๋ค ๊น๋ค๋ก์ธ ์ ์๋ค.
'ํด๋์ค๋ ์์ง๋ ฅ์ด ์์ด์ผ ํ๊ณ ํ ๊ฐ์ง ์ผ์๋ง ๊ด์ฌ์ ๊ฐ์ ธ์ผ ํ๋ค' ๋ผ๋ ๋ง์ ์๊ณ ์์ง๋ง ์ฌ์ ํ ๋ง์ ๊ฐ๋ฐ์๋ค์ ๋๋ฌด ํฐ ํด๋์ค๋ฅผ ์์ฑํ๋ค. ๋จ์ผ ํด๋์ค ๋ด์ ์ผ๋ง๋ ๋ง์ ๋ค๋ฅธ ๊ฐ๋ ์ด ๋ค์ด๊ฐ ์๋์ง, ๊ทธ๋ฆฌ๊ณ ์ด๋ค ๋ก์ง์ด ์ฌ์ฌ์ฉ์ด๋ ์ฌ๊ตฌ์ฑ์ ์ ํฉํ์ง์ ๋ํ ๊ฐ๋ฐ์๊ฐ ์ ์คํ๊ฒ ์๊ฐํ์ง ์์ผ๋ฉด ํด๋์ค๋ ์ข ์ข ๋๋ฌด ์ปค์ง๋ค. ๋ฐ๋ผ์ ๊ธฐ์กด ์ฝ๋๋ฅผ ์์ ํ ๋๋ ์์ ํ ์๋ก์ด ์ฝ๋๋ฅผ ์์ฑํ ๋ ํด๋์ค๊ฐ ๋๋ฌด ์ปค์ง๋ ๊ฒ์ ์๋์ง ์ฃผ์ํด์ผ ํ๋ค.

2.3.4 ์ธํฐํ์ด์ค
๊ณ์ธต ์ฌ์ด๋ฅผ ๋๋ ท์ด ๊ตฌ๋ถํ๊ณ ๊ตฌํ ์ธ๋ถ ์ฌํญ์ด ๊ฒ์ธต ์ฌ์ด์ ์ ์ถ๋์ง ์๋๋ก ํ๊ธฐ ์ํด ์ฌ์ฉํ ์ ์๋ ํ ๊ฐ์ง ์ ๊ทผ๋ฒ์ ์ด๋ค ํจ์๋ฅผ ์ธ๋ถ๋ก ๋ ธ์ถํ ๊ฒ์ธ์ง๋ฅผ ์ธํฐํ์ด์ค๋ฅผ ํตํด ๊ฒฐ์ ํ๋ ๊ฒ์ด๋ค. ๊ทธ ๋ค์ ์ด ์ธํฐํ์ด์ค์ ์ ์๋ ๋๋ก ํด๋์ค๊ฐ ํด๋น ๊ณ์ธต์ ๋ํ ์ฝ๋๋ฅผ ๊ตฌํํ๋ค. ์ด๋ณด๋ค ์์ ์๋ ๊ณ์ธต์ ์ธํฐํ์ด์ค์ ์์กดํ ๋ฟ ๋ก์ง์ ๊ตฌํํ๋ ๊ตฌ์ฒด์ ์ธ ํด๋์ค์ ์์กดํ์ง ์๋๋ค.
ํ๋์ ์ถ์ํ ๊ณ์ธต์ ๋ํด ๋ ๊ฐ์ง ์ด์์ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ๊ตฌํํ๊ฑฐ๋ ํฅํ ๋ค๋ฅด๊ฒ ๊ตฌํํ ๊ฒ์ผ๋ก ์์๋๋ ๊ฒฝ์ฐ ์ธํฐํ์ด์ค๋ฅผ ์ ์ํ๋ ๊ฒ์ด ์ข๋ค. ์ด๋ฅผ ํตํด ์ฝ๋๋ฅผ ๋์ฑ ๋ชจ๋ํํ ์ ์๊ณ ์ฌ์ค์ ๋ ํจ์ฌ ์ฝ๊ฒ ํ ์ ์๋ค.
๋ชจ๋ ๊ฒ์ ์ํ ์ธํฐํ์ด์ค?
์ฃผ์ด์ง ์ถ์ํ ๊ฒ์ธต์ ๋ํด ํ ๊ฐ์ง ๊ตฌํ๋ง ์๊ณ ํฅํ์ ๋ค๋ฅธ ๊ตฌํ์ ์ถ๊ฐํ ๊ณํ์ด ์๋๋ผ๋ ์ฌ์ ํ ์ธํฐํ์ด์ค๋ฅผ ํตํด ์ถ์ํ ๊ณ์ธต์ ํํํด์ผ ํ๋๊ฐ๋ ์ฌ๋ฌ๋ถ๊ณผ ์ฌ๋ฌ๋ถ์ ํ์ด ๊ฒฐ์ ํ ์ฌ์์ด๋ค. ๋ช๋ช ์ํํธ์จ์ด ๊ณตํ ์ฒ ํ์ ์ด ์ํฉ์์๋ ์ฌ์ ํ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ ๊ฒ์ ๊ถ๊ณ ํ๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ๋ช ๊ฐ์ง ์ฅ์ ์ด ์๋ค.
- ํผ๋ธ๋ฆญ API๋ฅผ ๋งค์ฐ ๋ช ํํ๊ฒ ๋ณด์ฌ์ค๋ค: ์ด ๊ณ์ธต์์ ์ฌ์ฉํด์ผ ํ๋ ๊ธฐ๋ฅ๊ณผ ์ฌ์ฉํ์ง ๋ง์์ผ ํ๋ ๊ธฐ๋ฅ์ ๋ํด ํผ๋ํ ์ผ์ด ์๋ค.
- ํ ๊ฐ์ง ๊ตฌํ๋ง ํ์ํ๋ค๊ณ ์๋ชป ์ถ์ธกํ ๊ฒ์ผ ์ ์๋ค: ๋จ์ง ๋ช ๊ฐ์ ๋จ๋ฝ์ ์๋ตํ๋ ๊ฒ์ผ๋ก ํ ์คํธ๋ฅผ ์์ฝํ๋ ๊ฒ์ด ๊ทธ๋ค์ง ํจ๊ณผ์ ์ด์ง ์๋ค๋ ๊ฒ์ ๊นจ๋ซ๊ณ , ์์ ํ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ํ ์คํธ๋ฅผ ์์ฝํ๋ ์๊ณ ๋ฆฌ์ฆ์ ์คํํ๊ธฐ๋ก ํ ์๋ ์๋ค.
- ํ ์คํธ๋ฅผ ์ฝ๊ฒ ํ ์ ์๋ค: ์๋ฅผ ๋ค์ด ๊ตฌํ ํด๋์ค๊ฐ ํน๋ณํ ๋ณต์กํ๊ฑฐ๋ ๋คํธ์ํฌ I/O์ ์์กดํ๋ ์์ ์ ์ํํ๋ค๋ฉด ํ ์คํธ ์ค์ ๋ชฉmock์ด๋ ํ์ดํฌ ๊ฐ์ฒด๋ก ๋์ฒํ ์ ์๋ค.
- ๊ฐ์ ํด๋์ค๋ก ๋ ๊ฐ์ง ํ์ ๋ฌธ์ ํด๊ฒฐ ๊ฐ๋ฅ: ํ ํด๋์ค๊ฐ ๋ ๊ฐ ์ด์์ ์๋ก ๋ค๋ฅธ ์ถ์ํ ๊ฒ์ธต์ ๊ตฌํ์ ์ ๊ณตํ ์๋ ์๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ฝ๋์ ์ผ๋ฐํ ๊ฐ๋ฅ์ฑ์ ํฌ๊ฒ ๋์ผ ์ ์๋ค.
ํ์ง๋ง ์ธํฐํ์ด์ค๋ฅผ ์ ์ํ ๋ ๋ค์๊ณผ ๊ฐ์ ๋จ์ ๋ ์ญ์ ์กด์ฌํ๋ค.
- ๋ ๋ง์ ์์ ์ด ํ์ํ๋ค: ์ธํฐํ์ด์ค๋ฅผ ์ ์ํ๋ ค๋ฉด ์ฝ๋๋ฅผ ๋ ์์ฑํด์ผ ํ๋ค(ํ์ผ๋ ์๋ก ํ์ํ ๊ฒ)
- ์ฝ๋๊ฐ ๋ณต์กํด์ง ์ ์๋ค: ๋ค๋ฅธ ๊ฐ๋ฐ์๊ฐ ์ฝ๋๋ฅผ ์ดํดํ๋ ค๊ณ ํ ๋, ๋ ผ๋ฆฌ๋ฅผ ํ์ํ๋ ๊ฒ์ด ์ด๋ ค์ธ ์ ์๋ค. ์ด๋ค ํ์ ๋ฌธ์ ๊ฐ ์ด๋ป๊ฒ ํด๊ฒฐ๋๊ณ ์๋์ง ์ดํดํ๊ธฐ๋ฅผ ์ํ๋ค๋ฉด, ๋จ์ง ํ์ ๊ณ์ธต์ ๊ตฌํํ๋ ํด๋์ค๋ก ์ง์ ์ด๋ํ๋ ๋์ , ์ธํฐํ์ด์ค๋ก ๋จผ์ ์ด๋ํ ๋ค์ ๊ทธ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ ๊ตฌ์ฒด์ ์ธ ํด๋์ค๋ฅผ ์ฐพ์์ผ ํ๋ค.
2.3.5 ์ธต์ด ๋๋ฌด ์์์ง ๋
์ฝ๋๋ฅผ ๋ณ๊ฐ์ ๊ณ์ธต์ผ๋ก ์ธ๋ถํํ๋ฉด ์ฅ์ ์ด ๋ง์ง๋ง ๋ค์๊ณผ ๊ฐ์ ์ถ๊ฐ ๋น์ฉ์ด ๋ฐ์ํ๋ค.
- ํด๋์ค๋ฅผ ์ ์ํ๊ฑฐ๋ ์์กด์ฑ์ ์ ํ์ผ๋ก ์ํฌํธํ๋ ค๊ณ ๋ฐ๋ณต์ ์ผ๋ก ์ฌ์ฉํ๋ ์ฝ๋๋ก ์ธํด ์ฝ๋์ ์์ด ๋์ด๋๋ค.
- ๋ก์ง์ ์ดํด๋ฅผ ์ํด ํ์ผ์ด๋ ํด๋์ค๋ฅผ ๋ฐ๋ผ๊ฐ ๋ ๋ ๋ง์ ๋ ธ๋ ฅ์ด ํ์ํ๋ค.
- ์ธํฐํ์ด์ค ๋ค์ ๊ณ์ธต์ ์จ๊ธฐ๊ฒ ๋๋ฉด ์ด๋ค ์ํฉ์์ ์ด๋ค ๊ตฌํ์ด ์ฌ์ฉ๋๋์ง ํ์ ํ๋ ๋ฐ ๋ ๋ง์ ๋ ธ๋ ฅ์ด ํ์ํ๋ค. ์ด๋ก ์ธํด ๋ก์ง์ ์ดํดํ๊ฑฐ๋ ๋๋ฒ๊น ํ๋ ๊ฒ์ด ๋ ์ด๋ ค์์ง ์ ์๋ค.
์ฝ๋๋ฅผ ์๋ก ๋ค๋ฅธ ๊ณ์ธต์ผ๋ก ๋ถํ ํด์ ์ป๋ ์ฅ์ ๊ณผ ๋น๊ตํ๋ฉด ์ด ๋น์ฉ์ด ์๋นํ ๋ฎ์ ๊ฒ์ด์ง๋ง, ๋ถํ ์ ์ํ ๋ถํ ์ ์๋ฏธ๊ฐ ์๋ค๋ ๊ฒ์ ๋ช ์ฌํด์ผ ํ๋ค. ๋น์ฉ์ด ์ด์ต๋ณด๋ค ๋ ํฐ ์์ ์ด ์ฌ ์ ์์ผ๋ฏ๋ก ์์์ ๋ง๊ฒ ์ ์ฉํ๋ ๊ฒ์ด ์ข๋ค.
์ฝ๋ ๊ณ์ธต์ ๊ท๋ชจ๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ๊ฒฐ์ ํ๋ ๊ฒ์ ์ค์ํ๋ค. ์ฝ๋๋ฒ ์ด์ค์ ์๋ฏธ ์๋ ์ถ์ํ ๊ณ์ธต์ด ์์ผ๋ฉด ์ ํ ๊ด๋ฆฌํ ์ ์๋ ์ฝ๋๊ฐ ๋๋ค. ๊ณ์ธต์ด ์๋๋ผ๋ ๊ฐ ๊ณ์ธต์ ๋๋ฌด ํฌ๊ฒ ์ชผ๊ฐ์ ธ์ผ ํ ์ฌ๋ฌ ์ถ์ํ๊ฐ ํ ๊ณ์ธต์ผ๋ก ๋ณํฉ๋์ด ๊ฒฐ๊ตญ์ ๋ชจ๋ํ๋์ง ์๊ณ , ์ฌ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ๊ฐ๋ ์ฑ์ด ๋ฎ์ ์ฝ๋๊ฐ ๋๋ค.
๋ฐ๋ฉด ๊ณ์ธต์ ๋๋ฌด ์๊ฒ ๋ง๋ค๋ฉด ๋จ์ผ ๊ฒ์ธต์ผ๋ก ๋ง๋ค์ด๋ ๋ ๊ฒ์ ๋๋ก ๋ถํดํ ๊ฒ์ด๊ณ , ์ด๊ฒ์ ๋ถํ์ํ ๋ณต์ก์ฑ์ ์ด๋ํ ์ ์๋ค. ๋ํ ์ธ์ ํ ๊ณ์ธต๋ค์ด ์๋ ๋์ด์ผ ํ๋ ๋๋ก ์ ๋ถ๋ฆฌ๋์ง ์์์์ ์๋ฏธํ ์๋ ์๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋๋ฌด ๋ง์ ์ผ์ ํ๋ ๊ณ์ธต์ ๋๋ฌด ์ ์ ์ผ์ ํ๋ ๊ณ์ธต๋ณด๋ค ๋ ๋ฌธ์ ๊ฐ ๋ ์ ์๋ค.
๋ฐ๋ผ์ ์ด๋ค ๊ฒ์ด ๋ ๋์์ง ํ์คํ์ง ์๋ค๋ฉด, ๋๋ฌด ๋ง์ ๊ณ์ธต์ ๋จ์ฉํ๋ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ ธ์ค๋๋ผ๋ ๊ณ์ธต์ ์ฌ๋ฌ ๊ฐ๋ก ๋๋๋ ๊ฒ์ด ํ ๊ณ์ธต ์์ ๋ชจ๋ ์ฝ๋๋ฅผ ์ง์ด๋ฃ๋ ๊ฒ๋ณด๋ค๋ ๋ซ๋ค.
2.4 ๋ง์ดํฌ๋ก์๋น์ค๋ ์ด๋ค๊ฐ?
๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ์์๋ ๊ฐ๋ณ ๋ฌธ์ ์ ๋ํ ํด๊ฒฐ์ฑ ์ด ๋จ์ง ๋จ์ผ ํ๋ก๊ทธ๋จ์ผ๋ก ์ปดํ์ผ๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ค์ด ์๋๋ผ ๋ ๋ฆฝ์ ์ผ๋ก ์คํ๋๋ ์๋น์ค๋ก ๋ฐฐํฌ๋๋ค. ์ฆ, ์์คํ ์ด ์ฌ๋ฌ ๊ฐ์ ์๊ท๋ชจ ํ๋ก๊ทธ๋จ์ผ๋ก ๋ถํ ๋์ด ํน์ ์์ ๋ง ์ ๋ฌธ์ ์ผ๋ก ์ํํ๋ค. ์ด๋ฐ ์๊ท๋ชจ ํ๋ก๊ทธ๋จ์ API๋ฅผ ํตํด ์๊ฒฉ์ผ๋ก ํธ์ถํ ์ ์๋ ์ ์ฉ ์๋น์ค๋ก ๋ฐฐํฌ๋๋ค.
๋ง์ดํฌ๋ก์๋น์ค๋ ๊ฐ๊ฒฐํ ์ถ์ํ ๊ณ์ธต์ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ ๋ง์ดํฌ๋ก์๋น์ค๋ฅผ ์ฌ์ฉํ ๋ ์ฝ๋ ๊ตฌ์กฐ๋ฅผ ๋ง๋ค๊ณ ์ฝ๋์ ์ถ์ํ ๊ณ์ธต์ ๋ง๋๋ ๊ฒ์ ์ค์ํ์ง ์๋ค. ์ฆ, ๋ด๋ถ์ ์ฝ๋๊ฐ ์ด๋ป๊ฒ ๊ตฌ์ฑ๋๊ณ ๋๋ ์ง๋์ง๋ ์ค์ํ์ง ์๋ค๋ ๊ฒ์ด๋ค.
๋ง์ดํฌ๋ก์๋น์ค๋ ์์คํ ์ ๋ถ๋ฆฌํ์ฌ ๋ณด๋ค ๋ชจ๋ํํ ์ ์๋ ๋งค์ฐ ์ข์ ๋ฐฉ๋ฒ์ด์ง๋ง, ์๋น์ค๋ฅผ ๊ตฌํํ๊ธฐ ์ํด ์ฌ๋ฌ ํ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผ ํ๋ค๋ ์ฌ์ค์ ๋ฐ๋์ง ์๋๋ค. ์ฌ๋ฐ๋ฅธ ์ถ์ํ ๋ฐ ์ฝ๋ ๊ณ์ธต์ ๋ง๋๋ ๊ฒ์ ์ฌ์ ํ ์ค์ํ๋ค.
์์ฝ
- ์ฝ๋๋ฅผ ๊นจ๋ํ๊ณ ๋๋ ทํ ์ถ์ํ ๊ณ์ธต์ผ๋ก ์ธ๋ถํํ๋ฉด ๊ฐ๋ ์ฑ, ๋ชจ๋ํ, ์ฌ์ฌ์ฉ, ์ผ๋ฐํ ๋ฐ ํ ์คํธ ์ฉ์ด์ฑ์ด ํฅ์๋๋ค.
- ํน์ ์ธ์ด์ ๊ตญํ๋ ๊ธฐ๋ฅ๋ฟ๋ง ์๋๋ผ ํจ์, ํด๋์ค ๋ฐ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๋๋ฅผ ์ถ์ํ ๊ณ์ธต์ผ๋ก ๋๋ ์ ์๋ค.
- ์ฝ๋๋ฅผ ์ถ์ํ ๊ณ์ธต์ผ๋ก ๋ถ๋ฅํ๋ ๋ฐฉ๋ฒ์ ๊ฒฐ์ ํ๋ ค๋ฉด ํด๊ฒฐ ์ค์ธ ๋ฌธ์ ์ ๋ํ ํ๋จ๊ณผ ์ง์์ ์ฌ์ฉํด์ผ ํ๋ค.
- ๋๋ฌด ๋น๋ํ ๊ณ์ธต ๋๋ฌธ์ ๋ฐ์ํ๋ ๋ฌธ์ ๋ ๋๋ฌด ์์ ๊ณ์ธต ๋๋ฌธ์ ๋ฐ์ํ๋ ๋ฌธ์ ๋ณด๋ค ๋ ์ฌ๊ฐํ๋ค. ํ์คํ์ง ์์ ๊ฒฝ์ฐ์๋ ๋จ์ฉ์ ์ํ์๋ ๋ถ๊ตฌํ๊ณ ๊ฒ์ธต์ ์๊ฒ ๋ง๋๋ ๊ฒ์ด ์ข๋ค.