목록전체 글 (315)
ecsimsw
Template engine / Pug Template Engine - 지금까지 포스팅한 내용으로 HTML을 이용하여 웹 페이지를 만드려고하면 html의 파일을 읽어 정적으로 사용 해야 할것이다. 이런 html 파일에서 변수에따라 출력을 달리하거나 반복을 만드려면 어떻게 해야할까. 아마 JS의 변수나 반복문이 너무나 그리울 것이다. - 템플릿 엔진은 이러한 상황에서 자바스크립트를 사용하여 html을 렌더링 할 수 있게 해준다. 대표적인 템플릿 엔진 PUG(jade)에 대해서 공부해왔다. Pug _ Set - Pug - getting started - 다음을 터미널에서 프로젝트 폴더에 입력하는 것으로 pug 모듈을 설치한다. npm install pug --save - 아래는 초기 설정을 위한 코드이다. ..
Encapsulation Encapsulation / Class & Struct reference type과 value type을 공부하면서 대표적인 참조 형식인 class와 값 형식인 struct를 비교하면 공부하면 더 명확하게 공부할 수 있을 것이라고 생각했고, 두 개념을 비교하기에 앞서 왜 캡슐화를 사용해야하는지, 캡슐화가 뭔지에 대해서 공부하였다. Encapsulation - Class와 Struct 모두 encapsulation을 위한 도구이다. 내가 이해한 캡슐화는 다음과 같다. 1) 유사한 기능이나 변수를 한 집합으로 하여 더 관리하기 쉽게하고 코드를 명확히 함. 2) 외부에서 멤버를 엑세스하는 방법을 지정할 수 있도록, 직접 접근을 막거나 접근 전 부가적인 처리를 요구함. 3) 정보를 외부..
Reference type / Value type Memory structure - 먼저 메모리가 어떻게 구조되었는지 공부하였다. - 메모리는 OS에서 프로그램의 실행을 위해 공간을 할당받는 공간이다. 대표적인 메모리는 code/ data/ stack/ heap 영역이있고 아래 그림과 같은 구조를 갖는다. - 'code 영역'는 실행한 프로그램의 코드, 'data 영역'은 global variable/ static variable, 'heap 영역'은 사용자의 동적 할당 데이터, 'stack 영역'은 지역 변수나 매개 변수를 저장한다. - 힙 영역은 생성자/ 소멸자 또는 garbage collector에 의해 데이터가 저장/ 소멸되고, 스택 영역은 함수의 스코프 안에서 저장/ 소멸된다. 메모리 구조나 각..
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' 형식이다. 서..