모든 글 · 10쪽

전체 글 124편 중 109–120번째 글이에요. 최신 글이 앞에 있어요.

10쪽 글 목록

124편 중 109–120

  1. 밀레 만종의 아기 관 이야기·클림트 키스·시녀들 — 그림 뒷이야기 8가지

    밀레의 만종에서 감자 바구니 자리에 원래 아기 관이 있었다는 이야기, 들어 본 적 있나요? 그 소문에 매달린 화가의 엑스레이 요청부터 명화 속에 숨은 사연까지 그림 여덟 점의 뒷이야기를 풀었어요.

  2. 별이 빛나는 밤·해바라기·진주 귀걸이를 한 소녀 — 그림 뒷이야기 8가지

    지금은 뉴욕 현대미술관에서 가장 붐비는 그림인데, 고흐는 별이 빛나는 밤을 실패작으로 여겼어요. 누구나 아는 명화들이 어떤 사정 속에서 그려졌는지 알고 나면 다시 보게 돼요.

  3. ALTER TABLE 이 기다리면 뒤에 줄이 선다 — 락 큐와 lock_timeout

    1초면 끝나는 컬럼 추가 마이그레이션을 돌렸는데 서비스 전체가 몇 분간 멈췄어요. 마이그레이션은 시작도 못 했는데요. 락을 기다리는 줄이 평범한 조회까지 막는 구조를 풀어 드려요.

    5분#DB#DDL#마이그레이션
  4. 타임아웃 기본값이 「무한」인 클라이언트가 많다 — 연결·읽기·전체 타임아웃

    외부 API 가 에러도 없이 응답만 안 주자, 우리 서버 스레드가 하나씩 묶여 몇 분 만에 서비스가 멈췄어요. 타임아웃을 안 걸면 무한정 기다리는 클라이언트가 많은 이유와 값 정하는 법을 다뤄요.

    4분#백엔드#타임아웃#장애
  5. MySQL SELECT FOR UPDATE, 인덱스가 없으면 스캔한 행이 전부 잠긴다

    재고를 잠그는 쿼리가 개발 DB 에선 멀쩡했는데, 프로모션 날 주문 API 가 통째로 멈춰요. 서로 다른 상품을 산 사람끼리 왜 서로를 기다리는지 풀어 드려요.

    5분#DB#인덱스#락
  6. 재시도 폭주 — 지수 백오프·지터·재시도 예산으로 막기

    DB 가 몇 초 느려졌을 뿐인데 서비스가 무너지고, 원인이 사라진 뒤에도 회복이 안 돼요. 「실패하면 세 번 재시도」라는 상식적인 설정이 어떻게 장애를 키우는지 보여 드려요.

    5분#백엔드#재시도#장애
  7. OFFSET 페이지네이션은 뒤로 갈수록 죽는다

    목록 1페이지는 10ms 인데 100페이지쯤 가면 타임아웃이 나요. 사람보다 크롤러가 깊은 페이지를 훑을 때 터지는 이 문제를, 페이지 번호 대신 이어 읽기로 푸는 법을 보여 드려요.

    5분#DB#페이지네이션#인덱스
  8. ORM N+1 문제 — 쿼리가 101번 나가는 이유와 자동으로 잡는 법

    목록 API 가 로컬에선 50ms 인데 운영에선 1.5초가 걸려요. 느린 쿼리는 하나도 없는데요. 코드 한 줄이 쿼리 101번이 되는 이유와 이걸 테스트로 미리 잡는 법을 알려 드려요.

    5분#DB#ORM#쿼리
  9. MySQL 의 utf8 은 UTF-8 이 아니다

    닉네임에 이모지를 넣었더니 500 에러가 나요. 인코딩은 분명 utf8 로 맞췄는데도요. MySQL 의 utf8 이 이름과 달리 진짜 UTF-8 이 아닌 사연과 고치는 순서를 정리했어요.

    6분#DB#MySQL#인코딩
  10. LIKE '%검색어%' 는 인덱스를 못 쓴다

    검색을 LIKE '%키워드%' 로 만들었더니 데이터가 늘면서 몇 초씩 걸려요. 인덱스를 걸어 뒀는데도요. 왜 인덱스가 소용없는지, 한국어 검색은 무엇으로 바꾸면 되는지 정리했어요.

    5분#DB#검색#인덱스
  11. 멱등성 — 재시도는 반드시 일어난다

    사용자는 결제 버튼을 한 번 눌렀는데 두 번 청구됐어요. 응답을 못 받았다고 재시도한 게 원인이었죠. 재시도가 언젠가 꼭 중복을 만드는 이유와 같은 요청을 한 번만 처리하는 법을 다뤄요.

    5분#백엔드#멱등성#결제
  12. keep-alive 를 안 쓰면 악수만 하다 끝난다

    상대 서비스는 5ms 만에 처리하는데 우리 쪽에서 재면 40ms 가 나와요. 사라진 35ms 는 요청마다 연결을 새로 맺는 데 쓰이고 있었어요. 설정은 맞는데 쓰는 법이 틀린 흔한 실수를 짚어요.

    4분#백엔드#HTTP#성능