본문 바로가기

분류 전체보기

(346)
Node.js-express-error처리 *참조 : expressjs.com/en/guide/error-handling.html 1. 404오류처리 2. 존재하지 않는 :pageId값이 들어왔을때 오류 처리 :PageId값이 있는경우에 작동하는 미들웨어에서 파라미터에 next를 추가하고 만약 err가 있는경우에 작동하는 if문을 추가한다 따라서 만약 err가 있는 경우 next()를 통하여 다음 미들웨어가 실행되는데 next()에 err를 인자로 주게 되면 즉 next(err)를 하게 되면 125번째 줄에 있는 에러처리 미들웨어가 실행되도록 약속이 되어 있음.
Node.js-express-정적인 파일의 서비스 미들웨어를 이용하는 사례이면서 웹애플리케이션을 만들기 위해서 굉장히 중요한 정적인 파일을 서비스하는 방법을 express버전으로 살펴보자 정적인 파일이란 예를 들면 이미지파일, javascript, css파일과 같은 것들을 웹브라우져로 다운로드 시켜주는 경우에 그러한 것을 정적인 파일이라고 한다. 1. 정적인 파일(static file) 만들기 public이라는 디렉토리안에 이미지 파일 생성 * unsplash(image file source) 다운로드 받은 이미지파일의 이름을 hellow.jpg로 변경 웹에서 위 이미지파일에 접속하려면 우리가 정적인 파일을 서비스하는 것을 허용하고 세팅해줘야한다 expressjs.com -> getting started ->static files *참조: express..
Node.js-express-미들웨어 실행순서 가이드의 유징 미들웨어를 들어가보면 미들웨어는 여러가지 타입들이 있는데 우리가 지금까지 사용한 우리가 쓴 app.use 나 app.get등은 애플리케이션 객체가담긴 애플리케이션 레벨 미들웨어이고 그리고 서드파티 미들웨어는 역시 우리가 살펴봤고 바디파서라든지 컴프레션등 그리고 애플리케이션 레벨 미들웨어를 다시살펴보면 앱유즈에다가 아래처럼 함수를 등록해주면 이 함수는 미들웨어로써 등록이 되는 것이고 미들웨어의 핵심은 리퀘스트와 리스폰스 객체를 받아서 그것을 변형할 수 있다 그리고 넥스트라는 것을 호출하는 것을 통해서 그 다음에 실행되어야 할 미들웨어를 실행할지 실행하지 아닐지를 그 미들웨어의 이전 미들웨어가 결정하도록 한다 라는 것을 이해하는게 핵심 앱유즈에 경로를 주는것을 통해서 특정 경로에만 미들웨어가 ..
Node.js-express -미들웨어 생산 우리가 직접 미들웨어를 생산해보자 가이드에서 writing middleware 참조하면 expressjs.com/en/guide/writing-middleware.html -app.use(mylogger)인데 mylogger는 함수이다 첫번째 인자는 req, 두번째는 res 이 두가지는 객체이고 새번째는 next라는 값이다 express에서 미들웨어는 위와같은 형식을 가지고 있는 함수를 말하며 그 함수내부를 어떻게 구현하느냐에 따라서 각자의 다른 미들웨어를 만들수있다 -사실 우리 에는 애플리케이션에는 공통적으로 사용되는 로직이 있다 예를 들면 fs.readdir() 이것을 미들웨어로 처리해보자 먼저 1. app.use(function(req,res,next){ fs.readdir(err,filelist)..
Node.js-express-미들웨어사용 1.parser 미들웨어 사용 미들웨어란?? express에서 다른사람이 만든 소프트웨어를 사용하는 것 expressjs.com에서 guide -> useing middleware -> Third-party middleware -> body-parser 1. 기존의 app.post('/create_process', ~){}의 코드를 body-parser로 대체하여 써보자 일단 설치 npm install body-parser --save *body라는 것은 웹브라우져 쪽에서 요청한 정보의 본체를 body라고함 그 본체를 설명하는 데이터를 header라고 함 바로 그 본체인 데이터를 parser 즉 분석해서 우리가 필요한 형태로 가공해주는 프로그램이 body-parser이다 2. 그리고 이것을 모듈로 불러온..
Node.js- express express는 framework의 한 종류이다 1.실습환경 준비 콘솔창에 npm insatall express --save로 express module 설치 참조 : expressjs.com app.get 이라는 get메소드는 첫번째 인자로 path를 받고 두번째 인자로 콜백함수를 받는데 어떤 길을 따라가다가 갈림길에서 적당한 곳으로 방향을 잡는것과 같이 사용자들이 여러path를 통해서 들어올때 path마다 적당한 응답을 주는것이다 이것을 route or routing(라우트 또는 라우팅) 이라고 부른다 app.listen은 app 객체의 listen 메소드의 첫번재 인자로 3000을 주면 listen이라는 메소드가 실행될떄 비로소 웹서버가 실행되면서 3000번 port에 listening하게 되고 그..
Node.js - MySQL security 인젝션 즉 주소창의 id값에 ?id=1;DROP TABLE topic;등과 같은 입력값으로써의 공격을 방어하기위하여 db.query의 첫번째 파라미터로 ?를 주고 두번째 파라미터로 배열로써 순차적으로 그 대입값을 입력하는 방법으로 방어 이스케이핑 즉 사용자가 스크립트등의 태그를 입력값으로 주어 공격하는 것을 방어하기 위하여 sanitizehtml이라는 라이브러리를 가져와 사용
Node.js-MySQL ,authorlist CRUD 내가 직접 구현한 authorlist CRUD 1.새로운모듈 template.Author(틀) 와 template.TRList(표) 2.author 기본화면 구성 3.create 구성 4.update 구성 *TRList 에서update를 눌렀을때 ?id={queryData.id}로 가게 만들어 각각의 고유 식별자를 주어 그 주소장의 식별자로 값으로 post전송하여 update_process를 만들고 테이블의 각 요소를 하나씩 뽑은 후(select * from author where id=${queryData.id}) placeholder를 만듬 5.delete 구성 *TRList에서 로 각각의 값에 고유한 식별자 id를 주어 delete버튼을 눌러 /delete_process로 post전송해주면 그걸 받..