Home
Psmin1994
X

미들웨어 Middleware

미들웨어 Middleware 미들웨어는 Express 동작의 핵심으로 HTTP 요청과 응답 사이에서 단계별 동작을 수행합니다. docs를 보면 middleware에 대한 설명이 나와있습니다. “Middleware functions are functions that have access to the request object (req), th...

express 프레임워크

Express에 대해 알아보자. Express Express에 가보면, Express란 ‘Node.js를 위한 빠르고 개방적인 간결한 웹 프레임워크’ 라고 정의되어 있습니다. 이전 포스트에서 Node.js는 브라우저 외의 환경에서도 javascript로 작성된 파일을 구동할 수 있게 해준다고 했습니다. Express는 Node.js 환경에서...

npm이란?

npm에 대해 알아보자. npm (Node Package Manager) 자바스크립트로 프로젝트를 할 때 개발자들끼리 만든 다양한 기능(패키지, 모듈)들을 관리하는 Package Manager입니다. Package는 개발자들이 npm에 배포한 어떤 유용한 도구 및 프레임워크를 의미합니다. 이미 수 많은 자바스크립트 개발자들이 유용한 기능들을...

Node.js란?

Node.js의 동작 원리에 대해 알아보자. Node.js Node.js란 Chrome V8 Javascript 엔진으로 빌드된 Javascript 런타임입니다. 여기서 런타임이란 프로그래밍 언어가 구동되는 환경을 말합니다. 즉, 웹 서버의 개념이 아닌 Javascript로 서버를 구축하고 서버에서 작동되도록 해주는 런타임 환경입니다. 이...

클로저 Closure

Javascript에서의 클로저를 알아보자. Closure 클로저 Closure는 폐쇄 의 의미로 쓰입니다. Javascript의 클로저도 비슷한 의미를 갖습니다. 함수가 선언될 당시 주변 환경과 함께 갇힌다는 의미입니다. 클로저는 함수와 함수가 선언된 어휘적 환경(Lexical Scope)의 조합입니다. 깊게 말하면, 함수가 속한 렉시컬...

가비지 컬렉션 Garbage Collection

메모리 관리 자바스크립트는 고수준 언어로 자체적으로 메모리 관리를 해줍니다. 하지만, 최적화된 코드로 메모리 누수 없이 관리하기 위해서 자바스크립트 메모리 관리 방식에 대해 알아둘 필요가 있습니다. 메모리 생명 주기 자바스크립트에서 메모리 생명 주기는 대부분의 프로그래밍 언어와 비슷합니다. 필요할 때 할당하고 할당된 메모리를 사용...

원시 타입과 참조 타입

자바스크립트의 변수 타입에 대해 알아보자. 원시 타입 (Primitive Type) 자바스크립트의 원시타입으로는 number, bigint, string, boolean, null, undefined, symbol 총 7 개가 존재합니다. 이들의 공통점은 객체가 아니며, 따로 메서드(method)를 가지지 않습니다. 그렇다면 “stri...

변수 선언 및 할당

변수의 선언 및 할당 과정, Hoisting, Scope 개념에 대해 알아보자. 변수 (Variable) Javascript에서 변수는 하나의 값을 저장하기 위해 확보한 메모리 공간을 식별하기 위해 붙인 이름을 말합니다. 변수명은 변수의 값이 아닌 메모리 주소를 기억하고 있습니다. JS engine은 변수명과 매핑된 메모리 주소를 통해 저장된...

실행 컨텍스트 Execution Context

ES6의 Execution Context 실행 컨텍스트 Execution Context 코드가 실제로 실행되고 관리되는 영역을 말하며 실행 컨텍스트는 3가지 경우에 생성됩니다. 맨 처음 코드가 실행 되었을 때 => Global Execution Context 함수가 호출되었을 때 => Functional Execution ...

일급 객체 First Class Object

일급 객체란? 다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체를 말합니다. 즉, 함수에 인자로 넘기기, 변수에 대입하기와 같은 연산을 지원할 때 일급 객체라고합니다. 조건 무명 리터럴로 생성할 수 있다. (함수 표현식을 의미하며 값으로 표현될 수 있기 때문에 함수 표현식으로 사용가능합니다.) var t...