#backend
관련 글 20건
- velog수집됨 · 5시간 전
Spring Framework란?
안녕하세요 알을 깨고 부화한 chick 입니다.이 글은 복습하기 위해 작성된 글입니다.SpringFramework란 Java 기반의 애플리케이션을 효율적으로 개발할 수 있도록 지원하는 오픈소스 애플리케이션 프레임워크 입니다.직접 Java 코드로 Servlet, JSP
backendjavaspringframwork♡ 3
- velog수집됨 · 24일 전
교육청 정책을 우회하는 방법!
대마고 전공동아리 XQUARE에서 교내 서버에서 Proxmox 운영체제를 사용해 학생들에게 EC2와 같은 VM을 대여해주는 서비스를 개발했다.하지만 학생들이 대여받은 VM에 어떤 방식으로 접속하게 할 것인지 문제가 생겼다.WireGuard를 사용해 VPN 사설망을 구축
backendinfradevops♡ 10
- velog수집됨 · 9월 28일
[SSAFY] 바이브 코딩으로 붙인 자동화, 토큰이 먼저 닳았다면?
Webhook은 200, Form도 정상인데 왜 서비스는 멈췄을까? 바이브 코딩으로 붙인 자동화가 토큰 고갈로 무너진 뒤, Polling을 Retry Queue 구조로 갈아엎은 이야기.
backendcronnotion♡ 3
- 우아한형제들수집됨 · 9월 23일
사장님 입점신청 자동승인 주기를 10분에서 10초로
사장님의 입점신청 요청들은 자동승인 처리가 시작되기까지 최소 3분에서 최대 12분 59초가 걸렸습니다. 이 대기를 10초 이내로 줄인 과정을 기록한 글입니다. 그림 출처: AI 자동생성(https://youmind.com) 세 줄 요약 큐 역할을 하는 DB에 후보를 모았다가 처리하던 2단계 스케줄러(10분 주기)를 걷어내고, 요청 테이블과 처리 상태 테이블
backend
- velog수집됨 · 9월 8일
[기획] 3개월만에 iOS & Android 기획부터 런칭까지
안녕하세요. 개발 동아리 프로그라피에서 5인 팀으로 활동하고 있는 '하이파이브’ 팀입니다! > 이 앱은 팀원 한 명의 위장에서 시작됐습니다. 저희 백엔드 팀원이 역류성 식도염이 있는데, 회식 자리나 회의때마다 메뉴판을 보며 음식 하나하나를 GPT한테 매번 검사맡거나
backendspringspringboot♡ 7 - 우아한형제들수집됨 · 9월 8일
한꺼번에 짊어지던 배치를 내려놓고, 하나씩 흘려보내는 워크플로로
Temporal 도입은 부담스러웠고, 그렇다고 배치를 그대로 둘 순 없었습니다 – 입맛대로 골라 Claude로 뚝딱 만든 워크플로 엔진 개발기 ℹ️ 이 글에 등장하는 수치와 설정값(대기 시간, 타임아웃, 재시도 횟수 등)은 이해를 돕기 위한 예시이며, 실제 운영 설정과는 다릅니다. 들어가는 말 배달의민족 사장님이 사용하는 포스(POS)의 백엔드를 만들다 보
backend
- 우아한형제들수집됨 · 9월 7일
문서로만 지키던 아키텍처 규칙, 테스트 코드로 강제하기
들어가며 제가 속한 파트너셀프서비스팀은 코딩 컨벤션을 사내 위키 문서와 AI 에이전트가 참조할 수 있는 규칙 문서에 정의해놓고 개발하고 있습니다. 하지만 그 규칙을 잘 지키고 있는지 확인하는 방법이 코드 리뷰뿐이었다는 점이 문제였습니다. 문서에 있는 규칙은 팀원들이 의식적으로 인지해서 코드를 작성하거나 리뷰를 받는 과정에서 반영해야 했습니다. AI 에이전트
-backendarchunit - velog수집됨 · 8월 18일
CQRS란? 읽기와 쓰기를 분리하는 이유
백엔드 개발을 하다 보면 데이터를 조회하는 작업과 변경하는 작업을 하나의 서비스와 모델에서 처리하는 경우가 많아요.그런데 시스템이 복잡해질수록 조회와 변경은 서로 다른 요구사항을 가지게 돼요.이때 등장하는 대표적인 설계 방식이 CQRS예요.CQRS는 Command Qu
backendcqrsdesignpattern♡ 5
강경원· 8월 9일 · 2분 읽기크론 작업 설계 — 멱등성이 전부다
크론 작업은 "한 시간에 한 번 실행된다"고 믿고 짜기 쉽다. 현실은 다르다. 겹쳐 돌고, 건너뛰고, 중간에 죽는다. 이 셋을 전제하고 설계하면 크론은 평화롭다. 전제 1 — 두 번 실행된다 재시도, 배포 중 중복 스케줄, 수동 실행… 같은 작업이 두 번 돌 경로는 얼마든지 있다. 대응
cron배치backend`크론 작업 설계 — 멱등성이 전부다- 우아한형제들수집됨 · 8월 6일
기술블로그 세 번째 책 《요즘 우아한 백엔드 개발》 출간
우아한형제들의 기술블로그 글을 엮은 책, 《요즘 우아한 백엔드 개발》을 소개합니다. 《요즘 우아한 개발》(2023)과 《요즘 우아한 AI 개발》(2025)에 이어 백엔드 분야 이야기를 담은 세 번째 책을 출간했습니다. 🎉 우아한형제들이 실제 서비스에서 마주한 아키텍처 고민과 대규모 트래픽 대응 노하우, 데이터 실무 경험은 물론, GPT와 MCP를 서비스에
aibackenddata
강경원· 8월 5일 · 2분 읽기RSS 수집기를 만들며 겪은 현실적인 문제들
UA 차단, 소스마다 다른 스키마, 재수집 멱등성, 엔티티 디코딩 — RSS 수집기의 본체는 fetch가 아니라 정규화다.
backendrss`RSS 수집기를 만들며 겪은 현실적인 문제들
강경원· 8월 5일 · 2분 읽기결제 웹훅은 반드시 두 번 온다 — 멱등성 설계
웹훅은 최소 1회 전달 = 중복 각오. 이벤트 ID 유니크 제약 + 같은 트랜잭션, 상태 기계 조건부 UPDATE, 그리고 중복엔 200 응답.
backendpayment`결제 웹훅은 반드시 두 번 온다 — 멱등성 설계
강경원· 8월 4일 · 2분 읽기실시간 게임 서버에서 배운 것 — 클라이언트를 믿지 마라
클라이언트가 보낸 이벤트를 그대로 믿으면 devtools가 치트키가 된다. 서버 권위 모델과 순수 함수 상태머신으로 정리한 실시간 게임 설계.
backendwebsocket`실시간 게임 서버에서 배운 것 — 클라이언트를 믿지 마라
강경원· 8월 3일 · 2분 읽기소셜 로그인 버튼 뒤에서 일어나는 일 — Authorization Code Grant
code는 왜 브라우저를 거치고 토큰은 왜 서버끼리만 주고받는가. 콜백 URL, state, secret rotate까지 — OAuth 흐름을 장애 대응 가능한 수준으로.
backendoauth`소셜 로그인 버튼 뒤에서 일어나는 일 — Authorization Code Grant
강경원· 8월 2일 · 2분 읽기캐시 무효화, TTL만 믿으면 안 되는 이유
틀리면 안 되는 데이터는 TTL로 못 지킨다. afterCommit 삭제가 주 방어, TTL은 보험 — 캐시 무효화의 레이스 컨디션 정리.
backendredis`캐시 무효화, TTL만 믿으면 안 되는 이유
강경원· 8월 2일 · 1분 읽기Redis 캐싱 전략 — Cache-Aside만 알아도 충분한 이유
캐싱 전략 글을 보면 Write Through, Write Behind, Read Through 같은 패턴이 쏟아진다. 결론부터 말하면 웹 서비스의 95%는 Cache Aside 하나로 충분하다. Cache Aside 기본형 읽을 때 캐시를 먼저 보고, 없으면 DB에서 읽어 채운다. 쓸
캐싱backendredis`Redis 캐싱 전략 — Cache-Aside만 알아도 충분한 이유- 우아한형제들수집됨 · 7월 28일
BFF 서버에 SSE를 도입한 이유: 전시 서버의 통신 구조 재설계
들어가며 배달의민족에서 음식을 주문할 때 카테고리를 누르면 만나는 화면, 바로 가게목록입니다. 사용자가 가게를 탐색하는 첫 관문이자, 가장 트래픽이 많은 지면 중 하나입니다. 이 글은 그 가게목록 지면의 통신 구조를 재설계한 이야기입니다. 클라이언트가 여러 서버에 각각 요청을 보내던 구조를 하나의 API로 통합하고(1지면 1API), 통합이 만들어낼 병목을
backendfrontend
강경원· 7월 26일 · 2분 읽기정산 시스템에서 1원이 사라지는 문제 — Largest Remainder Method
비율 배분 후 반올림하면 합계가 안 맞는다. 내림 + 잔여를 나머지 큰 순으로 나눠주는 Largest Remainder Method와 불변식 테스트.
backendjava`정산 시스템에서 1원이 사라지는 문제 — Largest Remainder Method
강경원· 7월 22일 · 2분 읽기재고 차감 동시성, UPDATE 한 줄로 끝내기
조회-검사-차감은 동시성에서 깨진다. 조건부 UPDATE 한 줄이면 행 락으로 원자성이 보장된다 — 비관/낙관 락과의 비교까지.
backenddatabase`재고 차감 동시성, UPDATE 한 줄로 끝내기
강경원· 7월 17일 · 1분 읽기복합 인덱스, 순서가 전부다
복합 인덱스는 (성, 이름) 전화번호부다. 등호는 앞, 범위는 뒤, 정렬은 마지막 — 순서 규칙과 EXPLAIN 확인법.
backenddatabase`복합 인덱스, 순서가 전부다