HTTP API와 자동화
HTTP request를 보내는 데서 멈추지 않고 method·target·auth·timeout·status·schema·retry·rate limit·idempotency·pagination·effect·checkpoint·redaction을 하나의 bounded automation 계약으로 설계하고 local synthetic evidence로 검증한다.
- 작은 수업
- 68개
- 바로 풀어볼 수 있는 문제
- 8 / 544개
- 직접 움직이는 그림
- 1 / 68개
- 나중에 다시 풀기
- 1일 · 7일 · 30일 뒤
모든 작은 수업이 같은 순서로 이어져요
보고, 해보고, 내 말로 설명하는 열두 단계
먼저 골라 보고, 직접 해보고, 생각과 달라진 첫 곳을 찾아요. 한 가지를 바꿔 다시 해본 뒤 새로운 생활 장면에서도 같은 생각을 쓸 수 있는지 확인해요.
- 01오늘 할 일왜 배우는지
- 02먼저 떠올리기이미 아는 것
- 03그림으로 보기어떻게 움직이나
- 04먼저 골라보기하기 전 생각
- 05직접 해보기무엇이 보이나
- 06막힌 곳 찾기처음 다른 곳
- 07하나 바꿔보기한 가지
- 08내가 만들기직접 완성
- 09다시 확인하기새 문제로 확인
- 10내 말로 설명한 문장 기록
- 11생활에 써보기새로운 장면
- 12나중에 다시1·7·30일
68개 작은 수업으로 나눴어요
배울 내용 골라 보기
각 작은 수업에는 그림, 자주 헷갈리는 곳, 막혔을 때 볼 도움과 여덟 연습 문제가 있어요. 먼저 그림으로 이해하고, 따라 해보고, 혼자 풀고, 내가 한 일을 남기는 순서로 열립니다.
- 01
학습 자료와 연습 문제 준비 중
resource·representation·message exchange를 구분한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 직접 움직여 보는 그림 · 먼저 알면 좋은 수업 3개
- 02
학습 자료와 연습 문제 준비 중
URL authority·path·query·encoding 경계를 정규화한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 일의 순서를 선으로 이은 그림 · 먼저 알면 좋은 수업 1개
- 03
학습 자료와 연습 문제 준비 중
method safety와 idempotency를 효과 계약으로 판정한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 모습이 바뀌는 순서 그림 · 먼저 알면 좋은 수업 1개
- 04
학습 자료와 연습 문제 준비 중
GET·HEAD와 conditional read를 분리한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 시간 순서 그림 · 먼저 알면 좋은 수업 2개
- 05
학습 자료와 연습 문제 준비 중
POST create와 action 경계를 response 계약으로 닫는다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 모습이 바뀌는 순서 그림 · 먼저 알면 좋은 수업 1개
- 06
학습 자료와 연습 문제 준비 중
PUT·PATCH·DELETE의 상태 전이 계약을 구분한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 모습이 바뀌는 순서 그림 · 먼저 알면 좋은 수업 2개
- 07
학습 자료와 연습 문제 준비 중
header·media type·content negotiation을 명시한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 비교표 · 먼저 알면 좋은 수업 2개
- 08
학습 자료와 연습 문제 준비 중
status family와 response 계약을 함께 판정한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 비교표 · 먼저 알면 좋은 수업 2개
- 09
학습 자료와 연습 문제 준비 중
urllib Request·urlopen lifecycle을 닫는다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 명령이 움직이는 순서를 한 줄씩 보는 그림 · 먼저 알면 좋은 수업 2개
- 10
학습 자료와 연습 문제 준비 중
HTTPError와 URLError 경계를 보존한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 일의 순서를 선으로 이은 그림 · 먼저 알면 좋은 수업 2개
- 11
학습 자료와 연습 문제 준비 중
requests Response와 PreparedRequest를 관찰한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 명령이 움직이는 순서를 한 줄씩 보는 그림 · 먼저 알면 좋은 수업 2개
- 12
학습 자료와 연습 문제 준비 중
Session pooling과 cleanup ownership을 설계한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 시간 순서 그림 · 먼저 알면 좋은 수업 1개
- 13
학습 자료와 연습 문제 준비 중
JSON media type과 decode failure를 분리한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 일의 순서를 선으로 이은 그림 · 먼저 알면 좋은 수업 2개
- 14
학습 자료와 연습 문제 준비 중
response schema와 shape를 fail-closed로 검증한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 연습할 자료 묶음 · 먼저 알면 좋은 수업 2개
- 15
학습 자료와 연습 문제 준비 중
redirect history의 method·auth 경계를 감사한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 시간 순서 그림 · 먼저 알면 좋은 수업 3개
- 16
학습 자료와 연습 문제 준비 중
stream download를 크기·checksum 경계로 닫는다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 시간 순서 그림 · 먼저 알면 좋은 수업 2개
- 17
학습 자료와 연습 문제 준비 중
API key의 배치와 노출 경계를 설계한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 일의 순서를 선으로 이은 그림 · 먼저 알면 좋은 수업 2개
- 18
학습 자료와 연습 문제 준비 중
Bearer token의 scope와 전달 대상을 제한한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 모습이 바뀌는 순서 그림 · 먼저 알면 좋은 수업 1개
- 19
학습 자료와 연습 문제 준비 중
OAuth role·flow와 PKCE 경계를 설명한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 직접 움직여 보는 그림 · 먼저 알면 좋은 수업 1개
- 20
학습 자료와 연습 문제 준비 중
사용자·service·workload credential mode를 선택한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 비교표 · 먼저 알면 좋은 수업 3개
- 21
학습 자료와 연습 문제 준비 중
환경 secret을 fail-closed로 로드한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 일의 순서를 선으로 이은 그림 · 먼저 알면 좋은 수업 2개
- 22
학습 자료와 연습 문제 준비 중
URL·header·body를 수집 전에 redaction한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 직접 움직여 보는 그림 · 먼저 알면 좋은 수업 3개
- 23
학습 자료와 연습 문제 준비 중
TLS verification·proxy·CA trust를 분리한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 일의 순서를 선으로 이은 그림 · 먼저 알면 좋은 수업 2개
- 24
학습 자료와 연습 문제 준비 중
SSRF URL policy와 unsafe response 소비를 차단한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 모습이 바뀌는 순서 그림 · 먼저 알면 좋은 수업 3개
- 25
학습 자료와 연습 문제 준비 중
timeout을 end-to-end budget과 deadline으로 설계한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 시간 순서 그림 · 먼저 알면 좋은 수업 2개
- 26
학습 자료와 연습 문제 준비 중
connect·read·write·pool timeout을 구분한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 시간 순서 그림 · 먼저 알면 좋은 수업 1개
- 27
학습 자료와 연습 문제 준비 중
transport·status·contract error를 다른 정책으로 번역한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 일의 순서를 선으로 이은 그림 · 먼저 알면 좋은 수업 3개
- 28
학습 자료와 연습 문제 준비 중
retry eligibility를 decision table로 제한한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 비교표 · 먼저 알면 좋은 수업 2개
- 29
학습 자료와 연습 문제 준비 중
exponential backoff에 cap과 jitter를 적용한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 숫자를 비교하는 그림 · 먼저 알면 좋은 수업 1개
- 30
학습 자료와 연습 문제 준비 중
Retry-After의 seconds와 HTTP-date를 해석한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 시간 순서 그림 · 먼저 알면 좋은 수업 2개
- 31
학습 자료와 연습 문제 준비 중
idempotency key와 dedup ledger를 효과에 결속한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 모습이 바뀌는 순서 그림 · 먼저 알면 좋은 수업 3개
- 32
학습 자료와 연습 문제 준비 중
rate limit·quota·concurrency budget을 함께 운영한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 직접 움직여 보는 그림 · 먼저 알면 좋은 수업 3개
- 33
학습 자료와 연습 문제 준비 중
offset·page pagination의 drift를 검증한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 시간 순서 그림 · 먼저 알면 좋은 수업 2개
- 34
학습 자료와 연습 문제 준비 중
cursor와 Link pagination을 opaque하게 따른다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 일의 순서를 선으로 이은 그림 · 먼저 알면 좋은 수업 2개
- 35
학습 자료와 연습 문제 준비 중
pagination 종료와 no-progress loop를 증명한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 모습이 바뀌는 순서 그림 · 먼저 알면 좋은 수업 2개
- 36
학습 자료와 연습 문제 준비 중
durable commit 뒤에 checkpoint를 이동한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 시간 순서 그림 · 먼저 알면 좋은 수업 2개
- 37
학습 자료와 연습 문제 준비 중
stable deduplication key를 domain identity에서 만든다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 일의 순서를 선으로 이은 그림 · 먼저 알면 좋은 수업 2개
- 38
학습 자료와 연습 문제 준비 중
partial success를 item error ledger로 보존한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 연습할 자료 묶음 · 먼저 알면 좋은 수업 3개
- 39
학습 자료와 연습 문제 준비 중
ETag·Last-Modified precondition을 구분한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 모습이 바뀌는 순서 그림 · 먼저 알면 좋은 수업 2개
- 40
학습 자료와 연습 문제 준비 중
cache freshness·staleness와 304 merge를 검증한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 시간 순서 그림 · 먼저 알면 좋은 수업 1개
- 41
학습 자료와 연습 문제 준비 중
CLI argument와 exit code를 automation 계약으로 만든다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 명령을 직접 써 보는 창 · 먼저 알면 좋은 수업 2개
- 42
학습 자료와 연습 문제 준비 중
configuration precedence와 provenance를 고정한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 일의 순서를 선으로 이은 그림 · 먼저 알면 좋은 수업 2개
- 43
학습 자료와 연습 문제 준비 중
재현 가능한 environment와 entrypoint를 봉인한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 명령을 직접 써 보는 창 · 먼저 알면 좋은 수업 2개
- 44
학습 자료와 연습 문제 준비 중
output을 검증 뒤 atomic하게 publish한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 시간 순서 그림 · 먼저 알면 좋은 수업 3개
- 45
학습 자료와 연습 문제 준비 중
run identity와 resume lineage를 연결한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 모습이 바뀌는 순서 그림 · 먼저 알면 좋은 수업 3개
- 46
학습 자료와 연습 문제 준비 중
overlap을 lock과 single-flight로 제한한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 모습이 바뀌는 순서 그림 · 먼저 알면 좋은 수업 1개
- 47
학습 자료와 연습 문제 준비 중
scheduler의 UTC·DST·missed trigger를 정책화한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 시간 순서 그림 · 먼저 알면 좋은 수업 3개
- 48
학습 자료와 연습 문제 준비 중
notification을 report와 human escalation으로 제한한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 일의 순서를 선으로 이은 그림 · 먼저 알면 좋은 수업 3개
- 49
학습 자료와 연습 문제 준비 중
structured log를 run·request correlation으로 연결한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 시간 순서 그림 · 먼저 알면 좋은 수업 3개
- 50
학습 자료와 연습 문제 준비 중
attempt·latency·outcome metrics를 bounded label로 측정한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 숫자를 비교하는 그림 · 먼저 알면 좋은 수업 3개
- 51
학습 자료와 연습 문제 준비 중
webhook HMAC signature를 raw body와 검증한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 명령이 움직이는 순서를 한 줄씩 보는 그림 · 먼저 알면 좋은 수업 2개
- 52
학습 자료와 연습 문제 준비 중
webhook replay와 dedup handler를 상태 machine으로 막는다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 모습이 바뀌는 순서 그림 · 먼저 알면 좋은 수업 3개
- 53
학습 자료와 연습 문제 준비 중
sync·async client를 workload와 ownership으로 선택한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 비교표 · 먼저 알면 좋은 수업 2개
- 54
학습 자료와 연습 문제 준비 중
async cancellation에서 client와 task를 정리한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 시간 순서 그림 · 먼저 알면 좋은 수업 2개
- 55
학습 자료와 연습 문제 준비 중
Semaphore로 in-flight concurrency만 제한한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 직접 움직여 보는 그림 · 먼저 알면 좋은 수업 3개
- 56
학습 자료와 연습 문제 준비 중
backpressure로 producer와 rate-aware worker를 연결한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 직접 움직여 보는 그림 · 먼저 알면 좋은 수업 4개
- 57
학습 자료와 연습 문제 준비 중
local fake server로 wire-level contract를 검증한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 명령이 움직이는 순서를 한 줄씩 보는 그림 · 먼저 알면 좋은 수업 3개
- 58
학습 자료와 연습 문제 준비 중
timeout·rate·schema fault를 결정적으로 주입한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 처음 달라진 곳을 찾는 창 · 먼저 알면 좋은 수업 4개
- 59
학습 자료와 연습 문제 준비 중
sanitized evidence bundle을 negative control로 감사한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 직접 움직여 보는 그림 · 먼저 알면 좋은 수업 4개
- 60
대표 체험 수업
회복 가능한 API automation evidence loop를 완성한다
8개 바로 풀 문제 · 자주 헷갈리는 곳 3개 · 직접 움직여 보는 그림 · 먼저 알면 좋은 수업 7개
- 61
학습 자료와 연습 문제 준비 중
PCEA API·CLI·automation objective를 보수적으로 연결한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 비교표 · 먼저 알면 좋은 수업 3개
- 62
학습 자료와 연습 문제 준비 중
CS50P API exercise를 production-shaped client로 확장한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 명령이 움직이는 순서를 한 줄씩 보는 그림 · 먼저 알면 좋은 수업 4개
- 63
학습 자료와 연습 문제 준비 중
Postman·OpenAPI와 executable contract parity를 검증한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 비교표 · 먼저 알면 좋은 수업 4개
- 64
학습 자료와 연습 문제 준비 중
GitHub Actions scheduled job을 fail-closed로 배치한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 일의 순서를 선으로 이은 그림 · 먼저 알면 좋은 수업 4개
- 65
학습 자료와 연습 문제 준비 중
raw HTTP·client library·cloud SDK의 책임을 비교한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 비교표 · 먼저 알면 좋은 수업 4개
- 66
학습 자료와 연습 문제 준비 중
Google workload의 credential mode를 경계별로 선택한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 일의 순서를 선으로 이은 그림 · 먼저 알면 좋은 수업 3개
- 67
학습 자료와 연습 문제 준비 중
public data API challenge를 재현 가능한 product로 만든다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 연습할 자료 묶음 · 먼저 알면 좋은 수업 4개
- 68
학습 자료와 연습 문제 준비 중
AI agent의 API tool call을 독립 감사한다
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 직접 움직여 보는 그림 · 먼저 알면 좋은 수업 5개
마지막에 혼자 해 보는 도전
PLAN_REQUEST→VALIDATE_DECIDE→COMMIT_CHECKPOINT→REPLAY_PROVE의 4-phase 48-state matrix로 회복 가능한 API 수집·검증·publish job과 sanitized evidence bundle을 완성한다.
실제와 닮은 상황
local fake server가 200/invalid schema, 401/403, 429/Retry-After, 503, cursor drift, ambiguous write timeout과 duplicate replay를 script로 주입하고 fixed clock·synthetic credential·outbound deny 아래 Requests와 HTTPX adapter를 교차 검증하는 production-shaped scheduled job review다.
AI가 제안한 request policy·client code·retry·schema·redactor·workflow를 단계별로 표시하고, AI 사용 전에 사람이 고정한 effect contract와 AI 없이 통과한 local negative-control·replay evidence를 별도 제출한다.
마지막에 완성할 것
- method·target·auth·media type·schema·timeout·retry·rate·idempotency·pagination 계약과 terminal/retryable/unknown-effect decision table
- sanitized request fingerprint, attempt/effect ledger, durable checkpoint·resume lineage와 known-good/known-bad 48-state replay trace
- loopback/MockTransport fault script, fixed monotonic clock·deterministic jitter, Requests 2.34.2·HTTPX 0.28.1 differential contract report
- credential·URL·body allowlist, forbidden-sentinel zero count, output checksum·atomic publish와 scheduler/CI handoff receipt
다 했는지 확인하는 기준
- 401·403·408·429·5xx와 transport·timeout·schema failure를 정확한 owner와 policy로 분류하고 2xx 또는 json decode만으로 성공을 commit하지 않는다.
- connect/read/write/pool timeout과 전체 monotonic deadline을 분리하고 method·body replayability·provider contract·effect ambiguity를 확인한 경우에만 attempt·wait·Retry-After가 cap된 retry를 수행한다.
- 비표준 RateLimit draft와 만료된 Idempotency-Key draft를 final RFC처럼 사용하지 않고 provider contract·expiry·payload fingerprint·operation lookup·dedup receipt로 중복 효과를 제한한다.
- pagination no-progress·cursor loop·schema drift·partial success에서 invalid page를 commit하지 않고 durable effect 뒤 checkpoint를 이동해 clean replay 결과가 동일하다.
- 실제 endpoint·credential·proxy environment·mailbox·cloud account 없이 loopback·MockTransport·fake SMTP와 local TLS fixture만 사용하고 모든 artifact의 private sentinel 0건을 보장한다.
- L60의 여덟 공개 self-review specification과 별도 hidden oracle 경계를 지키며 AI 없이 미공개 failure variant를 exact runtime에서 통과하고 human accept/refactor/reject verdict를 제출한다.
