목록분류 전체보기 (277)
ecsimsw
Class & Struct Class & Struct 앞서 참조와 값 형식의 차이에 대해서 공부하였고 struct와 class를 비교하여 공부하면 더 명확하게 이해 할 수 있을 것이라고 생각하였다. 두 형식 모두 같은 기능이나 속성을 갖은 것들을 캡슐화하기 위한 장치인 것과 형식적인 차이점은 알고 있으나, 두 개가 어떤 차이가 있는지, 만약 그 쓰임이 같거나 한쪽이 우월하다면 다른 쪽 도구는 왜 존재하는지가 궁금하여 공부하였다. Class & Struct _ Usage aspects - 우선 사용 측면에서의 다른 점은 다음과 같다. 1) struct는 값 형식, class는 참조 형식이다. : struct는 new 연산자 없이 생성해도 자체 호출이 되서 생성이 가능하다. : 개체 복제 시 struct는 ..
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 - 아래는 초기 설정을 위한 코드이다. ..
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..