일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- snmp
- 정규식 활용
- InfluxDB
- 1697
- g++ 업데이트
- c++ 정규식
- grafana dashboard
- regex_search
- semanage
- snmp test
- gcc regex
- CentOS7
- subporcess path
- selinux port 등록
- gcc 업데이트
- c3 축 없애기
- c3 축 가리기
- python os
- c3 step graph
- centos pyhon 설치
- python subprocess
- 정규식 문자열 출력
- python popen
- influxdb 설치
- linux시간으로 변경
- telegraf
- c3 second
- 백준
- c3 초
- 정규식 컴파일
- Today
- Total
목록NodeJS/생활코딩 (48)
리셋 되지 말자
templateHTML 함수 수정 홈에서는 update링크가 보이지 않도록하고, 나머지 페이지에서는 보이도록 수정 function templateHTML(title, list, body, control) { return ` WEB2 ${list} ${control} ${title} ${body} `; } main.js var http = require('http'); var fs = require('fs'); var url = require('url'); // url 모듈을 사용한다 var qs = require('querystring'); function templateFiles(filelist) { var list = ''; for (var i = 0; i < filelist.length; i++) ..
POST로 받은 데이터를 파일로 생성 //Data가 조각 조각 들어오다가 더이상 데이터가 않오면 이게 실행되고, 콜백 함수가 실행됨 request.on('end', function(){ //정보를 qs 모듈로 post라는 객체로 객체화 var post = qs.parse(body); // 지금까지 저장한 body 데이터를 querystring 모듈의 parse를 사용하면 post데이터의 post 정보가 들어있다. var title = post.title; var description = post.description; // data 디렉토리에 title이름으로 된 description 내용의 파일 생성 fs.writeFile(`data/${title}`, description, 'utf8', functi..
Create 페이지 확인하기 create 링크를 클릭하면 '/create' path를 지정했으므로 pathname은 /create가 된다. '제출'버튼을 클릭하면 /create_process로 가도록 path를 지정했으므로, 이를 처리하기 위해 else if 분기문에 추가해준다. ... } else if(pathname === '/create_process'){ response.writeHead(200); response.end('Success'); } else { // 없는 페이지를 요청하면 404 에러 response.writeHead(404); response.end('Not found'); } ... 저장하고 'Success'문구가 출력되는지 확인한다. 제출 버튼 클릭 후 화면 POST방식의 데이..
코드 팩토링 및 'create' 추가 main.js var http = require('http'); var fs = require('fs'); var url = require('url') // url 모듈을 사용한다 function templateFiles(filelist) { var list = ''; for (var i = 0; i < filelist.length; i++) { list = list + `${filelist[i]}`; } list = list + ''; return list; } function templateHTML(title, list, body) { return ` WEB2 ${list} create ${body} `; } var app = http.createServer(fu..
form 태그 form.html 접속화면 위와같이 form 태그로 감싼 뒤, action을 주면 action에 해당하는 주소로 태그에 입력한 내용을 전송하게 된다. 그림처럼 title에는 hi, description에는 dfsd를 입력하고 제출을 누르면, Nou found가 출력이 되지만 중요한 것은 url이다. action에 지정한 경로?title='hi'&description='dfsd' 로, 경로와 입력한 정보들이 보내지게 된다. 이런 방식은 '주소에 데이터가 포함되어 있는' 상태이다. 좋은 방법이 아니라는 뜻이다. (저 주소로 접속하면 게시물을 올리는 거라면, 주소만 가지고 언제든지 게시물을 올릴수 있다.) - 서버에서 데이터를 가져올 때(get) : query strig을 쓴다. - 서버로 데이..
PM2 nodejs process가 구동중일 때, 예기지 못하게 동작이 중지되는것을 방지하여 process가 꺼지면 다시 실행시켜줌. 프로그램이 수정되는것을 관찰하고 있다가, 프로그램이 수정되면 process를 자동으로 껏다가 켜주는 역할을 함 npm으로 PM2 설치 npm install pm2 -g -g 옵션은 설치하는 sw가 독립적이라서 어디에서든 실행될 수 있다라는 옵션 PM2로 main.js 실행 pm2 start main.js 실행한 화면 ------------- __/\\\\\\\\\\\\\____/\\\\____________/\\\\____/\\\\\\\\\_____ _\/\\\/////////\\\_\/\\\\\\________/\\\\\\__/\\\///////\\\___ _\/\\\_..
동기(synchronous) vs 비동기(asynchronous) 순차적인것과 순차적이지 않다고 이해했다. 라면을 끓이는 데 물이 끓기를 기다리는 동안 나는 유투브를 본다. (비동기) 라면을 끓이는 데 물이 끓기를 기다리는 동안 아무것도 하지 않고, 기다렸다가 할 일을 한다. (동기) ㅇ_ㅇ?
목록 동적 생성 이 전 게시글의 readdir을 활용해서 리스트를 동적으로 생성 main.js var http = require('http'); var fs = require('fs'); var url = require('url') // url 모듈을 사용한다 var app = http.createServer(function (request, response) { var _url = request.url; var queryData = url.parse(request.url, true).query; var pathname = url.parse(_url, true).pathname; // 루트 디렉토리 (/)로부터 존재하는 페이지를 요청하면 페이지 표시 if (pathname === '/') { fs.rea..