기여를 환영합니다! 버그 수정, 새로운 예제, 설명 개선 등 어떤 형태든 좋습니다.
- 이 저장소를 Fork
- 브랜치 생성:
git checkout -b feature/새-예제 - 변경사항 커밋
- Push:
git push origin feature/새-예제 - Pull Request 생성
모든 예제는 Node.js 내장 모듈만 사용한다. npm install이 필요한 예제는 받지 않는다.
# OK
const crypto = require("crypto");
const http = require("http");
# NOT OK
const express = require("express");
const bcrypt = require("bcrypt");모든 예제는 node <파일명>으로 실행하면 결과가 출력되고 정상 종료되어야 한다.
# 새 예제 추가 후 반드시 확인
node 새-폴더/examples/새-예제.js
npm test # 기존 예제가 깨지지 않는지 확인rest-api-server.js처럼 listen 후 종료하지 않는 서버 예제는 scripts/run-all.js의 CI 목록에 포함하지 않는다. 대신 주석으로 제외 사유를 남긴다.
XX-주제/
README.md # 학습 목표, 핵심 질문, 예제 목록
examples/
예제-이름.js # 실행 가능한 예제
- 주석과 출력은 한국어
- 변수명과 함수명은 영어
- 매직넘버에는 반드시 주석으로 이유를 남긴다
- 보안 취약 코드를 데모할 때는 "데모용" 또는 "실무에서는 ~하라" 경고를 포함한다
feat: Rate Limiter 예제에 Sliding Window 추가
fix: jwt-auth-example의 서명 비교를 timingSafeEqual로 변경
docs: 03-system-design README 보강
현재 없는 주제(예: 디자인 패턴, 자료구조, 알고리즘)를 추가하려면:
XX-주제/디렉토리 생성README.md작성 (학습 목표, 핵심 질문)examples/에 실행 가능 예제 추가package.json의 scripts에 실행 명령 추가scripts/run-all.js의 examples 배열에 추가cs-fundamentals.md에 해당 챕터 추가
Issue를 열어주세요. 한국어/영어 모두 환영합니다.