콘텐츠로 이동

블로그

BigQuery dry-run, Trino federation, CockroachDB 재시도 흐름, DuckDB 내장 분석 장치를 작은 로봇 작업자들이 조립하는 3D 디오라마
Bluetape4k Exposed Part 6: BigQuery, Trino, CockroachDB, DuckDB 통합 예제 분석 플랫폼과 특수 DB를 Exposed DSL에 붙일 때, 실행보다 먼저 검증해야 할 경계를 예제로 봅니다.
OCR 서비스 작업대에서 이미지 업로드, 검증, native OCR 실행, 완료와 fallback 응답 패널이 배치된 3D 일러스트
OCR 서비스를 실전에서 운영하기: 큰 이미지 전처리와 실패 응답 계약 OCR 서비스를 글자 인식 endpoint가 아니라 큰 이미지 입력 경계, native OCR runtime, 실패 응답 계약으로 나누어 봅니다.
API Gateway rate limiter 작업대에서 허용 요청, 429 응답, Redis, Caffeine cache가 작은 3D 장치로 배치된 일러스트
Bucket4j Rate Limiting: caller identity부터 정해야 bucket도 맞다 Bucket4j rate limiting을 Caffeine vs Redis 문제가 아니라 caller identity, proxy trust, response header 계약으로 나눠서 봅니다.
여러 색상의 Kotlin Flow lane이 debounce, fallback, subject bridge, aggregation, parallel enrichment, metrics sampling 모듈로 이어지는 3D 작업대 일러스트
bluetape4k Flow extensions: 복잡한 stream 조립을 이름 있는 운영 계약으로 바꾸기 여섯 개 workshop 예제로 Kotlin Flow extensions가 debounce, fallback, callback bridge, aggregation, parallel enrichment, sampling 계약을 어떻게 드러내는지 살펴봅니다.
작은 로봇 작업자들이 Spring/Ktor 서비스, coroutine span lane, Zipkin trace tree, Prometheus/Grafana dashboard, readiness gauge를 조립하는 3D 작업대 일러스트
Coroutine Observability: Micrometer tracing과 readiness가 실제로 지키는 경계 Coroutine service에서 trace가 끊기지 않게 만들고, readiness를 실제 운영 계약으로 검증하는 workshop 예제를 살펴봅니다.
작은 로봇 작업자들이 orders database, Kafka conveyor, fallback outbox tray, relay station을 연결하는 3D 작업대 일러스트
Transactional Outbox Part 2: Kafka 우선 fallback으로 hot transaction 줄이기 orders만 transaction으로 저장하고, Kafka publish 실패시에만 durable fallback row를 저장하는 outbox 변형을 살펴본다.
DB transaction, outbox tray, relay robot, API block, idempotency key와 retry 카드를 조립하는 bluetape4k 3D miniature workbench hero
Transactional Outbox와 Idempotency: Spring, Ktor 예제로 보는 실패 경계 domain row와 outbox row를 같이 쓰고, retry와 duplicate request를 DB 경계에서 다루는 방법을 Spring/Ktor 예제로 설명합니다.
작은 로봇 작업자들이 사전 카드의 중복을 제거하고 품질 게이트와 테스트 체크리스트를 통과시키는 작업대 일러스트
Bluetape4k Text Part 4: 사전과 금칙어 변경을 테스트로 다루기 사전 파일 한 줄은 작지만 tokenizer와 금칙어 필터의 동작을 바꿉니다. 사전 변경을 어떻게 정리하고, 어떤 테스트로 막아야 하는지 살펴봅니다.
로봇 작업자들이 키워드 카드, trie 형태의 automaton, 텍스트 스캐너, match 결과함을 조립하는 3D 작업대 일러스트
Bluetape4k Text Part 3: Aho-Corasick 검색과 workshop 시나리오 금칙어와 위험 키워드가 늘어나면 contains 반복은 금방 관리하기 어려워집니다. Aho-Corasick automaton을 한 번 만들고 입력을 한 번 훑는 구조로 바꿔봅니다.
로봇 작업자들이 Korean tokenizer, Japanese tokenizer, Lingua detector 장비로 다국어 텍스트 카드를 분류하는 3D 작업대 일러스트
Bluetape4k Text Part 2: tokenizer와 언어 감지로 입력을 라우팅하기 한국어, 일본어, 그 외 입력을 같은 문자열 처리 코드로 밀어 넣으면 금방 한계가 옵니다. tokenizer와 Lingua detector를 서비스 경계에서 나눠 쓰는 기준을 봅니다.
로봇 사서들이 한국어, 일본어, 영어 텍스트 조각을 tokenizer, language detection, Aho-Corasick search, quality gate로 분류하는 3D 작업대 일러스트
Bluetape4k Text Part 1: 텍스트 처리의 시작점과 품질 기준 문자열을 자르고 찾는 일도 서비스 경계로 들어오면 설계 문제가 됩니다. bluetape4k-text의 모듈 지도와 품질 기준을 먼저 봅니다.
Spring Boot 4와 Jackson 3 블록을 중심으로 로봇 작업자들이 Jackson 2 블록을 치우고 migration checklist를 정리하는 3D 작업대 일러스트
Spring Boot 4 Workshop에서 Jackson3로 갈아타기 Spring Boot 4 예제는 Jackson3 기준에 맞아야 한다. 의존성, import, mapper bean, 예외 사례를 점검한다.
H2, PostgreSQL, MySQL 블록과 JDBC, R2DBC benchmark 장비를 로봇 작업자들이 정리하는 3D 작업대 일러스트
Batch benchmark 다시 세우기: measureTimeMillis를 보내고 kotlinx-benchmark로 간 이유 숫자는 금방 나옵니다. 문제는 그 숫자를 믿어도 되는가입니다. batch benchmark를 다시 세운 이유를 정리합니다.
Ktor, Exposed, R2DBC 블록 사이에서 로봇 작업자들이 X-TENANT-ID와 route key를 정리하는 3D 작업대 일러스트
Exposed R2DBC Workshop: Ktor 멀티테넌트 라우팅 패턴 Ktor에서는 tenant 상태를 ThreadLocal에 숨기지 말고, call attributes와 명시적인 route 값으로 다루는 편이 안전합니다.
로봇 작업자들이 Sync와 Virtual Threads 실행 경로를 나눠 graph benchmark 작업대를 살펴보는 3D 일러스트
Bluetape4k Graph Part 5: Virtual Threads benchmark 읽기 Virtual Threads는 더 빠른 graph 호출이 아니라, 기다리는 graph 호출을 더 단순한 코드로 많이 처리하기 위한 선택지입니다.
작은 로봇 작업자들이 모듈 블록을 컨베이어와 중앙 정렬 장치로 모아 dependency BOM을 맞추는 3D 작업대 일러스트
bluetape4k-dependencies 제작기 Part 3: Maven Central에는 롤백 버튼이 없다 여러 저장소를 순서대로 배포하는 일은 운영 이야기 같지만, 방심하면 뒤통수를 맞고 꽤 성실한 삽질이 기다린다.
작은 로봇 작업자들이 모듈 블록을 컨베이어와 중앙 정렬 장치로 모아 dependency BOM을 맞추는 3D 작업대 일러스트
bluetape4k-dependencies 제작기 Part 2: 1.0.0 BOM을 공개 계약으로 만들기 BOM은 버전 표가 아니라 사용자 프로젝트의 dependency resolution을 바꾸는 공개 계약이다.
작은 로봇 작업자들이 모듈 블록을 컨베이어와 중앙 정렬 장치로 모아 dependency BOM을 맞추는 3D 작업대 일러스트
bluetape4k-dependencies 제작기 Part 1: 왜 BOM이 필요했나 라이브러리가 하나일 때는 버전 하나면 충분하지만, 여러 저장소가 같이 움직이면 BOM은 선택이 아니라 운영 장치가 된다.
작은 로봇 작업자들이 projects, exposed, aws, image, text, leader, graph, javers 모듈 블록과 dependency BOM 보드를 점검하는 3D 작업대 일러스트
bluetape4k-dependencies 1.3.0 활용기 Part 4: 입력 경계에서 치운 똥들 입력 경계는 작은 샘플로는 멀쩡하고 운영 데이터에서 아프다. Image와 Text 쪽 보강을 실제 API 관점에서 본다.
작은 로봇 작업자들이 projects, exposed, aws, image, text, leader, graph, javers 모듈 블록과 dependency BOM 보드를 점검하는 3D 작업대 일러스트
bluetape4k-dependencies 1.3.0 활용기 Part 3: 운영에서 티 나는 변화 운영에서 무서운 문제는 티가 늦게 나는 문제다. 1.3.0에서 어떤 신호를 더 볼 수 있게 되었는지 살펴본다.
작은 로봇 작업자들이 projects, exposed, aws, image, text, leader, graph, javers 모듈 블록과 dependency BOM 보드를 점검하는 3D 작업대 일러스트
bluetape4k-dependencies 1.3.0 활용기 Part 2: 서비스 조합하기 BOM을 가져왔다면 다음 질문은 어떤 모듈을 함께 고를지다. 서비스 조합 예제로 1.3.0 사용 경로를 살펴본다.
작은 로봇 작업자들이 모듈 블록을 컨베이어와 중앙 정렬 장치로 모아 dependency BOM을 맞추는 3D 작업대 일러스트
bluetape4k-dependencies 사용 가이드: 여러 라이브러리 같이 쓰기 여러 bluetape4k 라이브러리를 같이 쓸 때는 각 모듈 버전을 외우는 대신 BOM을 먼저 가져오면 된다.
작은 로봇 작업자들이 projects, exposed, aws, image, text, leader, graph, javers 모듈 블록과 dependency BOM 보드를 점검하는 3D 작업대 일러스트
bluetape4k-dependencies 1.3.0 활용기 Part 1: 새 기능도 넣고 똥도 치우고 버전 숫자보다 중요한 것은 각 라이브러리에서 무엇이 나아졌고, 같은 실수를 어떻게 줄였는지다.
Go와 Kotlin ID generator들을 같은 benchmark workbench에서 비교하는 3D 일러스트
Global Unique ID 생성기 성능 개선기: Go, Kotlin 중심으로 Go ID generator 구현, Phase 1 비교, Go entropy 개선, Phase 2 비교, Kotlin ULID/KSUID/Snowflake 개선, Phase 3 비교까지 chart 중심으로 정리합니다.
로봇 작업자들이 abuse detection, recommendation, knowledge graph, social network 그래프 보드를 살펴보는 3D 작업대 일러스트
Bluetape4k Graph Part 4: workshop 시나리오와 서비스 통합 API 설명만으로는 부족합니다. 실행 가능한 workshop 예제로 어떤 문제를 graph로 푸는지 봅니다.
로봇 작업자들이 CSV, NDJSON, GraphML, OkIO 파일을 graph import/export 컨베이어로 옮기는 3D 작업대 일러스트
Bluetape4k Graph Part 3: graph I/O와 benchmark 읽기 그래프 데이터는 서비스 밖으로 내보내고, 다시 불러오고, 테스트에서 재현할 수 있어야 합니다.
로봇 작업자들이 GraphOperations, Schema DSL, transaction, coroutine 실행 모델 블록을 조립하는 3D 작업대 일러스트
Bluetape4k Graph Part 2: core API와 실행 모델 graph storage를 바꿔도 서비스 코드가 바로 무너지지 않도록 core API와 실행 모델을 먼저 잡습니다.
로봇 엔지니어가 Neo4j, Memgraph, AGE, TinkerGraph, FalkorDB 그래프 데이터베이스 블록을 비교하는 3D 작업대 일러스트
Bluetape4k Graph Part 1: 그래프 데이터베이스 선택 지도 그래프 데이터베이스를 도입하기로 했다면, 다음 문제는 어떤 graph db로 시작하느냐입니다.
작은 로봇 작업자들이 DDD command flow와 JaVers audit archive를 연결하는 3D 작업대 일러스트
Bluetape4k JaVers Part 3: DDD와 workshop audit 예제 manual audit table에서 출발해 JaVers snapshot, DDD repository, Kafka/Redis projection 흐름으로 확장한다.
작은 로봇 작업자들이 JaVers snapshot을 Exposed, Redis, Kafka 저장소로 분류하는 3D 작업대 일러스트
Bluetape4k JaVers Part 2: Exposed, Redis, Kafka persistence 선택 Exposed는 durable history, Redis는 빠른 snapshot read, Kafka는 write-only event stream으로 본다.
작은 로봇 작업자들이 JaVers snapshot과 diff 카드를 점검하는 3D 작업대 일러스트
Bluetape4k JaVers Part 1: audit와 diff의 기본 모델 entity별 audit table을 직접 만들기 전에 JaVers commit, snapshot, diff 모델부터 잡는다.
작은 로봇 작업자들이 Spring Boot, Ktor, S3, SQS, DynamoDB, StorageService, LocalStack, Floci 블록을 조립해 AWS 예제 실험실을 만드는 3D 일러스트
Bluetape4k AWS Part 5: 실전 예제로 적용하기 examples/와 bluetape4k-workshop/aws를 따라 Spring Boot, Ktor, S3, SQS, DynamoDB 적용 흐름을 본다.
초록색 Spring 작업대와 파란색 Kotlin 작업대 사이에서 작은 로봇 작업자들이 AWS 서비스 블록을 저울에 올려 비교하는 3D 일러스트
Bluetape4k AWS Part 4: Spring Cloud AWS와 비교하기 Spring Cloud AWS와 bluetape4k-aws를 기능 수가 아니라 적용 범위와 운영 선택지로 비교한다.
작은 로봇 작업자들이 Kotlin 작업대에서 Spring Boot 4 adapter, Ktor 3 adapter, shared AWS contract, LocalStack 장치를 조립하는 일러스트
Bluetape4k AWS Part 3: Spring Boot와 Ktor 통합 Spring Boot 4 auto-configuration과 Ktor 3 plugin이 같은 AWS 공통 helper 위에 올라가는 방식을 본다.
작은 로봇 작업자들이 Kotlin 작업대에서 aws-java, aws-kotlin, CRT engine, S3 TransferManager 블록을 연결하는 일러스트
Bluetape4k AWS Part 2: core module과 AWS 서비스 지원 현황 Java SDK v2 방식, Kotlin SDK 방식, CRT 기반 S3 TransferManager, compileOnly 의존성 모델을 함께 본다.
작은 로봇 작업자들이 Kotlin 작업대에서 AWS 서비스 블록과 로컬 테스트 장비를 연결하는 일러스트
Bluetape4k AWS Part 1: Kotlin 서비스의 AWS 작업대 AWS SDK, coroutine wrapper, Spring Boot 4, Ktor 3, LocalStack/Floci 테스트 모델을 한 장으로 정리한다.
Robotic builders arranging Redis, etcd, SQL, Kubernetes, and observability props on a leader election storage workbench
Bluetape4k Leader Part 5: Backend, 운영 기능, Benchmark leader election backend는 API 취향보다 이미 운영 중인 기반, lease 저장 방식, 관측 가능성으로 고르는 편이 안전합니다.
Spring Boot annotation card와 Ktor server console을 설정하는 작은 로봇 빌더들이 리더 선출 관리 패널을 바라보는 3D 작업대 일러스트
Bluetape4k Leader Part 4: Spring Boot와 Ktor 통합 직접 runIfLeader를 부르던 코드를 Spring AOP와 Ktor scheduler/management 경계로 끌어올리는 방법.
로봇 서비스 노드들이 세마포어 슬롯과 전략 선출 장치 사이에서 복수 리더와 후보 점수 선출을 비교하는 3D 작업대 일러스트
Bluetape4k Leader Part 3: Multi-leader와 전략 선출 리더 한 명으로 부족할 때: group slot과 candidate strategy로 실행 권한을 나누는 방법.
로봇 심사위원들이 Kotlin JVM 작업대 위에서 실행 모델 후보들을 비교하는 일러스트
Bluetape4k Leader Part 2: Core API와 실행 모델 같은 job을 위한 네 가지 실행 모델: blocking, CompletableFuture, coroutine, virtual thread.
로봇 작업자들이 여러 서비스 노드 사이에서 하나의 리더를 선출하는 작업대 일러스트
Bluetape4k Leader Part 1: 리더 선출의 기본 모델 scheduled job, migration, poller, cache warmer가 모든 replica에서 동시에 실행되지 않게 하는 방법.
운영 예제 작업대에서 작은 로봇 작업자들이 서비스, 캐시, 메트릭, 데이터 파이프를 연결하는 3D diorama
Bluetape4k Exposed Part 5: 실전 예제 - 다양한 캐시 전략, 멀티테넌시 Exposed repository와 transaction 경계 위에 성능 최적화와 멀티테넌시를 실전 기능으로 얹어 봅니다.
실험실 같은 작업대에서 작은 로봇 작업자들이 데이터 모듈, 계측 패널, 분석 장치를 다루는 3D diorama
Bluetape4k Exposed Part 4: JSON, 암호화, 다이얼렉트 DB별 세부사항을 domain 코드에 흩뿌리지 않고 typed column과 dialect module로 격리한다.
R2DBC 파이프와 PostgreSQL 블록을 작은 로봇 작업자들이 연결하는 Exposed R2DBC workshop 3D diorama
Bluetape4k Exposed Part 3: R2DBC, 코루틴, 가상 스레드 R2DBC는 streaming에 강하고, JDBC + Virtual Threads는 익숙한 driver 방식을 살린다. 숫자로 고르자.
Exposed workshop 작업대에서 작은 로봇 작업자들이 PostgreSQL, SQL DSL, repository 블록을 다루는 3D diorama
Bluetape4k Exposed Part 2: JDBC repository와 SQL DSL SQL DSL은 숨기지 말고, 반복되는 repository 경계만 줄인다.
Exposed JDBC와 R2DBC 블록을 작은 로봇 작업자들이 파란 설계도 작업대에서 조립하는 3D diorama
Bluetape4k Exposed Part 1: 왜 Exposed인가 R2DBC, Vert.x, Virtual Threads, Exposed DSL을 지나 production Exposed 확장으로 가는 선택 기준.
작은 로봇 작업자들이 Spring Boot 4와 Ktor 3 애플리케이션 경계를 공통 foundation 위에 조립하는 일러스트
Bluetape4k Projects Part 6: Spring Boot 4와 Ktor Spring Boot 4와 Ktor 3에서 coroutine, data, Redis, observability, testing 경계를 잡는 방법.
작은 로봇 작업자들이 utility 모듈과 예제, workshop, benchmark 노트를 서비스 채택 경로로 연결하는 일러스트
Bluetape4k Projects Part 5: utility와 adoption path 작은 utility 모듈을 필요한 만큼만 고르고 예제와 benchmark로 검증하는 채택 순서.
작은 로봇 작업자들이 서비스 코드와 데이터베이스, Redis, 메시징, 관측성 모듈 사이를 연결하는 일러스트
Bluetape4k Projects Part 4: data와 infrastructure DB, Redis, messaging, observability, resilience 경계를 Kotlin 서비스에서 덜 거칠게 쓰는 방법.
작은 로봇 작업자들이 I/O, Okio, JSON, Protobuf, HTTP, gRPC, Tink 블록 사이로 byte stream을 연결하는 일러스트
Bluetape4k Projects Part 3: bytes가 지나가는 길 파일, buffer, serializer, HTTP/RPC, 암호화가 만나는 I/O 경계 정리.
작은 로봇 작업자들이 Core, Coroutines, Logging, Tests 블록을 Kotlin JVM 기반 위에 조립하는 일러스트
Bluetape4k Projects Part 2: 공통 기반의 안쪽 서비스 요청과 테스트 fixture가 함께 기대는 core, coroutines, logging, tests 기반.
작은 로봇 작업자들이 Kotlin JVM 백엔드 모듈 블록을 공통 기반 위에 조립하는 일러스트
Bluetape4k Projects Part 1: 공유 Kotlin/JVM 기반 core, coroutines, I/O, data, infra, Spring Boot, Ktor, testing이 한 저장소에 모인 이유.
Spring Boot cache workshop workbench with robot workers, service blocks, Redis, local cache, and benchmark gauges
Bluetape4k Cache Part 4: Workshop 예제로 캐시 전략 감 잡기 Caffeine, Redis, Near Cache, resilience를 예제로 비교하고 서비스 코드에 붙이는 방법.
Exposed repository cache strategy workbench with robot workers and cache pipelines
Bluetape4k Cache Part 3: Near Cache와 Exposed로 캐싱 전략 만들기 Read-through, write-through, write-behind. 이름은 비슷하지만 사고 방식은 꽤 다르다.
Near cache workbench with robot workers connecting local and remote cache blocks
Bluetape4k Cache Part 2: Near Cache, Redis 왕복을 줄이는 현실적인 방법 Remote cache는 공유되지만 멀다. Near Cache는 뜨거운 읽기를 JVM 가까이 둔다.
Bluetape4k cache module workbench with robot workers assembling cache blocks
Bluetape4k Cache Part 1: 캐시 모듈은 왜 이렇게 생겼나 로컬 캐시, JCache, suspend API, memoizer, NearCache가 한 상자에 들어간 이유.
하나의 SPI가 Java 21과 Java 25 runtime 구현을 연결하는 소개용 일러스트
Virtual Threads 4편: Java 21과 Java 25를 하나의 API로 감추기 Java 21과 25 차이는 내부로 숨기고, application code에는 하나의 Virtual Threads API만 보여주는 방법.
JDBC 작업이 virtual thread 위에서 reactive database 작업과 나란히 실행되는 소개용 일러스트
Virtual Threads 3편: JDBC가 R2DBC를 생각보다 자주 이긴 이유 R2DBC가 당연히 이길 줄 알았는데, benchmark 결과는 꽤 달랐다. JDBC + Virtual Threads의 반격.
실전 virtual thread 규칙이 checklist로 정리되는 소개용 일러스트
Virtual Threads 2편: 실전에서 바로 걸리는 규칙들 Virtual Threads를 켰다고 끝이 아니다. pool, semaphore, context, lock에서 바로 차이가 나는 실전 규칙들.
명시적 한계 안에서 많은 가벼운 실행 경로를 다루는 소개용 일러스트
Virtual Threads 1편: 싸지만 마법은 아닌 스레드 Blocking code를 다시 꺼내도 된다는 반가운 소식. 단, timeout과 resource limit까지 같이 챙길 때만.
버그 리포트가 검증 코드와 guardrail로 바뀌는 소개용 일러스트
부끄러운 실수가 더 나은 안전장치를 만들 때 null이 0이 되고, 테스트가 낡고, cleanup이 timeout에 막히고, cancellation과 interrupt를 놓친 다섯 가지 실수 회고.
HTTP client들이 같은 benchmark harness를 통과하는 소개용 일러스트
Ktor CIO가 HTTP 벤치마크를 이상하게 만들었을 때 Ktor CIO의 느린 초기 숫자에서 출발해 공정한 benchmark, Vert.x pool 병목 수정, workload별 HTTP client 선택 기준까지 정리한 글.
CSV writer pipeline이 row를 buffered byte sink로 보내는 소개용 일러스트
CSV Writer가 모래주머니를 벗었을 때 Okio CSV writer 후속 작업. Flow row pipeline, UTF-8 sink, CSV semantics 보호, 그리고 large export 3.25배 개선을 정리합니다.
CSV parser가 불필요한 copy 없이 byte segment를 읽는 소개용 일러스트
Okio 세그먼트로 CSV 파서 할당 줄이기 CSV parser 최적화 작업을 Reader 기반 파싱에서 Okio UnsafeCursor segment scanning까지 benchmark와 함께 정리합니다.
JVM pixel 처리에서 native acceleration으로 이어지는 image pipeline 소개용 일러스트
Pure JVM에서 libvips로: bluetape4k 이미지 처리 벤치마크 scrimage와 libvips 벤치마크, Java 21 JNI host 제약, Java 25 FFM 실측값, workshop derivative pipeline 예제를 정리합니다.
backend service가 relationship-heavy data를 탐색하는 소개용 일러스트
Backend 서비스는 언제 GraphDB를 도입해야 할까? GraphDB 도입 기준, PostgreSQL traversal baseline, AGE, Neo4j, Memgraph, graph storage가 잘 맞는 use case를 benchmark 결과로 정리합니다.
bluetape4k backend 생태계를 연결된 building block으로 보여주는 소개용 일러스트
Bluetape4k 생태계 한눈에 보기 Spring Boot 4, Ktor 3, domain capability, data, infrastructure, foundation layer로 Bluetape4k 전체 구조를 정리합니다.
관리자 AI와 일꾼 AI들이 skills, qmd, memory, 검증 게이트를 함께 관리하는 모습
AI와 일하는 환경을 인프라로 만들기 AGENTS.md, bluetape4k skills, qmd, memory, hooks로 Codex와 Claude가 같은 기준을 읽고 검증하게 만든 방식입니다.
AI와 함께 Kotlin 라이브러리 생태계를 개발하는 모습
AI와 3개월 동안 키운 대규모 Kotlin 라이브러리 생태계 Claude Code와 Codex로 자동화, 문서화, 테스트, 연구, 예제, 대규모 repo 작업을 안정화한 과정과 배운 점입니다.