기술과 생각을 기록하는 공간

오늘 먹은 음식도 기억이 안납니다. 그래서 모든걸 기록합니다.

이전 블로그 포스팅들은 여기서 확인할 수 있습니다
2025.11.5부터 포스트 마이그레이션을 진행하고 있습니다

SCM, ERP, WMS, TMS: 공급망 계획과 실행 시스템의 관계

SCM은 공급망의 '계획'을 담당하고, WMS와 TMS는 그 계획을 '실행'하는 핵심 시스템들입니다. 각 시스템의 기능적 역할을 명확히 구분하고, 이들이 어떻게 협력하여 공급망을 최적화하는지 살펴봅니다.

물류Logistics

공동수배송의 종류와 '밀크런' 이해하기

최근 물류 도메인을 공부하며 가장 기본이 되면서도 헷갈렸던 '공동수배송'과 그 여러 방식에 대해 정리해 본다. 특히 밀크런의 개념과 다른 방식들과의 관계를 명확히 이해하는 것을 목표로 한다.

물류Logistics

Claude 와 나눈 이야기를 블로그로 옮기는 길 — blog post mcp 만들기

Claude 와 나눈 대화를 요약해서 블로그에 발행하기 위한 blog post mcp 를 만드는 고민과 과정의 기록.

mcpclaude-codeaws-lambdagithub-actionsblog-automation

내가 만든 스킬을 다른 환경에서도 쓰고 싶어서 — Claude Code 플러그인 마켓플레이스 만들기

로컬에서 직접 만든 스킬·도구를 회사 같은 다른 환경에서도 똑같이 쓰고 싶어서 Claude Code 플러그인 마켓플레이스를 직접 만든 이야기. "마켓플레이스" 라는 단어가 뭘 의미하는지부터 풀어가며 환경 간 공유까지 도달한 과정의 기록.

claude-codepluginmarketplacedeveloper-toolsmcp

Docker 빌드 최적화 2부 - Docker 레이어 캐시는 어디에 저장되는가

Docker는 캐시를 알아서 해준다면서, 왜 CI에서는 항상 처음부터 다시 빌드될까?

dockerci/cd

Docker 빌드 최적화 3부 - buildx와 registry cache는 무엇을 해결하는가

Docker 캐시가 로컬에만 저장된다면, CI에서는 캐시를 어떻게 써야 할까?

dockerci/cd

Docker 빌드가 느리다면, 가장 먼저 캐시를 의심해라

Docker 빌드가 느리다면, 가장 먼저 캐시를 의심해라.

dockerci/cd

Yarn Berry PnP + Next.js에서 발생한 ERR_MODULE_NOT_FOUND 문제 원인 분석

Next.js 실행 시 ERR_MODULE_NOT_FOUND가 발생했던 이유와, Yarn Berry PnP의 zip 기반 구조 때문에 .pnp.loader.mjs / unplugged 설정이 왜 필요한지 정리했다.

Yarn BerryPnPNext.jsESMCJSunplugged

API Gateway API Key, 정말 의미가 있을까?

클라이언트 → 서버 → API Gateway 구조에서 API Key가 실제로 어떤 보안적 의미를 가지는지 정리

API GatewayAWSAPI KeyBackend

Ruler — 모든 AI 코딩 도구에 동일한 규칙 적용하기

GitHub Copilot, Claude, Cursor 등 여러 AI 도구를 사용할 때 각각 설정 파일을 관리하는 번거로움을 해결하는 도구

aitoolsproductivitycoding

NoSQL vs RDBMS — 확장성과 도메인 관점에서 정확히 이해하기

두 DB가 제공하는 기능 차이를 넘어서, 대규모 서비스가 왜 둘 다 사용하는지와 마이크로서비스 관점에서 어떤 기준으로 선택해야 하는지를 정리한다.

databasenosqlrdbmsarchitecturescalabilitymicroservices

RDS vs DynamoDB — 서버리스 관점에서 명확하게 이해하기

둘 다 서버를 직접 운영하지 않지만, 왜 DynamoDB만 서버리스로 분류될까? 서버리스 정의를 기준으로 RDS와 DynamoDB의 차이를 정리한다.

awsserverlessdynamodbrdsdatabase