์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- db
- JS #ํ๋ก์ ํธ
- mysql
- prj
- ๊ฒ์
- Project
- https://m.blog.naver.com/tt2t2am1118/221010125300
- ์ฐธ๊ณ ๋ธ๋ก๊ทธ
- object
- execCommand
- Porject
- ๋น๋๊ธฐ
- callback
- slow and steady
- async
- await
- js
- setTimeout()
- ํผํ
- webpack
- ๋๊ธฐ
- promise
- addEventListener
- https://youtube.com/playlist?list=PLuHgQVnccGMA5836CvWfieEQy0T0ov6Jh&si=FTaYv8m21EhO-A2K
- eport
- Import
- sql
- ajax
- database
- json
- Today
- Total
๋ชฉ๋ก๐Nodejs (13)
C-log

์ด๋ฒ์๋ form์์ ๋ถํฐ response๊น์ง ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๊ฐ์ ๋ฐ์์ ์ฌ์ฉ์์๊ฒ ์๋ต์ ์ ๋ฌํ๋ ๋ชจ๋ ๊ณผ์ ๋ค์ ์ดํด ๋ณผ ๊ฒ์ด๋ค. ๋น๋ก ์ค์ data๋ฅผ ์ฒ๋ฆฌํ๋ sql์ด ์๋์ง๋ง ์ด๋ฅผ ํตํด์ ๋๋ต์ ์ธ ํ๋ฆ๊ณผ ๋งฅ๋ฝ์ ์ด๋์ ๋ ๊ฐ๋ ํด๋ณผ ์ ์์ ๊ฒ์ด๋ค.form์๋์ ๊ฐ์ด html์ ์์ฑํด๋ณด๊ณ ์คํ์ ํด๋ณด๊ณ URI์ ๊ฒฐ๊ณผ๋ฅผ ์ดํด๋ณด์. URIhttp://localhost:3000/process_create?title=test&description=test+des* ์ฐธ๊ณ ๋ก ์์ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ธฐ ์ํด์๋ ๋ก์ปฌ ์๋ฒ๋ฅผ ๋๋ ค์ผ ํ๋ค. ๋ณธ์ธ์ live server๋ฅผ ์ฌ์ฉํ๋ค.๊ฒฐ๊ณผ๋ฅผ ์ดํด๋ณด๋ฉด form์ผ๋ก ์ ์ก๋ input๊ฐ์ผ๋ก URI queryStrin..

์ฐ๋ฆฌ๊ฐ Nodejs๋ฅผ ์ ์ดํดํ๊ธฐ ์ํด์๋ ๋๊ธฐ์ ๋น๋๊ธฐ๋ฅผ ์์์ผ ํ๋ค. ์ง๊ธ๊น์ง ๋ด๊ฐ ์๊ณ ์๋ ๋๊ธฐ์ ๋น๋๊ธฐ๋ ์ด์ ๊ฐ๋ค. ๋๊ธฐ๋ ์์ฐจ์ ์ผ๋ก ์ผ์ ์ฒ๋ฆฌํ๋ค. ๋น๋๊ธฐ๋ ๊ฐ ๊ฐ์ธ๋ค์ด ์ผ์ ์์ ํ ์ ์๋ ์๊ฐ ๊ฐ๋ ์ ๊ฐ์ง๊ณ ์์ด์ ๋์ ๋ค๋ฐ์ ์ผ๋ก ์ผ์ ์ฒ๋ฆฌํ๋ค. ๊ทธ๋์ ์ฐ๋ฆฌ๋ ๋น๋๊ธฐ๋ฅผ await๊ณผ ๊ฐ์ ๋ช ๋ น์ด๋ก ์ ์ดํ๋ค. ๊ฐ์๋ฅผ ํ ๋๋ก ์ฒจ์ญ์ ํ๋ค๋ฉด "๋๊ธฐ๋ ์ง๋ ฌ๋ก ๊ตฌ์ฑ์ด ๋์ด ์์ด์ ์ผ์ ์ฒ๋ฆฌํจ์ ์์ด์ ์๊ฐ ์์๊ฐ ๋ง์ด ๋ ๋ค. ํ์ง๋ง ๋น๋๊ธฐ๋ ๋ณ๋ ฌ๋ก ๊ตฌ์ฑ์ด ๋์ด ์์ด์ ์ผ์ ์ฒ๋ฆฌํจ์ ์์ด์ ํจ์จ ์ ์ด๋ค. Nodejs๋ ๋น๋๊ธฐ์ ์ฒ๋ฆฌ๋ฅผ ํ๊ธฐ ์ํ ์ข์ ๊ธฐ๋ฅ์ ๊ฐ์ง๊ณ ์๋ค." ์ด ์์ ์ ํตํด์ ์ฐ๋ฆฌ๋ ์กฐ๊ธ ๋ ์ง๋ณด์ ์ด๊ณ Nodejs์ ๊ทผ๊ฐ์ด๋๋ Nodejs๋ฅผ ๊ณต๋ถ ํด ๋ณผ ๊ฒ์ด๋ค.readFileSync(..
๋ณดํธ๋์ด ์๋ ๊ธ์ ๋๋ค.

์ด๋ฒ ์๊ฐ์๋ ์ง๋ ํฌ์คํ ์์ ๋งํ๋ ์ฝ๋๋ฅผ ๋ถ์ํ๋ ์๊ฐ์ ๊ฐ์ ธ ๋ณผ ๊ฒ์ด๋ค. ์ฐ๋ฆฌ๊ฐ ๋ถ์ํ ์ฝ๋๋ ์๋์ ๊ฐ๋ค. section26๋ถ๋ถ์ ์ค์ฌ์ผ๋ก ๋๋ฌ ๋ณด๋ ค๊ณ ํ์ผ๋ ํจ์๋ฅผ ๋ถ๋ฆฌํ๊ธฐ ์ section24์ ์๋ main.js ์ฝ๋๋ฅผ ์ค์ฌ์ผ๋ก ๋ถ์ ํ ์์ ์ด๋ค. ๋ถ์ ๋์์ด ๋ ์ฝ๋๋ ์๋ ๋๋ณด๊ธฐ๋ฅผ ์ฐธ์กฐ ํ๋ฉด ๋๊ฒ ๋ค.๋๋ณด๊ธฐvar http = require('http');var fs = require('fs');var url = require('url');var app = http.createServer(function (request, response) { var _url = request.url; var queryData = url.parse(_url, true).query; var pathname..

์ด๋ฒ ์์ ์์๋ ์ฐ๋ฆฌ๊ฐ ์ด์ ์ ์ ์ํ๋ ์ฝ๋๋ค์ ํจ์ํํด์ ๋ฆฌํฉํ ๋ง์ ํ๋ ๊ณผ์ ์ ๊ฐ์ง ๊ฒ์ด๋ค. ์ฐ์ ๊ฐ์ฅ ํฌ๊ฒ ์ค๋ณต์ด ๋๊ณ ์๋ ๋ถ๋ถ์ ๋ฐ๋ก html ๋ถ๋ถ์ด๋ค. ๊ทธ ๋ค์์ผ๋ก ํ์ผ์ ๋ฆฌ์คํธํ ํ๋ list ๋ถ๋ถ์ด๋ค. ํด๋น ๋ถ๋ถ๋ค์ ํจ์๋ก ๋ง๋ ์ฝ๋๋ ๋ค์ ์๋์ ๊ฐ๋ค.function templateHTML(title, list, body) { return ` WEB ${list} ${body} `;}function templateList(filelist) { var list = ''; var i = 0; while (i filelist.length) { list = list + `${filelist[i]}">${filelist[i]}`; i = ..

์ฐ์ readdir์ ํตํด์ ํน์ ํ์ผ ๋ชฉ๋ก์ ์๋ ์ด๋ฆ๋ค์ ๊ฐ์ง๊ณ ์๋ณธ๋ค. ์๋ ์ฝ๋๋ฅผ ํตํด์ ์ฝ๋์ ์คํ ๊ฒฐ๊ณผ๋ฅผ ์ดํด๋ณธ๋ค.let testFolder = './data';let fs = require('fs');//์ฝ์ด๋ผ ํด๋ ์์น, ํจ์ ๋งค๊ฐ๋ณ์๋ error ์ดํ filelist๋ผ๋ ๋ณ์์ ๋ฐํ ๋ฐ์ ๊ฐ ์ ์ฅfs.readdir(testFolder, function (error, filelist) { console.log(filelist);}) [nodemon] starting `node readdir.js` [ 'CSS', 'HTML', 'JavaScript' ] [nodemon] clean exit - waiting for changes before restart ์ด๋ฅผ ์ด์ฉํด์ ์ฐ๋ฆฌ๊ฐ ๋ง๋ ํํ..

์์ธ์ ์ธ url๊ฒฝ๋ก๋ฅผ ๋ค์ด ๊ฐ์ ๋ NotFound๋ผ๊ณ ํ๊ธฐ๊ฐ ๋๋ ํ์ด์ง๋ฅผ ์์ฑํ๋ ค๊ณ ํ๋ค. ๊ทธ๋ ๊ฒ ์ด๋ ต์ง ์์ผ๋ ํ์ํ ์ฝ๋๋ง ์ดํด๋ณด์. if (pathname === '/') { fs.readFile(`data/${queryData.id}`, 'utf8', function (err, description) { var template = ` ... ์ด๋ ๊ฒํด์ ์ฐ๋ฆฌ๊ฐ ํ์ด์ง๋ฅผ url์ ํฌํจํด์ ์กฐ๊ธ ๋ ๊ตฌ์ฒด์ ์ผ๋ก ๋ง๋ค์ด ๋๋ค.

์ด๋ฒ ์๊ฐ์๋ CRUD์์ R์ ํด๋น๋๋ ํ์ผ์ ์ฝ๋ ์ฝ๋๋ฅผ ์์ฑํด ๋ณผ ๊ฒ์ด๋ค. ์๊ฐ๋ณด๋ค ๊ทธ๋ ๊ฒ ์ด๋ ค์์ ์์ ๊ฒ์ด๋ค. fs์ ์๋ ๋ชจ๋์ readFileํจ์๋ฅผ ์ด์ฉํ๋ ๊ฒ์ด๋ค. data ํด๋๋ฅผ ๋ฏธ๋ฆฌ ์์ฑํ๊ณ ๊ทธ๊ณณ์ ํ์ผ์ ์ฝ์ ์ ๋ณด๋ค์ ์บ์ด ์ฃผ๋ฉด ๋๋ค. ์ฐ์ ์์ฑํ ์ฝ๋๋ฅผ ๋ณด๋ฉด ์๋์ ๊ฐ๋ค. fs.readFile(`data/${queryData.id}`, 'utf8', function (err, description) { let template = ` WEB HTML CSS JavaScript ${title} ${description} `; response.end(template); }) ์ฒซ ๋ฒ์งธ ์ธ์๊ฐ ์ฝ์ด๋๋ฆด ํ์ผ์ ์์น์ ์ด๋ฆ์ ์๋ฏธํ๊ณ ๋ ๋ฒ์งธ ์ธ์๋ utf8์ ํ๊ธ๋ก ๋์ด ์๋ ํ์ผ์ ์ฝ์ ์..