Nodejs 4

[Node.js] 비동기 작업 개수 제한 "p-limit"

p-limit 란p-limit은 Node.js 및 브라우저 환경에서 비동기 작업(Promise)의 동시 실행 개수를 제한하기 위해 사용하는 초경량 라이브러리입니다.자바스크립트의 Promise.all()은 모든 작업을 동시에 실행하려는 성질이 있습니다. 하지만 실제 운영 환경에서는 서버의 자원(CPU, 메모리)이나 외부 API의 허용량(Rate Limit) 때문에 무한정 동시에 작업을 돌릴 수 없습니다. p-limit은 이때 "한 번에 최대 N개만 처리해!"라고 명령하는 교통경찰과 같은 역할을 합니다.왜 Promise.all만으로는 부족할까?우리가 1,000개의 데이터를 마이그레이션해야 한다고 가정해 봅시다.Promise.all 사용 시: 1,000개의 네트워크 요청이나 DB 쿼리가 동시에 발생합니다. 이..

Nodejs 2026.01.29

암호화란?

암호화란?암호란 정보를 다른 사람이 이해할 수 없도록 가공한 형태를 말한다. 그리고 암호화는 정보를 특정한 규칙에 따라 알아볼 수 없는 형태로 변환을 하는 과정을 말한다. 이 암호화는 데이터가 전송되거나 저장되는 과정에서 도난, 변조, 유출되는 것을 막아 정보를 안전하게 보호하는 데 필수적인 기술이다.암호화에 대해 올바르게 이해하고 사용한다면 데이터에 따라 알맞게 암호화를 하여 서비스의 신뢰와 안정성을 사용자에게 보장해줄 수 있게 된다. 또한 인가와 인증에 대한 시선이 넓어질 수 있다. 먼저 단방향 해시와, 양방향 암호화에 대한 개념을 짚고 넘어가는 것 부터 시작해야 한다.단방향 암호화와 양방향 암호화는 복호화가 가능한가 불가능한가를 기준으로 나뉘는 개념이다.단방향 암호화 (Hashing)"원본 노출 위..

보안 2025.10.30

라이프 사이클 (LifeCycle)에 대한 이해

라이프 사이클 (LifeCycle) 을 알아야 하는 이유라이프사이클은 어떤 객체나 시스템이 생성되고, 동작하다가 종료되기까지의 흐름을 의미한다.라이프사이클을 이해하고 있으면, 애플리케이션이 어떤 순서로 동작하는지를 알 수 있기 때문에 로직을 어디에 넣어야 할지를 정확하게 판단할 수 있다.또한 특정 기술의 동작 원리를 이해할 때도 라이프사이클에 대한 파악이 중요하다.이 흐름을 이해하면 디버깅, 최적화, 확장 등의 관점에서 유리하고 안정적인 코드 작성이 가능하다.라이프사이클의 기본 구조라이프사이클은 일반적으로 다음과 같은 흐름을 가진다.생성 (Initialization): 객체 또는 애플리케이션이 메모리에 할당되고 초기화되는 시점사용 (Execution): 로직이 실행되고 이벤트가 처리되는 시점종료 (Des..

cs 2025.06.23

Node.js 의 개념과 동작원리

1. Node.js 과 철학"Node.js는 JavaScript 런타임 환경이다."런타임 환경이란 프로그래밍 언어가 동작하는 데 필요한 엔진, API, 라이브러리, 실행 환경 전체를 의미한다.JavaScript는 과거에는 웹 브라우저에서만 동작하는 프로그래밍 언어였지만 구글의 V8 JS *엔진이 나오면서 JS의 실행 속도가 서버 사이드에서도 사용할 수 있는 수준으로 비약적으로 향상되었다. 그렇다고 원래 JS의 서버사이드 프레임 워크가 없었던 것은 아니라고 한다. 하지만 V8 엔진이 나오기 전까지 그 성능이 미흡했다고 한다. JS의 단일 스레드 + 이벤트 루프와 OS의 비동기 I/O를 직접 결합하는 방식으로 설계되었다. 그 결과, 네트워크 요청, 파일 읽기/쓰기, DB 쿼리와 같이 시간이 오래 걸리는 I/..

Nodejs 2025.05.27