본문 바로가기

Node17

nginx사용하기 1. nginx다운로드 brew install nginx 2. 이렇게 nginx.conf가 어디 있는지 알수있음. The default port has been set in /opt/homebrew/etc/nginx/nginx.conf to 8080 so that nginx can run without sudo. 3. sudo nginx localhost:8080 포트를 열수있음. 4. brew info nginx nginx.conf가 어디 있는지 알수있음. 5. nginx 종료하기 sudo nginx -s quit 6. nginx.conf 에서 port를 8080 -> 80으로 변경해주었음. 7. pm2 설치 : sudo npm i -g pm2 8. pm2 start index.js 했더니 되었음.. .. 2023. 1. 28.
토큰이 있어야 하는 라우터의 경우 postman에서 테스트하는 방법 토큰이 있어야 하는 라우터의 경우 테스트하는 방법이 있나? 있다! 방법 : 여기 직접 추가할수도 있어 2022. 10. 31.
npm에 대한 개념, 특정버전 설치하기 NPM : Node Package Manage 1. package.json파일의 생성 방법 : npm init 프로젝트 관련 정보들이 저장되는 파일이다. npm을 사용하면 의존성을 쉽게 관리할 수 있다. 2. 의존성 추가, 내려받기 방법 : npm install 2.1 개발용 dependency로 내려받는 방법 : npm install [package이름] --save-dev 3. 특정버전 설치하는 방법 npm install [package-name] @ [version] 으로 설치한다 ~1.13.0 - 1.13.x 버전 설치 ^1.13.0 - 1.x.x버전 설치. 가장 왼쪽의 0이 아닌 버전을 고정한다 0.13.0 - 0.13.0버전만 설치한다 4. 패캐지를 전역패키지 디렉터리에 내려받는 방법 npm .. 2022. 10. 28.
dotenv 설치 및 사용하기 설치하는 방법 npm install dotenv --save .env파일을 만든다. .env파일 내용 DB_HOST = localhost; DB_USER = root; DB_PASS = thisispassword; main.js에서 require하는 방법 const dotenv = require('dotenv') dotenv.config(); console.log('DB_HOST : ', process.env.DB_HOST); console.log('DB_USER : ', process.env.DB_USER); console.log('DB_PASS : ', process.env.DB_PASS); 2022. 10. 27.
OSI 7계층의 Application Layer HTTP / HTTPS(암호화) SSH : 원격 머신에 접속하고 제어하는 프로토콜. 까만 컴퓨터 창에서 제어하는 것. FTP : 파일전송에 쓰임. WebSocket : 전이통신. 어디서 얘기해도 통신이되는 것. 실시간 대화 할 때 잘 사용이됨. 실시간으로 데이터가 왔다갔다함. DNS : 영어로 된 url을 숫자로 바꿔주는 프로토콜. SMTP & IMAP/ POP3 : 메일전송, 메일 서버 복사, 메일 서버 동기화. DHCP : 네트워크에 연결된 머신들에게 IP를 할당. MQTT : machine to machine 통신에 쓰임. 가벼워서 잘 쓰인다. 메시지큐에서 쓰인다. 2022. 10. 27.
http모듈 개념 & 3000서버 만들어보기 노드는 내장서버가 있기때문에 서버프로그램이 따로 필요하지 않는데, http모듈이 바로 그 역할이다. http모듈 : http웹 서버를 생성하는 것과 관련된 모든 기능을 담당한다. 4가지 기능을 알아보자. 1. createServer() : server객체를 생성 2. writeHead() : 응답 header를 구성(어떤식으로 응답을 할것인지 정하는 역할) ex) resp.writeHead(200,{'content-type' : 'text/html'})의미 : 응답에 대한 헤드를 써줌. 200번일때 응답을 {'content-type' : 'text/html'}이걸로 할꺼야. 성공했을 때의 헤드는 200이야. 형태는 html이야. 그때 바디는 아래 html내용을 써서 응답할꺼야.라는 의미임. 3. end(.. 2022. 10. 22.
Node Version Manager 설치 및 사용하기 NodeJS를 여러개 사용할수는 없으니까, 버전을 언제든지 바꿀 수 있는 Node Version Manager을 다운받아야 한다. nvm-windows 검색 -> nvm setup 압축파일 실행 다운로드가 되었는지 VS Code에서 알수있다 현재 깔려있는 NodeJS버전 볼려면: nvm ls 다른 버전을 다운받으려면, 어떤 버전을 사용하겠다고 하려면 use를 사용한다. 디바이스 변경 허용? Yes 누르면 됌! 확인하려면 node --version 으로 쳐서 변경이 잘 되었는지 확인할 수 있다. npm ls 로도 확인할 수 있다. 지우려면 uninstall을 사용한다. 2022. 7. 20.
nodemon 설치 및 npm start로 연결하기 - 설치하기 : npm install nodemon script에 적용해 npm start로 시작할 수 있게 셋팅! - 연결하기 2022. 7. 11.
로그를 찍어주는 라이브러리 모듈 multer morgan 모듈 : 로그를 찍어주는 라이브러리 모듈 설치방법 : npm i morgan const logger = require('morgan'); logger('dev')이부분은 로그찍히는 형식을 쓰는 것이다. 우리는 dev설정에 맞춰 로그를 찍어줘보겠다. app.use(logger('dev')); app.use('/',router); app.listen(3000,()=>{ console.log('3000피스 퍼즐'); }) 이거를 실행해보면 이제 이렇게 console에 log가 찍힌다. write라는 이름으로 GET방식으로 요청했고요, 답은 404가 나왔고 시간은 3.611 ms걸렸어요 --> 이역할! 2022. 7. 5.
cookie-parser모듈 cookie-parser 모듈 쿠키를 쉽게 설정하고 사용할 수 있게 도와주는 모듈로, 익스프레스 객체에 미들웨어로 등록하여 사용한다. 설치방법 : npm i cookie-parser 예제를 써보자. 2가지를 import한다. 쿠키파서는 cp라는 변수에 넣고, app.use(cp()); 로 미들웨어로 등록하여 사용한다. const express = require("express"); const cp = require("cookie-parser"); const app = express(); app.use(cp()); 그 밑에 쿠키를 셋팅하는 코드를 써보겠다. 쿠키를 만들 때, resp.cookie로 만든다. key값으로 member를 사용한다. member에다가 value를 객체로 썼다. {id:'apple.. 2022. 7. 4.
JSON.parse와 JSON.stringify JSON.parse("문자열") : JSON포맷으로 되어있는 문자열을 JSON객체로 반환 JSON.stringify("문자열") : JSON객체를 JSON포맷의 문자열로 반환 2022. 7. 4.
ejs에 대해 알아보기 EJS : Embedded JavaScript 모듈 특정한 형식의 파일로부터 HTML페이지를 생성하는 모듈 설치 : npm i ejs로 설치한다! ejs 함수 추가하기 : const ejs = require('ejs'); 코드를 만들어보자. 6가지를 require한다. const express = require('express'); const app = express(); const bp = require('body-parser'); const router = express.Router(); const fs = require('fs'); const ejs = require('ejs'); bodyparser 가져온다. app.use(bp.urlencoded({extended:false})); /login이.. 2022. 7. 3.
미들웨어에 대해 알아보기 미들웨어 : 가운데에서 연결점 역할을 하는 것. request-response사이클 안에서 routing handler함수가 가지고 있는 request객체, response객체, next함수에 대한 접근이 가능한 함수이다 -> 요청에 응답하는 중간에 목적에 맞게 처리할때 거쳐가는 함수. - request, response객체 수정이 가능하다 - request, response사이클을 끝낼 수도 있고 다음 미들웨어를 호출할 수도 있다. 대표적인 미들웨어 - error-handling middleware 매개변수를 3개(request, response, next)를 가지고 있는 일반적인 middleware와는 달리 4개(error, req, res, next)의 매개변수를 갖는 middleware이다. ap.. 2022. 7. 3.
이미지나 음악파일을 보여지게하기(fs.readFile) localhost:3000을 통해 접속하면 사진이 나오고 4000을통해 접속하면 노래가 나오도록 해보자. 코드 : const http = require('http'); const fs = require('fs'); http.createServer((req,resp)=>{ fs.readFile('./tesst.jpg',(err,data)=>{ if(err){ console.log(err); }else{ resp.writeHead(200,{'content-type':'image/jpg'}) resp.end(data); } }) }).listen(3000,()=>{ console.log('3000번 포트로 이미지 서버 실행중..') }) //yout.com에서 유튜브 노래 다운받음! http.createSer.. 2022. 7. 3.
try catch finally를 이용한 예외처리 개념 : 예외처리 try{ 예외가 발생할 수 있는 문장을 작성 } catch(e){ 예외가 발생했을 경우 발생할 문장을 수행해줌. } finally{ 예외 발생 여부에 상관없이 수행할 문장 } 코드 : const fs = require("fs"); let text = null; try{ text = fs.readFileSync("./text4.txt",'utf-8'); }catch(e){ console.log(e) console.log('동기식으로 파일 읽기 실패!'); }finally{ console.log('예외발생 여부에 상관없이 수행'); } catch부분에 매개변수로 e를 넣으면 에러를 출력해준다. 2022. 7. 3.
fs모듈 사용해 동기식/비동기식으로 txt파일 읽기, 쓰기(readFile, readFileSync,writeFile,writeFileSync) 1. 쓰기 node.js에서 가장 중요하고 기초적인 모듈로,파일 처리와 관련된 모듈이다. 모듈 사용을 위해 가장 위에 const fs = require("fs");를 선언해야 한다. 바깥에다가 text1.txt파일을 만든다. * require() : 다른 곳에 있는 코드를 불러오는 함수. 비동기 방식으로 파일을 읽는 readFile과 동기방식으로 파일을 읽는 readFileSync를 사용해보겠다. const fs = require("fs"); fs.readFile('./text1.txt','utf-8',(err,data)=>{ if(err){ console.log(err); }else{ console.log("비동기식으로 파일 읽기"+data); } }); const text = fs.readFileSy.. 2022. 7. 3.
node의 개념, node설치하기, package.json만들기 개념을 알아보자. - 노드 : 서버(컴퓨터 운영체제)에서 실행되는 자바스크립트를 뜻한다(즉, 자바스크립트는 브라우저에서 작동되는 반면, 노드를 설치하면 자바스크립트도 운영체제에서 실행이 되고 사용할수있다) - 노드의 장점 : 백앤드랑 프론트앤드가 같은 언어를 사용한다. - 사용되는 엔진 : Chrome V8 Javascript 엔진 - 아파치같은 웹서버(apache, iis, zeus...) 소프트웨어가 필요없고 웹서버 역할을 할 수 있는 내장 라이브러리가 존재한다 - npm이라는 패키지 관리자(라이브러리를 다운받아 탑재시키는 역할)가 포함되어있다. 설치를 해보자. *설치확인하기 cmd에서 node -v 명령어를 실행 *설치하기 https://nodejs.org/en/ > Download for Wind.. 2022. 7. 3.