Network

REST API Node란

Z00_HWAN_99 2024. 10. 7. 11:50
728x90
반응형

패키지 매니저

  • 용량문제, 패키지 내려받기 속도 문제, 보안 문제
  • 애플리케이션의 의존적인 패키지를 관리(설치, 삭제, 업데이트)하는 프로그램
  • npm, yarn

빌드 도구

  • webpack : 다양한 모듈 시스템을 지원
  • ESBuild, Vite

개발 도구

  • VSCode

웹 프레임워크

  • front : React, Vue.js, Svelite
  • back : Express, NetJS

프로토콜

 

클라우드

  • 인터넷 기반으로 제공하는 컴퓨팅 환경
  • Laas, Paas, Saas

인프라

  • 하드웨어, 소프트웨어, 네크워크 등 어플리케이션 구축에 필요한 자원을 뜻한다.

형상관리프로그램

  • git 소스코드의 버전관리, 추적 및 관리, 공동 작업을 지원하는 시스템

풀 리퀘스트(PR)

  • 코드의 공동 작업 시, 소스 코드의 수정사항을 공유하기 위한 요청

Node.js란?

  • 크롬 V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임.

노드는 서버인가?아닌가?

  • 서버의 역할도 수행할 수 있는 자바스크립트 런타임.
  • 노드로 자바스크립트로 작성된 서버를 실행할 수 있음.
  • 서버 실행읠 위해 필요한 http, https, http2 모듈을 제공

런타임

  • 런타임 : 특정 언어로 만든 프로그램들을 실행할 수 있게 해주는 가상 머신(크롬의 V8엔진 사용)의 상태
  • 노드 : 자바스크립트로 만든 프로그램들을 실행할 수 있게 해줌.
  • 다른 런타임으로는 웹 브라우저(크롬, 엣지, 사파리, 파이어폭스)가 있음.
  • 노드 이전에도 자바스크립트 런타임을 만들기 위한 많은 시도
  • But, 엔진 속도 문제로 실패

내부구조

  • 2008년 V8 엔진 출시, 2009년 노드 프로젝트 시작
  • 노드는 V8과 libuv를 내부적으로 포함
    • V8엔진 : 오픈 소스 자바스크립트 엔진 -> 속도 문제 개선(파서, 컴파일러, 인터프리터, 가비지 컬렉터, 콜스택, 힙)
    • 콜스택 : 현재 실행 중인 서브 루틴에 관한 정보를 저장하는 스택
    • 힙 : 객체나 동적 데이터 메모리 공간
    • libuv : 노드의 특성인 이벤트 기반, 논블로킹 I/O 모델을 구현한 라이브러리 / 이벤트 루프와 운영체제 비동기 API/스레드 풀을 지원하는 라이브러리
728x90
반응형

'Network' 카테고리의 다른 글

라우팅  (0) 2024.10.08
Node 특성  (1) 2024.10.07
웹 아키텍처 분석  (4) 2024.09.08
쿠키와 세션  (2) 2024.09.08
HTTP GET / POST  (1) 2024.09.08