Node.js는 서버 측에서 JavaScript 코드를 실행할 수 있도록 설계된 오픈 소스 런타임 환경입니다. 원래 JavaScript는 브라우저 내에서만 실행되도록 설계되었지만, Node.js를 통해 서버 측에서도 JavaScript를 사용할 수 있게 되었습니다. 이
REPL 은 Read Eval Print Loop의 약자입니다. 이는 윈도우 커맨드, 혹은 UNIX/LINUX Shell 처럼 사용자가 커맨드를 입력하면 시스템이 값을 반환하는 환경을 가르킵니다.Node.js는 REPL 환경과 함께 제공되며 다음과 같은 기능을 수행 할
모듈 시스템은 코드를 모듈화하여 재사용성과 관리성을 높여주는 중요한 기능입니다. Node.js는 CommonJS 모듈 시스템을 기본으로 사용하며, ES6의 import/export 구문도 지원합니다.Node.js는 CommonJS 사양을 기반으로 모듈을 정의하고 불러옵
운영체제 정보를 가져오는 모듈입니다.시스템의 CPU 정보, 메모리 상태, 플랫폼 정보 등을 제공받을 수 있습니다.1 ) os.arch()프로세서의 아키텍처를 반환합니다.반환값 예시: 'x64', 'arm', 'ia32' 등2 ) os.constants운영 체제에 따른
url 모듈은 Node.js에서 URL을 파싱하거나 생성하는 데 사용되는 내장 모듈입니다. 이 모듈은 URL을 쉽게 분석하고, 구성 요소로 분리하거나, 수정할 수 있도록 도와줍니다. 특히, 웹 애플리케이션 개발 시 HTTP 요청 처리나 리소스 주소 관리 등에 유용하게
Worker Threads는 멀티 스레드 처리를 위해 제공되는 기능으로, JavaScript의 싱글 스레드 특성을 보완하고 병렬 처리를 가능하게 합니다. Node.js는 기본적으로 싱글 스레드 기반으로 동작하지만, 복잡한 작업이나 CPU 집약적인 작업을 처리할 때 단일
Node.js에서 fs 모듈은 파일 시스템과 상호작용할 수 있는 기능을 제공하는 기본 모듈입니다. 이를 사용하면 파일을 읽고, 쓰고, 삭제하는 등의 다양한 파일 관련 작업을 수행할 수 있습니다.fs.readFile(path\[, options], callback) :
Buffer와 Stream은 대용량 데이터를 효율적으로 처리하기 위한 중요한 개념입니다. 두 개념 모두 파일, 네트워크, 데이터베이스와 같은 외부 자원으로부터 데이터를 처리할 때 자주 사용됩니다.Buffer는 고정 크기의 메모리 공간을 사용하여 이진 데이터(바이너리 데
Thread Pool은 비동기 작업을 효율적으로 처리하기 위한 중요한 개념입니다. Node.js는 싱글 스레드로 동작하는 이벤트 기반 환경이지만, I/O 작업이나 CPU 집중 작업을 효율적으로 처리하기 위해 백그라운드에서 여러 스레드를 사용하는 방식을 채택하고 있습니다
블로킹(Blocking) 작업은 하나의 작업이 완료될 때까지 다음 작업이 대기하는 방식입니다. 예를 들어, 파일 읽기 작업이 블로킹 방식이라면 해당 파일이 완전히 읽힐 때까지 프로그램의 흐름이 멈추게 됩니다. 이는 코드가 순차적으로 실행되며, 각 작업이 다음 작업으로
Node.js의 http 모듈은 서버와 클라이언트 간의 HTTP 통신을 처리할 수 있도록 도와주는 핵심 모듈 중 하나입니다. 이를 사용하여 HTTP 서버를 생성하고, 요청(request) 및 응답(response)을 관리할 수 있습니다.HTTP server를 생성하는데
HTTP 프로토콜은 비연결지향과 상태정보 유지 안함 이라는 특징을 가지고 있어, 서버와 클라이언트가 통신시 연속적으로 이어지지 않고 한 번 통신 되면 끊어지게 되며, 상태정보가 유지되지 않게됩니다. 이러한 문제를 해결하기 위해 사용하는 것이 cookie와 session
Express는 Node.js에서 서버 사이드 웹 애플리케이션을 구축하기 위한 간단하면서도 유연한 웹 애플리케이션 프레임워크입니다. Express는 Node.js 환경에서 서버를 구축하고 HTTP 요청을 처리하는 과정을 쉽게 만들어줍니다.app 객체는 Express 애
Multer는 Node.js에서 파일 업로드를 처리하기 위해 주로 사용되는 미들웨어입니다. Express 또는 다른 Node.js 서버에서 클라이언트가 전송하는 파일을 서버에 저장하거나 처리하는 데 사용됩니다. Multer는 특히 multipart/form-data 형
웹 브라우저에서 다른 도메인의 리소스에 접근할 때 발생하는 보안 메커니즘입니다. 간단히 말해, 한 웹 페이지에서 다른 도메인의 서버로 요청을 보낼 때, 이 요청을 허용할지 결정하는 역할을 합니다. 웹 애플리케이션의 보안을 위해 도메인 간의 요청을 제한함으로써 민감한 데
WebSocket은 TCP 소켓 연결을 통해 클라이언트와 서버 간의 양방향 통신을 가능하게 합니다. 일반적인 HTTP 통신에서는 클라이언트가 요청을 보내고 서버가 응답을 반환하는 방식으로 동작합니다. 반면 WebSocket은 클라이언트가 연결을 초기화한 후 지속적으로
Server-Sent Events (SSE)는 서버에서 클라이언트(주로 웹 브라우저)로 일방적으로 데이터를 지속적으로 보내는 방식입니다. 이 기술을 사용하면 서버는 클라이언트의 요청 없이도 실시간으로 데이터를 전송할 수 있어, 실시간 업데이트가 필요한 애플리케이션에 적
스케줄러(Scheduler)는 특정 시간이나 간격에 따라 작업을 자동으로 실행할 수 있게 해주는 기능입니다. 이는 주기적인 작업(예: 백업, 이메일 전송, 데이터 수집 등)을 자동으로 처리하는 데 유용하며, 다양한 스케줄링 방식이 존재합니다. Node.js에서 주로 사
JSON Web Token 으로 JSON 객체를 암호화하여 안전하게 정보를 주고받을 수 있도록 설계된 토큰입니다. 세션 로그인 방식과 다르게 토큰 자체가 필요한 모든 정보를 포함하고 있어 별도의 세션 저장소가 필요 없습니다.자세한 JWT 관련 내용은 https:
세션은 서버 측에서 사용자의 상태나 데이터를 유지하기 위한 방법입니다. 사용자가 서버에 접속할 때 서버는 세션을 생성하고 이를 통해 각 사용자의 정보를 서버에 저장합니다. 세션은 로그인 정보와 같은 데이터를 저장하여 사용자가 웹사이트를 이동할 때마다 다시 로그인할 필요