본문으로 건너뛰기

Seoul, Korea

윤로딩

백엔드 개발자

TODO: 어떤 일을 해왔고 무엇에 관심이 있는지 두세 문장으로. 기술 나열보다 "무슨 문제를 어떻게 풀어왔는지"가 읽는 사람에게 남는다.

기록

경력

  1. TODO: 회사명

    2024.01 – 현재

    TODO: 직무

    TODO: 팀에서 맡은 범위 한 줄.

    • TODO: 무엇을 만들었고 그래서 뭐가 달라졌는지. 가능하면 수치.
    • TODO: 기술 선택을 했다면 왜 그걸 골랐는지.

기술 스택

Language
TODOTODO
Backend
TODO
Infra
TODO

학력

  • TODO: 학교TODO: 전공
    2020.03 – 2024.02

최근 글

  • Database
    섹션3 실습: 페이지 안을 직접 열어보기

    pageinspect 로 라인 포인터 배열을 열어 ctid 의 두 번째 숫자가 행 번호가 아님을 확인하고, VACUUM 이 슬롯을 남기는 기준이 인덱스 하나임을 검증한다.

  • Database
    섹션3: 데이터베이스 내부

    PostgreSQL 에는 클러스터 인덱스가 없어서 PK 인덱스조차 보조 인덱스다. 그리고 VACUUM 이 지운 데이터는 되살리는 게 아니라, 복구 목표를 그 이전으로 잡아 애초에 지워지지 않게 한다.

  • Database
    섹션2 실습 2: Django 에서 같은 문제 겪어보기

    transaction.atomic 은 격리 수준을 바꾸지 않는다. QuerySet 캐시는 어디까지 유효한가. ORM 이 lost update 를 유도하는 지점과 F(), select_for_update 를 실제로 돌려서 확인한다.

  • Database
    섹션2 실습 1: ACID 직접 까보기

    A·C·I·D 를 차례로 눈으로 확인한다. t_xmin / t_xmax 를 직접 찍어 보면 네 글자가 각각 어떤 장치로 만들어지는지, 그리고 C 만 왜 다른지가 드러난다.

  • Database
    섹션2: ACID

    ACID 네 글자를 DB가 실제로 어떤 장치로 구현하는지. MySQL InnoDB의 Undo Log와 PostgreSQL의 Append-Only는 원자성과 격리성을 정반대 방식으로 만든다.

글 전체 보기