일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- c3 초
- 정규식 활용
- snmp test
- c3 축 없애기
- 정규식 문자열 출력
- influxdb 설치
- regex_search
- selinux port 등록
- semanage
- grafana dashboard
- CentOS7
- python os
- linux시간으로 변경
- c3 축 가리기
- snmp
- 정규식 컴파일
- c++ 정규식
- 1697
- InfluxDB
- gcc 업데이트
- 백준
- gcc regex
- subporcess path
- centos pyhon 설치
- python popen
- g++ 업데이트
- c3 step graph
- c3 second
- telegraf
- python subprocess
- Today
- Total
목록NodeJS (64)
리셋 되지 말자

미들웨어 만들기 (expressjs.com/en/guide/writing-middleware.html)공식 사이트의 middleware function mylogger 예시를 보면 미들웨어를 만드는 법과 사용법을 간단하게 알 수 있다. 미들웨어 코드 code app.use(function(req, res, next){ db.query('SELECT * FROM topic', function (error, topics) { req.topics = topics; next(); }); }); 미들웨어는 함수이며, app.use의 인자로 사용할 수 있다. 이때 함수는 request, response, next를 인자로 가지며, next()는 다음 미들웨어를 가르킨다고 이해하면 될것 같다. 실제 적용 //상세 보..

글 작성 아무거나 양이 많은 글을 복사해서 게시물을 하나 작성한다. 우측 하단에서 전송된 데이터 량이 22.7kB인 것을 확인할 수 있다. 미들웨어를 이용한 압축하기 nodejs 웹서버에서 특정 방식으로 압축을 진행한 뒤, 데이터를 웹 브라우저에 전송할 때 압축된 데이터와 함께 어떤 방식으로 압축했는지를 같이 보낸다. 그러면 웹 브라우저는 해당 방식으로 압축을 해제한 뒤 사용한다. 압축을 하고, 압축을 푸는 비용이 네트워크 전송 비용보다 저렴하다고 한다. 압축을 하는 과정과 압축을 푸는 과정을 미들웨어가 '대신'해준다. compression 설치 (compression이 한국말로 압축이라고 한다.) (expressjs.com/en/resources/middleware/compression.html)이 사..
body parser란? 서드파티 미들웨어(공식적으로 지원하지 않고 다른 이용자가 만든거)의 한 종류로 데이터를 받을 때, 코드를 간결하게 짤 수 있도록 도와준다. post 데이터 받기 기존의 request.on 사용 app.post('path', (req, res)=>{ var body=''; req.on('data', (data)=>{ body+=data; }); req.on('end', ()=>{ console.log(body); res.send('결과'); }); }); body parser 사용 app.post('path', (req, res)=>{ console.log(req.body); }); body 데이터에 id, title이 있다면 곧바로 req.body.id, req.body.titl..

express 설치 후, 루트 페이지 작성 express 설치 후에, 지금까지 만들었던(생활코딩 nodejs-mysql)것을 express로 재가공(?) 시작한다. main.js const express = require('express') const app = express() const port = 80 const topic = require('./lib/topic'); var db = require('./lib/db'); var template = require('./lib/template'); //get은 route, routing app.get('/', (req, res) => { db.query('SELECT * FROM topic', function (error, topics) { if (e..
nodejs에서의 SQL 코드 db.query(`update author set name=?, profile=? where id=?`, [post.name, post.profile, post.id], function (error, result) { if (error) throw error; response.writeHead(302, { Location: `/author` }); response.end(); }); 코드를 보면 query문 안에 '?'표시를 두고, 그 다음 인자인 리스트에 '?'표시 각각에 대입되는 값을 나열하는걸 확인할 수 있는데, 이같은 방식이 injection 공격을 방지하기 위한 것이라고 한다. 게시물 접근 exports.page = function(request, response)..
readFile, readFileSync를 이용한 동기/비동기 테스트 readFile은 비동기, readFileSync는 동기적인 처리를 한다. 소스코드 var fs = require('fs'); // console.log('a'); // //readFileSync // var result = fs.readFileSync('sync/sample', 'utf8'); // console.log(result); // console.log('c'); console.log('a'); //readFileSync fs.readFile('sync/sample', 'utf8', function(err, result){ console.log(result); }); console.log('c'); sample 파일에는 'b..

html src 보통 그림을 가져올 때, html 파일에서 src 태그를 이용해 그림을 불러온다. 파일구조가 위와 같을 때, index.html 파일 기준으로 그림 파일은 './picture/picture.PNG' 경로를 갖게된다. 그렇다면 아래와 같은 html 코드로 불러올 수 있다. 그림이 나타나지 않는다. 위의 그림은 크롬의 개발자 도구의 Source탭에 나타나는 코드이다. 나타나지 않는 이유는, 서버에 picture.PNG가 없기 때문이다. 무슨 얘기냐면, 저 코드로 picture.PNG를 불러오기 위해서는 url로 접근이 가능해야 한다. 예를 들어 localhost:3000/picture/picture.PNG로 접속했을 때, 해당 그림 파일이 표시되어야 한다. 지금은 그림을 올린 서버가 없다고 ..

파일 구조 폴더 아래에 html, js 폴더가 있고, index.html은 html 폴더에 그리고 hello.js와 main.js는 js 폴더에 위치해 있다. 소스코드 index.html js link test head 부분에 hello.js를 가져와서 사용한다. 여기서 중요한건 hello.js파일의 위치이다. 보통 index.html 파일의 기준으로 생각했는데 이번 테스트 결과에서는 'main.js'의 위치로부터의 경로가 된다. hello.js alert('from hello js'); function show_arr(arr){ for(var i in arr){ console.log(i); } } alert 명령어와 'show_arr' 함수가 정의되어 있다. main.js var http = requi..