CS 핵심 개념을 비유와 실습으로 정복하는 프로젝트
- 일상 비유로 개념을 함께 이해한다
- 퀘스트(과제)를 받고 직접 풀어본다
- 리뷰 후 CLEAR 또는 RETRY 판정
- 언어: C++ / TypeScript
| Stage | 주제 | 핵심 키워드 | 상태 |
|---|---|---|---|
| 1-1 | 네트워크란 무엇인가 | LAN, WAN, 패킷, 프로토콜 | ✅ CLEAR |
| 1-2 | OSI 7계층 vs TCP/IP 4계층 | 계층 구조, 캡슐화, 역할 분리 | ⬜ |
| 1-3 | IP 주소와 서브넷 | IPv4, IPv6, 서브넷 마스크, CIDR | ⬜ |
| 1-4 | DNS의 세계 | 도메인 해석, 재귀/반복 질의, 캐싱 | ⬜ |
| BOSS | 나만의 DNS 조회기 만들기 | C++ 또는 TypeScript | 🔒 |
| Stage | 주제 | 핵심 키워드 | 상태 |
|---|---|---|---|
| 2-1 | TCP vs UDP | 연결 지향, 비연결, 신뢰성 | 🔒 |
| 2-2 | TCP 3-way Handshake | SYN, ACK, 연결 수립/해제 | 🔒 |
| 2-3 | 흐름 제어와 혼잡 제어 | 슬라이딩 윈도우, AIMD, Slow Start | 🔒 |
| 2-4 | 포트와 소켓 | Well-known 포트, 소켓 프로그래밍 | 🔒 |
| BOSS | TCP 채팅 서버/클라이언트 만들기 | C++ 소켓 프로그래밍 | 🔒 |
| Stage | 주제 | 핵심 키워드 | 상태 |
|---|---|---|---|
| 3-1 | HTTP/HTTPS | 메서드, 상태코드, 헤더, TLS | 🔒 |
| 3-2 | REST API 설계 | 리소스, URI, 멱등성 | 🔒 |
| 3-3 | 쿠키, 세션, 토큰 | 인증/인가, JWT, OAuth 개요 | 🔒 |
| 3-4 | WebSocket & 실시간 통신 | 양방향, Polling vs SSE vs WS | 🔒 |
| BOSS | 실시간 알림 시스템 만들기 | TypeScript (Node.js) | 🔒 |
| Stage | 주제 | 핵심 키워드 | 상태 |
|---|---|---|---|
| 4-1 | 라우팅과 NAT | 라우팅 테이블, NAT, 포트포워딩 | 🔒 |
| 4-2 | 로드밸런싱 | L4/L7, 알고리즘, 리버스 프록시 | 🔒 |
| 4-3 | CDN과 캐싱 전략 | Edge, Cache-Control, ETag | 🔒 |
| 4-4 | 네트워크 보안 | 방화벽, DDoS, CORS, XSS | 🔒 |
| FINAL BOSS | 미니 HTTP 서버 직접 구현 | C++ raw socket | 🔒 |
| Stage | 주제 | 핵심 키워드 | 상태 |
|---|---|---|---|
| 1-1 | 운영체제란 무엇인가 | 커널, 사용자 모드, 시스템 콜 | ⬜ |
| 1-2 | 프로세스와 스레드 | PCB, 컨텍스트 스위칭, 멀티스레딩 | ⬜ |
| 1-3 | 프로세스 생성과 종료 | fork, exec, wait, 좀비/고아 프로세스 | ⬜ |
| 1-4 | 프로세스 간 통신 (IPC) | 파이프, 공유메모리, 메시지큐, 소켓 | ⬜ |
| BOSS | 미니 쉘 만들기 | C++ (fork + exec) | 🔒 |
| Stage | 주제 | 핵심 키워드 | 상태 |
|---|---|---|---|
| 2-1 | CPU 스케줄링 기본 | FCFS, SJF, 선점/비선점 | 🔒 |
| 2-2 | Round Robin과 우선순위 | 타임 퀀텀, 에이징, 기아 현상 | 🔒 |
| 2-3 | 멀티레벨 큐 | 포그라운드/백그라운드, 피드백 큐 | 🔒 |
| BOSS | 스케줄러 시뮬레이터 만들기 | TypeScript | 🔒 |
| Stage | 주제 | 핵심 키워드 | 상태 |
|---|---|---|---|
| 3-1 | 경쟁 조건과 임계 구역 | Race Condition, Mutual Exclusion | 🔒 |
| 3-2 | 뮤텍스와 세마포어 | Lock, Counting Semaphore, 바이너리 | 🔒 |
| 3-3 | 데드락 | 4가지 조건, 회피, 탐지, 복구 | 🔒 |
| BOSS | 식사하는 철학자 문제 구현 | C++ (pthread) | 🔒 |
| Stage | 주제 | 핵심 키워드 | 상태 |
|---|---|---|---|
| 4-1 | 메모리 구조와 주소 공간 | 스택, 힙, 코드, 데이터 영역 | 🔒 |
| 4-2 | 페이징과 세그멘테이션 | 가상 메모리, 페이지 테이블, TLB | 🔒 |
| 4-3 | 페이지 교체 알고리즘 | FIFO, LRU, LFU, 클럭 알고리즘 | 🔒 |
| BOSS | LRU 캐시 직접 구현 | TypeScript | 🔒 |
| Stage | 주제 | 핵심 키워드 | 상태 |
|---|---|---|---|
| 5-1 | 파일시스템 기초 | inode, 디렉토리, 파일 디스크립터 | 🔒 |
| 5-2 | 디스크 스케줄링 | SCAN, C-SCAN, SSTF | 🔒 |
| 5-3 | 저널링과 무결성 | 크래시 복구, WAL, Copy-on-Write | 🔒 |
| FINAL BOSS | 인메모리 파일시스템 구현 | C++ | 🔒 |
| Stage | 주제 | 핵심 키워드 | 상태 |
|---|---|---|---|
| 1-1 | 배열과 연결 리스트 | 인덱스, 포인터, 시간복잡도 | ⬜ |
| 1-2 | 스택과 큐 | LIFO, FIFO, 활용 사례 | ⬜ |
| 1-3 | 해시 테이블 | 해시 함수, 충돌 해결, O(1) 탐색 | ⬜ |
| 1-4 | 트리 기초 | 이진 트리, BST, 순회 | ⬜ |
| BOSS | 나만의 HashMap 구현 | TypeScript | 🔒 |
| Stage | 주제 | 핵심 키워드 | 상태 |
|---|---|---|---|
| 2-1 | 기본 정렬 | 버블, 선택, 삽입 정렬 | 🔒 |
| 2-2 | 고급 정렬 | 병합, 퀵, 힙 정렬 | 🔒 |
| 2-3 | 이진 탐색 | 상한/하한, 응용 문제 | 🔒 |
| BOSS | 정렬 알고리즘 시각화 | TypeScript | 🔒 |
| Stage | 주제 | 핵심 키워드 | 상태 |
|---|---|---|---|
| 3-1 | 그래프 기초와 표현 | 인접 리스트, 인접 행렬 | 🔒 |
| 3-2 | BFS와 DFS | 너비 우선, 깊이 우선, 활용 | 🔒 |
| 3-3 | 최단 경로 | 다익스트라, 벨만-포드 | 🔒 |
| BOSS | 길찾기 시각화 | TypeScript | 🔒 |
| Stage | 주제 | 핵심 키워드 | 상태 |
|---|---|---|---|
| 4-1 | 재귀와 백트래킹 | 재귀 트리, 가지치기 | 🔒 |
| 4-2 | 동적 프로그래밍 | 메모이제이션, 타뷸레이션, 최적 부분 구조 | 🔒 |
| 4-3 | 그리디 알고리즘 | 탐욕 선택, 최적 증명 | 🔒 |
| FINAL BOSS | 종합 문제 풀이 5선 | C++ / TypeScript | 🔒 |
| Stage | 주제 | 핵심 키워드 | 상태 |
|---|---|---|---|
| 1-1 | 데이터베이스란 | DBMS, 관계형 모델, 스키마 | ⬜ |
| 1-2 | SQL 기본 | SELECT, JOIN, GROUP BY, 서브쿼리 | ⬜ |
| 1-3 | 정규화 | 1NF, 2NF, 3NF, 함수 종속성 | ⬜ |
| BOSS | 스키마 설계 챌린지 | SQL | 🔒 |
| Stage | 주제 | 핵심 키워드 | 상태 |
|---|---|---|---|
| 2-1 | 인덱스 | B-Tree, B+Tree, 클러스터드, 커버링 | 🔒 |
| 2-2 | 트랜잭션과 ACID | 원자성, 일관성, 격리성, 지속성 | 🔒 |
| 2-3 | 격리 수준과 락 | Read Committed, Repeatable Read, 데드락 | 🔒 |
| BOSS | 트랜잭션 시뮬레이터 | TypeScript | 🔒 |
| Stage | 주제 | 핵심 키워드 | 상태 |
|---|---|---|---|
| 3-1 | 쿼리 최적화 | 실행 계획, EXPLAIN, 풀스캔 | 🔒 |
| 3-2 | NoSQL 개요 | Document, Key-Value, 그래프 DB, CAP | 🔒 |
| 3-3 | 파티셔닝과 레플리케이션 | 샤딩, Master-Slave, 수평/수직 분할 | 🔒 |
| FINAL BOSS | 미니 인메모리 DB 구현 | TypeScript | 🔒 |
| Stage | 주제 | 핵심 키워드 | 상태 |
|---|---|---|---|
| 1-1 | 이진수와 데이터 표현 | 2진수, 16진수, 보수, 부동소수점 | ⬜ |
| 1-2 | 논리 게이트와 회로 | AND, OR, NOT, 가산기, 멀티플렉서 | ⬜ |
| 1-3 | CPU 구조 | ALU, 레지스터, 제어장치, 클럭 | ⬜ |
| BOSS | 간단한 ALU 시뮬레이터 | TypeScript | 🔒 |
| Stage | 주제 | 핵심 키워드 | 상태 |
|---|---|---|---|
| 2-1 | 명령어 사이클 | Fetch, Decode, Execute, 파이프라인 | 🔒 |
| 2-2 | 파이프라인과 해저드 | 데이터/구조/제어 해저드, 분기 예측 | 🔒 |
| 2-3 | 메모리 계층 | 레지스터, 캐시(L1/L2/L3), RAM, 디스크 | 🔒 |
| BOSS | 캐시 시뮬레이터 | C++ | 🔒 |
| Stage | 주제 | 핵심 키워드 | 상태 |
|---|---|---|---|
| 3-1 | 캐시 정책 | LRU, Write-back, Write-through, 지역성 | 🔒 |
| 3-2 | 병렬 처리 | 멀티코어, SIMD, 암달의 법칙 | 🔒 |
| 3-3 | I/O와 인터럽트 | DMA, 폴링, 인터럽트 벡터 | 🔒 |
| FINAL BOSS | 미니 CPU 시뮬레이터 | C++ | 🔒 |
| Stage | 주제 | 핵심 키워드 | 상태 |
|---|---|---|---|
| 1-1 | 보안의 3요소 | 기밀성, 무결성, 가용성 (CIA) | ⬜ |
| 1-2 | 암호화 기초 | 대칭키, 비대칭키, 해시 함수 | ⬜ |
| 1-3 | 인증과 인가 | 세션, 토큰, OAuth, RBAC | ⬜ |
| BOSS | 비밀번호 해싱 시스템 구현 | TypeScript | 🔒 |
| Stage | 주제 | 핵심 키워드 | 상태 |
|---|---|---|---|
| 2-1 | XSS와 CSRF | Reflected, Stored, DOM-based, 토큰 방어 | 🔒 |
| 2-2 | SQL Injection | 바인드 변수, ORM, 입력 검증 | 🔒 |
| 2-3 | HTTPS와 TLS | 인증서, 핸드셰이크, 중간자 공격 | 🔒 |
| BOSS | 취약점 탐지 & 패치 챌린지 | TypeScript | 🔒 |
| Stage | 주제 | 핵심 키워드 | 상태 |
|---|---|---|---|
| 3-1 | 네트워크 보안 | 방화벽, IDS/IPS, VPN | 🔒 |
| 3-2 | 시스템 보안 | 권한 관리, 샌드박스, 버퍼 오버플로 | 🔒 |
| 3-3 | 보안 설계 원칙 | 최소 권한, Defense in Depth, Zero Trust | 🔒 |
| FINAL BOSS | 안전한 로그인 시스템 구현 | TypeScript + C++ | 🔒 |
=== Network Quest ===
Ch.1 기초 [██░░░░░░░░] 1/5
Ch.2 전송 [░░░░░░░░░░] 0/5 🔒
Ch.3 응용 [░░░░░░░░░░] 0/5 🔒
Ch.4 심화 [░░░░░░░░░░] 0/5 🔒
=== OS Quest ===
Ch.1 기초 [░░░░░░░░░░] 0/5
Ch.2 스케줄링 [░░░░░░░░░░] 0/4 🔒
Ch.3 동기화 [░░░░░░░░░░] 0/4 🔒
Ch.4 메모리 [░░░░░░░░░░] 0/4 🔒
Ch.5 파일시스템 [░░░░░░░░░░] 0/4 🔒
=== Algorithm & DS Quest ===
Ch.1 기초 [░░░░░░░░░░] 0/5
Ch.2 정렬탐색 [░░░░░░░░░░] 0/4 🔒
Ch.3 그래프 [░░░░░░░░░░] 0/4 🔒
Ch.4 심화 [░░░░░░░░░░] 0/4 🔒
=== Database Quest ===
Ch.1 기초 [░░░░░░░░░░] 0/4
Ch.2 내부동작 [░░░░░░░░░░] 0/4 🔒
Ch.3 심화 [░░░░░░░░░░] 0/4 🔒
=== Computer Architecture Quest ===
Ch.1 기초 [░░░░░░░░░░] 0/4
Ch.2 실행 [░░░░░░░░░░] 0/4 🔒
Ch.3 심화 [░░░░░░░░░░] 0/4 🔒
=== Security Quest ===
Ch.1 기초 [░░░░░░░░░░] 0/4
Ch.2 웹보안 [░░░░░░░░░░] 0/4 🔒
Ch.3 심화 [░░░░░░░░░░] 0/4 🔒