์ธํ๋ฉ์ด ๋ ์ธํ๋ฉ๊ฐ์ ํ์ฌ๋ฅผ ๋ฒ์๋ค.
9์์ ์์๋ ์คํ๋ผ์ธ์ปจํผ๋ฐ์ค ์ธํ์ฝ์ ๊ฐ์ตํ ๋ค ์ฌ๋ฏธ์๋ ์คํ๋ผ์ธ ํ์ฌ๊ฐ ์ด๋ ธ๋ค.
์ด๋ฒ์ ๋ฒ์ธ ์คํ๋ผ์ธํ์ฌ๋ node๋ฅผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์๋ค์๊ฒ ๋ฐ๊ฐ์ธ๋ฏํ node๋ฅผ ์ฃผ์ ๋ก ํ ๋ฐ์ ์ด๋ค.
์ด ์ข๊ฒ ์ธํ์ฝ์ ๋น์ฒจ๋์ ์ฐธ์ํ ์์์๋๋ฐ ์ด๋ฒ์๋ ๋ ์ฐ์ฐํ๋ ๋๋ node๋ฅผ ์ฃผ ์คํ์ผ๋ก ํ๊ณ ์๋ ๊ฐ๋ฐ์๋ค?
๊ทธ๋ฅ ์ง๋์น ์๊ฐ ์์ด ์ ์ฒญ์๋ฃ์ค
์ธํ์ฝ์์ ๋ดค๋ ๋์ ๋ ์ข๊ณ ๋ง์๋ ์กฐ๊ณค์กฐ๊ณค ์ ํ์๋ ๋ด๋น์๋ถ์ด ์ด๋ฒ ๋ฐ์ ์์๋ ์ค๋ฌด์คํ๊ฒ ์ ์งํํด์ฃผ์ จ๋ค.
๋ธ๋ก๊ทธ ๊ธ์ ์ฐ๋ ค๊ณ ๋ค์๋ณด๊ธฐ๋ฅผ ๋ณด๊ณ ์๋๋ฐ ์ง๊ธ๋ด๋ ๋ง์์ ์ ํ์๋ค
๋ค์ด๊ฐ๊ธฐ์ ์์ ์ด๋ฒ์๋ ํฅ๋ก๋๊ป์ ์ธํ๋ฉ์ ๋ฐฑ์๋์์ง๋์ด์ฑ์ฉ์ ํ๋ณดํ์ จ๋ค.
๊ทธ๋๋ดค์ ๋๋ ์๋ฝ์๊บผ๋ฉด์ ํ๋ณด๋งํด ๐ฅน
Session1. ์ฃผ๋์ด ๊ฐ๋ฐ์์ node.js ์ฝ๋ ๋ณ์ฒ์ฌ(์ด์์ฐ/์ฐ์ฃผ ๋ ๋ฆฟ)
- ์ฒซ๋ฒ์งธ ์ธ์ ์ ์ธํ๋ฉ์ ์ฑ์ฉ์๋น์ค์ธ ๋ ๋ฆฟ์ ๊ฐ๋ฐํ์ ์ธํ๋ฉ์ ๋ฐฑ์๋ ๊ฐ๋ฐ์ ์ฐ์ฃผ๋์ ๋ฐํ๊ฐ ์์๋ค.
๋ณธ๊ฒฉ์ ์ธ ์ธ์ ์ ์์ ๊ฐ๋ฐ์ธ์๊ทธ๋ํ๋ฅผ ๊ทธ๋ ค์ฃผ์ จ๋๋ฐ ์กฐ๊ธ์ ๋น์ทํ ํ๋ฆ์ ๊ฐ๊ณ ์์ง ์๋ ์ถ๋ค. ์ข์ ํ๊ณ ๋ค์ ์ด์ฌํํ๊ณ , ๋ค์์ข์ ํ๊ณ ์ด์ฌํํ๊ณ ๊ฐ์ ๊ฐ๋ฐ์ธ์์ ๊ตด๋ ๋ฅผ ๋ฐ๋ณตํ๊ณ ์๋ ๊ฒ ๊ฐ๋ค.
๋ ํฌ๋ฅผ ๊ด๋ฆฌํ ๋ ๋ฉํฐ๋ ํฌ์ ๋ชจ๋ ธ๋ ํฌ๋ฐฉ์์ด ์๋ค. ๋ฉํฐ๋ ํฌ๋ ๋๋ฉ์ธ๋ณ๋ก ๋ ํฌ๋ฅผ ๋ฐ๋ก ๊ด๋ฆฌํ๋ ๋ฐฉ์, ๋ชจ๋ ธ๋ ํ๊บผ๋ฒ์ ๊ด๋ฆฌํ๋ ๋ฐฉ์์ด๋ค. ๋ ๋ฆฟ์ ๋ชจ๋ ธ๋ ํฌ๋ฅผ ์ฌ์ฉํ๊ณ ์๋ค. ํ์ฌ ๋์ ํ์ฌ์์๋ ๋ชจ๋ ธ๋ ํฌ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋ฐ์ ์งํ์ค์ธ๋ฐ ๋ฐฐํฌ๋จ์๋ณ๋ก ํ์ผ์ ๊ด๋ฆฌํ์ด์ผ ํ๋๋ฐ ๋ ํฌ ๋ด์์ ๊ทธ ๊ตฌ์กฐ๋ฅผ ์ก์ง ๋ชปํด ํ์ฌ์ ๊ด๋ฆฌ๋ฐฉ์์์ ์ฌ์ด๋์ดํํธ ์ด์๊ฐ ๋ฐ์ํ๊ณ ์์ด ๋ชจ๋ ธ๋ ํฌ๋ฅผ ์ฌ์ฉํ ๋์๋ ๊ตฌ์กฐ๋ฅผ ์ ์ก๊ณ ๋ค์ด๊ฐ์ผ๊ฒ ๋ค๊ณ ๋ค์ํ๋ฒ ์๊ฐํ๋ค.
๋๋ฒ์ฌ๋ก ๋ ์ด์ด ์ํคํ ์ณ์ ๋ํด ๋ง์ํด์ฃผ์ จ๋ค. ํ์ฌ ์ธํ๋ฉ์์๋ nestjs ํ๋ ์์ํฌ๊ฐ ์๋ express๋ก ๊ตฌ์กฐ๋ฅผ ์ก์ ์ฌ์ฉํ๋ ๊ตฌ์กฐ์ธ ๊ฒ ๊ฐ๋ค(์๋ง๋) ์ด๋ controller, service, repository ๋ฑ์ผ๋ก ๊ฐ๊ฐ์ ๋ ์ด์ด์ role์ ์ ํํ๊ฒ ์ ์ํ์ฌ ์ฌ์ฉํ๊ฒ๋์์๋์ ์ด์ ์ ๋ํด ์๊ฐํด์ฃผ์๊ณ ํ์ฌ ๋ ๋ฆฟ๋ํ ๋ ์ด์ด์ํคํ ์ณ๋ฅผ ์ฌ์ฉ์ค์ธ ์ด์ผ๊ธฐ๋ฅผ ํด์ฃผ์ จ๋ค.
์ธ๋ฒ์งธ๋ก๋ TEST์ ๋ํ ์ด์ผ๊ธฐ์๋๋ฐ ์คํ ,๋ชจํน์ ์ด์ฉํ ํ ์คํธ๋ฐฉ๋ฒ์ ๋ํ ๋ฐฉ๋ฒ๋ก ์ ๋ง์ํด์ฃผ์ ง๋ค. ์์ง TEST๋ฅผ ์ฌ์ฉํด๋ณธ๊ฒฝํ์ด ์์ด ๋๋ต์ ์ธ ์ด์ผ๊ธฐ๋ค๋ง ์ดํดํ ์ ์์๋๋ฐ aws ๋ชจํน๋ฐ์ดํฐ๋ local stack์ ์ด์ฉํ์ฌ ํ ์คํธํ ์ ์๋ค.
Session2.shall we nestjs? (๋จ๋ณ๊ด ํ์คํ๋ฅดํ)
- ๋๋ฒ์งธ ์ธ์ ์ ์ ๋ง ์ค์ํ๊ณ ์ฝ๊ฒ ํจ๊ป ๋ค์คํธ ํ์ค๋์? ํ๋ ๊ฐ๋ฒผ์ด ์ธ์ ์ด์๋ค. ํ์ฌ ํ์ฌ๋ nestjs๋ฅผ ์ฌ์ฉํ๊ณ ์๋๋ฐ ๊ฐ์ด nestjsํ๋ ์ฌ๋์ด ๋ง์ด ์๊ฒผ์ผ๋ฉด ์ข๊ฒ ๋ค.
nestjs์ ํต์ฌ์ ์ ์ค๋ช ํด์ฃผ์ จ๋ค. app.module์์ ์์๋๋ ๊ฒ์ด๊ณ ํธ๋ฆฌ๊ตฌ์กฐ๋ก ๋ ํฌ์์ ๋ชจ๋ ์๋น์ค๋ค์ ์ด app.module๋ก ๊ฒฐ๊ตญ ์ฐ๊ฒฐ๋๋ ๊ตฌ์กฐ์ฌ์ผํ๋ค. ํ์คํ๋ฅดํ๊ฐ ์ nest๋ฅผ ์ ํํ๊ฒ ๋์๋์ง์ ๋ํ ํต์ฌ์ ์๋์ ์ด๋ฏธ์ง๋ก ์์ฝํ ์ ์๋ค. n์ ๊ณฑ์ด ์๋ log n์ด ๋๋๋ก ๋ง๋ ๋ค.
nest๋ฅผ ์ฌ์ฉํ๊ธด ํ์ง๋ง ์ด ์ ํ์ ์ด์ ๋ฅผ ๋ค์ผ๋ ์๋ง๋ค ๊ทธ๋์ ๋ด๊ฐ nest๋ฅผ์ฌ์ฉํ์์ง ๋ผ๋ ์๊ฐ์ ๋ค์ํ๋ฒ ํ ์์์๋ค.
Session3.node.js์ cpu-intensiveํ ์ฝ๋๋ฅผ ์ฐพ์๋ด๋ ๋ฐฉ๋ฒ(๊น๊ฒฝ๋ ๋น๊ทผ๋ง์ผ)
- ์ธ๋ฒ์งธ ์ธ์ ์ ๊ฐ๋ฐ์์ ์ฐ ๊ด๊ธฐ๊ฐ ๋๊ปด์ก๋ ๋น๊ทผ๊ฒฝ๋๋์ ์ธ์ ์ด์๋ค. nodejs์ ์ด๋ฒคํธ๋ฃจํ์ ๋ํ ์ด์ผ๊ธฐ์๋ค.
๊ฐ๋ฐ์๊ฐ ์์ฑํ๋ ๋๋ถ๋ถ์ ๋์์ ์ด๋ฒคํธ๋ฃจํ์์ ๋์ํ๊ฒ๋๋ค. ์ด ์ด๋ฒคํธ๋ฃจํ์ cpu-intensiveํ ์์ ์ ํ๊ฒ๋๋ฉด ์ด๋ป๊ฒ ๋ ๊น? ์ฌ๊ธฐ์ ์ธํ ์๋ธํ ์์ ์ด๋ผ ํจ์ cpu๋ฅผ ์ค๋ ์ ์ ํ๊ณ ์๋ ์์ ์ ๋งํ๋ค.
cpu๋ฅผ ์ค๋ ์ ์ ํ๊ณ ์๋ ๋์์ด ์๋ค๋ฉด ๋ชจ๋ ๋ฆฌํ์คํธ๋ฅผ ์ ๋ถ ๋ฉ์ถ๋ค. ์ ์ผ ํฌ๋ฆฌํฐ์ปฌํ ์ด์๋ ์ค์ผ์ผ์์ํด๋ ํจ๊ณผ๊ฐ ์๋ค๋ ๊ฒ์ด๋ค. ์ด๋ ์ด๋ค ์์ ์ด cpu์ ์์์ ์ค๋ ์ ์ ํ๊ณ ์๋ ๊ฒ์ผ๊น๋ฅผ ๋จผ์ ์ฐพ์๋ด์ผํ๋ค. clinic๋ผ๋ ํด์ ์ฌ์ฉํ ์๋์๊ณ , ๋น๊ทผ๊ฒฝ๋๋์ ๋ ์ดํด์๊ฐ ๊ธด api๋ ๋น๋ฒํ๊ฒ ํธ์ถ๋๋ api๋ฅผ ์ฐจ๋ก๋๋ก ์กฐ์ฌํ๋ค๊ณ ํ๋ค. ๋๋ ๋ ์ดํด์๋ฅผ ๋ณด๊ณ ํ๋จํ๋ ๊ฒ ๊ฐ๋ค.
* clinic : ์ง๋จ์ ๋์์ ์ฃผ๋ ๋๊ตฌ (doctor:์๊ฐ ์ธก์ )
๋ณดํต api์ ๋ ์ดํด์์ ์ด์๊ฐ ์์ด ํ์ธ์ ํ ๋์๋ ์ ์ผ๋จผ์ ํ์ธํด๋ณด๋ ๊ฒ์ ๋๋น ์ฟผ๋ฆฌ๋ฌธ์ ํ์ธํ๊ณ ์คํ๊ณํ์ ๋ฏ์ด๋ณธ๋ค๊ฑฐ๋ ํ์ง node์ ๋ฌธ์ ์ผ๊ฑฐ๋ ์๊ฐ์ ํ์ง ์์๋ ๊ฒ ๊ฐ๋ค.
์ด๋ฒ ์ธ์ ์ ํตํด ๋ฌธ์ ์ ๊ทผ๋ณธ์ ์ธ ์์ธ์ ์ข ๋ ํญ ๋๊ฒ ๋ณผ ์์๋ ๊ณ๊ธฐ๊ฐ ๋ ๊ฒ ๊ฐ๋ค.
๋น๊ทผ์์๋ ์ฑ์ฉํ๋ค๊ณ ์ฑ์ฉํ๋ณด๋ฅผ ํ๋๋ฐ ๊ทธ๋๋ดค์ ๋๋ ์๋ฝ์๊บผ๋ฉด์ ๐ฅน
๊ทธ๋๋ ์ด๋ฒ ์ธ์ ์ ์์ฃผ ์ข์๋ค.
๋คํธ์ํน ์๊ฐ์๋ 4~5๋ช ์ฉ ๋๋๋๋ ์ด์ผ๊ธฐ ํ๋ ์๊ฐ์ด ์์๋๋ฐ
์ฌ๋ฌ ์ฃผ๋์ด๋ถ๋ค์ด ์ ์๋ ์์ด ์ด์ฌํ ๊ฐ๋ฐํ๊ณ ์๋ค๋ ๊ฑธ ๋ค์ ํ๋ฒ ์๊ฒ๋์๋ค ใ _ใ
๋๋ ๊ทธ๋๋ ์จํฐ์ค๋์ด ๊ณ์๋๊น ๋ด ์ํฉ์์ ๋ด๊ฐ ํ ์์๋ ์ด์ฌํ๋ฅผ ํด์ผ๊ฒ ๋ค ์๊ฐํ๋ค.
์ ํ๋ฒ๋ ์ฐ์์ธ์ ๋ณด๊ณ ์ ์ฌ์ง์ฐ์๋ ์ค ์๊ฒ ๋ค. ๋ถ๋๋ฌ์ด๋ฐ ์ฌ์ง์ฐ์๊ณ ํด๋ดค๋น ํํ
์์ฆ ์ฃผ๋์ด๋ค์ ๊ฐ๋ฐ๋ฌธํ๋ฅผ ๊ธ์ ์ ์ผ๋ก ์ด๋๊ณ ๊ณ์ ์ธํ๋ฉ์ ๋ฌดํ ๊ฐ์ฌ์ ์์์ ๋ณด๋ธ๋ค :-)
๊ฐ์๋ ์ ๋ฐ๋ฏธ์๋๊ณ ์ธํ๋ฐ์ผ๋ฃจ
๋ค์๋ณด๊ธฐ ๋งํฌ.
https://www.youtube.com/watch?v=pMo8M5cqxfQ
local stack๋ฅผ ํ์ฉํ ์ธํ๋ผ ํตํฉ ํ ์คํธ ์ฐธ๊ณ ๊ธ.
https://tech.inflab.com/202202-integration-test-with-localstack/
ํ๊ธฐ.
์ฌ์ค ์ด๋ฒคํธ๊ฐ ์์ด์ ๋ธ๋ก๊ทธ ๊ธ์ ์์ฑํ๊ฑด ์๋๊ณ ์ด๋ฐ ํ์ฌ๊ฐ ์์ผ๋ฉด ๊ธฐ๋กํ๊ธฐ์ํด ์์ฑํ๋๋ฐ ์ด ์ข๊ฒ๋ ํ๊ธฐ์ด๋ฒคํธ์ ๋น์ฒจ๋์ด์ 5,000์์ ์ฃผ์ จ๋ค :-)
๋ค์ํ๋ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค ํฅํ์ธ์ ์ผํธ
'etc' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
docker๋ก mysql๋์ฐ๊ธฐ (0) | 2023.01.30 |
---|---|
redis cache (0) | 2022.11.13 |
UNITHON 9th ํ๊ธฐ (1) | 2022.09.07 |
2022 ์ธํ์ฝ ํ๊ธฐ (1) | 2022.08.28 |