목록Server application (40)
ecsimsw
Serving static files in Express - 이전 포스팅에서 html을 pug 템플릿으로 옮겨 렌더링 하는 법을 공부하였다. 하지만 이렇게 변환한 페이지는 이미지 파일이나 다른 html/css와 같은 파일을 로드 할 수 는 없을 것이다. - 이런 정적 파일을 제공하기 위해선 express의 미들웨어인 static을 사용해야한다. app.use(express.static('public')); - 다음처럼 static 미들웨어에 폴더명(public)을 인자로 넘김으로서 정적파일을 ./public 폴더에서 로드할 수 있게 되는 것이다. http://localhost:3000/images/kitten.jpg http://localhost:3000/css/style.css http://localh..
Template engine / Pug Template Engine - 지금까지 포스팅한 내용으로 HTML을 이용하여 웹 페이지를 만드려고하면 html의 파일을 읽어 정적으로 사용 해야 할것이다. 이런 html 파일에서 변수에따라 출력을 달리하거나 반복을 만드려면 어떻게 해야할까. 아마 JS의 변수나 반복문이 너무나 그리울 것이다. - 템플릿 엔진은 이러한 상황에서 자바스크립트를 사용하여 html을 렌더링 할 수 있게 해준다. 대표적인 템플릿 엔진 PUG(jade)에 대해서 공부해왔다. Pug _ Set - Pug - getting started - 다음을 터미널에서 프로젝트 폴더에 입력하는 것으로 pug 모듈을 설치한다. npm install pug --save - 아래는 초기 설정을 위한 코드이다. ..
Routing Routing - 라우팅은 URI(또는 경로) 및 특정한 HTTP 요청 메소드인 특정 엔드포인트에 대한 클라이언트 요청에 애플리케이션이 응답하는 방법을 결정하는 것을 말한다. (# URI : Uniform Resource Identifier, 자원을 식별하고 위치를 지정해주는 문자열이다. URL과 비교하여 공부 후 포스팅할 계획이다.) - express framework에서 라우트는 아래와 같은 형식으로 정의된다. app.METHOD(PATH, HANDLER) app은 express의 인스턴스, METHOD는 HTTP의 요청 메소드(ex// get, post), PATH는 서버에서의 경로, 마지막으로 HANDLER에는 라우트가 일치할 때 실행될 기능이 위치한다. route method - ..
Middle ware middleware is.. - Express docs에서는 middleware를 다음과 같이 소개한다. " Middleware functions are functions that have access to the request object (req), the response object (res), and the next middleware function in the application’s request-response cycle." 즉, middleware function는 request와 response, 그리고 다음 middle function의 사이에서 요청과 응답을 조작, 처리하고 다음 기능으로 넘기는 역할을 한다. using middleware var express ..
Express Framework Express Framework - express framework는 node상에서 서버 제작 시 불편함을 해소하고, 편의 기능을 추가한 웹 서버 프레임워크이다. koa, hapi 등 다른 웹 서버 프레임워크도 존재하지만 가장 많은 사용량을 보이는 것이 express이다. Express-generator - express framework는 express 외에도 여러 많은 패키지를 사용하여 더 쉽게 서버 제작이 가능하다. 입문자 입장에서 필요 패키지를 찾는 것이 어렵고, 어떤 모듈을 써야하는지 모르기 때문에 express-generator라는 패키지 생성기를 찾아 설치하였다. 터미널에서 다음 명령어를 입력으로 Express-generator을 전역 설치한다. npm ins..
Npm npm/ json - npm은 node package manager의 약자로 npm에 업로드된 다른 사람의 노드 모듈(package)를 다룰 수 있게 도와준다. - 사용하는 package에는 다 각자의 버전이 있고 같은 package라도 그 코드가 약간씩 다를 수 있으므로 이를 어딘가 기록해둘 통합 기록소가 필요하다. 그것을 해주는 것이 package.json이고 이는 터미널에서 프로젝트 폴더로 이동 후 npm init을 실행하여 생성할 수 있다. SemVer - 패키지들의 버전은 SemVer 방식의 버전 넘버링을 따른다. 1.5.6 과 같은 세자리 형식인데 앞에서 부터 Major, Minor, Patch로 앞의 숫자가 바뀔수록 유의미하다. (1.5.2 버전과 2.3.2은 Major번호가 바뀌었으..
Cookie Cookie is.. - 쿠키는 사용자가 웹 사이트를 처음 방문할 때 웹 사이트에서 사용자 컴퓨터의 하드 디스크에 저장해 놓는 작은 파일이다. 이것으로 웹 사이트는 사용자의 재방문을 확인할 수 있다. 사용자가 페이지를 얼마나 자주 방문하는지, 어느 정보에 관심이 많은지를 파악하여 콘텐츠를 제공하고, 온라인 쇼핑몰에서 로그인 없이도 장바구니에 물건을 담거나, 로그인 후 새로고침에도 로그아웃이 되지 않아도 되는 것은 서버는 쿠키를 전송하고 클라이언트는 그것을 받아 저장하고 방문 시 서버로 다시 전송하기 때문이다. Set-Cookie - 쿠키는 response,request 각각의 head와 body 중 head에 저장되고, head에서 불러온다. - 쿠키는 'key - value' 형식이다. 서..
Node.js Hello Node!! const http = require('http'); http.createServer((req, res)=>{ res.write('Hello Node!\n'); res.end('jinhwan'); }).listen(3000, ()=>{ console.log('listen in port 3000'); }) - 클라이언트에서 서버로의 요청을 req 변수에 담고, 서버는 req 변수를 처리하여 클라이언트에 응답한다. res.write는 클라이언트에 보낼 데이터를 argument로 받아 body에 전송하고, res.end는 argument('jinhwan')를 클라이언트에 보낸 후 응답을 종료한다.