LabHub — 실습으로 배우는 IT
읽고 끝나지 않습니다. 브라우저의 실제 서버에서 실습합니다.
IT 기초
전공자든 비전공자든, 실무에서 막히는 지점은 대개 기초에 구멍이 있는 자리입니다. 이 패스는 컴퓨터 구조, 운영체제, 네트워크, 데이터베이스를 차례로 훑으며 그 구멍을 메웁니다. 끝내면 장애 상황에서 '어느 계층의 무슨 문제인지'를 스스로 좁혀 나갈 수 있게 됩니다.
리눅스 & 터미널 마스터리
터미널만 남은 서버에서 문제를 끝까지 좁혀 들어가는 능력을 만듭니다. 파일·권한·프로세스 같은 기본기에서 시작해 셸 스크립트, vim 과 tmux, 디스크·메모리·fd·부하 장애 대응, 이름 해석과 소켓 진단까지 손으로 통과합니다. 끝나면 'df 에 여유가 있는데 왜 쓸 수 없는지', '로드가 24 인데 왜 CPU 는 놀고 있는지'를 명령 몇 줄로 설명할 수 있게 됩니다.
- 리눅스 기초 — 터미널이 처음이어도 됩니다.
- 셸 스크립팅 — 한 번 쓰고 버리는 스크립트 말고, 서버에 올려도 되는 스크립트.
- vim 과 tmux — 마우스 없는 환경에서 오히려 더 빨라집니다.
- 리눅스 장애 대응 — df 에 여유가 있는데 왜 쓸 수 없는가.
- 리눅스 네트워크 진단 — 이름이 안 풀리는 건지, 연결이 안 되는 건지, 서버가 느린 건지.
컨테이너 마스터리
컨테이너를 처음 띄우는 것부터 네임스페이스와 cgroup, OCI 이미지 포맷까지 네 코스로 올라갑니다. 명령어를 외우는 대신 종료코드 하나로 원인을 좁히고, 캐시가 깨진 그 한 줄을 짚고, 이미지에 무엇이 박제됐는지 inspect 로 증명할 수 있게 됩니다. 끝나면 남의 Dockerfile 을 3분 안에 리뷰할 수 있습니다. 최소 권한 이미지는 보안 경로에서 이어집니다.
- 도커 기초 — 컨테이너를 처음 띄워 보는 사람을 위한 첫 코스.
- 이미지 빌드 — 빌드가 느린 이유는 대부분 캐시가 아니라 순서입니다.
- 볼륨·네트워크·컴포즈 — 컨테이너 하나로는 서비스가 되지 않습니다.
- 컨테이너 내부 원리 — 커널에 컨테이너라는 물건은 없습니다.
쿠버스트로너트 — 쿠버네티스 5관왕
CNCF 쿠버스트로너트는 KCNA·KCSA·CKA·CKAD·CKS 다섯 자격증을 모두 따야 얻는 타이틀입니다. 이 패스는 개념(KCNA)에서 시작해 운영(CKA), 개발(CKAD), 보안 기초(KCSA), 보안 실무(CKS)까지 다섯 시험의 출제 범위를 실제 클러스터 위에서 손으로 통과합니다. 끝나면 매니페스트를 보고 무엇이 잘못됐는지 3 분 안에 말할 수 있게 됩니다.
- KCNA — 쿠버네티스·클라우드 네이티브 입문 — 용어부터 잡고 클러스터를 손으로 열어봅니다
- CKA — 쿠버네티스 관리자 — 클러스터를 고치는 손을 만듭니다.
- CKAD — 쿠버네티스 애플리케이션 개발자 — 매니페스트를 손으로 쓰고 바로 채점받는다
- KCSA — 쿠버네티스 보안 어소시에이트 — 클러스터를 공격자의 눈으로 다시 봅니다
- CKS — 쿠버네티스 보안 전문가 — 클러스터를 실제로 잠그는 손을 만듭니다.
골든 쿠버스트로너트
쿠버스트로너트 학습에 이어 관측(PCA·OTCA), 네트워킹(ICA·CCA), 전달(CAPA·CGOA), 정책(KCA), 플랫폼(CNPA·CBA·CNPE), 리눅스(LFCS)를 배웁니다. 이론·퀴즈·실습으로 준비하되 코스 수료가 공식 인증이나 합격을 보장하지 않습니다. Golden Kubestronaut의 최초 인정에는 CNCF가 지정한 인증과 LFCS의 유효 상태가 필요하므로 응시 계획을 세울 때 공식 목록과 적용 시점을 확인하세요.
- PCA — 프로메테우스 인증 어소시에이트 — 메트릭이 답하는 질문부터 실전 PromQL 판단까지
- OTCA — 오픈텔레메트리 인증 어소시에이트 — 전파가 끊기는 네 지점과 컬렉터 파이프라인
- ICA — 이스티오 인증 어소시에이트 — VirtualService 하나로는 아무 일도 안 일어납니다.
- CCA — 실리움 인증 어소시에이트 — iptables 를 지우고 커널에 정책을 심습니다.
- CAPA — Argo 프로젝트 인증 어소시에이트 — Argo 네 프로젝트를 손으로 조립합니다.
- CGOA — GitOps 인증 어소시에이트 — Git 이 진실이면 클러스터는 따라온다
- KCA — Kyverno 인증 어소시에이트 — 정책이 클러스터를 멈추지 않게 씁니다.
- CNPA — 클라우드 네이티브 플랫폼 엔지니어링 어소시에이트 — 플랫폼을 제품처럼 만드는 법
- CBA — Backstage 인증 어소시에이트 — 우리 서비스가 몇 개고 누가 주인인가
- LFCS — 리눅스 재단 시스템 관리자 — 쿠버네티스 아래 리눅스를 손으로 증명합니다
- CNPE — 클라우드 네이티브 플랫폼 엔지니어 (전문가) — 플랫폼을 설계하고 지키는 판단력
클라우드 기초
쿠버네티스와 리눅스는 깊게 다루면서 그 아래 깔린 클라우드는 비워 두는 커리큘럼이 많습니다. 이 패스는 그 자리를 메웁니다. 리전과 책임 공유 모델에서 시작해, IAM 정책 문서를 직접 읽고, CIDR 을 손으로 쪼개고, 마지막에는 요금 모델로 두 아키텍처를 비교합니다. 콘솔 버튼 위치 대신 판단의 근거를 다루기 때문에 AWS 로 배우든 Azure 로 배우든 남습니다. 끝내면 아키텍처 회의에서 '무엇을 지불하고 무엇을 얻는지' 로 말할 수 있게 됩니다.
- 클라우드 기본기 — 리전, 책임 공유, 관리형 서비스 — 요금 청구서가 설명되는 지점.
- 클라우드 권한 설계 — 정책 문서를 직접 쓰면서 최소권한을 몸으로 익힙니다.
- 클라우드 네트워크 설계 — CIDR 을 손으로 쪼개고, 왜 안 되는지를 계층으로 좁힙니다.
- 비용과 아키텍처 결정 — 청구서를 읽고, 그 숫자로 설계를 논증합니다.
클라우드 네이티브 아키텍처
서비스 하나를 쪼개는 순간부터 필요해지는 조각들을 손으로 만들어 봅니다. 서비스 간 통신과 회복탄력성, 큐와 비동기 API, Redis 캐시와 실시간 랭킹, S3 와 SeaweedFS, Kafka 로 흘리는 주문 이벤트, 리더가 둘이 되는 Raft 합의까지 여섯 코스입니다. 끝내면 아키텍처 회의에서 '무엇을 지불하고 무엇을 얻는지'로 말할 수 있게 됩니다.
- 마이크로서비스 아키텍처 — 쪼개는 법보다 쪼개지 않는 법을 먼저.
- 큐와 비동기 API — 느린 일을 나중에, 안전하게.
- Redis 와 캐싱 — 랭킹은 ZSet 으로, 캐시는 조심스럽게.
- 오브젝트 스토리지와 S3 — 파일이 아니라 객체로 생각하기.
- 주문이 두 번 도착했고 한 번은 사라졌다 — KRaft 단일 노드에서 중복과 유실을 재현하고 막는다
- 리더가 둘이었다 — 임기와 정족수, 분할을 손으로 겪는다
인프라 자동화 — Ansible·Terraform
서버에 들어가 명령을 치던 일을 플레이북으로, 콘솔에서 누르던 일을 선언으로 옮깁니다. Ansible 로 멱등한 구성을 만들고 역할로 묶은 뒤, Terraform(OpenTofu)으로 상태와 계획을 읽고 모듈과 워크스페이스로 넓힙니다. 끝나면 인프라 변경이 리뷰할 수 있는 코드 한 벌이 됩니다.
- Ansible 기초 — 서버에 손으로 들어가는 일을 끝냅니다.
- Ansible 실전 — 복붙한 플레이북을 롤로 접습니다.
- Terraform/OpenTofu 기초 — 선언하고, 상태로 관리하고, 계획을 읽습니다.
- Terraform 실전 — 모듈·상태·드리프트를 손으로 다룹니다.
- kubespray 와 Terraform 으로 클러스터 세우기 — VM 한 대에 kubespray 로 세우고 Terraform 으로 잇는다
쿠버네티스 플랫폼
쿠버네티스를 쓰는 데서 한 걸음 나아가, 여러 팀이 같은 길로 배포하게 만드는 플랫폼을 세웁니다. 클러스터 운영 실무와 배포판 비교에서 시작해 Helm 차트를 만들고 릴리스를 되돌리고, CRD 와 오퍼레이터로 API 를 넓히고, Istio 로 서비스 사이의 길을 다루고, Argo CD 로 선언한 상태에 수렴시킵니다. Ansible·Terraform 은 인프라 자동화 경로에 있습니다.
- 쿠버네티스 운영 실무 — 새벽 3시에 불려 나가는 일들만 모았습니다.
- 쿠버네티스 배포판 — 직접 세운다 — k3s 와 k0s 를 세우고 etcd 를 복구해 본다
- Helm 차트 제작과 배포 — 차트를 직접 만들고 리비전으로 되돌립니다.
- Helm 배포와 롤백 시나리오 — 되돌릴 수 있어야 배포다 — 진짜 클러스터에서
- CRD 와 오퍼레이터 — 쿠버네티스 API 에 내 타입을 추가합니다.
- Istio 서비스 메시 — 트래픽·보안을 코드에서 떼어 냅니다.
- GitOps 와 ArgoCD — 배포를 커밋 하나로 끝냅니다.
시스템 관리자
서버 앞에서 매일 벌어지는 일을 손으로 통과합니다. 패키지를 설치하고, 키로 접속해 파일을 옮기고, fstab 한 줄을 정확히 쓰고, RAID·LVM·iSCSI 를 절차대로 다루고, qcow2 와 rootless 컨테이너를 다루고, 백업을 복구 리허설까지 끝냅니다. 마지막에는 증설 시점과 작업 중단 시각을 숫자로 계산합니다.
- 패키지 관리 — install 한 줄 뒤에서 벌어지는 일.
- SSH 와 파일 전송 — 키로 붙고, 안전하게 옮기고, 터널을 판다.
- 스토리지와 마운트 — fstab 한 줄이 부팅을 살리고 죽인다.
- 스토리지 실무 — RAID·스냅숏·iSCSI·fio — 디스크가 죽어도, 변경이 틀려도 데이터를 지킨다
- 가상화와 QEMU/KVM — qcow2 백킹 체인이 골든 이미지를 만든다.
- Rootless Podman 운영 — 데몬 없이, root 없이, 그래도 컨테이너.
- 백업과 복구 — 복구 리허설을 안 했으면 백업이 아니다.
- 용량 계획과 변경 관리 — 언제 차는지 계산하고 멈출 시각을 먼저 적는다 — 발주 마감일, 중단 판단 시각, 실측 RPO·RTO
- RHEL 계열 관리 — dnf, rpm, createrepo, 그리고 유닛 파일.
폐쇄망 인프라
인터넷이 막힌 망에서 설치가 되게 만듭니다. pip·npm·Maven·Go·dnf 의 사내 미러와 사설 CA 를 세우고, GPU 드라이버와 CUDA 를 반입해 설치하고, Slurm 으로 작업을 나눠 싣고, 쿠버네티스에서는 GPU Operator 로 드라이버부터 메트릭까지 관리합니다. 공공·금융·연구소 현장에서 서버를 넘겨받았을 때 첫 주에 하는 일의 순서입니다.
- 폐쇄망 미러와 사설 CA — 받는 쪽과 쓰는 쪽, 사내 미러와 신뢰 저장소.
- 폐쇄망 GPU 드라이버 반입 설치 — USB 한 번에 끝내는 반입 절차.
- HPC 와 Slurm — GPU 여덟 장을 여럿이 나눠 쓰는 법.
- GPU Operator 와 타임슬라이싱 — GPU 네 장을 한 번에 못 쓰게 만든 사고에서 출발합니다.
네트워크 심화
주소와 게이트웨이 같은 기본기부터, 집에서 서버를 열 때 반드시 부딪히는 헤어핀 NAT, 그리고 서비스 메시의 실체인 Envoy 와 그 위의 Istio 까지.
- 주소·서브넷·게이트웨이 — A·B·C 클래스는 왜 사라졌고 무엇이 대신 왔는가
- 네트워크 기초 — 리눅스 VM 에서 손으로 — ARP·라우팅·DNS·TCP·방화벽·NAT 를 netns 와 tcpdump 로 직접 만진다
- 네트워크 트러블슈팅 — 안 된다는 신고를 계층으로 쪼갠다.
- 쿠버네티스 네트워크 — 진짜 클러스터에서 — 이름이 어떻게 풀리고 정책이 무엇을 막는지 직접 세어 본다
- Envoy 내부 구조 — 서비스 메시의 트래픽은 결국 이 프록시가 다룬다
- Istio 심화 — 왜 그렇게 흐르는가 — VirtualService 하나로는 아무 일도 일어나지 않는다
- 인증서는 갱신됐는데 브라우저는 옛것을 보여줬다 — DNS 캐시와 TLS 인증서를 파드 안에서 손으로 재현한다
- 세션과 토큰 — 브라우저에서 메시까지 — 로그인 뒤에 무엇이 오가고 어디서 끊기는가.
- Istio 실측 실험실 — 진짜 메시에서 게이트웨이·앰비언트·업그레이드를 잰다
소켓과 실시간 시스템
바이트 경계와 연결 수명을 직접 구현하고 장애를 재현합니다. 소켓의 동작을 근거로 실시간 애플리케이션의 기초를 배웁니다.
- TCP 택배가 잘려 도착했다 — 바이트 조각으로부터 메시지를 복원한다
- 느린 구독자가 생중계를 멈췄다 — 멈춘 한 명만 격리하고 나머지는 계속 보낸다
- ACK 전에 꺼진 간식 자판기 — 재접속해도 재고를 두 번 더하지 않는다
- 연결 하나가 느려지자 나머지가 전부 멈췄다 — 한 반복문으로 연결 수백 개를 지켜본다
- 실시간 통신 — WebSocket·gRPC 스트리밍·WebRTC — HTTP/2 부터 WebRTC 까지 실제 연결로 재며 만든다
SRE / DevOps 엔지니어
파이프라인·GitLab CI·IaC·관측성·Git·부하 테스트 여섯 코스로, 배포가 사건이 아니라 일상이 되게 만드는 기술을 다룹니다. 도구 이름 대신 메커니즘을 만집니다 — 게이트가 왜 종료코드로 말해야 하는지, plan 의 세 기호가 무엇을 뜻하는지, 번 레이트 14.4 가 어디서 나온 숫자인지. 끝나면 새벽 3시에 울린 알림을 보고 지금 무엇을 해야 하는지 판단할 수 있게 됩니다.
- CI/CD 파이프라인 — 젠킨스 없이 파이프라인의 원리를 셸로 만든다
- GitLab CI/CD — 러너 없이 설정 언어와 실행 모델만 정면으로 다룹니다
- Infrastructure as Code — 선언·멱등·상태, 도구 이전의 원리부터
- 관측성 — 진짜 Prometheus 위에서 PromQL·SLO·알림을 굴린다
- Git 실전 — 되돌리기와 리베이스를 겁내지 않게 됩니다
- 부하 테스트 — 평균 대신 꼬리를 보는 훈련
관측·로깅 심화
사이드카로 무엇을 붙일지, 로그를 어디서 자를지, 트레이스가 어디서 끊기는지, Loki 와 OpenSearch 가 어떤 질문에서 갈리는지. 도구 사용법이 아니라 설계 판단을 다룹니다.
- SLO — 얼마까지 망가져도 되는지 정한다 — 99.9%는 한 달에 43분이다
- 사이드카와 컨테이너 조합 패턴 — 한 파드 안에 컨테이너를 둘 두는 이유
- 로그 파이프라인 설계 — 모으는 것보다 나중에 찾는 것이 어렵다
- 분산 트레이싱이 끊기는 자리 — 사이드카가 스팬을 만들어도 체인은 끊긴다
- Loki — 로그를 색인하지 않는 로그 저장소 — 라벨만 색인한다는 결정이 모든 것을 바꾼다
- Grafana — 대시보드는 질문이다 — 그래프를 늘리는 일과 답을 얻는 일은 반대 방향으로 간다
시스템 장애 탐정단
안전한 실습 환경에서 장애를 재현하고 원인을 좁힙니다. 상태 표시와 실제 요청을 비교하며 운영·디버깅의 사고방식을 배웁니다.
- CPU·메모리 누수 판별 — top 의 숫자를 믿기 전에 무엇을 확인해야 하는가
- K8s 망가뜨리기 — 범인은 내 YAML — 초록불 세 개 뒤에 숨은 장애를 찾아라
- 내가 부순다 — 가설을 먼저 쓰는 카오스 실험실 — 부수기 전에 무슨 일이 날지 먼저 적는다
- 로그가 미래에서 왔다 — 시계가 만든 다섯 사건 — 타임스탬프는 증거가 아니라 주장이다
보안
흩어져 있던 보안 코스를 한 서가에 모았습니다. 컨테이너를 최소 권한으로 돌리고, 이미지의 출처와 서명을 확인하고, Keycloak 으로 신원을 붙이고, 정책 엔진으로 가드레일을 세우고, 감사 로그로 탐지 규칙을 씁니다. 쿠버네티스 보안 자격(KCSA·CKS)은 쿠버스트로너트 경로에 있습니다.
- 컨테이너 보안 — 격리돼 있으니 괜찮다는 말부터 깨뜨립니다.
- 빌드는 초록불이었는데 그 라이브러리는 누가 넣었나 — 목록·서명·출처로 산출물을 증명한다
- Keycloak 과 기업 인증 — 로그인 버튼 하나 뒤의 프로토콜.
- 정책을 코드로 — 규칙을 문서가 아니라 클러스터에 새깁니다.
- cron 이 새벽 세 시에 curl 을 했다 — 탐지 규칙을 쓰고 대응 절차를 돌린다
데이터 엔지니어링
실패해도 안전한 파이프라인에서 시작해 Spark·Hadoop 의 실행 계획, Iceberg 표의 스냅샷, Flink 의 상태와 체크포인트, ClickHouse 의 저장 구조까지 엔진이 남긴 숫자로 판단하는 법을 익힙니다. 끝나면 '데이터가 이상하다'는 신고를 받았을 때 어느 단계에서 무엇이 틀어졌는지 숫자로 좁혀 갈 수 있게 됩니다.
- 데이터 파이프라인 — 실패하고 다시 돌려도 결과가 같아야 합니다
- Apache Spark — 느린 잡의 답은 실행 계획과 이벤트 로그에 있다 — local 모드 Spark 로 셔플·조인·쏠림을 이벤트 로그로 잰다
- Apache Hadoop — HDFS 와 YARN 을 한 파드에 세우고 운영한다 — 의사 분산 HDFS·YARN 으로 블록·권한·쿼터·맵리듀스를 손으로
- 레이크하우스 표 형식 — Apache Iceberg 를 metadata 로 이해한다 — 스냅샷·스키마 진화·파티션 진화·MERGE·정리를 metadata 로 확인
- Apache Flink — 스트림을 엔진으로 돌린다 — 워터마크·상태·체크포인트를 진짜 엔진의 출력으로 확인합니다
- ClickHouse — 열 지향 분석 DB 를 속까지 — 정렬 키·파트·병합을 system 표의 숫자로 읽습니다
LLM 애플리케이션 — 검색·에이전트·음성
LLM 애플리케이션의 부품을 직접 만들고 잽니다. 토큰과 검색에서 시작해 에이전트와 MCP 서버로 도구를 붙이고, 마지막에 소리를 듣고 답을 찾아 말하는 음성 비서를 끝까지 잇습니다. 모델의 속과 서빙 비용은 LLM 모델과 서빙 경로에 있습니다.
- LLM 엔지니어링 — 토크나이저부터 RAG 평가까지 바닥부터
- AI 에이전트 — 모델이 아니라 그래프 — 멈추는 조건·실패 경로·기록. 데모와 제품이 갈리는 곳
- 에이전트가 내 DB 를 지웠다 — 표준 라이브러리로 MCP 서버를 짜고 세 겹으로 지킨다
- 음성 AI 에이전트 — 듣고, 찾고, 말하는 파이프라인 — CPU 파드 하나에서 듣기부터 말하기까지 잇고 지연을 잽니다
LLM 모델과 서빙
모델을 부르는 쪽에서 한 걸음 들어가 모델의 속을 엽니다. 트랜스포머를 직접 짜 보고, 작은 언어 모델을 처음부터 학습하고, 서빙 엔진의 배칭과 KV 캐시, 양자화로 비용을 줄이고, 실험 추적으로 모델을 다시 세울 수 있게 만듭니다.
- 트랜스포머 — 어텐션을 손으로 계산한다 — 왜 √d 로 나누는지 숫자로 확인한다
- MiniMind — 작은 언어 모델을 처음부터 끝까지 직접 학습한다 — CPU 두 개로 토크나이저부터 DPO 까지 작은 모델을 굽는다
- LLM 서빙 — 모델 없이 서빙의 기계 장치를 배운다.
- AI 다이어트 실패 사건 — 진짜 INT8 모델을 만들고 정확도·성능을 재본다
- 지난주 모델이 더 좋았는데 아무도 못 찾는다 — 실험 원장·레지스트리·승격 관문을 손으로 만든다
데이터베이스 운영
쿼리를 잘 쓰는 것과 데이터베이스를 운영하는 것은 다른 일입니다. 복제를 세우고, 실제로 승격시키고, 타임라인이 갈라지는 것을 눈으로 봅니다. 그리고 떠 있는 채로 이상해진 데이터베이스를 진단합니다.
- SQL 실전 — 조회에서 실행 계획까지, 손으로 다 돌려 봅니다
- PostgreSQL 복제와 승격 — 대기 서버를 세우고, 실제로 승격시켜 본다
- 백업 — 지운 데이터를 되돌린다 — 복구해 본 적 없는 백업은 백업이 아니다
- 스키마 변경 — 배포가 서비스를 멈추지 않게 — 마이그레이션 한 줄이 전체 요청을 줄 세운다
- PostgreSQL 장애 대응 — 떠 있는데 이상한 데이터베이스를 진단한다
- MongoDB — 문서 데이터베이스의 판단 — 쿼리 문법이 아니라 어디까지 끼워 넣을지를 배운다
백엔드 엔지니어링
채용 공고를 문장별로 읽어 준비 순서를 정하고, Node.js·FastAPI 로 서버의 빈 곳을 직접 세우고 서비스가 쓰는 CS 를 측정으로 다시 배운 뒤, 멱등성·잠금·gRPC 계약을 거쳐 실제 PostgreSQL 과 HTTP 경계에서 데이터 무결성·인가·관측·배포를 하나의 검증 가능한 백엔드 시스템으로 묶습니다.
- 채용 공고로 읽는 백엔드 로드맵 — 무엇부터 할지 정하고 시작한다
- Node.js 백엔드 — 프레임워크가 감춘 것 — Nest 를 깔지 않고 Nest 가 하는 일을 직접 세워 본다
- 요청 하나가 아니라 전부가 느려졌다 — 막은 건 한 요청인데 전부가 느려진다
- FastAPI — 타입이 곧 계약이다 — async def 하나 잘못 쓰면 서버 전체가 멈춘다
- 좋은 서비스를 만드는 CS — 교과서 개념을 측정으로 다시 배운다 — 자료구조·동시성·캐시·시계를 재어 보고 고른다
- 멱등성 — 두 번 눌러도 한 번만 결제되게 — 재시도는 못 막는다. 중복을 막을 뿐이다
- 동시성 — 두 사람이 같은 행을 건드릴 때 — 재고가 음수가 되는 이유는 코드가 아니라 순서다
- 필드 번호를 바꿨더니 옛 클라이언트가 조용히 틀린 값을 읽었다 — protobuf 바이트와 스키마 진화 규칙을 손으로 확인한다
- 프로덕션 백엔드 API 캡스톤 — PostgreSQL과 실제 HTTP에서 운영 증거까지 한 시스템으로 증명한다
개발 도구·언어
테스트 도구와 Go·Rust, 그리고 운영 도구. 사용법이 아니라 그 도구와 언어가 코드 모양을 어떻게 바꾸는지를 다룹니다. 백엔드 프레임워크는 백엔드 엔지니어링 경로에 있습니다.
- 테스트 도구 실전 — 커버리지 100%가 무엇을 보장하지 않는가
- Go 로 서버 만들기 — 예외가 없다는 것이 코드 모양을 바꾼다
- Rust — 컴파일러가 막는 것들 — 빌려온 값을 두 번 쓰면 빌드가 거부한다
- 실패했는데 종료 코드는 0 이었다 — 파이썬 스크립트를 운영 도구로 — 종료 코드·재시도·지표·시험
- 컴파일러 — 작은 언어를 처음부터 끝까지 만든다 — 렉서부터 x86-64 까지, 작은 언어를 직접 만든다
프런트엔드 심화
상태 라이브러리가 불변성을 강요하는 이유, 스트리밍이 실제로 어떻게 끊기는지, 브라우저가 HTML 을 어떻게 읽는지, 캐스케이드가 어떻게 계산되는지. 사용법 위가 아니라 아래를 봅니다.
- HTML — 태그 하나가 기능을 대신한다 — div 로 만든 버튼이 왜 버튼이 아닌가
- CSS — 나중에 쓴 규칙이 이긴다 — !important 를 쓰게 되는 진짜 이유
- 상태 관리 — 라이브러리를 직접 만들어 본다 — 왜 전부 불변성을 강요하는가
- 고래를 찾는데 고양이가 나타났다 — React 검색 경합을 고치고 1만 건의 화면을 만든다
- SSE — 서버가 먼저 말하는 법 — 동작하는데 화면에는 한꺼번에 나오는 이유
- SSR — 서버가 먼저 그린다 — 서버와 클라이언트가 다른 HTML 을 만들면
한국 SI 실무
국내 SI/SM 현장에서 신입이 첫 주부터 마주치는 일들을 순서대로 다룹니다. 요구사항정의서와 이행 체크리스트 같은 산출물 작업에서 시작해, Tomcat/nginx 운영, LDAP·SSO 인증 연동, 시스템 간 인터페이스, DB 이관까지 실제 서버 위에서 손으로 통과합니다. 학원에서는 안 가르치는데 현장에서는 첫날부터 시키는 것들이 기준입니다.
- SI 프로젝트 프로세스 — 요구사항부터 오픈·안정화까지 한 바퀴
- Tomcat & nginx 운영 — WAS 앞뒤에서 실제로 하는 설정 전부
- nginx 장애 대응 — 장애를 직접 만들고 로그로 범인을 지목합니다
- 기업 인증 연동 — LDAP·SSO·DRM, 고객사에 이미 있는 것들
- 시스템 간 연동 (EAI) — 인터페이스 정의서부터 재처리 설계까지
- SI DB 운영 — 표준·변경관리·튜닝·이관, 손으로
- Spring Boot — 쿼리가 몇 개 나가는지 세어 본다 — @Autowired 를 필드에 붙이면 안 되는 이유
- 힙은 남았는데 서비스가 멈췄다 — GC 로그·스레드 덤프·풀 고갈·힙 덤프로 JVM 정지를 읽는다
- EAI 중간 계층 만들기 — 전문 헤더·라우팅·변환에서 MQ·대외계·서킷 브레이커까지
FDE — 포워드 디플로이드 엔지니어
팔란티어가 만들고 OpenAI 와 앤트로픽이 앞다투어 뽑는 직무, Forward Deployed Engineer 를 손으로 연습하는 패스입니다. 문서도 대시보드도 없는 고객 시스템을 정찰하고, 남이 쓴 코드를 디버깅하고, 더러운 고객 데이터를 정제하고, 로그만으로 장애 타임라인을 복원합니다. 끝내면 처음 보는 환경에서도 첫 30분에 무엇을 할지가 정해져 있습니다. 연동·변경·납품은 FDE 실전 경로에서 이어집니다.
- 낯선 시스템 앞에서 — 아는 것이 하나도 없는 상태에서 시작하는 법.
- 디버깅 실전 — 남이 쓰고 떠난 코드를 증상만 보고 고칩니다.
- 고객 데이터 다루기 — 실제 고객 데이터는 예제 데이터처럼 생기지 않았습니다.
- 로그로 원인 찾기 — 대시보드가 없을 때 로그가 유일한 눈입니다.
FDE 실전 — 붙이고, 바꾸고, 넘기기
낯선 시스템을 읽을 수 있게 된 다음 단계입니다. 고객의 API 와 연동하고 실패를 다시 돌려도 안전한 설계를 붙이고, 처음으로 남의 운영 시스템에 변경을 내고, 마지막에 납품물과 인계 문서로 떠날 준비를 합니다.
- 통합과 배포 — 붙이고, 지키고, 설명합니다.
- 되돌릴 수 없는 변경 — 읽기만 하던 손으로 처음 쓰기를 하는 날.
- FDE 캡스톤: 창고가 같은 주문을 세 번 받았다 — 고객의 CSV에서 중복 없는 예약과 인계까지
도메인 지식 — 은행·자본시장·보험·국방
금융·보험·국방 현장에 들어간 IT 인력이 첫 달에 부딪히는 것은 기술이 아니라 업무 언어입니다. 은행의 원장과 대사, 자본시장의 주문·체결·결제, 보험의 계약과 청구, 검색도 설치도 반출도 안 되는 폐쇄망 국방 현장을 차례로 다룹니다. 끝내면 현업 담당자가 쓰는 말을 알아듣고, 그들의 숫자가 왜 그렇게 나오는지 검증할 수 있습니다.
- 은행 현장의 언어 — 원인을 찾아도 도메인을 모르면 설명할 수 없다.
- 자본시장과 결제 — 밀리초가 사고가 되고 순서가 돈이 되는 곳.
- 보험 도메인 심화 — 보험사 현장에서 첫 주에 막히는 것은 기술이 아니라 말이다.
- 폐쇄망 현장 — 방산·국방 도메인 — 검색도 설치도 반출도 안 되는 곳에서 일하는 법.
제품과 창업
고객 문제 검증부터 제품 지표, 실험 통계, 가격과 단위 경제, 지분과 투자까지 — 개발자가 창업이나 새 제품을 맡았을 때 내리는 판단을 실제 데이터로 계산하며 연습합니다.
- 개발자의 창업 — 만들기 전에 검증하기 — 인터뷰·코호트·A/B·단위 경제를 숫자로 판단한다
전자회로와 보드 검증
전압·전류부터 부하 효과와 ADC 입력까지 모델로 검증합니다. 물리 장비가 없는 환경의 한계를 밝히고, 보드 측정 전에 확인할 가설을 만듭니다.
- 전자회로 입문 — 센서 입력 검증 — 같은 분압기가 연결 뒤 틀어지는 이유
- 냉장고가 255°C라고 우긴다 — C로 부호·부분 읽기·재시도·기한 오류를 잡는다
- 케이블이 메아리친다 — ngspice와 Python으로 전파·반사·종단을 검증한다
- 센서는 멀쩡한데 보드가 못 알아듣는다 — 포착된 파형을 직접 해독해 고장을 찾는다
3D 그래픽스와 물리 엔진
삼각형 하나가 화면에 나오기까지, 그리고 상자 더미가 무너지지 않고 서 있기까지 어떤 계산이 도는지를 직접 만들어 봅니다. 엔진을 쓰는 법이 아니라 엔진 안에서 벌어지는 일을 다룹니다. 라이브러리 없이 표준 파이썬만 쓰고, 모든 실습은 결과를 PNG 로 남겨 웹 미리보기로 눈으로 확인합니다.
- 3D 수학과 소프트웨어 래스터라이저 — 삼각형 하나가 화면에 나오기까지의 계산을 전부 손으로 만듭니다.
- 물리 엔진의 뼈대 — 적분기·충돌 감지·충격량·제약을 직접 만들어 상자를 쌓습니다.
- 셰이더와 GPU 파이프라인 — 정점·프래그먼트 셰이더를 CPU 에서 흉내 내며 GPU 의 계산을 배웁니다.