nodejs(12)
-
๊ธ ์์ ๊ธฐ๋ฅ ๋ฐ ํ์ผ ๋ณ๊ฒฝ
๊ธ ๋ชฉ๋ก์ ์ ํํ์ ๋ ์์ ๊ธฐ๋ฅ ํ์ฑํ ๊ธ ์์ฑ ๋ฐ ์์ ๊ธฐ๋ฅ ๋ถ๋ถ์ ๋ณ์ control๋ก ๋ฐ๋ก ๋นผ์ ์ค์ ! ํ ๋ถ๋ถ ์ค์ ํ์์๋ create ๋ฒํผ ํ์ฑํ๋ง ๋๋ฉด ๋จ! ๊ธ ๋ชฉ๋ก ํด๋ฆญํ์ฌ ๋ค์ด์จ ๊ฒฝ์ฐ ์์ ๋ฒํผ ํ์ฑํ ํด๋ฆญํ ๊ธ ๋ชฉ๋ก์ ์์ ํด์ผ ํ๊ธฐ ๋๋ฌธ์ title ๊ฐ์ ์ฟผ๋ฆฌ์คํธ๋ง์ผ๋ก ๊ฐ์ ธ๊ฐ์ผํจ! update ๋ฒํผ์ ๋๋ฅด๋ฉด ์์ ๊ธฐ๋ฅ ํ์ฑํ ์ด์ ์ ์์ฑํ title๊ณผ description์ด ๋์์ผ ๋จ. ์ ์ถ ๋ฒํผ ๋๋ฌ์ ์์ ์๋ฃ ๊ธ์ด ์์ ๋๋ฉด data์ ํ์ผ๋ช ๊ณผ ๋ณธ๋ฌธ๋ ์์ ๋์ด์ผ ํจ. ํ์ผ๋ช ๋ฐ ๋ณธ๋ฌธ ์์ ์์ ํ post ๋ฐ์ดํฐ ๋ฐ๊ธฐ hidden์ผ๋ก ๋ณด๋ธ id๊ฐ๋ ๋ณ์๋ก ๋ฐ์์ fs.rename์ ์ฌ์ฉํ์ฌ ํ์ผ๋ช ๋ณ๊ฒฝ ํ ์์ ํ์ผ ์์ฑํ ๋ฐฉ๋ฒ๊ณผ ๋์ผํ๊ฒ fs.writeFile์ ์ฌ์ฉํ์ฌ ์์ ๋..
2023.08.24 -
ํ์ผ ์์ฑ ๋ฐ ๋ฆฌ๋ค์ด๋ ์
์ ์ก๋ POST ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ ํ์ผ์ ์ ์ฅ, ๊ทธ ๊ฒฐ๊ณผ ํ์ด์ง๋ก ๋ฆฌ๋ค์ด๋ ์ ํ๋ ๋ฐฉ๋ฒ ๋ฆฌ๋ค์ด๋ ์ : ์ด๋ค ๊ฒ์ ์ฒ๋ฆฌํ ํ ์ฌ์ฉ์๋ฅผ ๋ค๋ฅธ ํ์ด์ง๋ก ์ด๋ ์ํด! fs.writeFile์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ํ์ผ๋ก ์ ์ฅ Nodejsํ์ผ์ด ์์ฑ๋จ! ++ ์ฌ์ฉ์๊ฐ ํ์ผ ์์ฑ ํ ๊ทธ ํ์ผ์ ํ์ธํ ์ ์๋ ํ์ด์ง๋ก ์ด๋(๋ฆฌ๋ค์ด๋ ์ )ํ๋ ๊ธฐ๋ฅ ์ ์ถ ํด๋ฆญ, ํ์ผ ์์ฑ ํ response.writeHead(302)์ ์ฌ์ฉํ์ฌ ๋ฆฌ๋ค์ด๋ ์ ๋ฆฌ๋ค์ด๋ ์ ํ์ฌ ์์ฑํ ํ์ผ์ ๋ด์ฉ์ ์ฌ์ฉ์๊ฐ ํ์ธํ ์ ์๊ฒ ํ์ด์ง ์ด๋ var http = require('http'); var fs = require('fs'); //url์ด๋ผ๋ ๋ชจ๋์ ์ฌ์ฉํ ๊ฒ์ด๋ผ๋ ์ฝ๋ var url = require('url'); //qs๋ nodejs๊ฐ ๊ฐ์ง๊ณ ์..
2023.08.23 -
๊ธ ์์ฑ UI ๊ตฌํ
main.js ์์ ํ์ฌ ๊ธ ์์ฑ UI ๊ตฌํ pathname์ด create์ธ ๊ฒฝ์ฐ ๊ธ ์์ฑ UI ๊ตฌํ form ํ๊ทธ๋ฅผ ์ด์ฉํ์ฌ process_create์ ๋ฐ์ดํฐ ๋ณด๋ผ ์ ์๊ฒ ์ฒ๋ฆฌ list์ body ์ฌ์ด์ create๋ผ๋ ์ด๋ฆ์ aํ๊ทธ ์์ฑ create๋ฅผ ๋๋ฅด๋ฉด ๊ธ ์์ฑ UI ๋์ด! var http = require('http'); var fs = require('fs'); //url์ด๋ผ๋ ๋ชจ๋์ ์ฌ์ฉํ ๊ฒ์ด๋ผ๋ ์ฝ๋ var url = require('url'); //๋ณธ๋ฌธ ๋ถ๋ถ ํจ์๋ก ์ค์ ํ์ฌ ์ค๋ณต ์ ๊ฑฐ function templateHTML(title, list, body){ return ` WEB ${list} create ${body} `; } //ํ์ผ ๋ฆฌ์คํธ๋ก ๊ธ๋ชฉ๋ก ์์ฑ ํจ function t..
2023.08.23 -
pm2 ํ์ฉ
pm2๋ผ๋ npm์ ์ด์ฉํด์ main.js๊ฐ ๊ณ์ ์ผ์ ธ ์๋๋ก ์ ์งํ ์ ์๊ณ ๋ด์ฉ ์์ ์์ ์๋์ผ๋ก ์ฆ์ ๋ฐ์ ๋๋๋ก ํ ์ ์๋ค! https://pm2.keymetrics.io/ PM2 - Home Advanced process manager for production Node.js applications. Load balancer, logs facility, startup script, micro service management, at a glance. pm2.keymetrics.io cmd์ ์๋ ๋ช ๋ น์ด ํตํด์ ์ค์น ๊ฐ๋ฅ npm install pm2 -g pm2 start main --watch (pm2 start ๋ฌธ์์ด๋ฆ --watch) : ์ค์๊ฐ ๋ชจ๋ํฐ๋ง ๊ธฐ๋ฅ pm2 log : ์๋ฌ๋ ๋ณ๊ฒฝ..
2023.08.23 -
๋๊ธฐ์ ๋น๋๊ธฐ callback
๋๊ธฐ : ์์ ์ด ๋ค ๋๋๋ฉด ๋ค์ ์์ ๋น๋๊ธฐ : ์์ ์ด ๋ค ๋๋์ง ์์๋ ๋ค๋ฅธ ์์ ์คํํจ. sample.txt ํ์ผ ์์ฑํ์ฌ ์์ ๋ฌธ์ B ์์ฑ sync.js ์์ฑ ํ ์ฝ๋ ์์ฑ ๋๊ธฐ์ฒ๋ฆฌ var fs = require('fs'); //readFileSync console.log('A'); //sync ๋๊ธฐ ์ฒ๋ฆฌ var result = fs.readFileSync('syntax/sample.txt', 'utf8'); console.log(result); console.log('C'); ์ฝ๋ ์์๋๋ก ๋์ด ๋น๋๊ธฐ์ฒ๋ฆฌ console.log('A'); //๋น๋๊ธฐ ์ฒ๋ฆฌ fs.readFile('syntax/sample.txt', 'utf8', function(err, result){ console.log(resu..
2023.08.23 -
ํจ์ ์ ์ฉํ์ฌ ์ฝ๋ ์ ๋ฆฌ
์ด์ ์ ์์ฑํ main.js ์ฝ๋ ์ ๋ฆฌ ํจ์ ์์ฑํ์ฌ ์ค๋ณต์ฝ๋ ์ ๊ฑฐ var http = require('http'); var fs = require('fs'); //url์ด๋ผ๋ ๋ชจ๋์ ์ฌ์ฉํ ๊ฒ์ด๋ผ๋ ์ฝ๋ var url = require('url'); //๋ณธ๋ฌธ ๋ถ๋ถ ํจ์๋ก ์ค์ ํ์ฌ ์ค๋ณต ์ ๊ฑฐ //title, list, body๊ฐ์ ๋ฐ์ html์ ๋ฐ์ function templateHTML(title, list, body){ return ` WEB ${list} ${body} `; } //ํ์ผ ๋ฆฌ์คํธ ๋ถ๋ฌ์์ ๊ธ๋ชฉ๋ก ์์ฑ ํจ์ //dataํด๋์ ๋ฆฌ์คํธ๋ฅผ ๋ฐ์์ html์ ๋ํ๋ function templateList(filelist){ var list = ''; var i = 0; while (i < f..
2023.08.23