์ ๋๋ก ๋ฐฐ์ฐ๋ Express.js: Part1 ๊ธฐ์ด๋ถํฐ ์ฌํ๊น์ง [๊ธฐ์ดํธ]
๋ฌผ ํ๋ฅด๋ฏ ๋ฐ๋ผ๊ฐ๋ Express.js ์ ๋ฌธ๋ถํฐ ์ค์ ๊น์ง! ์๋ฒ ๊ธฐ์ด ๊ฐ๋ ๋ถํฐ CRUD ํ๋ก์ ํธ ์์ฑ๊น์ง ์ง์ ๊ตฌํํ๋ฉฐ ์ ๋๋ก ์ตํ๋ ๋ฐฑ์๋ ์ฌ์ .
์๊ฐ์ 49๋ช
๋์ด๋ ์ด๊ธ
์๊ฐ๊ธฐํ ๋ฌด์ ํ
- ํด๊ฒฐ
์ด๋ฏธ์ง ์ฒ๋ฆฌ ๋ผ์ฐํธ ๊ด๋ จ ๋ฌธ์
if (req.url === "/hello") { res.writeHead(200, { "Content-Type": "text/html" }); const
node.jsrest-apiroutingbackendexpress.js๊น๋์ฝ
ใป
2๋ฌ ์
0
68
2
- ํด๊ฒฐ
๊ฐ์๋ ๊ฐ์ ์๋ฃ๋ ๋ด์ฉ์ด ๋ค๋ฅธ ๊ฒ ๊ฐ์์
๊ฐ์์๋ฃ์์๋ ๊ฐ์๋์ ๋ฌ๋ฆฌ ejs ์ฝ๋๋ ๋์์์ง ์๊ณ <a target="_blank" rel="noopener noreferrer nofollow" href="https://github.com/comelulu
node.jsrest-apiroutingbackendexpress.jsTAESUN
ใป
3๋ฌ ์
0
78
1
- ํด๊ฒฐ
๋ก๊ทธ์ธ๊ณผ ๋ก๊ทธ์์ ์ฒ๋ฆฌ ๊ฐ์ 2:00 ์ง๋ฌธ ๋๋ ค์
res.cookie("token", token, {httpOnly: true});httpOnly๋ฅผ true๋ก ์ค์ ํ์ฌ ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ์คํฌ๋ฆฝํธ๊ฐ ์ฟ ํค๋ฅผ ์ฝ์ง ๋ชป
node.jsrest-apiroutingbackendexpress.jsTAESUN
ใป
3๋ฌ ์
0
72
2
- ํด๊ฒฐ
27๊ณผ๋ชฉ ejs๋ก todo list ๋ง๋ค๊ธฐ์์ todo๋ฅผ ์ฌ๋ฌ ๊ฐ ํญ๋ชฉ ๋ง๋ค์์ ๋
์ ๊ฐ ๋ฐ๋ผํ ์ค์ต ์ฝ๋์์๋ํญ๋ชฉ ํด๋ฆญ ํ์ ๋ ์ฌ๋ฌ ๊ฐ todo ํญ๋ชฉ์ด ์์ ๊ฒฝ์ฐline-through
node.jsrest-apiroutingbackendexpress.jsEdwards
ใป
3๋ฌ ์
0
69
2
- ํด๊ฒฐ
Express ์๋ฌ ์ฒ๋ฆฌ ๊ด๋ จ ์ง๋ฌธ ๋๋ ค์.
Express๋ ๋น๋๊ธฐ ์๋ฌ๋ฅผ ์ก์ง ๋ชปํ๋ค๊ณ ๊ฐ์์์ ๋ฐฐ์ ์ต๋๋ค. ์ด๊ฒ ํน์ ์ฑ๊ธ ์ค๋ ๋์ ๊ด๋ จ์ด ์์๊น์? ๊ทธ๋ ๋ค๋ฉด ์คํ๋ง์ ๊ฒฝ์ฐ๋ ์ด๋ป๊ฒ ๋ค๋ฅผ๊น์?<p style="tex
node.jsrest-apiroutingbackendexpress.jsTAESUN
ใป
3๋ฌ ์
0
82
2
- ํด๊ฒฐ
commonJS ๋ฐฉ์
๊ฐ์์์ Express ๋ชจ๋์ ์ฌ์ฉํ ๋ commonJS ๋ฐฉ์์ธ require๋ก ๊ฐ์ ธ์ค๋๋ฐ Node.js ํ๊ฒฝ์์ ESM ๋ฐฉ์์ผ๋ก ํ ์๋ ์๋ ๊ฑธ๊น์?
node.jsrest-apiroutingbackendexpress.jsTAESUN
ใป
3๋ฌ ์
0
56
1
- ํด๊ฒฐ
EJS ๊ด๋ จ ์ง๋ฌธ๋๋ ค์
ํน์ Nginx๋ Apache๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ejs๋ก SSR์ ๊ตฌํํ๋ ๊ฒ์ด ๊ฐ์ข์์ ํ ๋ฐฉ๋ฒ๊ณผ๋ ๋ฌ๋ผ์ง๊น์?
node.jsrest-apiroutingbackendexpress.jsTAESUN
ใป
3๋ฌ ์
0
85
2
- ํด๊ฒฐ
41 ๋ฒ ๊ฐ์ข ์ด๋ฏธ ์๋ ๊ฐ์ ์ ์กด์ฌํ๋ ๊ฒฝ์ฐ์์..
ํ๋ฉด์ ์์ ์ฌํญ์ "register" ==>"/users/register" ๋ก ๋์ด ์๋๋ฐ ์ ๋ ๊ทธ๋ ๊ฒ ํ๋ฉด error ํ๋ฉด์ด ๋น๋๋ค.ํ๋จ ์์ ๋ ธํธ์๋</
node.jsrest-apiroutingbackendexpress.jsEdwards
ใป
3๋ฌ ์
0
59
2
- ํด๊ฒฐ
jwt
jwt๊ฐ ๋ญ์ง ์ ์ฌ์ฉํ๋๊ฑด์ง์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ ๋ค๋ฃจ๋๊ฑฐ ๊ฐ๊ณ ์ ๋ฐ์ ์ธ crud์ ๊ฐ๋ง ์ก๊ณ ๋์ด ๊ฐ๋๊ฑด์ง ๊ถ๊ธํฉ๋๋ค.์ด๋ถ๋ถ์ part2์์ ์ ๋๋ก ๋ฐฐ์ฐ๋
node.jsrest-apiroutingbackendexpress.js์ฝ๋ฉ
ใป
3๋ฌ ์
0
59
2
- ํด๊ฒฐ
์ ์ ํ์ผ ์ง์ ๊ตฌํํ๊ธฐ ๊ฐ์ ์๊ฐ ํ ๊ถ๊ธํ ์ ์ง๋ฌธ๋๋ฆฝ๋๋ค!
ํ์ฌ ๊ฐ์์์ serveStatic ํจ์๋ฅผ ํตํด ์ ์ ํ์ผ ์์ฒญ์ ์ฒ๋ฆฌํฉ๋๋ค. ํ์ง๋ง ๋ณดํต์ ์ ์ ์ธ ํ์ผ๋ค ์์ฒญ์ ์ํด apache ์๋ฒ๋ฅผ ์ฌ์ฉํ๊ณ node.js ๋ ๋์ ์ธ ์์ฒญ์ ์ํด์ ์ฐ์ด๋ ๊ฒฝ์ฐ๊ฐ ๋๋ถ๋ถ์ด๋ผ๊ณ ์๊ฐ
node.jsrest-apiroutingbackendexpress.jsTAESUN
ใป
3๋ฌ ์
0
93
2
- ํด๊ฒฐ
res.writeHead ์ง๋ฌธ
Express.js๋ฅผ ์ฌ์ฉํ๋ฉดres.writeHead(200, { "content-type": "text/html"})<p style="text-align: left"
node.jsrest-apiroutingbackendexpress.jsTAESUN
ใป
3๋ฌ ์
0
64
1
- ํด๊ฒฐ
readFileSync
readFileSync ๋ฉ์๋๋ ๋๊ธฐ์ ์ธ ๋ฉ์๋๋ผ ์ด๋ฒคํธ ๋ฃจํ์์ ๋งํ์ ํ์ผ์ ์ฝ์ด์ค๋๋์ ์ค๋ ๋๋ฅผ ๋ฉ์ถฐ์ ์ค๋ฌด์์ ์ ์ฌ์ฉ ์ ํ์ง ์๋์? ๋จ์ํ ์๋ฒ์ ํ๋ฆ ์ดํด๋ฅผ ๋๊ธฐ์ํ ์ฝ๋ ์ ๋
node.jsrest-apiroutingbackendexpress.js์ฝ๋ฉ
ใป
4๋ฌ ์
0
100
1
- ํด๊ฒฐ
ejs ์ ์ด๋ค ๊ฐ๋ฐ์ธ์ด๋ก ์กฐํฉํด์ ์ฌ์ฉํ์๋ ์ฑ๋ฅ์ด ์ข์๊น์?
ejs ์ ์ด๋ค ๊ฐ๋ฐ์ธ์ด๋ก ์กฐํฉํด์ ์ฌ์ฉํ์๋ ์ฑ๋ฅ์ด ์ข์๊น์?
node.jsrest-apiroutingbackendexpress.jsecj
ใป
7๋ฌ ์
0
98
1
- ํด๊ฒฐ
404, 500 ์๋ฌ ์ฒ๋ฆฌ ์ธ์ ํน์ ๊ฐ๋ฐ ๊ตฌ๋ฌธ์์ ์๋ฌ ๋ฐ์ํ์๋ ์ฐพ๋ ๋ฐฉ๋ฒ์ด ์์๊น์?
404, 500 ์๋ฌ ์ฒ๋ฆฌ ์ธ์ ํน์ ๊ฐ๋ฐ ๊ตฌ๋ฌธ์์ ์๋ฌ ๋ฐ์ํ์๋ ์ฐพ๋ ๋ฐฉ๋ฒ์ด ์์๊น์?
node.jsrest-apiroutingbackendexpress.jsecj
ใป
7๋ฌ ์
0
91
1
- ํด๊ฒฐ
ํ ์คํธ์ ํฌ์คํธ๋งจ ์ธ ํ ์คํธ ํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์๊น์?
ํ ์คํธ์ ํฌ์คํธ๋งจ ์ธ ํ ์คํธ ํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์๊น์?
node.jsrest-apiroutingbackendexpress.jsecj
ใป
7๋ฌ ์
1
67
1
- ํด๊ฒฐ
๋ณด์์ ์ทจ์ฝ ํ๊ฐ์?
๋ณด์์ ์ทจ์ฝ ํ๊ฐ์?
node.jsrest-apiroutingbackendexpress.jsecj
ใป
7๋ฌ ์
0
57
1
- ํด๊ฒฐ
json ๋์ ๋ก๊ทธ์ธ, ํ์๊ฐ์ ์ผ๋ db ์ฐ๊ฒฐ ๋ฐ data ์ฌ์ฉํ๋ ค๋ฉด ์ด๋ป๊ฒ ํ๋์?
json ๋์ ๋ก๊ทธ์ธ, ํ์๊ฐ์ ์ผ๋ db ์ฐ๊ฒฐ ๋ฐ data ์ฌ์ฉํ๋ ค๋ฉด ์ด๋ป๊ฒ ํ๋์?
node.jsrest-apiroutingbackendexpress.jsecj
ใป
7๋ฌ ์
0
70
1






