멱등한 API 설계 - HTTP 메서드의 의미와 재시도 계약 Notes “PUT은 멱등하고 POST는 아니다”는 자주 인용되는데, 그 문장이 실제로 무엇을 약속하는지는 덜 이야기된다. 멱등성은 구현이 알아서 주는 성질이 아니라 API가 클라이언트와 맺는 계약이고, 계약인 이상 양쪽이 할 일이 있다. 명세가 정의하는 것 RFC 9110은 두 성질을 나눈다. 안전(safe): 요청이 서버 상태를 바꾸지 않는다.... 2026/02/16 Architecture
SLASH 22 리뷰 - 토스뱅크의 완전히 새로운 대출 시스템: Flyway + Hibernate validate, 대외기관 파이프라인, 연동 서킷과 대기열 Conference 발표 SLASH 22 연사 민재슬 (토스뱅크 Server Developer) 자료 발표 영상 · SLASH 22 토스뱅크 대출 시스템이 전통 금융권 아키텍처와 어떻게 다른지를 세 층위로 설... 2026/02/16 Toss 토스 커뮤니티 백엔드 발표 리뷰 12편
인덱스가 선택되지 않는 순간 - 컬럼에 캐스팅 하나가 3,000배, 그리고 추정이 31.7배 틀려도 계획이 안 바뀌는 경우 실무 사례 Notes 실행 계획을 읽는 법에서 “옵티마이저가 안 쓰는 것인가, 못 쓰는 것인가를 먼저 구분해야 한다”고 썼다. 그 글은 문서를 근거로 썼고, 마지막에 세 가지를 재 보자고 적어 뒀다. 이 글이 그 측정이다. 저장소는 data-ops-lab이고 재실행은 한 줄이다. ./.venv/bin/python experiments/index/run.py 조건... 2026/02/15 Database
주니어 백엔드 개발자가 반드시 알아야 할 실무 지식 - 6장 동시성, 데이터가 꼬이기 전에 잡아야 한다 Book 동시성 문제는 멀티스레드 문법 문제로만 이해하면 부족하다. 실무에서 동시성은 대부분 “같은 데이터를 여러 요청이 동시에 건드릴 때 어떤 결과가 만들어지는가”의 문제다. 웹 서버는 요청마다 다른 스레드에서, 서버가 여러 대라면 다른 프로세스에서 같은 코드를 동시에 실행한다. 코드 한 줄 한 줄이 맞더라도, 두 요청의 실행 순서가 섞이면 어느 쪽도 의도... 2026/02/14 주니어 백엔드 개발자가 반드시 알아야 할 실무 지식
대용량 파일 업로드를 위한 Presigned URL Notes Presigned URL이 필요한 이유 파일 업로드를 API 서버가 직접 중계하면 파일 크기가 커질수록 서버가 불필요한 병목이 된다. 네트워크 대역폭, 메모리, 타임아웃 관리 비용이 모두 서버 쪽으로 몰리기 때문이다. Presigned URL은 서버가 스토리지 접근 권한만 짧게 위임하고, 실제 파일은 클라이언트가 스토리지로 직접 보내게 하는 방식이... 2026/02/13 Web
JWT의 구조와 검증 - 서명 알고리즘, 만료, 그리고 폐기의 한계 Notes JWT를 “로그인 상태를 서버에 저장하지 않아도 되는 토큰”으로 배우면, 로그아웃을 구현할 때 막힌다. 서버가 상태를 안 갖는 것이 장점이라고 했는데 “이 토큰은 이제 무효”라고 말하려면 상태가 필요하다. 이 모순이 JWT 설계의 핵심 제약이고, 구조를 보면 왜 그런지가 드러난다. 구조: 세 조각과 하나의 서명 header.payload.sig... 2026/02/11 Authentication
주니어 백엔드 개발자가 반드시 알아야 할 실무 지식 - 5장 비동기 연동, 언제 어떻게 써야 할까 Book 비동기는 단순히 “빠르게 만드는 기법”이 아니다. 정확히는 요청 처리 경로를 분리해서 사용자 응답 시간과 내부 처리 비용을 분리하는 설계 방식에 가깝다. 동기 호출에서는 요청을 받은 서버가 후속 작업까지 모두 끝낸 뒤에 응답한다. 비동기 연동에서는 서버가 “해야 할 일”을 메시지로 남기고 먼저 응답하며, 실제 작업은 별도의 소비자(consumer)가... 2026/02/10 주니어 백엔드 개발자가 반드시 알아야 할 실무 지식
SLASH 22 리뷰 - Java Native Memory Leak 원인을 찾아서: RSS와 NMT의 2GB 차이, jemalloc 프로파일, C2 컴파일러, Graal JIT Conference 발표 SLASH 22 연사 박동호 (토스페이먼츠 Server Developer) 자료 발표 영상 · SLASH 22 Slack에 OOM(Out Of Memory) Killer 메시지가 뜬 ... 2026/02/08 Toss 토스 커뮤니티 백엔드 발표 리뷰 10편
카카오 「MySQL Orchestrator 기반의 새로운 HA 표준 개발기」 리뷰 — 10년 멈춘 Perl 도구를 떠나 Raft 클러스터로, 그리고 slave_net_timeout 한 줄 Tech Blog Review 원문: MySQL Orchestrator 기반의 새로운 HA 표준 개발기 — kakao tech, 2025-09-30 한 줄 요약 카카오는 2015년부터 MHA로 MySQL 고가용성을 맞춰 왔지만, MHA는 10년 넘게 패치가 없고, Perl이라 고치기 어렵고, 외부에서 Source 서버를 찔러 보는 구조라 네트워크 장애에 오동작하며, Repl... 2026/02/07 Kakao 빅테크 기술 블로그 리뷰 20편
2021년의 결제대행 API 연동을 2026년의 질문으로 다시 보기 Notes 2021년 여름, 더파이러츠에서 넉 달 동안 백엔드 개발자로 일했다. 맡은 일 중 하나가 제휴 상점의 자동 결제 시스템을 만들고 결제 대행업체 API를 연동하는 것이었다. 이력서에는 오래 “PG(Payment Gateway, 결제대행사) 모듈 연동”이라고 적혀 있었는데, 정확한 표현은 아니다. PG사와 직접 계약하고 연동한 것이 아니라, API 호출만... 2026/02/06 Common