Node 54

노드, VSCode 설치하기

https://nodejs.org Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org LTS : 안정적인 version( 거의 3년간은 안정적으로 사용이 가능하다) Current : 최신 Version(안정적이진 않다) node에서 CPU를 많이 사용하는 작업 같은 경우 C++로 해석해서 호출하거나, 그냥 JavaScript로 느리게 빌드 할 수 있지만, 전자의 방법이 더 좋은 방식이며, 위 check를 체크하면, C++, Python 을 깔아준다(Mac은 생략해도 된다) VisualStudioCode 같은 경우 무료라 많은 사람들이 사용한다 WebStorm 같은 경우 유료라 회사에서 지원해 ..

노드의 역할

서버로서의 노드 서버: 네트워크를 통해 클라이언트에 정보나 서비스를 제공하는 컴퓨터 또는 프로그램 클라이언트: 서버에 요청을 보내는 주체(브라우저, 데스크탑 프로그램, 모바일 앱, 다른 서버에 요청을 보내는 서버) EX) 브라우저(클라이언트, 요청)가 길벗 웹사이트(서버, 응답)에 접속, 핸드폰(클라이언트)을 통해 앱스토어(서버)에서 앱 다운로드 노드 != 서버 하지만, 노드는 서버를 구성할 수 있게 하는 모듈(4장에서 설명)을 제공 노드 서버의 장단점 비정상 흐름을 사용자(이미지, 암호화)가 존재할 경우 노드가 처리하기 힘들다 노드는 기본이 싱글 스레드이기 때문에 비정상 흐름을 사용자를 처리하기 위해 멀티 스레드를 지원하는 것이다. 자바스크립트를 사용하는 점이 가장 큰 장점이다 -> JavaScript..

노드의 특성

이벤트 기반 이벤트가 발생할 때, 미리 지정해둔 작업을 수행하는 방식 이벤트의 예 : 클릭, 네트워크 요청, 타이머 등 이벤트 리스너 : 이벤트를 등록하는 함수 콜백 함수: 이벤트가 발생했을 때 실행될 함수 대부분을 프로그램은 이벤트 기반이다(어떤 동작을 클라이언트가 할때, 다른 동작이 일어나야 한다) 프로그램 같은 경우 이벤트 리스너에 콜백함수를 등록하기 떄문에 어떤 이벤트를 동작했을때는 같은 기능을 동작한다. 논 블로킹 I/O 오래 걸리는 함수를 백그라운드로 보내서 다음 코드가 먼저 실행되게 하고, 나중에 오래 걸리는 함수를 실행 동기 : 코드가 순서대로 실행, 비동기 : 코드가 순서대로 실행되지 않는다. 노드에서는 동기-블로킹, 비동기-논블록킹 형식으로 많이 사용된다 논 블로킹 방식 하에서 일부 코..

노드의 정의

공식 홈페이지 : Node.js는 chrome V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임이다(런타임=실행기) 노드가 나오기 전에는 HTML에 종속적으로 자바스크립트를 실행하였지만, 노드가 나온 뒤에는 자바스크립트를 V8엔진을 가지고 실행해준다(브라우져에 종속적인 문제가 해결이 되었다) 서버의 역할도 수행할 수 있는 자바스크립트 런타임 노드로 자바스크립트로 작성된 서버를 실행할 수 있음. 서버 실행을 위해 필요한 http/https/http2 모듈을 제공 런타임 노드: 자바스크립트 런타임 런타임: 특정 언어로 만든 프로그램들을 실행할 수 있게 해주는 가상 머신(크롬의 V8 엔진 사용)의 상태 노드: 자바스크립트로 만든 프로그램들을 실행할 수 있게 해 줌 다른 런타임으로는 웹 브라우저(크롬, 엣..