Dev-environment

NPM

NPM은 PHP의 컴포져(Composer)나 자바의 그래들(Gradle)과 같은 역할이다. 백엔드 개발자가 아닌, 프론트엔드 개발자더라도 Node.js를 최소한이라도 배워야 하는 이유는, 모던 프론트엔드 개발을 위한 개발 환경을 셋팅하려면 적어도 NPM은 쓰게 되는 등 자연스럽게 접하게 되기 때문이다.

Read
Concept

Semantic versioning

major, minor, patch 세 가지 숫자를 조합해서 버전을 관리하는 것을 의미한다. MochaJS라는 오픈소스 프로젝트에 기여하면서 처음 제대로 접한 개념이었는데 이를 좀 더 이해하기 위해 찾아본 결과를 정리한다.

Read
Concept

Micro Service Architecture

마이크로 서비스 아키텍처 스타일은 단일 응용 프로그램을 나누어 작은 서비스의 조합으로 구축하는 방법이다.

Read
JavaScript

엄격모드(Strict mode)

ES5가 나온 후 하위 호환성 이슈 때문에 변경사항 대부분이 디폴트로는 활성화되지 않도록 설계되었다. 대신 'use strict'라는 특별한 지시자를 사용했을 때에만 활성화되게 해두면서 엄격모드라는 게 생겼다. 엄격모드를 실행하면 스크립트가 모던한 방식으로 작동하게 된다.

Read
JavaScript

클로저

어떤 함수를 렉시컬 스코프 밖에서 호출해도, 원래 선언되었던 렉시컬 환경을 기억하고 접근할 수 있도록 하는 특성이다.

Read
JavaScript

호이스팅

자바스크립트의 특이점 중 하나로, 스크립트를 실행하기 전 준비단계에서 var 혹은 function 선언문을 찾아 이 변수 혹은 함수를 생성하는 것이다.

Read
Algorithm

시간 복잡도(Time Complexity)

알고리즘의 효율성을 논하게 되는 때는 입력의 크기가 충분히 클 때이다. 이 때, 점근적 분석을 하게 되며 이를 통해 나타난 시간과 입력의 함수 관계를 '시간 복잡도'라고 한다.

Read
Concept

RESTful API

'REpresentational State Transfer'라는 용어의 약자로서 웹의 장점을 최대한 활용할 수 있는 아키텍처 중 하나. 자원(Resource), 행위(Verb), 표현(Representations)로 구성된다.

Read