b.log()

blog92@web:~$ grep -rl "#Node.js" posts/

#Node.js

이 태그가 달린 글

18 ENTRIES
tags/node.js/

ALL TAGS · 372

01

WebSocket 완전 정복 5편 — ws로 만드는 첫 번째 서버와 브로드캐스트

Node.js의 ws 라이브러리로 연결을 받고 모든 클라이언트에 브로드캐스트하는 30줄짜리 서버를 만들고, wscat으로 터미널 두 개를 열어 확인하는 법, 그리고 maxPayload 기본값 100MiB를 처음부터 줄여 둬야 하는 이유를 다룹니다.

2026-09-23
[network]
websocket-05-first-server.md
02

PM2 완전 정복 7편 — 안티패턴 12선과 운영 체크리스트

sudo pm2 혼용부터 K8s 안에서 PM2로 스케일링까지 현장에서 반복되는 안티패턴 12가지를 증상·원인·해결로 정리하고, 설치부터 무중단·로그·보안까지 운영 셋업 체크리스트와 명령어 치트시트로 시리즈를 마무리한다.

2026-09-17
[devops]
pm2-07-antipatterns-checklist.md
03

PM2 완전 정복 5편 — 무엇이든 띄우고, 지켜보고, 배포하기

npm 스크립트·TypeScript·Next.js·Bun·비 Node 앱을 PM2로 띄우는 방법, pm2 monit과 @pm2/io 커스텀 메트릭 및 외부 관측성 스택과의 역할 분담, Programmatic API, 그리고 pm2 deploy와 CI/CD 중 무엇을 고를지.

2026-09-17
[devops]
pm2-05-monitoring-and-deploy.md
04

PM2 완전 정복 4편 — God Daemon과 클러스터 모드, 그리고 진짜 무중단 재시작

PM2 데몬과 PM2_HOME의 구조, fork와 cluster 모드의 차이와 클러스터가 불러오는 상태(State) 문제, restart와 reload의 결정적 차이, wait_ready와 graceful shutdown으로 요청 유실을 0으로 만드는 흐름.

2026-09-17
[devops]
pm2-04-internals-and-cluster.md
05

PM2 완전 정복 3편 — 재부팅에도 살아남는 프로세스와 로그 운영

watch 모드를 개발 전용으로 두는 이유, startup/save/resurrect로 만드는 부팅 영속성, 그리고 pm2-logrotate와 OS logrotate로 로그 디스크를 지키는 방법.

2026-09-17
[devops]
pm2-03-startup-and-log-ops.md
06

PM2 완전 정복 2편 — Ecosystem 파일로 설정을 선언하고 재시작을 설계한다

CLI 옵션을 ecosystem.config.js로 옮겨 재현 가능하게 만들고, env 블록과 --update-env 함정을 정리하며, 크래시 루프 방지·지수 백오프·메모리 기반 재시작·크론 재시작까지 재시작 정책을 의도적으로 설계한다.

2026-09-17
[devops]
pm2-02-ecosystem-and-restart.md
07

PM2 완전 정복 1편 — 프로세스 매니저가 필요한 이유와 첫 실행

node server.js가 운영에서 부딪히는 여섯 가지 문제, systemd·Docker와의 역할 비교, 설치와 첫 실행, 상태 조회부터 stop/delete/kill 구분까지 필수 명령어와 로그 기초.

2026-09-17
[devops]
pm2-01-why-and-basics.md
08

요청 한 건의 일생 6편 — 스트리밍과 읽기 복제본, 마지막 요청까지 지키는 종료

수십만 행을 메모리에 올리지 않고 내보내는 커서 스트리밍, 읽기 복제본과 복제 지연의 함정, 진행 중인 요청을 지키는 Graceful Shutdown, 그리고 요청 한 건의 타임라인과 운영 전 체크리스트로 시리즈를 닫는다.

2026-09-17
[backend]
request-lifecycle-06-scale-and-shutdown.md
09

요청 한 건의 일생 5편 — 캐시와 타임아웃, 에러와 추적으로 파이프라인을 지키는 법

DB 조회를 아예 하지 않는 캐싱 계층부터 Cache Stampede, 바깥이 길고 안쪽이 짧아야 하는 타임아웃 체인과 쿼리 취소, 에러를 계층 경계에서 번역하는 법, 그리고 요청 하나를 끝까지 추적하는 관측성까지.

2026-09-17
[backend]
request-lifecycle-05-cache-timeout-observability.md
10

요청 한 건의 일생 2편 — Node.js는 요청을 받아 어떤 계층으로 흘려보내는가

요청이 애플리케이션 서버 안으로 들어온 뒤의 이야기. 소켓에서 req 객체가 만들어지는 과정과 싱글 스레드가 동시 요청을 처리하는 원리, 미들웨어 파이프라인, 그리고 Controller에서 Service를 거쳐 Repository까지 내려가는 계층 구조를 본다.

2026-09-17
[backend]
request-lifecycle-02-app-entry.md
11

메시지로 말하기 — Enterprise Integration Patterns

Enterprise Integration Patterns 중 현역인 것들과 비동기 메시징이 파는 즉시성·순서·디버깅 가능성. 멱등 소비자와 DLQ 골격, 큐 대신 PostgreSQL 작업 테이블로 충분한 경우.

2026-09-15
[backend]
backend-design-patterns-8-messaging-patterns.md
12

관측 불가능한 시스템 — 로그만 있는 분산 시스템

로그만 있는 분산 시스템에서 장애 원인을 못 찾는 이유. 로그·메트릭·트레이스의 역할 분담, Correlation ID, 카디널리티 폭발, 알림 피로.

2026-09-14
[backend]
backend-antipatterns-15-unobservable-system.md
13

이벤트 루프를 막는 자 — Node.js 런타임 고유 안티패턴

CSV 내보내기 하나가 무관한 엔드포인트의 p99까지 올리는 이유. CPU가 이벤트 루프를 붙잡는 네 가지 통로, 동시성 없는 async, 스트림과 백프레셔.

2026-09-14
[backend]
backend-antipatterns-14-blocking-the-event-loop.md
14

상태를 잊은 함수 — 서버리스 안티패턴

스케일 아웃된 함수가 DB 커넥션을 고갈시키는 이유, 콜드 스타트의 네 단계, Lambda Pinball, 그리고 서버리스가 오히려 정답인 경우.

2026-09-14
[backend]
backend-antipatterns-13-stateless-function-serverless.md
15

Distributed Monolith — 가장 비싼 실패

기능 하나에 서비스 일곱 개가 같은 날 배포되는 구조. 함께 바뀌는 것을 세어 진단하고 Modular Monolith로 후퇴하는 탈출 경로.

2026-09-14
[backend]
backend-antipatterns-9-distributed-monolith.md
16

계약의 붕괴 — Chatty Interface, 버전 없는 API, Over-fetching

Chatty Interface, 버전 없는 API, Over-fetching이 한 화면에 모이는 이유와 유스케이스 기반 엔드포인트·런타임 계약으로 계약을 고정하는 법.

2026-09-14
[backend]
backend-antipatterns-8-contract-collapse.md
17

Fallacies of Distributed Computing — 네트워크를 함수 호출로 취급한 죄

네트워크 호출을 함수 호출처럼 쓴 대가. 분산 컴퓨팅의 여덟 가지 오류를 장애 시나리오로 번역하고 타임아웃·재시도·멱등성을 API의 1급 요소로 만든다.

2026-09-14
[backend]
backend-antipatterns-7-fallacies-of-distributed-computing.md
18

Smart Pipes, Dumb Endpoints — ESB 안티패턴

비즈니스 규칙이 게이트웨이 미들웨어에 숨는 순간. ESB의 실패가 API 게이트웨이로 되살아나는 구조와 게이트웨이의 책임을 문서로 고정하는 법.

2026-09-14
[backend]
backend-antipatterns-6-smart-pipes-dumb-endpoints.md