์ข์ REST API
์ด ๊ธ์ YouTube์ ๊ฒ์๋ ์ด์์ค ์ฐ์ฌ๋์ โ๊ทธ์ ๊ทธ๋ฐ REST API๋ก ๊ด์ฐฎ์๊ฐโ ์ธ๋ฏธ๋๋ฅผ ๋ณด๊ณ ๊ฐ์ธ์ ์ธ ์ฉ๋๋ก ๊ธฐ๋กํ๊ธฐ ์ํด ์์ฑํ ๊ธ์ ๋๋ค ใ ใ
๋ชฐ๋ ค์๋ ์ํ๋ค์ด ๋๋๊ณ ์ฝ๊ฐ์ ์ฌ์ ๊ฐ ์๊ฒจ์ โ๋์ค์ ๋ณด๊ธฐโ ๋ชฉ๋ก์ ๋ฌตํ ๋ ์์๋ค์ ์ดํด๋ณด๋ ์ค ์๊ฒ์ ๋ณด๊ฒ ๋์๋ค. 47๋ถ์ ์งง์ง ์์ ๋ถ๋์ด์ง๋ง, ์ฐ์ฌ๋๊ป์ ์ ๋ง ์ฝ๊ณ ์ฌ๋ฏธ์๊ฒ ๊ฐ์ฐ์ ํด์ฃผ์ ์ ๋ฃ๋ ๋ด๋ด ์ง๋ฃจํ์ง ์์๋ค!!
์๋ฒ ๊ฐ๋ฐ์๋ก์ โREST
๋ฅผ ๋ง์กฑํ๋ ์๋ฒ๋ฅผ ๋ง๋ค์ด์ผ ํ๋ค!โ๋ ์๋ฆฌ๋ฅผ ๋ง์ด ๋ค์๊ณ , ๊ฐ์ธ์ ์ผ๋ก๋ HTTP Method
๋ฅผ ์ฐ๊ณ , HTTP StateCode
๋ฅผ ์ ์ฐ๋ฉด RESTful
์๋ฒ๋ฅผ ๊ฐ๋ฐํ๊ณ ์๋ค๊ณ ์๊ฐํ๋ค.
์ธ๋ฏธ๋๋ REST
์ ์ฐฝ์์์ธ Roy Fielding ํ๋์ด ์ถ๊ตฌํ๋ REST
๋ฅผ ๋ช
ํํ๊ฒ ์ ๋ฌํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ง๊ธ์ ํต์ฉ๋๋ REST API
๋ ์ฌ์ค ์ ํํ๊ฒ REST
ํ์ง๋ ์๋ค๋ ๊ฒ์ ๋งํ๋ค.
๊ทธ๋ฆฌ๊ณ ์ง์ ์ผ๋ก RESTful
ํ API๋ฅผ ๋ง๋๋ ค๊ณ ํ๋ค๋ฉด, ์๋์ ๊ฐ์ ์กฐ๊ฑด์ ๋ง์กฑํด์ผ ํ๋ค๊ณ R. Fielding ํ๋์ ์ฃผ์ฅํ๋ค.
- Uniform Interface
- Identification of Resources
- Resource๋ฅผ ๊ตฌ๋ถ(identify)ํ๋ โ์ข์โ ์ด๋ฆ์ ๋ถ์ฌํ๋ผ๋ ๋ง.
- Manipulation of Resources through Representations
- ์๋ฒ๊ฐ ์ ๋ฌํ๋ ์ ๋ณด๊ฐ ์ด๋ป๊ฒ ํํ๋๋์ง ๋ช ์ํ๋ผ.
- HTTP ํค๋์
Content-Type: test/html
๋ฑ์ ์ฌ์ฉํ๋ผ๋ ๋ง
- Self-descriptive message
- HATEOAS
- Identification of Resources
์์ ๋ ๊ฐ์ง ์กฐ๊ฑด์ ํต์ฉ๋๋ REST API
๋ค๋ ๋๋ฆ ์ ์งํค๊ณ ์๋ค.
๋ณธ์ธ๋ Content-Type
์กฐ๊ฑด์ ์ ์ ์ง์ผฐ๋ค. ๋ฐ์ฑํ๋ค ใ
ใ
Self-descriptive message
์๋กญ๊ฒ ์๊ฒ ๋ ์ด ์กฐ๊ฑด์ GET
body์ ํฌํจ๋ ์ ๋ณด์ ๋ํ ์ถฉ๋ถํ ์ค๋ช
(description)์ด HTTP Message์ ๋ด๊ฒจ์ผ ํ๋ค๋ ๊ฒ์ด๋ค. ํ์ง๋ง ์ธ๋ฏธ๋๋ฅผ ํตํด ์์๋ฅผ ํ์ธํด๋ ์ด ์กฐ๊ฑด์ด ์ ํ์ํ์ง ๊ณต๊ฐํ์ง๋ ๋ชป ํ๋ค.
์ฌ์ค Self-descriptive message๋ HATEOAS๋ ๋ณธ์ธ์ ๋๋ค ์ด๊ฒ ์ ๋ง ํ์ํ์ง ์๋ฟ์ง ์๋๋ค. ์์ง ๊ฐ๋ฐ ๊ฒฝํ์ด ๋ถ์กฑํ ๊ฑด์ง, ์น ๊ทผ๋ณธ์ฃผ์์๋ค์ด ์ค์์ํ๋ ์น-๋ถ๊ดด ํ์์ ๋ํด ๋๊ฐํ ๊ฑด์ง ๋ง์ด๋ค.
์๋ง ์ด ์ธ๋ฏธ๋์ ๊ฐ์ฅ ํฐ ๊ตํ์ ์น ํธํ์ฑ์ ๋ํ ๋ด์ฉ์ด๋ค. ์ ๋ชฉ์ ์ ๋ง REST
์ ๋ํ ํจ๋ฌ๋ค์์ ๋ถ์ฌ๋ ๋ฌธ์ฅ์ด์์ง๋ง, ๋ง์ ๋ด์ฉ์ ๋ค์ฌ๋ค๋ณด๋ REST
๋ โ์น ํธํ์ฑโ์ด๋ผ๋ ๊ถ๊ทน์ ๊ฐ์น๋ฅผ ์งํค๊ธฐ ์ํ โ๊ฐ์ด๋ ๋ผ์ธโ์ ์ญํ ์ ํ๊ธฐ์ํด ๋ ๊ฐ๋ ฅํ REST
๋ฅผ ๊ถ์ฅํ๋ค๋ ๊ฑฐ์๋ค.
ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ๊ฐ๊ฐ ๋ ๋ฆฝ์ ์ผ๋ก ์งํํ๋ค.
์ W3C์ ๋ฉค๋ฒ๋ค์ด HTML๋ฅผ ๋ค๋ฌ๋์ง 6-7๋ ์ด๋ ๋๋ ์๊ฐ์ด ๊ฑธ๋ ธ๋์ง๋ ๊ทธ๋งํผ ์น์ด๋ผ๋ ์ํ๊ณ๊ฐ ๊ฐ๋ฐ์๋ ๋ฌผ๋ก ํ๋์ธ์ ์ํ์๋ ๋ฐ์ ํ๊ฒ ๊ด๋ จ์ด ๋์ด ์๊ธฐ ๋๋ฌธ์ ํจ๋ถ๋ก ๋ฐ๊ฟ ์ ์๋ค๋ ๊ฑฐ๋ค.
์ด๋ฐ ์ ์ ์ ๋ง Python
์ด๋ TensorFlow
์ ๊ฐ์ ๊ฐ๋ฐ์๋ค๋ง ์ฌ์ฉํ๋ ์ํ์๋ ๋์กฐ์ ์ธ ๊ฒ ๊ฐ๋ค. ๊ฐ์ธ์ ์ผ๋ก TF
๋ TF2.0
์ด ์ถ์๋๋ฉด์ ๊ทนํ์ด ๋์๋ค
๋ณ ๊ธฐ๋ ์์ด ๋ดค๋ ์ธ๋ฏธ๋์๋๋ฐ, ์น๊ฐ๋ฐ์ ๋ํ ์ ๋ง ์ข์ ์ด์ผ๊ธฐ๋ฅผ ๋ค์ ๊ฒ ๊ฐ์ ๊ธฐ๋ถ์ด ์ข๋ค ใ ใ
Reference
- What RESTful actually means
- ์์ ํฌ์คํธ์์
REST
์ ๋ํด ์ ๋ค๋ฃจ๊ณ ์์ด์ ์ธ๋ฏธ๋ ๋ด์ฉ์ ๊ธ๋ก ๋ค์ ์ดํดํ๋ ๋ฐ์ ๋์์ด ๋ง์ด ๋๋ค ใ ใ
- ์์ ํฌ์คํธ์์