
๋ฐ๋ผํ๋ฉฐ ๋ฐฐ์ฐ๋ ๋ ธ๋, ๋ฆฌ์กํธ ์๋ฆฌ์ฆ - ๊ธฐ๋ณธ ๊ฐ์
John Ahn
์ด ๊ฐ์๋ฅผ ํตํด์ ๋ฆฌ์กํธ์ ๋ ธ๋๋ฅผ ์ด๋ป๊ฒ ์ฌ์ฉํ๋์ง ๊ธฐ๋ณธ์ ์ธ ๋ด์ฉ๋ค์ ๋ฐฐ์ธ ์ ์์ต๋๋ค.
์ด๊ธ
React, Node.js
์ด ๊ฐ์๋ฅผ ํตํด์ ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ(TDD)์ ์ด์ฉํ์ฌ Node.js ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค์ด ๋ด ๋๋ค.
์๊ฐ์ 1,216๋ช
๋์ด๋ ์ด๊ธ
์๊ฐ๊ธฐํ ๋ฌด์ ํ





๋ฒ ์คํ๊ธ๋ก๋ฒ
์์ง์๋ค๋ ์ด ๊ฐ์๋ฅผ ๋ฃ๊ณ ์์ด์!





๋ฒ ์คํ๊ธ๋ก๋ฒ
์์ง์๋ค๋ ์ด ๊ฐ์๋ฅผ ๋ฃ๊ณ ์์ด์!
๋จผ์ ๊ฒฝํํ ์๊ฐ์๋ค์ ํ๊ธฐ
5.0
JSCODE ๋ชจ๋ํฌ๋ฃจ์
์์ ๋ฌด๋ฃ ๊ฐ์์์ ๋ง์ ๋์์ ๋ฐ์ ์ ์ด ์์ด์ ๋ฏฟ๊ณ ๊ตฌ๋งคํ์ต๋๋ค..!! ์ ๊ทธ๋ฐ๋ฐ ์ ๊ฐ ์ ์๋ ๋ฌด๋ฃ ๊ฐ์๋ฅผ ๋ฃ๊ณ ๊ฒ์ ํ์ฌ ์คํ API๋ฅผ ์ด์ฉํ ๋ฆฌ์กํธ ์น์ฌ์ดํธ๋ฅผ ๋ง๋ค์ด์ ๋ฐฐํฌ๊น์ง ์งํํ์๋๋ฐ์, DB๋ฅผ ์ฌ์ฉํ์ง ์์๊ณ API ์์ฒญ์ ๋ฐ์์ ๊ฐ๊ณต ํ ๋ ๋๋ง๋ง ํ์ต๋๋ค. vercel๋ก ๋ฐฐํฌํ ํ์ ๋ฉฐ์น ๋์์ ์ ๋์๊ฐ๋๋ฐ, CORS ์ด์๊ฐ ๋จ๋ฉด์ ์ ๋๋ก ๋์์ ์ํ๋๋ผ๊ตฌ์. ์ด ๊ฒฝ์ฐ์๋ nodejs๊ฐ์ ๋ฐฑ์๋๋ฅผ ๋์ด์ผ ํ๋๊ฑธ๊น์?
5.0
Jaewon Kim
์์ ํ ์๋ฌด๊ฒ๋ ๋ชจ๋ฅด๋ ์ํ์์ ์์ํ์๋ ๋ถ์ด๋ผ๋ฉด ์ด๋ ค์์ด ๋ง์ด ์์ ๊ฒ ๊ฐ์ต๋๋ค. node.js, MongoDB, jest ๋ฑ์ ์กฐ๊ธ์ด๋ผ๋ ๊ฒฝํํ์ ๋ถ์ด ๋ค์ผ์ ๋ค๋ฉด, ์์ ๊ฐ์ถ! ์ ๋ ๊ฐ์๋ฃ๊ฐ ์ ๋ ดํ๋ค๊ณ ๋๋ ์ ๋๋ก ์์ ์ ์ ๋ค์์ต๋๋ค.
5.0
์ง๋ฃจํ ์ฐํธ
ํ์คํ์ผ๋ก ๊ฐ๋ฐ์ ํ๋ฉด์, ํ๋ก ํธ์ธก์์ ๋๋ฌ์ ์์ฒญ์ ๋ณด๋ด๊ณ ๋ฐ์ดํฐ๋ฅผ ํ์ธํด์ api๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ผ๋ก ๊ฐ๋ฐ์ ํ๋๋ฐ ํ๋ก์ ํธ๋ฅผ ํ๋ฉด์ TDD ๊ฐ๋ ์ ์๊ฒ ๋ผ์ ๋ค์๋๋ฐ ์ข์์ด์~
Node.js
Test Driven Development
Express.js
Mongo DB
Jest
Supertest
์ง์๊ณต์ ์ ๋ณ์ 4.9์ ! John Ahn๋๊ณผ ํจ๊ป
TDD ๋ฐฉ์์ผ๋ก ์น์ฑ์ ์ง์ ๋ง๋ค์ด๋ณด์ธ์.
์๋
ํ์ธ์.
์ด๋ฒ ๊ฐ์์์๋ ํ
์คํธ ์ฃผ๋ ๊ฐ๋ฐ์ ์ด์ฉํ Node.js ์ ํ๋ฆฌ์ผ์ด์
์ ๋ง๋ค์ด ๋ด
๋๋ค.
๊ฐ๋ฐ์ ํ๋ ๋ฐ ์์ด์ ํ
์คํธ์ฃผ๋๊ฐ๋ฐ(TDD)์ ์ ์ ๊ธฐ๋ณธ์ด ๋์ด๊ฐ๊ณ ์์ต๋๋ค.
๋์ฑ ์์ ์ ์ธ ์ ํ๋ฆฌ์ผ์ด์
์ด ์๊ตฌ๋๋ ์ค๋๋ ,
๊ฐ๋ฐ ๊ณผ์ ์์ ๋๋ฒ๊น
์๊ฐ์ ์ค์ด๋ ๋ฐ ๊ต์ฅํ ํจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ์ด๊ธฐ ๋๋ฌธ์
๋๋ค.
ํ์ง๋ง ์ฌ์ ํ ๋ง์ ํ์ฌ์์๋ ์๊ฐ์ด ์๋ค๋ ์ด์ ๋ก
์์ง TDD ๋ฐฉ์์ ์
๋ฌด์ ์ ์ฉํ์ง ๋ชปํ๋ค๊ณ ํ๋ ๊ณณ๋ค๋ ๋ง์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ง์ TDD๋ฅผ ์ ์ฉํ๋ ค ํ๋ฉด ์๋ก์ด ๋ชจ๋, ์๋กญ๊ฒ ๊ฐ๋ฐํ๋ ๋ฐฉ์์ ์ต์ํ์ง ์์์
๋ค์ TDD ๋ฐฉ์์ ํฌ๊ธฐํ๋ ๊ฒฝ์ฐ๋ ๋ง์ ๊ฒ ๊ฐ์ต๋๋ค.
๊ทธ๋์ ์ด๋ฒ ๊ฐ์์์๋ ํ
์คํธ ์ฃผ๋ ๊ฐ๋ฐ์ ์ด๋ป๊ฒ ํ๋ฉด ์ฝ๊ฒ ํด๋๊ฐ ์ ์๋์ง
๋ฐ๋ผ๋ง ํ๋ฉด TDD๋ฅผ ๋ฐฐ์ธ ์ ์๋ ๊ฐ์๋ฅผ ๋ง๋ค์ด ๋ณด์์ต๋๋ค.
์ด ๊ฐ์๋ฅผ ํตํด์ ํ
์คํธ ์ฃผ๋์ ๊ฐ๋ฐ์ ๋ฐฐ์ฐ์
์
์ค๋ฌด์์๋ , ๊ฐ์ธ ํฌํธํด๋ฆฌ์ค์์๋ ์ ์ฌ์ฉ๋์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค!
์ ๊ฐ์์ ํน์ง์ ํญ์ ๋ํ๋ฅผ ์ด์ฉํด์ ์ค๋ช ํ๋ค๋ ์ ์ ๋๋ค.
ํน์ ๋ถ๋ถ๋ง์ ๋ํํํ๋ ๊ฒ์ด ์๋ ๊ฐ์ ์ ์ฒด์์ ๋ํํ ํ ์ ์๋ ๋ชจ๋ ๋ถ๋ถ์ ์ฐพ์๋ด
๋ํ๋ฅผ ์ด์ฉํด์ ๋ ์ฝ๊ฒ ์ดํด ํ ์ ์๋๋ก ๋
ธ๋ ฅํ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ํ ๋ฒ ๋ฐฐ์ด ๊ฒ์ ์ฌ๋ฌ ๋ฒ ๋ฐ๋ณตํ๋ ํ์์ผ๋ก ๊ฐ์ข๊ฐ ๊ตฌ์ฑ๋์ด ์์ด
์๋์ผ๋ก ๋ณต์ต์ด ์ด๋ฃจ์ด์ง๋ ํน์ง์ ๊ฐ๊ณ ์์ต๋๋ค.
Visual Studio Code๋ฅผ ์ฌ์ฉํ์ง๋ง ์์ ์ด ์ํ๋ Editor๋ฅผ ์ฌ์ฉํด๋ ๋ฉ๋๋ค.
MAC์ ์ฌ์ฉํ์ง๋ง ์๋์ฐ์์๋ ๊ฐ๋ฅํฉ๋๋ค.
ํ์ต ๋์์
๋๊ตฌ์ผ๊น์?
ํ ์คํธ ์ฃผ๋์ ๊ฐ๋ฐ์ ๋ฐฐ์ฐ๊ณ ์ถ์ผ์ ๋ถ
๋์ฑ ์์ ์ ์ธ ์ฑ์ ๋ง๋ค๊ณ ์ถ์ผ์ ๋ถ
์ ์ ์ง์,
ํ์ํ ๊น์?
Node.js
85,628
๋ช
์๊ฐ์
2,805
๊ฐ
์๊ฐํ
2,430
๊ฐ
๋ต๋ณ
4.8
์
๊ฐ์ ํ์
20
๊ฐ
๊ฐ์
์๋ ํ์ธ์.
์ฆ๊ฒ๊ฒ ๊ฐ๋ฐํ๊ณ ์๋ ๊ฐ๋ฐ์์ ๋๋ค.
์์ผ๋ก ๋ง์ ๋์์ ๋๋ฆด ์ ์์์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค.
- ๋ฐ๋ผํ๋ฉฐ ๋ฐฐ์ฐ๋ ๋์ปค์ CIํ๊ฒฝ ์ ์
- ์นด์นด์ค ๊ธฐ์
์ ์
๊ณต์ฑ FE ๊ต์์
- ํจ์คํธ์บ ํผ์ค, ๊ตฌ๋ฆ ๊ฐ์ฌ
- ํ๋์๋์ฐจ ๊ฐ๋ฐ ๊ธฐ์
๊ต์ก
- ์ ํ์ํ ๋ฉํ๋ฒ์ค, ์ฝ๋น ํ์ด ํ์คํ ๊ฐ๋ฐ
- ์ฌ๋ฌ ๊ณต๊ณต๊ธฐ๊ด SNS ํ์คํ ๊ฐ๋ฐ
์ ์ฒด
48๊ฐ โ (4์๊ฐ 50๋ถ)
ํด๋น ๊ฐ์์์ ์ ๊ณต:
4. ๊ฐ์ ์๊ฐ
03:21
8. express.json()
03:22
13. Jest๋ ?
04:55
15. jest.fn()
06:34
์ ์ฒด
73๊ฐ
4.8
73๊ฐ์ ์๊ฐํ
์๊ฐํ 3
โ
ํ๊ท ํ์ 5.0
5
์์ ๋ฌด๋ฃ ๊ฐ์์์ ๋ง์ ๋์์ ๋ฐ์ ์ ์ด ์์ด์ ๋ฏฟ๊ณ ๊ตฌ๋งคํ์ต๋๋ค..!! ์ ๊ทธ๋ฐ๋ฐ ์ ๊ฐ ์ ์๋ ๋ฌด๋ฃ ๊ฐ์๋ฅผ ๋ฃ๊ณ ๊ฒ์ ํ์ฌ ์คํ API๋ฅผ ์ด์ฉํ ๋ฆฌ์กํธ ์น์ฌ์ดํธ๋ฅผ ๋ง๋ค์ด์ ๋ฐฐํฌ๊น์ง ์งํํ์๋๋ฐ์, DB๋ฅผ ์ฌ์ฉํ์ง ์์๊ณ API ์์ฒญ์ ๋ฐ์์ ๊ฐ๊ณต ํ ๋ ๋๋ง๋ง ํ์ต๋๋ค. vercel๋ก ๋ฐฐํฌํ ํ์ ๋ฉฐ์น ๋์์ ์ ๋์๊ฐ๋๋ฐ, CORS ์ด์๊ฐ ๋จ๋ฉด์ ์ ๋๋ก ๋์์ ์ํ๋๋ผ๊ตฌ์. ์ด ๊ฒฝ์ฐ์๋ nodejs๊ฐ์ ๋ฐฑ์๋๋ฅผ ๋์ด์ผ ํ๋๊ฑธ๊น์?
์๋ ํ์ธ์ ๊นํ์๋ ! ๊ฐ์ ๋ฏฟ๊ณ ๊ตฌ๋งคํด์ฃผ์ ์ ์ ๋ง ๊ฐ์ฌํฉ๋๋ค ! ์ด๊ฑฐ ์ง๋ฌธ ํด์ฃผ์ ๊ฒ ์ง๋ฌธ ๊ฒ์ํ์ ๋ค์ ์ง๋ฌธํด ์ฃผ์ค ์ ์์๊น์ ~ ? vercel๋ก๋ ์ ๋ react toy ํ๋ก์ ํธ ํ ๋๋ง ์จ๋ณด๊ณ ์๋ฒ๋ฅผ ๋ถ์ฌ์ ์ฌ์ฉํด ๋ณธ ์ ์ ์์ด์ ์ข ๋ ์์ธํ ์ด์๋ฅผ ์์์ผ ํ ๊ฒ ๊ฐ์์์ ~
์๊ฐํ 4
โ
ํ๊ท ํ์ 5.0
์๊ฐํ 2
โ
ํ๊ท ํ์ 5.0
5
์์ ํ ์๋ฌด๊ฒ๋ ๋ชจ๋ฅด๋ ์ํ์์ ์์ํ์๋ ๋ถ์ด๋ผ๋ฉด ์ด๋ ค์์ด ๋ง์ด ์์ ๊ฒ ๊ฐ์ต๋๋ค. node.js, MongoDB, jest ๋ฑ์ ์กฐ๊ธ์ด๋ผ๋ ๊ฒฝํํ์ ๋ถ์ด ๋ค์ผ์ ๋ค๋ฉด, ์์ ๊ฐ์ถ! ์ ๋ ๊ฐ์๋ฃ๊ฐ ์ ๋ ดํ๋ค๊ณ ๋๋ ์ ๋๋ก ์์ ์ ์ ๋ค์์ต๋๋ค.
์๊ฐํ 7
โ
ํ๊ท ํ์ 5.0
์๊ฐํ 3
โ
ํ๊ท ํ์ 4.7
4
์ ๋ฐ์ ์ผ๋ก CRUD์ ๋ํ ์ ๋ํ ์คํธ/ํตํฉํ ์คํธ์ ํ๋ฆ์ ์ ์ ์์ด์ ์ข์์ต๋๋ค. ๋ค๋ง ์ด๋ก ์ ์ผ๋ก Jest๋ Supertest์ ์๋์๋ฆฌ์ ๋ํด์ ๋ฏธ๋ฆฌ ์ด์ผ๊ธฐํ๋ ์๊ฐ์ด ์์ผ๋ฉด ์ดํดํ๊ธฐ ๋ ์ข์์ ๊ฒ ๊ฐ์ต๋๋ค. mock ํจ์ ๋ง๋ค๊ธฐ๋ req,res mock ๋ง๋ค๊ธฐ db ๋ฐ์ดํฐ๋ฅผ ํ ๋๋ก ๊ฐ์์ผ๋ก ํ ์คํธ ํ๋ ๊ฒ์ด ์ด๋ป๊ฒ ๋์๊ฐ๋์ง ์๋ฆฌ์กํ ๋ถ๋ถ์ด ์์์ต๋๋ค.
์ง์๊ณต์ ์๋์ ๋ค๋ฅธ ๊ฐ์๋ฅผ ๋ง๋๋ณด์ธ์!
๊ฐ์ ๋ถ์ผ์ ๋ค๋ฅธ ๊ฐ์๋ฅผ ๋ง๋๋ณด์ธ์!
๊ฐ์๊ฐ ํฌํจ๋ ๋ก๋๋งต์ผ๋ก ํ์ตํด ๋ณด์ธ์!