๊ฐ๋ฐ ๊ณต๋ถ๋ฅผ ์ด๋ป๊ฒ ํด์ผํ ์ง ๋ชจ๋ฅด๊ณ , ์ค๋ ฅ์ด ์ข์ฒ๋ผ ๋์ง ์์ผ์๋ ๋ถ๋ค์ ์ํด ์น์ ๋ํ ์ ๋ฐ์ ์ธ ์๋ฆฌ, ๊ธฐ์ด๋ฅผ ์ก์๋๋ฆฌ๋ฉฐ ์ค์ ๊ฐ๋ฐ์ ํ์ํ ๋ถ๋ถ์ ์์ฃผ๋ก ๊ฐ๋ฐ์ ๊ธฐ๋ฐ์ ๋ค์ง ์ ์์ต๋๋ค.
Node.js
Express
Prisma
MySQL
REST API
AWS ๋ฐฐํฌ ( EC2 )
๋ฐฑ์๋ ๊ฐ๋ฐ์์๊ฒ ํ์ํ ๊ธฐ์ด ์ด๋ก
Node.js๋ก ํ๋ ๋ฐฑ์๋ ๊ฐ๋ฐ!
๋ฐ๋ผ ํ๋ค ๋ณด๋ฉด ๋๋ ์ด์ฉ๋ฉด ๊ฐ๋ฐ ๊ณ ์?
์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฑ์๋ ๊ฐ๋ฐ์ ์ฐ์ด๋ ์ธ์ด๋ ๋ค์ํฉ๋๋ค. ๊ทธ์ค ์ฌ๋ฌ๋ถ์ด Express(Feat. Node.js)๋ฅผ ์ ํํ์ ์ผ ํ๋ ์ด์ ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ฎ์ ์ง์ ์ฅ๋ฒฝ
๋ค๋ฅธ ์ธ์ด์ ๋นํด ์ฌ์ฉ์ ์นํ์ ์ด๋ฉฐ, ํ๋ฐํธ์๋๊ฐ ์ฌ์ฉํ๋ Javascript๋ฅผ ํ์ฉํ์ฌ ๋ฐฑ์๋ ์ ๋ฌธ์ผ๋ก ์ ์ ํด์.
Simple is BEST!
Express๋ ๋ค๋ฅธ Node.js ํ๋ ์์ํฌ์ ๋นํด ๊ตฌ์กฐ๊ฐ ๊ฐ๋จํด์ ๋๊ตฌ๋ ๋น ๋ฅด๊ฒ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค๊ณ ์ฒดํํ ์ ์์ด์.
๋ฐฉ๋ํ ์ปค๋ฎค๋ํฐ
Express๋ Node.js ํ๋ ์์ํฌ ์ค 1์๋ฅผ ์ฐจ์งํ ์ ๋๋ก ์ฌ์ฉ์๊ฐ ๋ง์์, ๊ทธ๋งํผ ๋ค์ํ ์ ๋ณด๋ฅผ ์ ํ ์ ์์ต๋๋ค.
๊ฐ๋ฐ ๊ณต๋ถ๋ ์ ๋ง ๊ฐํผ๋ฅผ ์ก๊ธฐ ํ๋ค ์ ๋๋ก ๋ฐฉ๋ฒ์ด ๋ค์ํฉ๋๋ค. ์ ๋ํ ๋ ํ์ผ๋ก ๊ณต๋ถํ๋ฉฐ ์ฌ๋ฌ๋ถ๊ณผ ๊ฐ์ ๊ฒฝํ์ ํ์ต๋๋ค.
๋น ๋ฅด๊ฒ ์ค๋ ฅ์ ์ฌ๋ฆฐ ์ ์ ๊ฒฝํ์ ๋ น์ฌ, ๊ฐ๋ ๋ฟ๋ง ์๋๋ผ ๋ฐฉ๋ฒ๋ก ์ ์ ๋ฌํด ๋๋ ค ์ฌ๋ฌ๋ถ์ ๊ณ ๋ฏผ์ ํด๊ฒฐํด๋๋ฆฌ๊ฒ ์ต๋๋ค.
์ผ์ฌ ์ฐจ๊ฒ ๊ณต๋ถํ๊ธฐ ์ํด ๊ฐ์ ์๊ฐ ์ ์ฒญ์ ํ์ผ๋, ์๊ฐ๋ณด๋ค ์ด๋ ค์ด ๋ด์ฉ์ ์ง์ณ๋ณด์ ์ ์ด ์์ผ์ ๊ฐ์?
์ด ๊ฐ์๋ ์ฌ๋ฌ๋ถ์ ๊ทธ๋ฐ ๊ณ ์ถฉ์ ํด๊ฒฐํ๊ธฐ ์ํด ์ ์ํ์์ต๋๋ค. ์๋ฆฌ์ ํจ๊ป, ๊ณต๋ถ ๋ฐฉ๋ฒ๊น์ง ์ ๋ฌํด๋๋ฆฝ๋๋ค.
๋ฐฑ์๋๋ ์ ๋ง ๋ค๋ค์ผ ํ๋ ์ด๋ก ์ ์์ด ๋ง์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ์ค์ง์ ์ผ๋ก ํ์ํ ์ด๋ก ์ด ๋ฌด์์ธ์ง๋ ๋๊ตฌ๋ ์๋ ค์ฃผ์ง ์์ต๋๋ค.
์ค๋ฌด์์ ๊ผญ ํ์ํ ์ด๋ก ์ ์์ฃผ๋ก ํ๋ฒ, ๋ฐฐ๊ฒฝ์ง์์ผ๋ก ํ์ํ ์ด๋ก ์ผ๋ก ํ๋ฒ ๋ ์ฌ๋ฌ๋ถ์๊ฒ ํ์ํ ์ด๋ก ๋ง์ ์ฝ์ฝ ์ง์ด ์ ๋ฌํด ๋๋ฆฝ๋๋ค.
์ฌ๋ฌ๋ถ๋ค์ด ๋ค์๋ ๊ฐ์๋ฅผ ์ฐพ์ง ์์์ผ๋ฉด ํ๋ ๋ง์์ผ๋ก ์ค๋นํ์ต๋๋ค!
์์ด๋ฌ๋ํ๊ฒ ์ด๋ก ์ ํ์ตํ๋ ๋ฐ ์์ด, โ์ด๋ก ๋งโ ์ ๋ฌํ๊ฒ ๋๋ฉด ์คํ๋ ค ์ดํด๋์ง ์์ต๋๋ค.
์ง๊ด์ ์ผ๋ก ์ ์ํ PPT๋ฅผ ํตํด ์ฌ๋ฌ๋ถ์ด ํ์คํ ์ดํดํ ์ ์๋๋ก ๋์๋๋ฆฝ๋๋ค.
REST API์ ๊ธฐ๋ฐํ ์น ์๋ฒ๋ฅผ ๊ฐ๋ฐํด๋ด
๋๋ค.
๊น๋ํ๊ณ ํจ์จ์ ์ธ ์ฝ๋์ ๊ตฌ์กฐ๋ฅผ ์ ์ฉํ๋ ๋ฐฉ๋ฒ ๋ํ ๊ฐ๋ฅด์ณ๋๋ฆฌ๊ฒ ์ต๋๋ค!
๋ฐฑ์๋๋ ๊ฒฐ๊ตญ ํ๋ฐํธ์๋์ ํ์
์ ์งํํด์ผ ํฉ๋๋ค.
SwaggerUI๋ฅผ API ๋ช
์ธ๋ฅผ ๊น๋ํ๊ฒ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ๊ฐ๋ฅด์ณ ๋๋ฆฝ๋๋ค.
๋ฐฐํฌ๋ฅผ ํตํด ์ฌ๋ฌ๋ถ์ ์ปดํจํฐ๋ก ์ง์ ์ฝ๋๋ฅผ ์คํํ์ง ์์๋,
๋ค๋ฅธ ์ฌ๋๋ค์ด ์ ๊ทผํ ์ ์๋ ํ๊ฒฝ์ ๊ตฌ์ถํฉ๋๋ค.
๊ฐ์์์ ๋ชจ๋ ๋ด์ฉ์ ์๋ ค์ฃผ๊ฒ ๋๋ฉด, ์ฌ๋ฌ๋ถ๋ค์ ๊ฐ์๋ง ๋ฃ๊ณ ๊ฒ์ํ๋ ๋ฐฉ๋ฒ์ ์ป์ง ๋ชปํ ๊ฑฐ์์.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ๋ด์ฉ์ ์๋ ค๋๋ฆฌ์ง๋ ์๊ณ , ์ค์ต ๊ณผ์ ๋ฅผ ํตํด์ ์ง์ ๋ชธ์ ์ตํ๋ ์๊ฐ์ ๊ฐ์ง๊ณ ์์ฃ .
ํ์ง๋ง ๊ฑฑ์ ํ์ง ๋ง์ธ์! ํด์ค ์์ ๋ํ ์ค๋น๋์ด ์๊ณ , ์ฌ๋ฌ๋ถ๋ค์ด ๋ง๋ ์ฝ๋๋ค์ ๋ฆฌ๋ทฐํด๋๋ฆด ๊ฑฐ์์! ์ฌ๊ธฐ์ ๋์ค์ฝ๋๋ฅผ ์ด์ฉํด์ ์์ ์ ๊ฐ์ด ๋ฃ๋ ์ฌ๋๋ค๊ณผ ๊พธ์คํ ์ํต์ ํตํด ๊ฐ์ด ์ค๋ ฅ์ ํค์๋๊ฐ๋ฉด ์ข๊ฒ ๋ค์ :)
๋ชจ๋ฅด๋ ๊ฒ์ด ์๊ธฐ๋ฉด ์ด๋กํ๋์?
์น์
0 ์์์ ๋์ค์ฝ๋ ์ฝ๋๋ฅผ ๊ณต์ ํด ๋๋ ธ์ต๋๋ค.
๋์ค์ฝ๋๋ฅผ ํตํด ๋ง์๊ป ์ง๋ฌธ์ ์ฌ๋ ค์ฃผ์๋ฉด ๋ฉ๋๋ค.
ํน์ ์ธํ๋ฐ์ ์ปค๋ฎค๋ํฐ๋ฅผ ํตํด ์ง๋ฌธ์ ์ฃผ์๋ฉด ๋น ๋ฅด๊ฒ ๋ต๋ณํด๋๋ฆฌ๊ฒ ์ต๋๋ค.
๊ฐ๋ฐ์ ์์ ๋ชจ๋ฅด๋๋ฐ ๋ฐฐ์๋ ๋๋์?
๋ฌผ๋ก ์
๋๋ค!
์ ํฌ๋ Javascript๊ฐ ์ฒ์์ธ ๋ถ๋ค์ ์ํด โ๋ฌด๋ฃโ๋ก Javascript ๊ฐ์๋ฅผ ํ์ด๋๋ฆฌ๊ณ ์์ต๋๋ค.
Javascript ๊ฐ์๋ฅผ ์๊ฐํ์๊ณ ํด๋น ๊ฐ์๋ฅผ ์๊ฐํ์๋ฉด ๋ ๋น ๋ฅด๊ฒ ์ค๋ ฅ์ ๋๋ฆด ์ ์๋ต๋๋ค.
๊ฐ๋ฐ์๋ ๊ณต๋ถ ๋ฐฉ๋ฒ์ด ๋ฐ๋ก ์๋์?
๋ค. ์์ต๋๋ค!
๊ธฐ์กด์ ์ฌ๋ฌ๋ถ๊ป์ ๋ฐฐ์ฐ์ ๋ฐฉ์๋๋ก๋ผ๋ฉด, ๊ฐ์๊ฐ ๋๋ ์ดํ ์ฌ๋ฌ๋ถ์ ๊ฐํผ๋ฅผ ์ก์ง ๋ชปํ๋ ์ํฉ์ ๋ถ๋ฅ์น์ค ์ ์์ต๋๋ค.
์ ํฌ๋ ์ฌ๋ฌ๋ถ์ด ๊ฐ์๊ฐ ๋๋ ์ดํ๋ก โ๋ค์โ ๊ฐ์๋ฅผ ๋ฃ์ง ์์ผ์ค ์ ์๋๋ก
์ ํฌ๋ง์ ๋ฐฉ๋ฒ์ ๋
น์ฌ ๋ด์ฉ์ ์ ๋ฌํด๋๋ฆฌ๊ฒ ์ต๋๋ค..
์ ํฌ์ ๋ชจํ ๋ ์ฌ๋ฌ๋ถ์ โ์ค์ค๋ก ์ฑ์ฅํ๋ ๊ฐ๋ฐ์โ๋ก ๋ง๋ค์ด ๋๋ฆฌ๋ ๊ฒ์
๋๋ค.
๋ค์ํ ํ๋ก์ ํธ ๋ฐ ์ค๋ฌด ๊ฒฝํ์ ํตํด ์์๋ ๋
ธํ์ฐ๋ฅผ ์ ๋ฌํด ๋๋ฆฌ๋ฉฐ, ๋
ํ์ผ๋ก ๋น ๋ฅธ ๊ธฐ๊ฐ ๋ด์ ์ฑ์ฅํ ์ ํฌ์ ๊ฒฝํ์ ์ ๋ฌํด๋๋ฆฝ๋๋ค.
์ ํฌ์ ํจ๊ป๋ผ๋ฉด ์ฒ์ ๊ฐ๋ฐํ๋ ๋ถ๋, ๊ฐ๋ฐ ๊ณต๋ถ๊ฐ ์ด๋ ต๊ณ ์ง์ณ์๋ ๋ถ๋ ๋ชจ๋ ์ฝ๊ณ ์ฌ๋ฐ๊ฒ ๊ฐ๋ฐ ์ค๋ ฅ์ ํค์ธ ์ ์์ต๋๋ค.
ํ์ต ๋์์
๋๊ตฌ์ผ๊น์?
๋ฐฑ์๋ ํ์ต์ด ์ฒ์์ด์ ๋ถ
Node.js ๋ฐ Express๋ก ์๋ฒ ๊ฐ๋ฐ์ ํด๋ณด๊ณ ์ถ์ผ์ ๋ถ
๊ฐ๋ฐ์ ๊ณต๋ถ ๋ฐฉ๋ฒ์ ์๊ณ ์ถ์ผ์ ๋ถ
ํผ์ ์ฑ์ฅํ๋ ๊ฐ๋ฐ์๊ฐ ๋๊ณ ์ถ์ผ์ ๋ถ
์ ์ฒด
81๊ฐ โ (17์๊ฐ 29๋ถ)
3. ๊ฐ์ ์๊ฐ
04:20
5. ๊ฐ์ ์๊ฐ
01:18
7. Node.js์ ๋ฑ์ฅ
02:51
9. ๊ฐ์ ์๊ฐ
01:28
10. npm ์ฌ์ฉ๋ฒ
07:37
11. yarn ์ฌ์ฉ๋ฒ
05:31
๊ณต๊ฐํ์ง ์๋ ๊ฐ์๋ก ์๊ฐ์ด ์ ํ๋ฉ๋๋ค.