[TIL] 24.08.27 TUE

GDORI·2024년 8월 27일
0

TIL

목록 보기
23/79
post-thumbnail

오늘은 알고리즘 코드카타 및 Node.js 입문주차 수업을 진행하였다.

푼 알고리즘

깃허브 바로가기

Node 정리

들어가기에 앞서..

간단하게 http에 대하여 정리하고 갑시다.

HTTP 개요 및 원리

HTTP(HyperText Transfer Protocol)는 웹에서 데이터를 주고받기 위한 프로토콜입니다. 클라이언트(웹 브라우저)와 서버 간의 요청과 응답으로 작동합니다. 주로 GET, POST, PUT, DELETE 등의 메서드를 사용하며, 각 메서드는 특정 작업을 수행합니다. 또한 HTTP는 상태 코드로 요청 결과를 전달하며, 200번대는 성공, 400번대는 클라이언트 오류, 500번대는 서버 오류를 나타냅니다. 이외에도 쿠키와 세션을 통해 상태를 관리할 수 있습니다.

웹서버 관련 글도 참조하세요!
해당 벨로그 내 다른 글로 이동

Node.js란?

Node.js는 서버 사이드에서 자바스크립트를 실행할 수 있는 런타임 환경입니다. V8 엔진을 기반으로 하며, 비동기 I/O 처리를 통해 높은 성능을 제공합니다. Node.js는 주로 웹 서버 구축, API 개발, 실시간 애플리케이션 등에 사용됩니다. 기본 모듈로 HTTP 서버를 쉽게 생성할 수 있으며, 파일 시스템 작업, 경로 처리 등을 위한 다양한 모듈도 지원합니다. 또한, NPM(Node Package Manager)을 통해 수많은 오픈 소스 패키지를 손쉽게 관리할 수 있습니다.

Node.js의 장점 4가지

논블로킹(Non-blocking)

논블로킹은 작업을 수행하는 동안 다른 작업이 중단되지 않도록 하는 방식입니다. Node.js에서는 비동기 방식으로 I/O 작업을 처리하여, 하나의 작업이 완료되기를 기다리지 않고 다음 작업을 처리할 수 있습니다.

싱글스레드(Single-threaded)

Node.js는 단일 스레드에서 모든 작업을 처리합니다. 이는 코드가 한 번에 하나의 작업을 수행하지만, 비동기 작업을 통해 효율적인 멀티태스킹이 가능합니다.

호출 스택(Call Stack)

호출 스택은 함수 호출이 이루어지는 순서를 관리하는 구조입니다. Node.js에서는 스택을 통해 함수 실행 순서를 관리하며, 실행 중인 함수가 완료되면 스택에서 제거됩니다.

이벤트 루프(Event Loop)

이벤트 루프는 Node.js에서 비동기 작업을 처리하는 핵심 메커니즘입니다. 호출 스택이 비어 있을 때 대기 중인 작업을 처리하여 비동기 작업이 완료될 때까지 프로그램이 멈추지 않도록 합니다.

profile
하루 최소 1시간이라도 공부하자..

0개의 댓글