01. 준비하기 Express.js의 이해 일반적인 웹 서버와 Node.js로 만든 웹 서버는 다르지 않다. 기능이 다른 웹 서버는 존재할 수 있지만 기반이 되는 개념자체가 다른 웹서버는 존재하지 않다. Express.js란? ==> Node.js로 서버를 빠르고 간편하게 만들 수 있게 도와주는 웹 프레임워크 ==> 다양한 웹 프레임워크가 존재하지만 오늘날 가장 많은 Node.js 웹서버가 Express.js 프레임워크를 통해 개발. 웹 서버와 Express.js의 차이 ==> 웹서버와 Express.js는 동일하지 않다 ==> Node.js를 위한 웹 프레임워크로 웹서버를 구현하기 위해 사용 되는 것이 Express.js 프레임워크 API Client 학습 API Client란? ==> 개발단계에서 작..
01. Package Manager Package Manager란? 패키지를 손쉽게 다루는 작업을 안전하고 편리하게 사용하기 위한 툴 코드를 다운로드 받거나, 자신의 코드를 배포하여 다른 사람이 쓸 수 있도록 할 수 있다. Node.js에서 사용하는 대표적인 패키지 매니저는 npm과 yarn이 있다. npm이나 yarn에 업로드된 Node.js 모듈을 패키지라고 부른다. 모듈이 다른 모듈을 참조하여 사용하는 것과 같이, 패키지도 다른 패키지를 사용할 수 있다.(의존 관계) npm과 yarn은 특별한 이유가 존재하지 않다면 같이 사용하지 않는 것이 좋다. Package.json? 설치한 패키지들의 버전을 관리할 때 사용하는 파일 동일한 패키지를 사용하더라도 버전별로 기능을 다르게 사용할 수 있으므로 특정한..
01. HTTP의 이해 HTTP란? ==> 데이터를 주고 받는 양식 정의한 통신 규약 중 하나 매우 범용적인 양식을 가지고 있다. 따라서 전 세계에서 가장 많이 사용하고 있는 통신 규약이다. 통신규약이란? ==> 컴퓨터 사이에 데이터를 주고 받을 때 정해둔 약속 서버나 클라이언트(브라우저)끼리 의사 소통에서도 사용한다. 현대에 존재하는 대부분의 웹 서버가 HTTP를 기반으로 데이터를 주고 받는다. 따라서 우리는 매일 HTTP를 이용하고 있다 볼 수 있다. 다시 정리하면 네트워크 = 의사 표현의 수단 / 통신 규약 = 의사 표현의 방법 HTTP로 데이터를 주고 받기 ==> 1. Browser가 request(method는 GET메서드, 경로는 /index.html)를 보낸다. ==> 2. request를 ..
01. 동기(Sync) & 비동기 (Async) 동기에 대한 개념 먼저 실행된 코드의 결과가 나올때까지 대기하는 것을 말한다. 예시) 정원이 한번 태우면 5분이 걸리는 놀이기구에 30명이 정원이라 생각해보자. 5분 뒤에 탑승했던 사람들이 다 내리기 전까지는 탑승할 수 없으니 놀이기구 탑승/하차가 동기적으로 관리된다고 볼 수 있다. 비동기에 대한 개념 실행된 순서와 관계 없이 결과가 나온다. 예시) 정원이 30명인 맛집에 들어가기 위해 대기 손님이 있다고 가정하자. 식사를 마친 사람은 언제든 바로 나올 수 있으며 나온 사람의 숫자만큼 다시 입장이 가능하다. 따라서 맛집 입/퇴장이 비동기적으로 처리된다. Blocking Model & Non-Blocking Model Blocking Model - 코드의 실..
@ Node.js란? Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임 이벤트 기반, 논 블로킹 I/O 모델을 사용해 가볍고 효율적 Node.js 패키지 생태계인 npm은 세계에서 가장 큰 오픈 소스 라이브러리 생태계다. 다시 정리하자면 JavaScript를 브라우저가 아닌 컴퓨터에서 브라어저 없이 실행하게 도와주는 환경 @ Node.js를 사용해야 하는 이유...? 논 블로킹(Non-blocking) I/O, 싱글 스레드(Single Thread), 이벤트 루프(Event Loop)의 특성이 있다. 기존 블로킹(Blocking) I/O I/O는 데이터 입력(Input) / 출력(Output)을 뜻한다. Blocking - Linear programming, 코드하기 쉽고 ..
@ 데이터 타입의 종류(기본형과 참조형) ==> 구분 기준은 값의 저장 방식과, 불변성 여부 기본형(Primitive type): 값이 담긴 주소값을 바로 복제, 불변성을 띔 참조형(Reference type): 값이 담긴 주소값들로 이루어진 묶음을 가리키는 주소값을 복제, 불변성을 띄지 않음 @ 메모리와 데이터 메모리, 데이터 비트 1. 0과 1을 가지고 있는 메모리를 구성하기 위한 작은 조각을 의미 바이트 1. 비트 8개를 묶음 단위 메모리(memory : byte 단위로 구성 1. 모든 데이터는 byte 단위의 식별자인 메모리 주소값을 통해서 서로 구분이 된다. 2. Javascript의 메모리는 다른 언어의 여러 데이터 타입과 다르게 8byte로 이루어져 있어서 handling할 요소들이 많지 않..