node 강좌를 들으면서 개인적으로 필기한것 뼈대+ 살붙이는 형식으로 공부
노드의 정의: 서버의 역할도 수행할수 있는 자바스크립트 런타임
런타임:런타임(영어: runtime→실행시간)은 컴퓨터 과학에서 컴퓨터 프로그램이 실행되고 있는 동안의 동작을 말한다.
노드의 특성
이벤트기반: 이벤트가 발생할때 미리 지정해둔 작업을 수행하는 방식
이벤트의 예: 클릭, 네트워크 요청, 타이머
이벤트리스너: 이벤트를 등록하는 함수
콜백함수: 이벤트가 발생했을 때 실행될 함수
논블로킹 I/O
오래 걸리는 함수를 백 그라운드로 보내서 다음 코드가 먼저 실행되게 하고, 나중에 오래 걸리는 함수를 실행
동기: 순서대로 실행된다
비동기: 순서대로 실행되지 않을수 있다.
프로세스vs 스레드
프로세스: 운영체제에서 할당하는 작업의 단계, 프로세스간 자원 공유 x
스레드: 프로세스 내에서 실행되는 작업의 단위, 부모 프로세스 자원공유
서버로서의 노드
서버>> 네트워크를 통해 클라이언트에 정보나 서비스를 제공하는 컴퓨터 또는 프로그램
클라이언트>> 서버에 요청하는 주체