Deview-2017 Day1 ๋ฆฌ๋ทฐ
๋ฒ์จ 10๋ฒ์งธ Naver์์ ์ฃผ์ตํ๋ Deview. ์ฌํด๋ ์ด๊น์์ด ์ฐธ์์ ํ๊ฒ ๋์๊ณ , ์ด๋ฒ์ ๋ณด๊ณ ๋ฃ๊ณ ๋๊ผ๋ ๋ถ๋ถ๋ค์ ์กฐ๊ธ์ด๋ผ๋ ๊ฐ์งํ๊ณ ์ถ์ ๋ง์์ ๋ฐ๋ก ๋ธ๋ก๊น
์ ํ๋ ค๊ณ ํ๋ค. (์ค๋๋ง์ ๋ธ๋ก๊น
์ด๊ธด ํ์ง๋ง…)
ํญ์ Deview์ ์ฌ๋๋ง๋ค ๋๋ผ๋ ๋ถ๋ถ์ธ๋ฐ ์ด๋ฒ์ฐธ์์ด 3๋ฒ์งธ ๋๋๋ฏ ํ๋ค
์ธ์์ ์ข๊ณ ๋ฅ๋ ฅ์๋ ๋ง์ผ๋ฉฐ ๋ด๊ฐ ํ๋ฒ์ฏค ๋ณธ๊ฒ๋ค์ ์ด๋ฏธ ์ง๋๊ฐ ๊ธฐ์ ๋ค์ด๋ผ๋๊ฒ, ๋๋ถ์ด ๋จ์์์ ์ฌ๋ผ๊ฐ ๋ฐํํ๋ ์ฌ๋๋ค๋ ์์ ์ ๋์ ๋๊ฐ์ด ๋ฐํ๋ฅผ ๋ฃ๋ ์ผ๋ฐ ์ฌ๋์ด์๋ค๋๊ฒ. ์ด๋ฒ์๋ ๋ง์ ์๊ฐ์ ํ๊ฒ ๋์๋ค. ๊ตฌ๊ตฌ์ ์ ๊ฐ์ธ์ ์ผ๋ก ๋๋์ ์ ์ ๋๊ฒ์ ์์ ๊ฐํ ๊ธฐ์ต์ด ๋จ์๋ ๋ช๋ช ์ธ์
๋ค์ ๋ํด์ ๊ฐ๋ตํ๊ฒ ๋ฆฌ๋ทฐ๋ฅผ ๋จผ์ ํ๋๊ฒ ๋ง๋ ์์๊ฐ๋ค.
์ฑ ์ฝ์ด์ฃผ๋ ๋ฅ๋ฌ๋ ( ๊นํํ / ๋ฐ๋ธ์์คํฐ์ฆ )
๋ค์ด๋ฒ์์ ์ ์ธ๋์ ๋ชฉ์๋ฆฌ๋ก ์ฑ
์ ์ฝ์ด์ฃผ๋๊ฒ์ ๋ณด๊ณ ํฅ๋ฏธ๋ฅผ ์ป์ด ๊ฐ๋ฐํ๊ธฐ ์์ํ๋ค๊ณ ํ๋ค.
์์ฑํฉ์ฑ์ ๋ฐ์ดํฐ๊ฐ ๋ง์์ผ ๋จธ์ ๋ฌ๋์ด๋ ๋ฅ๋ฌ๋ ๊ธฐ์ ์ ์ ๋ชฉ์ํค๋๋ฐ ๋์์ด ๋๋๋ฐ ๋ฐ๊ทผํ ์ ๋ํต๋ น
, ๋ฌธ์ฌ์ธ ๋ํต๋ น
, ์์ํฌ ์๋์ด์
์ ์์์์ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ์ฌ ๋ฌธ์ฅ๋ณ๋ก ํ
์คํธ-์์ฑ์ ๋ง์ถ๊ณ (pair) ๋จธ์ ๋ฌ๋ + ๋ฅ๋ฌ๋ ๊ธฐ์ ์ ์ด์ฉํด์ ๋ง๋ค์ ์์๋ค๊ณ ํ๋ค. ์ถํ ๋๊ตฌ๋ ์ฌ์ฉํ ์ ์๋๋ก ํ์ด์ฌ ๋ชจ๋๋ก ์ ๊ณตํ๋ค๊ณ ํ๋, ๊ฐ์ฌํ ๋ฐ๋ฆ์ด๋ค.
์ฌ์ค ๋จธ์ ๋ฌ๋์ ๊ด์ฌ๋ง
์์์ง ์ด๋ ๋คํ ๊ณต๋ถ๋ ์ง์ ๊ตฌํ์ ๋จํ๋ฒ๋ ์ํด๋ณด๊ณ ํด๋น ์ธ์
์ ๋ค์ด๋ณด๋ ๊ทธ๋ฅ ์ฐ์ ์ ๊ธฐํ๋ค
์ ๋์๋๋ฐ. ์ด๋ฒ๊ธฐํ์ ์์๊ฒ๋ถํฐ ํ๋์ฉ ์์ํ๋ฉด์ ์์ฆ์ ํซํ(?) ํธ๋๋๋ฅผ ๋ฐ๋ผ๊ฐ๋ ๊ฒ๋ ๊ด์ฐฎ์ ๋ฐฉ๋ฒ๊ฐ์ ๋ณด์ธ๋ค. (์, ์ฐ์ ํ์ด์ฌ๋ถํฐ…)
๊ทธ๋ฐ REST API๋ก ๊ด์ฐฎ์๊ฐ ( ์ด์์ค / ๋น๋ฐ๋ฆฌํผ๋ธ๋ฆฌ์นด )
๋ฐํ์๋ถ์ ์ด๋์ ๋ง์ด ๋ดค๋ค ํ๋๋๋ง ์์ ์ ์ฐ๋ฆฌ ํ์ฌ ์ฌ๋์ด์๋ค. ์์
๋ ๋ค์ด๋ดค๊ณ , ๊ฐ์ด ์๊ณ ๋ฆฌ์ฆ ์คํฐ๋๋ ํ๊ณ (ํ๋ฒ ๋๊ฐ์ง๋ง…). ๋ฐํ ์ฒซ ๋ถ๋ถ์ ์์ ์ด 10๋
์ ์ ๋ฐ๋ทฐ staff ๋ฅผ ์์ํ๋๋ฐ 10๋
์ ๋ค ๋ชป์ฑ์ฐ๊ณ ํด์ฌ๋ฅผ ํ๋ค๊ณ ใ
ใ
.. ์๋ฌดํผ ๊ฐ์ธ์ ์ผ๋ก ๋๋ฆ ๋ฐ๊ฐ์ด ๋ถ์ด๋ผ ๋ ๊ด์ฌ๊ฐ๊ณ ๋ฃ๊ฒ ๋์๋ค.
REST ๊ฐ ๋ฌด์์ธ๊ฐ?
์ ๋ํ ๋ฐํ๋ค. ๊ฒฐ๋ก ๋ถํฐ ๋งํ์๋ฉด ์๋ 3๊ฐ์ง์ค ํ๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋ ๊ฒ์ด๋ผ๊ณ ํ๋ค.
- REST API ๋ฅผ ๊ตฌํํ๊ณ REST API๋ผ๊ณ ๋ถ๋ฅธ๋ค.
- REST API ๊ตฌํ์ ํฌ๊ธฐํ๊ณ HTTP API ๋ผ๊ณ ๋ถ๋ฅธ๋ค.
- REST API ๊ฐ ์๋์ง๋ง REST API ๋ผ๊ณ ๋ถ๋ฅธ๋ค. (ํ์ฌ ๋๋ถ๋ถ์ API๋ค์ ์ํ)
REST API๋ฅผ ๊ตฌ์ฑํ๋ ์คํ์ผ์ค ๋์ฌ๊ฒจ ๋ณผ๋งํ ๋ถ๋ถ์ ํฌ๊ฒ ๋๊ฐ์ง๊ฐ ์๋ค๊ณ ํ๋ค. (uniform interface)
- self-descriptive messages : ๋ฉ์์ง๋ ์ค์ค๋ก ์ค๋ช ์ด ๋์ด์ผ ํ๋ค.
- hypermedia as the engine of application state (HATEOAS) : ์ ์ด(์ํ์ ์ด๋)๊ฐ ๋ ์์๋ ์ ๋ณด๊ฐ ์์ด์ผ ํ๋ค.
์ ๋ฆฌ๋ฅผ ํด๋ณด๋ฉด REST API๋ก ๋ง๋ค๋ ค๋ฉด ์ ๋๋ก ์๊ณ ๋ง๋ค์ด๋ผ
๋ผ๋ ๋ฉ์์ง๊ฐ ๊ฐํ ๋ฐํ๋ด์ฉ๊ฐ๋ค. ๋๋ ์ด์ ๊น์ง๋ ๊ทธ๋ฅ json ์ผ๋ก ๋ด๋ ค์ค๋ค๋ ๊ฒ, GETใPOST ๋ฑ HTTP Method ์ฌ์ฉํ๋ ๊ฒ์ผ๋ก๋ง ์๊ณ ์์๋๋ฐ ๊ฐ์ธ์ ์ผ๋ก๋ ๋ฐํ์๋ถ์ด ๋ง์ํ์ ๋๊ฐ์ง ๋ด์ฉ์ ์งํค๋๊ฒ ๋ง๋ค๊ณ ์๊ฐํ๋ค. ์ฆ, ์ ๋ง REST ํ๊ฒ ๋ง๋ค๊บผ๋ฉด ์ ํํ ์ฌ์ฉ๋ฒ์ ์๊ณ ๋ง๋๋๊ฒ ์ข์๋ณด์ธ๋ค.
๋๋ค ์ปคํผ์ต๋ ์ฌ์ด๋ ์ค๋๋ฅผ ์ธ ์ ์์๊น? ( ํํ, ๋๋์ง / ์ผ์ฑ์ ์[Lunch class] )
์ค๋ ๋ฐํ์ค์ ๊ฐ์ฅ ๋ค์ด๋ณด๊ณ ์ถ์๋ ์ธ์ . ์์ ๋ถํฐ ์ฌ์ด๋ ์ค๋๊ฐ ์ด๋ค์์ผ๋ก ๋์ํ๋์ง + ์ฐ๋ฆฌํ์ฌ ์ปคํผ์๋ ์ฌ๋ด ์ฑ์ ํ์ฉํด์ ๋ง๋ค์ด ๋ณผ์ ์์์ง(์์ด๋์ด) ์ด๋ฐ์ ๋ฐ ์๊ฐ์ด ๋ง์์๋๋ฐ ๋ฑ! ์ํ๋ ๋ฐํ๊ฐ ์์ด ๋ฃ๊ฒ ๋์๋ค. ์ผ์ฑ์ ์ ์์์ด์ ๋ถ๋ค์ด ๋ฐ๋ก ๊ทธ๋ฃน์ ๋ง๋ค์ด ์งํํ๋ฉด์ ๋ง๋ ๋ถ๋ถ๋ค์ ๋ฐํํด์ฃผ์ จ๋๋ฐ ์ ๊ธฐํ ๊ธฐ์ ๋ค์ด ๋ง์ ๋ฃ๋ ๋ด๋ด ํฅ๋ฏธ์ง์ง ํ๋ค.
- PWA(Progressive Web App) : PWA ๋ก ๋ชจ๋ฐ์ผ ์ฒญ์ฒฉ์ฅ์ ๋ง๋ค์๋ค๊ณ ํ๋ค. (๊ฒฐํผ์ ์ ๋ ์ ๋๋ค. ์ค๋ ๊ฒฐํผํฉ๋๋ค. ์ด๋ฒคํธ[์ถ์ฒจ]๋ฅผ ์งํํฉ๋๋ค. ๋ฑ๋ฑ..)
- Physical Web(Beacon), NFC …
- Browser Fingerprint (Device ๊ตฌ๋ถ)
- Push Nofification
- Web Payment
๊ฒฐ๊ตญ ์ ๋ฆฌ๋ฅผ ํด๋ณด๋ฉด ๋๋ค ์ปคํผ์ต์์ ์ฌ์ด๋ ์ค๋๋ฅผ ์ฌ์ฉํ๊ธฐ์ํด ์ด๋ฌ์ ๋ฌํ ๊ธฐ์ ๋ค์ ์๋ํด๋ดค๋ค~์ธ๋ฐ. ๊ฐ ๊ธฐ์ ๋ค์ ์์ด ํ์ค์ ์ธ ์ํฉ์ ํ๊ณ์ ์ด ์๊ณ , ๊ทธ๋์ ๊ฒฐ๊ตญ ์ฒ์์ ์ด์ผ๊ธฐ ๋ ๋๋ค ์ปคํผ์ต์์ ์ฌ์ด๋ ์ค๋๋ฅผ ์ฌ์ฉ
์ ๋ํ ๊ฒฐ๊ณผ๋ฌผ์ด ์์ด์ ์์ฌ์ ๋ค. ์์ฒญ ๊ธฐ๋ํ๋๋ฐ ๋ง์ด๋ค.
ํ์ง๋ง PWA๋ฅผ ์ด์ฉํด์ ๋ชจ๋ฐ์ผ ์ฒญ์ ์ฅ์ ๋ง๋ ๋ถ๋ถ์ ์ ๋ง ์ฐฌ์ฌ๋ฅผ ๋ณด๋ด์ฃผ๊ณ ์ถ์ ์์ด๋์ด ๊ฐ๋ค.๋๋ ๋์ค์ ํด์ผ์ง~
์์ “๋ ์จ"๋ผ๋ ์น์๋น์ค๋ฅผ ๋ง๋ค๋ฉด์ ์น
์ด๋ผ๋ ํ๊ฒฝ์์ ๊ธฐ์์๋ณด๋ ๊ฐ์์ค๋ฌ์ด ๋/๋น ์๋ฆผ์ ๋จ์ํ ํ๋ฉด์ ๋ฟ๋ ค์ฃผ๋๊ฒ์ด ์๋๋ผ ์ฌ์ฉ์ ๊ธฐ๊ธฐ์ ๋
ธํฐ(ํธ์)ํด์ค์๋ ์์๊นํ๋ฉฐ ์ ๊น ๋ณธ ๊ธฐ์ ์ด PWA ์๋๋ฐ ๋ ํ๋กํ ํ์ดํ๋ง ํด๋ณธ ์์ค์ด์ง๋ง ์ด๋ถ๋ค์ ์ค์ ๋ก ๋ณธ์
๊ณผ๋ ๋ณ๊ฐ๋ก ๊ตฌํ์ ํด๋ณด๋ ๋
ธ๋ ฅ์ ํ๋ค๋๊ฒ์ ๋ด ์์ ์ด ๋ถ๋๋ฌ์ ์ง๋ค.
์ฌ์ ํ ์ด๋ฒ์๋ ๋คํต์ ์ฌ๋ฌ๋ ๋ง์ Deivew 2017. ์ฐ๋ฌผ์์ ๊ฐ๊ตฌ๋ฆฌ๋ผ๋ ๋ง์์ ์์ง ๋ง๊ณ + ๋๋ ๊ฐ๋ฐ์๋ผ๋ ๊ฒ์ ์์ง ๋ง์์ผ๊ฒ๋ค๊ณ ๋
๋ค์งํด๋ณธ๋ค.
Buy me a coffee