Skip to content
isdnetworks

Archives

All the articles I've archived.

2026 76
September 1
  • 고친 코드와 남은 데이터

    이미 고쳐진 버그의 수정 이전 피해가 그대로 남아 있던 건에서, 수정 커밋을 볼 때 소급 조치 여부를 함께 확인해야 하는 이유를 정리한다.

August 6
  • 전수 검색으로 확정했다

    짐작으로 사용처를 정했다가 빠뜨린 뒤, 이름과 값과 조립 참조까지 축을 넓혀 전수로 확정한 과정을 정리한다.

  • 두 곳에서 같은 모양이 나왔다

    코드가 다른 두 프로젝트에서 같은 형태의 문제가 나온 것을 계기로, 공통 원인을 찾아 구조로 막고 그 점검을 다른 프로젝트로 옮긴 과정을 정리한다.

  • 전부를 멈추는 한 건

    한 고객사 제보로 시작한 건이 전 고객사 장애였던 사례에서, 파싱 실패 하나가 파티션 전체를 막는 구조와 세 층의 조치를 정리한다.

  • 조건이 겹쳐서 진단이 어려웠다

    세 조건이 겹칠 때만 나던 오류를 인위적으로 재현하고, 조건을 하나씩 빼 보며 고칠 자리를 정한 과정을 정리한다.

  • 중지했는데 팔린다

    멱등하지 않은 재시도가 우리 DB에 흔적 없는 외부 상품을 만들어 낸 구조와, 재시도가 안전하려면 무엇이 필요한지 정리한다.

  • 적히지 않은 전제 위의 관찰

    로그 레벨 한 단계가 관찰의 절반을 지운다는 것을 대조군으로 확인하고, 관찰 결과에 전제를 함께 적기로 한 과정을 정리한다.

July 6
  • 빌드가 돈다고 있는 것은 아닌 키

    CI가 서명 빌드를 계속 성공시키는데도 조직이 원본 키를 갖고 있지 않았던 건에서, 동작 확인과 보유 확인을 가르는 방법을 정리한다.

  • 정답이 하나인 일은 코드가 한다

    언어 모델에 수치를 맡겼을 때 나온 여섯 종류의 결함을 전수로 확인하고, 코드와 모델의 경계를 판정 가능성으로 그은 근거를 정리한다.

  • 규칙에 예외가 다섯 있었다

    스키마 규칙의 예외를 찾아 정리하다가 예외 목록을 조건으로 바꾸고, 규칙이 아예 없는 자리까지 드러난 과정을 정리한다.

  • 그 방식이면 멈추는 시간이 없었다

    400만 건 테이블에 컬럼을 추가하면서 무엇이 잠기고 무엇이 안 잠기는지 확인하고, 사본에서 시간과 공간을 미리 잰 과정을 정리한다.

  • 부분 업데이트라고 믿은 PUT

    스펙상 경로만 다른 두 API 버전이 부분 갱신과 전체 교체로 갈렸던 건과, 엔드포인트를 갈아탈 때 확인할 항목을 정리한다.

  • 반드시 보존하라던 12기가의 실체

    반드시 보존이라는 라벨이 붙은 12기가를 열어 20메가로 줄이면서, 라벨과 사실의 거리와 0건 검사의 유효성 확인을 정리한다.

June 5
  • 로그가 없을 때의 시간 근거

    감사 로그가 없는 상태에서 트랜잭션 경계로 생성 실패와 생성 후 유실을 가른 과정과, 확정 불가를 기록하는 방법을 정리한다.

  • 건너뛸 줄 알았던 자리가 내리고 있었다

    부적격 처리가 건너뛰기가 아니라 연동 해제였던 건과, 0건인 필터를 넣을지 가르는 기준을 정리한다.

  • 할 일이 없으면 침묵하는 감시

    처리 대상이 0건이면 지표를 하나도 내보내지 않는 계측을 리뷰하면서, 하트비트가 성립하는 두 성질과 감시 키를 어디서 얻어야 하는지 정리한다.

  • 0건이 증명하는 것은 무엇인가

    그 상태값이 0건이니 안전하다는 근거가 왜 틀렸는지 코드로 확인하고, 0건이 실제로 보증하는 범위와 시점 의존적인 모수 문제를 정리한다.

  • 같은 값을 바꾸는 두 경로, 결과는 다르다

    화면에서 고치는 것과 DB에서 직접 고치는 것이 편의의 차이가 아니라 부수효과의 차이였다는 것을, 정식 경로의 코드를 읽고 확인한 과정을 정리한다.

May 6
  • 결과를 만든 확인 행위

    파일이 있는지 확인하려고 호출한 주소가 없으면 만들어 주는 경로였던 건을 계기로, 조회가 대상을 바꾸는 경우들과 확인 전에 물어야 할 것을 정리한다.

  • 거의 안 여는 자리가 있었다

    코드 정리 순서를 정하려고 파일별로 여는 빈도와 참조 횟수를 세어 보고, 자주 여는 곳과 안 여는 곳을 다르게 다룬 과정을 정리한다.

  • 스스로를 봉인하는 되먹임 없는 경로

    대량 전환 작업에서 외부 경유와 DB 직접 수정 중 무엇을 고를지 판단하면서, 빠른 경로가 함께 없애는 검증 채널을 어떻게 계산했는지 정리한다.

  • 찾다가 관련 API 둘을 더 발견했다

    필요한 API 하나를 찾다가 주변의 둘을 발견하고 셋을 성격에 맞게 나눠 쓴 과정과, 규격 목록을 주기적으로 훑어 새 기능을 놓치지 않는 방법을 정리한다.

  • 다른 종류를 같게 다룬 처리

    성격이 다른 항목을 한 목록에 두고 우선순위를 정하려다 막힌 뒤, 종류를 나누고 각각 다른 기준과 시간 배분을 적용한 과정을 정리한다.

  • 우회할 수 있는 차단

    도구 이름으로 건 차단이 다른 도구로 그대로 통과한 사례들을 모아, 조건을 대상에 걸어야 하는 이유와 정당한 우회를 다루는 방법을 정리한다.

April 5
  • 기록해 뒀는데 왜 또 걸렸나

    같은 함정을 열한 번 기록하고도 매번 다시 걸린 이유를 분석해, 기록이 재발을 막지 못하는 조건과 반복 횟수에 따른 대응을 정리한다.

  • 15만 건을 막은 조건 하나

    부정으로 쓴 상태 조건이 일어나지 않는 전이를 전제하면서 15만 건의 동기화를 영구히 막았던 건과, 상태 조건을 쓸 때 확인할 항목을 정리한다.

  • 근거 네 가지가 같은 것을 가리켰다

    로그와 시점과 코드와 재현이라는 네 종류의 근거가 각각 무엇을 말하는지 나누고, 어긋나는 근거 하나가 가장 중요한 신호가 되는 이유를 정리한다.

  • 데이터를 숨긴 짧은 조회 최적화

    커버리지가 100%인데 결과가 빠져 있던 건에서, 조회 단계의 절단과 파서가 안 보는 구조가 오류 없이 부분 결과를 만드는 방식을 정리한다.

  • 해결 방법이 셋이라 골라야 했다

    외부 API 실패에 대응하는 방법이 셋 나왔을 때 무엇을 기준으로 고를지 정하고, 결국 선택이 아니라 순서 문제였다는 것을 확인한 과정을 정리한다.

March 19
February 13
January 15
2025 80
December 11
November 7
  • 축이 다른 것과 제약을 깨는 것

    제약 위반으로 보이던 것이 축이 다른 것이었고, 끊어진 참조는 원본과 대조해 누락인지 원본 결함인지 먼저 가른 과정이다.

  • 두 갈래로 갈린 같은 관용구

    같은 일을 하는 두 방식이 섞인 이유를 시기 차이에서 찾고, 통일할 값이 있는 것만 골라 점진적으로 옮긴 과정이다.

  • 조용함과 깨짐 사이

    대량 재전송을 검토하다 실제 파손 규모를 먼저 재서 0.34퍼센트임을 확인하고, 복구 대신 로그 수정이 진짜 산출물임을 정리한다.

  • 안 쓴다를 확인하는 두 축

    좁은 범위 검색의 0건을 안 쓴다로 읽지 않고 호출부와 대입 지점 두 축으로 확인해, 운영 DB 조작을 하지 않기로 한 근거를 세운 과정이다.

  • 정리가 전송 성공에 매달려 있다

    정리하려는 대상이라서 정리가 안 되는 순환을 구 경로 코드에서 확인하고, 구경로와 신경로의 기능 비대칭을 정리한다.

  • Google Play 앱 정책 위반 알림 대응 — 한꺼번에 8건 받았을 때

    Google Play에서 앱 정책 위반 알림을 한꺼번에 여러 건 받았을 때의 확인 절차와 대응 방법을 정리한다.

  • 인프라 탓이 아니었던 지연

    배치가 느린 원인을 인프라에서 찾다가 계측 로그로 서버 시간을 분리해 구조적 특성임을 확인하고, 고칠 수 있지만 안 한다고 적은 과정이다.

October 8
  • 증거가 되는 다이제스트

    직접 호출 검증이 막힌 내부 전용 서비스에서 이미지 다이제스트 3자 대조로 배포를 증명하고, 그 검증의 한계까지 명시한 과정이다.

  • 하나로 보이는 두 문제를 갈라내기

    메모리를 늘려도 절반만 나아진 것을 덜 고쳤다로 읽지 않고 두 번째 원인을 찾아, 종료 사유로 원인을 가르는 방법을 세운 과정이다.

  • 도움말이 낡는 자리

    서버 하나의 코드와 설정과 배포 스크립트를 한자리에 놓고 교차 대조해, 한 파일만 봐서는 찾을 수 없는 불일치 다섯을 찾아낸 과정이다.

  • CloudWatch 알람 노이즈 줄이기 — SNS 토픽 필터링 실전

    CloudWatch 알람이 SNS를 통해 과도하게 발송될 때, 알람 노이즈를 줄이는 실전 방법을 정리한다. 이커머스 연동 서비스의 사례를 다룬다.

  • 서명과 경계

    외부 API 문답 83건을 전수 검토해 얻은 넷을 정리하고, 오류 메시지가 원인을 안 가리키는 항목일수록 전수 검토가 필요한 이유를 남긴다.

  • OpsNow360 유료 전환 시 기능 제한 해제 요청 절차

    AWS 리셀러 계약 갱신 후 OpsNow360의 유료 기능 제한 해제를 요청한 과정과, FinOps 도구 운영 시 주의할 점을 정리한다.

  • 아무것도 못 찾아도 성공을 반환하는 명령들

    검증 스크립트의 판정이 항상 한쪽으로만 나온 원인을 명령별 종료 코드 규칙에서 찾고, 검사가 실제로 가르는지 확인하는 방법을 정리한다.

  • 컬렉션마다 다른 규칙

    한글 파일명을 교정해 달라는 요청의 전제를 요청 하나로 확인해, 일괄 적용이 정상 이미지 수백만 건을 깨뜨린다는 결론에 이른 과정이다.

September 8
August 7
  • AWS 리셀러 통합 빌링 계약 갱신 — 할인율 협상 실무

    AWS 리셀러(MSP) 통합 빌링 계약 갱신 시 할인 조건 재협상, OpsNow360 연계, 계약서 변경 프로세스를 실무 관점에서 정리한다.

  • 시각 없는 상태값

    아무 기록이 없는 과거 일괄 조치를 상태값과 타임스탬프의 불일치로 재구성하고, 세는 방법이 결과를 바꾼다는 것을 정리한다.

  • 검증 순서를 읽어 화면에 반영했다

    외부 API 오류가 상세 없이 돌아오던 것을, 규격의 검증 순서를 읽어 화면 입력 순서에 반영하고 어디까지 미리 막을지 정한 기록이다.

  • 경로가 둘일 때의 게이트

    연장 작업이 실패한 줄 알았으나 애초에 생성되지 않았고, 같은 기능의 두 경로가 서로 다른 게이트를 가진 구조를 정리한다.

  • 잘못이 아니라 설계였던 중복 업로드

    중복으로 보이던 412건이 설계였고 기준을 좁히자 진짜 중복이 드러났으며, 상대 쪽 덮어쓰기 순서까지 확인한 과정이다.

  • 변환본 둘, 규칙 둘

    이미지가 작다는 민원의 원인을 마크업이 아니라 원본 해상도와 변환 규칙 차이에서 찾고, 선택지 셋을 영향과 함께 넘긴 과정이다.

  • 없는 것을 만들어 내던 조회

    존재 확인이 항상 참을 돌려주던 원인을 조회가 대상을 생성하는 구조에서 찾고, 부작용 있는 조회를 전수로 정리한 과정이다.

July 6
  • 게이트만으로 안 되는 결정

    조건 분기를 찾고 설명이 완성된 줄 알았다가 호출부를 읽고 이론을 철회하고, 대신 미래 위험을 기록으로 남긴 과정이다.

  • 수집원마다 렌더링 방식을 잰다

    브라우저가 필요하다고 짐작하던 수집원들을 직접 요청해 재고, 브라우저의 역할을 쿠키 공급원으로 줄인 과정이다.

  • 2단계 중간의 정지

    갱신 실패로 오진했던 1만 9천여 건이 실은 연동 해제 2단계 중 1단계에서 멈춘 상태였고, 그 지문을 게이트로 만든 과정이다.

  • 떼어 놓고 얻은 통과의 한계

    한 단계를 떼어 내 통과시킨 것을 무죄 증거로 삼아 이틀을 잃고, 떼어 내며 바꾼 조건을 하나씩 되돌리는 방법을 세운 과정이다.

  • 상위만 옛것을 가리키던 상태

    두 화면의 금액이 다른 문의를 정책 데이터가 아니라 상품의 참조에서 풀고, 이관이 참조를 안 옮기는 패턴을 정리한다.

  • 네 번 따로 적힌 같은 결함

    증상이 달라 보이던 장애 넷의 원인이 같았고, 기록 형식을 맞춰 모아 세니 반복 결함 넷이 드러난 과정이다.

June 5
  • 센티널은 코드로 강제한다

    실데이터와 센티널이 같은 키스페이스를 쓰는데 충돌 방지가 주석뿐이었고, 그 충돌이 예외가 아니라 침묵으로 나타나는 구조를 정리한다.

  • 매핑표를 먼저 완성한다

    코드 체계 이전에서 값을 하나씩 바꾸는 대신 매핑표를 먼저 완성하고, 1대1이 안 되는 것과 추정한 것을 나눠 적은 과정이다.

  • 도착률 대비 처리량으로 잰다

    프로세스 수만 보고 워커 축소를 답으로 냈다가 도착률과 처리량을 실측해 결론을 뒤집고, 조건이 바뀌면 반대가 맞는다는 것까지 정리한다.

  • 링크 없음과 미응답의 구분

    자동 판정으로 뽑은 미응답 목록을 표본 교차검증에서 뒤집고, 신호와 의미를 가르는 매칭 규칙을 세운 과정이다.

  • 한 이미지의 다중 앱 지원 여부

    비슷한 이미지 넷을 공통 층으로 묶되 한 이미지에 여러 앱을 넣지 않기로 하고, 그 선택이 보안 갱신까지 바꾼 과정이다.

May 6
April 5
March 6
  • 롤링 저장소를 동결한다

    마이너 고정 트리가 없는 부가 저장소를 아카이브 스냅샷으로 동결하고, 주소 유효성과 설치 패키지 존재를 각각 검증한 과정이다.

  • 반복되는 급한 조치

    반년간 반복한 수동 조치를 시간으로 환산해 근본 수정 비용과 비교하고, 조치 횟수 자체를 지표로 삼은 과정이다.

  • 추가는 안전하고 변경은 아니다

    매핑 작업을 추가와 변경으로 가르고, 포괄적 분류의 매핑 가능 여부를 네 건 대조로 판정한 기준을 정리한다.

  • 설치와 셸 통합의 분리

    우클릭 메뉴가 안 나오는 것을 설치 실패로 오해했다가, 파일 유무로 미제공과 미적용을 가르는 절차를 정리한 과정이다.

  • 이관이 빠뜨린 부속 레코드

    한 업체 문제로 보이던 연동 실패가 이관된 132개 업체 전원의 문제였고, 그 사실이 보정 계획 전체를 바꾼 과정이다.

  • 미결을 닫고 다음으로 갔다

    미결을 남긴 채 다음 문서로 넘어갔다가 그 위에 쌓인 것이 전부 흔들린 뒤, 무엇을 닫고 무엇을 진행할지 가르는 방법을 정리한다.

February 5
  • 성공이 아니었던 성공 목록

    일괄 API가 처리하지 않은 건을 성공 목록에 담은 것을 청크별 되읽기로 잡아내고, 그 건을 어떻게 분류할지 정한 과정이다.

  • 작업 공간 둘의 통합 여부

    전부 합치거나 전부 나누는 대신 무엇을 합칠지를 갈라서 도구만 합치고 자료와 자격 증명은 나눈 과정이다.

  • 멱등은 전제 위에 선다

    멱등 로직이 이미 있는데도 매번 재업로드가 일어난 이유를 추적해, 식별자가 매번 바뀌면 멱등이 원리적으로 성립하지 않는다는 것을 정리한다.

  • 중간에 받은 지적의 자리

    진행 중에 받은 지적을 이미 한 것이 아까워 넘겼다가 결국 더 큰 비용을 치른 뒤, 판단 순서를 정한 과정이다.

  • 같은 것을 가리키던 식별자 셋

    내부 키와 화면 번호와 API 입력값이 전부 다른데 조사에 쓴 값을 그대로 회신에 넣었다가 상대가 못 찾은 건을 정리한다.

January 6
  • WHERE에 들어간 결론

    검증 쿼리의 조건에 검증하려는 결론을 넣어 순환논증이 된 건과, 결과가 가설과 일치할 때가 더 위험한 이유를 정리한다.

  • 상태를 안 바꾸던 컨슈머

    외부 처리는 끝났는데 우리 상태만 요청으로 남아 있던 건을 단계별로 그려서, 빠진 마지막 단계와 그 단계의 주인을 찾은 과정이다.

  • 제외를 적용하고 센다

    다음 검증 대상을 고르려고 규모를 다시 세면서, 제외 조건을 넣기 전과 후가 완전히 다른 그림을 보여 준 건을 정리한다.

  • 예외를 다 흡수하려던 표준 모델

    여섯 채널의 주문을 한 모델로 담으려다 필드가 스물여덟 개가 된 뒤, 공통과 예외를 나누고 무엇이 공통인지를 세어서 정한 과정이다.

  • 주 계정을 기준으로 잡은 구조

    최상위 계정을 어떻게 다룰지 정하고 나니 역할 분리와 권한 축소와 퇴사 절차까지 그 결정에서 따라 나왔다.

  • 문서에 없는 제약의 출처

    공식 문서에 없고 Q&A에만 있는 제약들을 전수로 훑어 정리하면서, 사전 검증에 반영할 것과 운영 문서에 넣을 것을 갈랐다.

2024 68
December 5
  • 터널 앞에는 L4를 쓴다

    프록시 통합 설계의 초기 가정 둘이 착수 전 읽기 전용 조사에서 모두 뒤집힌 과정과, 인바운드와 아웃바운드를 가르는 기준을 정리한다.

  • 만들어진 적 없는 미연동

    화면의 미연동 라벨이 실패가 아니라 작업 없음을 뜻한다는 것을 코드로 확인하고, 질문의 전제까지 바로잡은 과정이다.

  • 기간 없는 미처리 집계의 과대

    화면 이름만 아는 상태에서 테이블을 찾아 들어가 기간 조건 없는 미처리 집계가 레거시로 부풀려져 있음을 확인한 과정이다.

  • 넓힌 catch가 여는 안쪽

    예외 범위를 넓히는 한 줄짜리 패치의 2차 검토에서 새 실행 경로와 진단 코드의 자멸과 패치의 자기 재현 셋을 찾은 과정이다.

  • 고급 기능의 도입 시점

    떠오른 기능 다섯을 나중에 넣기 어려운 것과 아닌 것으로 갈라 둘만 지금 넣고, 안 넣은 것의 종료까지 관리한 과정이다.

November 6
  • 마켓마다 다른 중지의 뜻

    상태 불일치 3만 7천 건을 채널별로 갈라 원인이 셋 다 다르고 매핑 누락은 0건임을 확인해, 백로그로 읽지 않기로 한 과정이다.

  • 피해 반경은 부분집합이다

    8일치가 다 깨진 것 아니냐는 지적에 대상 조건을 읽고 모집단을 정의해, 36만 건 중 0.08퍼센트로 좁힌 과정이다.

  • 이미 두 겹이던 검증

    새 기능에 붙일 검증을 짜기 전에 기존 범위를 읽어 열두 개를 안 짜고, 대신 정해야 할 정책 하나를 찾아낸 과정이다.

  • 인프라 정의에서 떼어 놓은 코드

    인프라 정의에 들어 있던 배포를 떼어 내면서 경계를 바뀌는 빈도로 정하고, 나눈 뒤 드러난 의존과 되돌리기 순서까지 정리한 과정이다.

  • 재생성을 막은 스킵 조건

    같은 주소를 다시 넣어도 스킵 조건에 걸려 아무 일도 안 일어나던 것을 외부 경유로 풀고, 폭 문제의 원인은 가정과 달랐던 과정이다.

  • 전수 조사로 확정한 현재 상태

    비용 절감 요청을 목록 만들기부터 시작해 아무도 몰랐던 자원과 다른 계정과 안 쓰는 접근 권한까지 정리한 과정이다.

October 6
  • 그대로 둔 기본값의 비용

    검색 조회 상한을 기본값으로 두어 비용과 결과 품질이 함께 나빴던 것을 고치고, 기본값을 쓰는 자리를 전부 훑은 과정이다.

  • 한 단계 더 거쳐 조인한다

    조인 결과 0건을 없다는 뜻으로 읽고 결론 낼 뻔했다가 스키마를 확인해 정반대 결과를 얻은 과정이다.

  • 코드 추정보다 앞선 DB 사실

    코드로 좁혀지지 않던 두 후보를 생성 시각과 갱신 시각이 같다는 사실로 가르고, 복구의 선행 조건까지 확정한 과정이다.

  • 개발용처럼 보이는 이름의 운영 DB

    이름만 보고 개발용으로 판단해 운영 DB를 건드릴 뻔한 뒤, 이름 대신 실체를 확인하는 목록과 맡길 것의 경계를 정한 과정이다.

  • 0이 아니었던 슬롯

    물리 서버 점검에서 슬롯 표기와 진단 필드 부재와 팬 회전율의 의미까지 다섯 가지 장비별 사실을 확인하고 기록한 과정이다.

  • 청구서를 나누는 유일한 수단

    한 계정에 섞인 네 프로젝트의 비용을 태그로 가르면서, 태그 없이 못 만들게 막고 값까지 제한한 과정이다.

September 5
  • 꺼낸 순간 낡아 있던 값

    큐 메시지에 값을 통째로 담아 낡은 값이 나중에 덮은 사고를 고치면서, 다시 읽을 것과 스냅숏이 맞는 것을 가른 과정이다.

  • 설계를 바꾼 과금 구조

    싸 보이는 구조가 요금 구조 때문에 반대인 것을 실측으로 확인하고, 과금 단위와 비중으로 줄일 대상을 정한 과정이다.

  • 먼저 돌려도 안 줄던 총시간

    큰 채널을 먼저 돌려 나머지를 가속한다는 전략의 전제를 실측으로 무너뜨리고, 동시 실행 분산으로 바꾼 과정이다.

  • 분리된 입구, 공유된 데이터

    운영 서버 한 대를 떼어 시험하려다 큐가 공유된다는 것을 확인하고, 성공하면 원복이 없는 시험은 하지 않기로 한 과정이다.

  • 실패가 아니라 안 지워진 표시

    취소가 안 된다는 문의를 주문 상태와 취소 상태의 불일치로 표시 문제로 판정하고, 조사 중 드러난 요청 폭주는 따로 분리한 과정이다.

August 6
  • 바뀐 상태와 나가지 않은 요청

    패널티 이의의 근거를 확인하다 우리 시스템이 중지를 안 보낸 것을 찾아, 반영 확인 기준을 내부 상태에서 연동 상태로 바꾼 과정이다.

  • 단계 신호였던 0

    실행 초반의 작업 0건을 버그로 보고 중단할 뻔했다가 단계 진행 신호임을 확인하고, 진행률 측정을 로그에서 기록 집계로 바꾼 과정이다.

  • 빈 프로젝트가 아닌 파일 0개

    소스 파일 0개인 프로젝트를 껍데기로 판정했다가 IDE 캐시에서 업무 규칙 237개를 찾고, 재개발의 과제 자체가 바뀐 과정이다.

  • 보낼 URL의 부재

    추측으로 제시한 링크가 실재하지 않는다는 되물음을 받고 라우터 정의를 확인해, 수정안 대신 결정할 것을 정리한 과정이다.

  • 결합키 제거는 교환이다

    메모리를 줄이려 결합키를 없애면서 반환 형태 변화와 동점 처리를 확인하고, 그 교환의 방향을 맥락으로 판단한 과정이다.

  • 밖에서 다시 받아 채운 값

    응답 형식 변경으로 비게 된 식별자 412건을 상대에게 다시 물어 복원하고, 되찾을 수 없는 값과 원인 수정까지 나눠 처리한 과정이다.

July 5
  • 해소와 통과의 차이

    링크 존재만 보던 검사가 전부 통과했는데 실제로는 안 되던 것을 대조군으로 확인하고, 검사별로 무엇을 보는지 표로 적은 과정이다.

  • 같은 데로 가는 폴백

    폴백이 있는데도 실패가 쌓인 원인이 폴백도 같은 도메인을 쓰기 때문임을 확인하고, 인프라 확인을 코드 수정보다 앞에 둔 과정이다.

  • 인증을 시행착오로 시험하지 않는다

    잘못된 인증 요청이 계정 전체를 강등시키고 복구가 최대 2주 걸리는 규격을 문답에서 미리 읽어, 시행착오 방식을 안 쓰기로 한 과정이다.

  • 표본을 제한하는 보존 기간

    만료 설정이 관측 창을 제한한 것을 확인하고, 전제를 반증한 표본이 대표성이 없어 확증도 아닌 상태를 그대로 적은 과정이다.

  • 종결이 아닌 잔존 0

    7천여 건을 처리해 잔존을 0으로 만들고도 근본 수정이 미배포라 종결이 아님을 유입 건수로 실증하고, 드레인과 수정을 나눠 보고한 과정이다.

June 6
  • 마킹인가 실제 호출인가

    멱등일 것이라는 추정을 실행기 코드로 반증하고, 로그가 외부 응답이라는 사실을 이용해 대량 작업 대상을 좁힌 과정이다.

  • 첫 관문 통과와 완료 사이

    완료 건수를 판정 기준으로 삼아 전건 성공을 실패로 읽을 뻔한 것을 사유 이동으로 다시 재고, 보류와 실패를 나눠 보고한 과정이다.

  • 다섯 번 따로 고친 같은 문제

    같은 원인이 다섯 번 따로 기록된 것을 발견하고, 기록에 도달하지 못한 이유와 반복될수록 조사가 얕아지는 경향을 정리한 과정이다.

  • 원시 이벤트가 남기는 노이즈

    지식 그래프에 쌓인 노이즈 노드를 다섯 종류로 분류하고, 입력과 추출과 정규화와 사후 삭제 중 어디서 막는 것이 싼지를 정리한다.

  • 이관이 바꾼 ID와 모르던 밖

    내부 이관이 발급한 새 식별자가 외부의 옛 식별자와 충돌한 경위를 추적하고, 대응된 경로와 안 된 경로의 차이까지 확인한 과정이다.

  • 버전이 아니었던 버전 필드

    상수 목록과 전혀 안 맞는 값 앞에서 목록을 의심하다가 전제를 의심하는 쪽으로 방향을 바꿔, 소스에서 30분 만에 푼 과정이다.

May 6
  • 하나에만 있던 게이트

    브라우저가 CDN으로 직접 간다는 통념을 호출 전수 조사로 확인해, 서버를 걷어내면 조용히 죽었을 경로 셋을 찾아낸 과정이다.

  • 동작을 바꾸지 않는 사전 배포

    읽기 변경을 현재 데이터에서 발동할 수 없는 조건으로 먼저 배포하고, 쓰기 플래그 하나로 전환해 위험을 카나리 한 대에 가둔 과정이다.

  • 계측은 필요한 입도에서 한다

    카테고리 매핑 실패를 세려다 결과 객체의 입도가 맞지 않던 것을, 소스를 바꿀지 별도 계측을 붙일지 견줘 정한 기록이다.

  • 라벨 말고 관계를 믿는다

    요청에 딸려 온 라벨과 데이터가 정반대인 것을 관계 컬럼으로 확인하고, 추측으로 뒤집는 대신 확인을 요청한 과정이다.

  • 어느 계층의 중복인가

    규모가 안 맞는 집계에서 세고 있던 계층이 다르다는 것을 확인하고, 삭제 대상 기준을 업무 계층 활성 레코드로 바꾼 과정이다.

  • 실제 경로를 잡아서 본 것

    설정은 새 주소인데 옛 주소로 나가던 원인을 패킷과 대체 경로에서 찾고, 도구를 못 까는 환경에서 코드로 남기는 방법까지 정리한다.

April 6
  • 규격이 허용하는 문자로 값을 채웠다

    애매한 거부 사유를 통과분과 거부분 비교로 좁히고, 뜻을 잃지 않는 치환과 사전 검증으로 거부율을 없앤 과정이다.

  • 정체와 적체를 가르는 두 시각

    프로세스 상태와 큐 조회로는 안 갈리던 두 채널을 실행 시각과 완료 시각 분포로 가르고, 조치 대상을 하나로 좁힌 과정이다.

  • 넘버링 규칙과 그것이 깨진 이유

    채널 코드 넘버링이 보이는 규칙과 어긋난 이유를 외부 규격에서 찾고, 규칙을 문서로 남겨 다음 사람이 다시 조사하지 않게 한 기록이다.

  • 정책은 이미 코드에 있다

    기획 판단으로 넘기려던 사안을 코드 검색으로 선례 둘을 찾아 근거를 세우되, 결정은 열린 채로 남긴 과정이다.

  • 계산된 화면 값

    저장 컬럼을 고쳤는데 화면이 안 바뀐 원인을 API 응답에서 갈라내고, 표시값과 정산값이 분리된 구조를 확인한 과정이다.

  • 누가 부담하나와 어떻게 걷나

    처리조건만 보고 이미 고객 부담이라고 안내했다가 지적받고, 귀책이 금전 방향을 정한다는 것을 코드에서 확인한 과정이다.

March 5
  • 읽을 때 맞출지 쓸 때 갈릴지 정했다

    외부 자료의 형태가 여럿인 것을 쓰는 자리마다 가르다가 읽는 자리에서 한 번 맞추는 쪽으로 옮기고, 우리 저장분과 송신분까지 형태를 통일한 과정이다.

  • 인코딩된 식별자의 복원

    매핑 이력이 없는 오류 9건을 인코딩 역함수로 우리 식별자에 직접 대조하고, 되돌린 식별자의 출처가 네 갈래임을 확인한 과정이다.

  • 완료를 되읽는 세 가지

    로그 마커와 프로세스 소멸과 기록 집계로 완료를 3중 검증하고, 비싼 검증은 언제 할지 정해서 미룬 과정이다.

  • 소요 시간이 유일한 신호다

    중복 제거 때문에 성공 응답이 실행과 재사용 둘을 뜻하게 된 상황에서 소요 시간을 판별 신호로 삼고, 반영 방식별로 확인 시점을 나눈 과정이다.

  • 힌트가 된 이미 깔린 목록

    무엇이 없는지를 하나씩 실행해 찾는 대신 두 서버의 명령 목록 차집합으로 한 번에 뽑고, 판 차이까지 확인한 과정이다.

February 6
  • 고치기 전의 실패 로그

    건수 불일치를 조회 축으로 풀고, 고쳤는데 여전히 실패한다는 관측이 수정 이전 타임스탬프의 로그였음을 확인한 과정이다.

  • 양쪽에 똑같이 적용해 대칭으로 맞췄다

    저장과 조회의 정규화가 어긋나 값을 못 찾던 것을 한 함수로 묶고, 들어오는 자리에서 한 번 정규화하는 형태로 옮긴 과정이다.

  • 속성처럼 쓴 메서드

    오류 없이 틀린 값이 나온 원인을 꺼 둔 경고에서 찾고, 켠 뒤 쏟아진 경고를 위험도로 분류해 순서대로 처리한 과정이다.

  • 검사가 실제로 검사하고 있는지 확인하는 법

    오류 없이 0건이 나온 다섯 사례를 모아, 대조군과 개수 출력과 축 확인으로 검사의 유효성을 재는 방법을 정리한다.

  • 왜 껐는지부터 찾는다

    주석 처리된 대체 로직을 되살리기 전에 이력에서 끈 이유를 찾아, 같은 로직을 다른 경로에만 적용하기로 한 과정이다.

  • 자리마다 따로 한 열거

    여러 자리에 흩어진 설정을 한 번에 훑는 대신 자리별로 나눠 열거해, 중복과 관리 주체 없는 자리를 드러낸 과정이다.

January 6
  • 깨진 것이 아닌 410

    깨진 것으로 보이던 410 응답이 실측 메모리에 근거한 의도적 폐기였고, 되살리면 프로세스 전체가 죽는 구조였음을 확인한 과정이다.

  • 항상 null을 돌려주는 매퍼

    빈 매퍼를 원인으로 잡고 멈출 뻔했다가 자동화 자체의 부재를 찾아내고, 561건이라는 규모와 추론의 강도까지 나눠 보고한 과정이다.

  • 되짚을 수 있는 익명

    문서에서 특정 서버의 정체를 지우면서 로컬 검색의 사각지대와 소거법 재구성과 개수 표현의 되돌림을 만난 과정이다.

  • 밖으로 나가는 컬럼

    기록용으로 보이던 컬럼이 실은 양방향 전송 값이었고, 직접 갱신이 화면에서만 맞아 보이는 상태를 만든다는 것을 정리한다.

  • 포크가 답이 아닐 때

    패치 방식을 포크로 바꾸려다 upstream 구조가 갈라진 것을 확인하고 전환을 접되, 조사 결과와 재검토 조건을 남긴 과정이다.

  • 스케줄러가 둘일 때의 필터

    수동으로 넣은 작업이 안 도는 원인을 두 실행 경로의 필터 차이에서 찾되, 그것이 이번 관측을 설명하지 못한다는 것까지 구분해 적은 과정이다.

2023 74
December 6
  • grep과 커버리지의 증거

    보상 로직의 범위를 키워드 검색이 아니라 호출 트리 전이 추적으로 확정하고 근거의 강도를 밝힌 기록이다.

  • 침묵을 고친 뒤의 폭주

    만료 없는 상태 영속화가 침묵 버그를 폭주 버그로 바꾼 사례와 짝으로 도입해야 하는 장치를 정리한 기록이다.

  • 되살아나지 않는 정체 건

    재수집이 코드 경로상 무효임을 먼저 확인하고 복구와 정리를 가른 기록이다.

  • 컨테이너 안 파일에 쓰는 코드

    로컬 테스트는 전부 통과하고 무상태 배포에서만 틀리는 코드 유형과 그 기록 방식을 정리한 기록이다.

  • 계획에 꽂아 둔 깃발

    통합 설계 착수 직전에 미검증 가정만 골라 읽기 전용으로 실측하고 리스크와 스펙으로 갈라 낸 기록이다.

  • 대체 동작이 기본 로그 수준에 안 보였다

    외부 API 실패 시 대체 값으로 넘어가던 동작이 기본 로그 수준에 안 남아 규모를 몰랐던 것을, 수준별로 무엇을 담을지 정해 드러낸 기록이다.

November 7
  • 지름길 대신 사슬

    브라우저로만 확인해 놓친 중간 인증서 누락을 사슬 단위 검증 절차로 바꾼 기록이다.

  • 살아 있는 것과 받아 주는 것

    헬스체크가 재지 못하는 수용성 축을 구분하고 거부 응답을 지표로 뽑자고 제안한 기록이다.

  • 세 번 따로 적힌 같은 함정

    같은 함정이 세 문서에 흩어져 있던 것을 한 곳으로 모으고 근본을 고치기까지의 기록이다.

  • 이미 빠진 것의 이중 차감

    새 필드로 계산식을 넣기 전에 이미 반영된 값인지 대조해 이중 차감을 막은 기록이다.

  • 버그로 보이는 조용한 무시

    세 계층에서 막는 정상 차단이 아무 피드백도 주지 않아 결함으로 읽히던 구조를 정리한 기록이다.

  • 스냅샷과 근본 원인

    실시간 관측으로 단정한 병목을 누적 통계와 대조해 뒤집고 관측과 해석과 판단을 나눠 보고한 기록이다.

  • 없는 것이 정상일 수 있다

    환불 기록이 없다는 관측은 맞고 처리가 안 됐다는 해석이 틀렸던 건을 코드 경로로 확정한 기록이다.

October 6
  • 만들어지지 않은 작업

    재시도가 소용없는 실패가 있다는 것과 상태 값 하나가 두 상황을 뜻하는 문제를 정리한 기록이다.

  • 막힌 게 정책일 수 있다

    장애로 접수된 문의가 의도된 정책이었고 요청 형태를 바꿔 해소한 뒤 근거 등급까지 나눠 남긴 기록이다.

  • 등록 성공이 가린 오설정

    조회를 동반하는 작업에서만 드러나는 오설정을 작업 타입별 집계와 대조군으로 확정한 기록이다.

  • 소스로 역추적한 주석의 뜻

    조건부 안내를 필수 구성으로 읽어 없는 작업을 찾다가 소스로 역추적해 닫은 기록이다.

  • 재초기화 뒤 전수 통과 확인

    고친 건만 확인하고 끝냈다가 놓친 것을 전수 검사와 무중단 교체로 다시 세운 기록이다.

  • 경유와 참조라는 두 질문

    좁은 범위 검색으로 낸 결론을 전수 호출부 조사로 다시 세우면서 원래 물음에 없던 답까지 얻은 기록이다.

September 5
August 7
  • 전수 스캔 대신 헤더

    몇 시간짜리 전수 점검을 헤더 확인으로 대체하고, 표본 구간이 결론을 바꾼다는 것을 확인한 기록이다.

  • 소진된 작업과 재현 불가

    꺼내면 사라지는 큐에서 실패한 작업을 재현할 수 없던 문제를 기록과 예약 방식으로 바꾸고 멱등까지 붙인 기록이다.

  • 재현 못 하는 걸 다시 쓰지 않는다

    본문 정규화 계획을 재직렬화 비동일성 때문에 접고, 원래 목적으로 돌아가 훨씬 좁은 작업으로 바꾼 기록이다.

  • 셸이 바꾼 경로와 실패한 호출

    특정 셸이 경로 인자를 자동 변환하던 문제를 환경별로 확인하고, 스크립트에서 흡수해 재발을 막은 기록이다.

  • 문서와 실제 응답의 어긋남

    새 채널 어댑터를 만들기 전에 문서와 실제 응답이 어긋나는 지점을 목록으로 만들어 설계를 확정한 기록이다.

  • 아무것도 증명하지 않는 통과

    결과 비교 검사기를 넣고 기준선 통과에서 멈추지 않고 음성 시험으로 유효성을 확인한 뒤 순차로 바꾼 기록이다.

  • pending은 오류가 아니다

    실패가 예외가 아니라 대기 상태로 남아 영구 정지한 구조를 성공 건과 대조로 찾아내고 대응을 나눈 기록이다.

July 6
June 6
  • 파일 안의 지문

    폴더명으로 구조를 판정했다가 두 번 반려된 뒤, 파일 안의 환경 지문으로 대상을 식별한 기록이다.

  • 도는 디렉터리와 고치는 디렉터리

    멈춘 수집을 찾아가면서 실행 경로를 확인하지 않으면 고쳐도 반영되지 않는 구조를 정리한 기록이다.

  • 단방향이 설계다

    역전파를 넣어 달라는 요청을 받고 없는 기능이 의도인지 빠뜨림인지를 가른 뒤, 대안과 상신 경로까지 낸 기록이다.

  • 조건에 안 걸린 것의 통과

    미들웨어의 마지막 분기가 사양이 아니라 빠뜨림이었던 사례와, 매핑과 응답 복원까지 정리한 기록이다.

  • 안 나온다와 없다는 다르다

    저장소가 둘로 갈린 환경에서 한쪽의 0건을 없다로 답하지 않고, 확인 범위를 명시해 회신한 기록이다.

  • 쓰는 길과 읽는 길이 다르다

    보낸 상태가 조회에 안 나타나던 건에서 쓰기와 읽기의 경로를 그리고, 필드의 출처를 끝까지 따라간 기록이다.

May 7
April 6
March 6
  • 중복되는 말단 코드

    계층 코드의 말단이 트리 전체에서 중복되는 것을 확인하고, 전체 경로로 대조해 신규만 뽑은 기록이다.

  • 아무도 강제하지 않으면 안 깨진다

    변환 생성 조건을 바꾸기 전에 의존 관계를 세고, 변경의 자유도와 반대 방향의 부담을 함께 확인한 기록이다.

  • 모양이 달라도 오는 200

    요청이 성공했는데 화면이 비던 원인을 응답 모양에서 찾고, 타입 선언과 실제 응답을 라우트 단위로 대조한 기록이다.

  • 알아서 퍼지지 않는 변경

    대량 변경 뒤 자동 전파를 전제했다가 커버리지를 재고, 배치의 실제 대상과 발화 조건을 확인한 기록이다.

  • 비교할 수 없는 것을 비교하면

    조회 스펙과 등록 스펙의 필드를 대조하려다 리소스가 다른 것을 확인하고, 비교 범위를 좁혀 확정한 기록이다.

  • 하나씩 빼서 가른 원인

    여러 계층을 거치는 느린 응답에서 바깥부터 하나씩 빼며 구간을 좁히고, 재현 조건을 먼저 고정한 기록이다.

February 6
January 6
  • 복제가 데려가야 하는 것들

    상품 복제에서 무엇까지 복제할지를 정하고, 그대로 두면 안 되는 값과 분류 강제까지 다룬 기록이다.

  • 한 겹 대신 여러 겹

    화면 한 겹으로 막던 권한을 층마다 다르게 나누고, 두께와 조회 비용을 분리해 다룬 기록이다.

  • 고치다 떨어뜨린 검증분

    반복 실패의 원인이 대상이 아니라 재작성 과정에 있었던 경위와, 그 뒤에 표준으로 삼은 대조 절차다.

  • 게이트가 둘일 때의 절반 통과

    내부 상태와 외부 전송을 각각 통제하는 두 플래그를 확인하고, 진단에서 배제한 것까지 남긴 기록이다.

  • 검색으로 안 잡히는 잠금

    갱신 코드가 없는데 발생하던 잠금 경합의 원인을 제약조건에서 찾고, 진단 순서와 결함의 층을 정리한 기록이다.

  • 무엇을 허용해야 하나

    허용 목록의 대상을 프록시에서 목적지로 바꾸고, 실제로 막는 계층이 어디인지까지 확인한 기록이다.

2022 70
December 6
November 6
  • 조건을 더해도 인덱스를 못 타는 형태

    인덱스가 있는데도 전체를 읽는 조건의 형태를 다섯 갈래로 나누고, 각각의 대응과 확인 순서를 정리한 과정이다.

  • 무한 반복이 된 자동 재시작

    두 계층이 함께 살리던 컨테이너의 무한 재시작을 정리하면서, 죽는 원인과 상한과 종료 코드까지 함께 다룬 과정이다.

  • 목록에 섞여 있던 내부 API

    무한 스크롤 때문에 브라우저가 필수라고 보던 설계를 요청 관찰로 뒤집고, 직렬화 제약을 없앤 과정이다.

  • 이미지 하나에 서빙 경로 셋

    본문에 박히는 이미지 주소가 프록시 경유임을 확인하고, 등록 시점에 고정되는 주소가 만드는 영구 의존과 그 대안을 정리한 과정이다.

  • 깨끗한 것과 최신인 것

    인계 문서의 워킹 트리 깨끗이라는 관측을 최신으로 읽었다가 낡은 클론임을 확인하고, 승인된 조치를 다시 정한 과정이다.

  • 이력이 없는 정상 흐름

    환불 이력이 없는 것을 누락이 아니라 미기록으로 설명하고, 이력을 만드는 근본 대응 전에 정산 영향을 먼저 확인한 과정이다.

October 6
  • 강제한 인덱스가 만든 지연

    옵티마이저가 인덱스를 안 쓰는 이유를 매칭 건수로 확인하고, 강제 대신 복합 인덱스로 푼 뒤 강제를 마지막 수단으로 둔 과정이다.

  • 설정 옆에 근거를 적는다

    기본값에서 바꾼 열 개 설정에 값과 근거를 함께 적고, 태그로 커스텀 항목을 구분해 전수 확인이 되게 만든 과정이다.

  • 같은 성공 경로의 다른 응답

    결과가 없을 때만 다른 형태를 돌려주던 코드를 고치고, 반환 타입과 결과 객체로 호출부의 확인을 강제한 과정이다.

  • 값을 비워도 남는 것

    값을 비우면 해결된다는 제안을 105건을 여러 축으로 쪼개 무너뜨리고, 문제가 우리 쪽이 아니라 외부와의 불일치임을 확정한 과정이다.

  • 등식을 만드는 중복 제거 위치

    백테스트가 다른 신호를 잴 위험을 중복 제거 위치 확인으로 닫고, 그 등식을 깨뜨릴 리팩터링을 주석으로 막은 과정이다.

  • 할인 셋, 저장소 셋

    할인 세 종류를 가르고 담당자 소속으로 판별하되 판별이 막히는 건은 분포로 우회해, 정상 설정을 지우지 않은 과정이다.

September 6
  • 음수 재고가 실재한다

    재고가 0인지 비교하던 조건을 그대로 옮기려다 음수 재고의 실재를 세어 확인하고, 합계가 실체를 왜곡하는 구조까지 정리한 과정이다.

  • 기록을 정정한 실측

    기존 문서의 분류 개수와 식별자에 대한 비판이 실측과 달랐던 것을 확인하고, 비로그인 검증으로 계정 위험 없이 구조를 확정한 과정이다.

  • 옮길 것이 없는 이관

    매핑을 컬럼에서 못 찾아 스키마에서 테이블을 검색해 찾고, 73건 중 66건이 옮길 대상 자체가 없다는 것을 확인한 과정이다.

  • 조회 경로를 정하는 컬럼

    월별 조회 엔드포인트를 설계하면서 컬럼 위치와 인덱스가 조회 경로를 정하고 용도에 따라 기준 축이 갈린다는 것을 확인한 과정이다.

  • 청크마다 반복되는 즉시 로딩

    메모리를 줄이려 나눈 청크가 쿼리를 다섯 배로 늘린 것을 확인하고, 프레임워크 소스로 호출 순서까지 확정한 과정이다.

  • 옮기기 직전 상태의 기록

    이관 후 느려졌다는 말에 비교할 값이 없던 경험 뒤로, 옮기기 전 다섯 항목을 재고 그 기록이 되돌릴 때도 쓰인 과정이다.

August 6
  • 대상마다 다른 저장 자리와 형식

    채널마다 다른 것이 열네 곳에 흩어져 있던 것을 한 줄짜리 규격 표로 모으고, 종료된 채널까지 다루는 방법을 정리한 과정이다.

  • 채널 이름 하나, 시스템 둘

    확인 없이 답했다가 재조사해 한 채널 이름 아래 클라이언트가 둘임을 찾고, 어느 쪽이 사는지는 로그로 확정한 과정이다.

  • 뼈대 비교로 공통 뽑기

    비슷한 산출물이 여럿이면 뼈대를 비교해 공통을 뽑는다.

  • 이름으로 리소스를 판단하지 않는다

    자동 감사가 뽑은 정리 후보 셋이 전부 반대였던 것을 정정받고, 감사 결과를 확인 필요 후보로 내는 형태로 바꾼 과정이다.

  • 검색 결과와 DB가 다를 때

    검색 전용 색인을 따로 두면서 생긴 어긋남의 순간들을 유형별로 다루고, 밀림 감지와 무중단 재색인까지 정리한 과정이다.

  • 실제로 읽히던 두 컬럼

    연관 다섯 테이블을 같이 고칠 뻔했다가 전송 코드가 읽는 컬럼만 확인하고, 게이트로 오해할 뻔한 플래그까지 확인한 과정이다.

July 5
  • 같은 증상의 네 가지 모양

    취소 대기 292건을 채널과 주문별로 분해해 원인이 셋으로 갈린 것을 확인하고, 대응을 각각 다르게 잡은 과정이다.

  • 안정성을 정하는 드라이버 계층

    설정 화면만 보고 다 봤다고 한 뒤 드라이버 계층을 빠뜨렸다는 지적을 받고, 워크로드에 따라 권고가 반대인 항목까지 정리한 과정이다.

  • 중복을 만드는 철회 후 재요청

    주문 중복이라는 문의를 클레임 전이 이력에서 풀고, 코드 미확인 부분을 미검증으로 표시한 과정이다.

  • 커밋과 배포 사이

    커밋 존재만으로 배포를 판단하지 않고 코드와 이미지 빌드 시각과 외부 실적 세 축을 교차해, 과제 자체를 다시 가른 과정이다.

  • 인증처럼 보이는 범위 불일치

    등록만 성공하고 수정과 중지만 실패하는 패턴을 조회 범위 불일치로 확정하고, 잠재 대상 1,300여 건까지 센 과정이다.

June 6
  • 우리 밖에서 끝난 결제

    브라우저 복귀에만 의존하던 결제 완료 처리를 서버 통보와 사후 조회까지 세 겹으로 만들고, 대조와 실패 기록까지 붙인 과정이다.

  • unstable에서 패키지 하나만 가져온다

    벤더 저장소에 맞는 계열이 없어 불안정 계열을 쓰되 출처 한정 핀으로 번짐을 막고, 그 판단의 근거를 실측으로 붙인 과정이다.

  • 컬럼 값과 정책의 대응표

    숫자만 있는 컬럼에 딸린 정책을 표로 적으며 코드와의 불일치를 찾고, 정책에 적용 시점을 넣어 과거 재계산까지 맞춘 과정이다.

  • 외부 서비스 키의 소유 프로젝트

    용도를 모르는 외부 서비스 키 다섯을 앞자리 대조와 사용 기록으로 가려내고, 지우기 전에 막아 보다 숨은 실패를 발견한 과정이다.

  • 드롭다운에서 조용히 사라지는 항목

    가장 유력한 가설을 컨트롤러와 동일한 쿼리로 배제하고, 원인을 못 찾은 조사도 종결 리포트로 남긴 과정이다.

  • 원인을 확정한 시각 뭉침

    사전 스냅숏 없이 갱신 시각 분포만으로 전송 기인성을 확정하고, 무사고 실적을 안전 근거로 삼지 않기로 한 과정이다.

May 7
  • 상태 변경 하나가 만든 수만 건

    건별로 맞는 관찰자 동작이 대량 처리에서 건수만큼 반복돼 필요 없는 작업 12만 건을 만든 것을 고친 과정이다.

  • 원인이 아니었던 회귀

    메모리 초과의 범인으로 지목한 변경이 전체의 8퍼센트뿐임을 실측으로 확인하고, 겨냥할 대상을 비중으로 다시 정한 과정이다.

  • 둘을 빠뜨린 하드코딩 목록

    한 건 문의에서 시작해 저장소에 없는 일회성 배치의 하드코딩 목록 누락을 찾고, 전사 5천여 건 규모를 확인한 과정이다.

  • 저장된 값은 다음 배포용이다

    설정 어긋남 검사기가 지금 상태가 아니라 다음 배포 후 상태를 보고 있다는 지적을 받고, 검사가 못 잡는 범위까지 명시한 과정이다.

  • 값은 같고 중복은 아닌 것

    값이 전부 같아 중복으로 보이던 취소 두 건이 서로 다른 라인의 것이었음을 피벗 매핑으로 확인하고, 앞선 판단까지 정정한 과정이다.

  • 다시 돌지 않은 초기화 스크립트

    값을 바꿔 재실행을 유도하는 흔한 기법이 통하지 않은 이유를 갱신 방식에서 찾고, 이전 관찰의 한계까지 함께 적은 과정이다.

  • 이상이 아니었던 0행

    백업 스냅숏에서 나온 예상 밖의 두 값을 각각 확인해 정상임을 밝히고, 그 판단을 반복 배치의 기록으로 남긴 과정이다.

April 5
March 6
  • 맞는 것을 확인하는 헬스체크

    후속으로 미뤄 둔 검증이 실은 선행 조건이었다는 지적을 받고, 하나의 엔드포인트로 게이트와 동작 검증과 로그 노이즈를 함께 해결한 과정이다.

  • 헬스체크가 닿지 않는 프록시 포트

    대상 유형 선택이 클라이언트 IP 보존을 가르고 포워드 프록시에는 일반 헬스체크를 못 보낸다는 것을 확인해, 설계 결정을 줄줄이 정한 과정이다.

  • 장애 전환 지연 공식

    네 설정값을 하나의 공식으로 묶어 최악 전환 지연을 계산하고, 대칭 설정과 기본 계정 삭제까지 함께 정리한 과정이다.

  • 직접 접속이 아니었던 구성

    연결 거부를 네트워크 문제로 보고 뒤지다 대상이 호스트 포트를 게시하지 않는다는 것을 확인하고, 인프라의 일관된 패턴을 따른 과정이다.

  • 반증된 가설과 막힌 검증 경로

    결정적 표본으로 가설을 반증하고 새 가설의 검증 경로마저 막힌 상태를 그대로 기록해, 다음 사람의 할 일을 정한 과정이다.

  • 상한을 산술로 계산한다

    발동한 적 없는 안전망을 표본과 산술 상한 양쪽으로 확정해 제거하고, 표본 편향을 중간에 잡아낸 과정이다.

February 5
  • 백로그를 만든 스킵 규칙

    애매하면 스킵한다는 안전해 보이는 규칙이 정상 건을 영구 미처리로 만든 것을 과거 성공 사례 조회로 확인한 과정이다.

  • 부분 일치가 인덱스를 못 탔다

    상품명 부분 일치 검색이 인덱스를 못 타 느리던 것을, 복합 인덱스 조정과 OpenSearch 이관을 비용까지 놓고 견줘 정한 기록이다.

  • 채널 라벨과 우리 모델의 거리

    가능하다고 답한 정합 전환이 상태 모델의 전제 때문에 불가능함을 확인하고 정정 회신하면서, 라벨 불일치의 처리 방법을 정리한다.

  • 비활성화된 버튼을 우회하지 않는다

    화면에 없는 기능을 API로 직접 부르려다 이력에서 의도적 비활성화를 확인하고, 그 이유를 백엔드 코드로 검증한 과정이다.

  • SSE 프록시와 WebSocket 프록시의 차이

    주기적으로 끊기던 스트리밍 연결의 원인을 다른 프로토콜용 설정 복사에서 찾고, 계층별 타임아웃까지 정리한 과정이다.

January 6
  • 영역마다 다른 이관 진행

    몇 달째 진행 중이던 이관을 영역별 표로 갈라 담당 공백과 임시 연결과 막힌 영역까지 드러낸 과정이다.

  • 돌고 있던 폴백

    두 테이블을 다 고치려던 것을 응답 계산부를 읽어 하나로 줄이고, 원본을 안 건드리는 것이 안전이라는 점까지 정리한다.

  • 코드 체계 교체에 필요한 대응표

    단계 수부터 다른 새 분류 체계로 옮기면서 관계 종류를 담은 대응표를 만들고, 전환 뒤에도 그것이 자산으로 남은 과정이다.

  • 교집합에 하나뿐인 버전

    손으로 쌓인 패치 스택의 이유를 의존 요구 범위의 교집합에서 찾고, 실제 설치로 확정한 뒤 패치를 전부 없앤 과정이다.

  • 값과 판정을 같이 고친다

    이름 정정 로직을 넣었는데 복구가 안 된 원인을 앞단 판정에서 찾고, 아무것도 없는 대상으로 통과한 사전 실행까지 짚은 과정이다.

  • 안 보이는 주문 유형

    주문 조회 API가 특정 유형을 아예 반환하지 않는다는 것을 문답에서 찾고, 연동 구조에 미치는 영향까지 정리한 과정이다.

2021 70
December 6
  • 저장할 것과 조회할 것

    작업 레코드에 값을 담을지 참조만 담을지를 도메인 기준으로 정하고, 참조가 여는 문제까지 다룬 기록이다.

  • 토큰이 만료되고 아무도 안 알려 준다

    코드가 처리하는 만료와 사람이 처리해야 하는 만료를 갈라 표로 만들고, 달력과 알림으로 나눠 대응한 기록이다.

  • 큐를 공유하는 컨슈머

    성격이 다른 작업이 한 큐를 공유해 서로를 막던 구조를 소요 시간 기준으로 나누고 그 대가까지 정리했다.

  • 조용히 무시되는 설정 키

    이름이 비슷한 설정 키 셋 중 조용히 무시되는 것을 쓴 사례에서, 경고 없음이 근거가 안 되는 이유를 정리했다.

  • 넘기기 전 확인 목록

    만든 것을 넘기면서 확인한 것과 못 한 것을 나눠 적고, 결정의 이유와 함께 돌려 보는 절차까지 붙인 기록이다.

  • 두 번 도착한 메시지

    처리를 큐로 미루면서 새로 생긴 중복 배달과 순서와 지연 문제를 각각 어떻게 다뤘는지 정리했다.

November 6
  • 한 곳뿐이던 메시지 중계

    중계 한 대의 재시작으로 붙은 서비스가 전부 멈춘 뒤, 견디는 쪽과 복제 범위와 재시작 절차를 정리했다.

  • 다음 사람에게 남기는 것

    계약이 끝나 넘길 시스템의 인계 문서를 쓰면서 무엇을 어디에 적을지와 다 못 채운다는 전제로 순서를 정한 기록이다.

  • 다루지 않은 토큰 만료 시점

    토큰 인증으로 바꾼 뒤 만료 시점에 전부 실패한 원인을 정리하고, 선제 갱신과 실패 분류까지 다룬 기록이다.

  • 양쪽을 다 읽는 이관

    기능을 다른 시스템으로 옮기면서 양쪽 방식 차이를 표로 잡고, 옛 결과와 대조해 무엇을 지킬지 정한 기록이다.

  • 아무도 안 보는 보고서

    몇 해째 나가던 일일 요약이 읽히는지 확인하고, 알림과 보고서를 갈라 빈도와 내용을 다시 잡은 기록이다.

  • 플래그로 시작해 테이블이 됐어야 했다

    예외 하나에 컬럼을 만들었다가 조합에 무너진 구조를 테이블로 옮기면서, 전환 시점의 기준을 정한 기록이다.

October 5
September 6
  • 계획을 깬 정상 메서드

    데이터를 먼저 바꾸고 전송을 나중에 하려던 계획이 서비스 계층의 부수효과로 깨진 이유와 대응이다.

  • 메모리를 쓰는 자리

    메모리를 많이 쓰는 배치에서 추측한 원인의 기여를 분리해 재고, 계측 도구의 범위와 지표의 뜻까지 정리했다.

  • 죽여도 다시 뜬다

    스케줄러가 띄우는 배치를 멈추려다 실제 정지 조건과 복구 순서를 다시 잡고, 검색 자체의 오염까지 걸러낸 기록이다.

  • 옵티마이저가 안 쓰는 인덱스

    컬럼이 인덱스에 들어 있는데도 안 타던 이유를 선두 컬럼에서 찾고, 조회 빈도로 대응을 고른 기록이다.

  • 배치가 정상 경로와 같은 상태를 만들어야 한다

    서비스 계층을 우회하는 정리 배치를 짜기 전에 정상 경로가 남기는 것을 세고, 계층별 차이까지 맞춘 기록이다.

  • 여러 장비에서 유지한 같은 구조

    장비마다 다른 경로와 환경 차이를 한 구조로 맞추고, 어긋남을 확인하는 습관과 장비별 역할까지 정리했다.

August 6
July 6
  • 저장소가 아니었던 도메인

    이미지 주소의 도메인을 저장소로 착각해 헤맨 조사에서 확인 순서를 세우고, 두 실패 유형을 갈라낸 기록이다.

  • 소유를 가르는 값

    이름 규칙으로 소유를 가르던 구조가 깨진 사례와, 소유를 값으로 옮기면서 중간 성격까지 다룬 기록이다.

  • 200이 성공을 뜻하지 않는다

    오류를 본문에 담아 보내는 외부 인터페이스에 맞춰 검사를 두 층으로 나누고, 한도와 문자까지 확인한 기록이다.

  • 같은 거부의 두 원인

    같은 오류 메시지 아래 원인이 둘이었던 사례에서 부류별로 나눠 세고 부분 해결을 그대로 보고한 기록이다.

  • 상한치는 수요가 아니다

    이전 순서를 정할 근거로 속도 제한 설정을 쓰려다 그 값이 무엇을 재는지 확인하고 한계까지 함께 남긴 기록이다.

  • 다시 만들면 멀쩡하던 것도 달라진다

    전 기간 재생성 결과를 백업과 비교하려다 바이트 비교를 버리고, 구조와 변동폭 두 축으로 판정을 세운 기록이다.

June 6
  • 처리 단계의 모듈 구성

    한 명령에 뭉쳐 있던 영상 처리를 단계로 갈라 어디서 어긋나는지 좁히고, 입력 다양성까지 확인한 기록이다.

  • 자동으로 채워지지 않는 데이터

    수집 명령을 돌려도 안 늘어나는 값의 출처를 추적해 자동화 경로가 없다는 사실 자체를 설계에 못 박은 기록이다.

  • 로그의 경로를 바꾸면 없던 일이 생긴다

    경로 일괄 치환의 대상이 코드와 설정뿐인 이유와, 되돌릴 수 없는 치환을 가려내는 순서를 정리했다.

  • 로그인과 인증 사이

    화면의 로그인과 인터페이스 인증이 분리돼 있던 구조를 확인하고, 계획서의 부정확한 표현을 바로잡은 기록이다.

  • 브로커를 완충재로 쓸 때

    완충 목적의 큐에서 길이 절대값 알림이 계속 울린 이유와, 관계와 대기 시간으로 지표를 바꾼 과정이다.

  • 세션보다 오래 사는 토큰

    무상태 인증에서 로그아웃이 성립하지 않는 이유와, 갱신 토큰 분리와 회전으로 그 간극을 다룬 기록이다.

May 6
April 6
March 6
  • 검증과 매핑이 다른 필드를 본다

    조회 응답을 등록 입력으로 쓸 수 없던 이유와, 코드 추론보다 실제 성공 요청이 권위 있는 답인 근거다.

  • 두 곳에 살아 있던 매핑

    같은 매핑이 코드와 데이터베이스에 각각 있어 서로 다른 항목을 누락하던 구조와, 그 어긋남을 다루는 방법이다.

  • 문서에 없고 동작에만 있는 규칙

    외부 반품 연동에서 문서에 없는 규칙을 관측으로 모으고, 그 목록을 다른 사람에게 대조받은 과정이다.

  • 부르지 말고 로그로 확인한다

    검증용 호출이 비싼 경로를 이미 흐르는 트래픽의 로그로 확인하고, 판정 기준을 먼저 정한 기록이다.

  • 이미 있던 길

    불가능하다고 답하려던 문의가 데이터 분포를 보고 뒤집힌 과정과, 그 뒤에 남은 활성 여부 확인을 정리했다.

  • 억지 대분류와 번호 접두의 배제

    미리 만든 대분류가 안 맞아 기타로 몰린 문서 구조를 실제 갈래로 다시 잡고, 번호와 깊이를 정리한 기록이다.

February 5
January 6
2020 72
December 6
November 6
  • 한 레이어만 보면 답이 안 나온다

    내부 상태와 연동 기록이 어긋난 건을 두 레이어로 나눠 보고, 회신 직전 재조회와 근본 대응까지 정리했다.

  • 그 NULL이 정말 이상한가

    비어 있는 값이 원인처럼 보이던 건에서 정상 건을 대조군으로 세우고, 조치 전 확인 항목을 정한 기록이다.

  • 변환은 즉시 끝나지 않는다

    요청 안에서 미디어를 변환하던 구조를 큐로 분리하며 중간 상태와 실패 분류와 원본 보관을 어디까지 둘지 정한 기록이다.

  • 스토어 심사가 실제로 보는 것

    앱 반려 사유가 기능이 아니라 설명과 확인 가능성이었던 경험에서 배포 경로와 일정까지 다시 잡은 기록이다.

  • 늦게 대답하는 장치

    무선 장치의 응답이 순서와 시간을 보장하지 않는다는 전제로 요청 번호와 타임아웃과 재시도 안전성을 다시 잡은 기록이다.

  • 요약 한 줄과 상세 자료

    배치 알림의 내용을 받는 사람의 판단 기준에 맞춰 다시 잡고, 긴급도와 중복 억제까지 정리한 기록이다.

October 6
September 6
August 6
  • 있었는데 안 찾아본 것

    미구현이라는 전제로 착수했다가 이미 도는 배치를 찾고, 없다와 안 된다를 갈라 범위를 다시 잡은 기록이다.

  • 한 작업으로 묶는 기준

    서버 다섯 대를 한 작업으로 묶었다가 하나에 막혀 전체가 밀린 뒤, 묶고 나누는 기준을 정한 기록이다.

  • 한도에 닿기 전에 정리하는 순서

    지표 한도가 차서 새 지표가 안 들어가던 상황을 정리하고, 한도 목록과 사전 경고까지 만든 기록이다.

  • 프리셋 분해로 얻은 속도

    튜닝할 것이 없다고 단정했던 인코딩 설정의 프리셋을 개별 옵션으로 분해해 재고, 그 단정을 정정한 기록이다.

  • 인덱스로 좁히고 나서 훑는다

    시간 제한에 걸리던 로그 검색을 조건 순서로 풀고, 0을 확증하는 방법과 세대 교체 구조까지 확인한 기록이다.

  • 막힌 것이 아니라 시작 안 한 것

    구현이 없는 이유를 조사 부족으로 보고 조사 계획을 세우려다, 미착수임을 확인하고 스코프를 다시 잡은 기록이다.

July 6
  • 메뉴와 코드의 차이

    관리 콘솔 커버리지 점검에서 구현 수와 등재 수를 세고, 확인한 것과 세기만 한 것을 나눠 적은 기록이다.

  • 요청 생성 이후의 남은 일

    접수만 되고 처리가 멈춰 있던 구조에서 대기 감시와 워커 생존 감시를 나눠 붙인 기록이다.

  • 전부를 막던 상태 코드 하나

    네 채널의 이슈를 한 쿼리로 묶어 두 그룹으로 가르고, 캡처와 실제 상태의 시점 차이까지 확인한 기록이다.

  • 로그를 모으는 데 드는 비용

    로그 수집을 붙인 뒤 서버가 느려진 원인을 파싱 위치에서 찾고, 보낼 것과 보관 기간과 장애 대응까지 정리했다.

  • 큐에 넣는 쪽의 부재

    잡 코드가 전부 올바른데 아무것도 안 돌던 이유를 호출부 개수에서 찾고, 도달 가능성을 확인 순서로 만든 기록이다.

  • 프로필을 나누자 로그인까지 갈렸다

    브라우저 프로필을 나누자 로그인 세션까지 갈린 원인을 저장 위치에서 찾고, 계정 격리를 어디까지 할지 대가를 놓고 정한 기록이다.

June 5
  • 마이그레이션이 두고 간 이력

    이관에서 빠진 이력이 계속되는 수작업을 만든 구조를 확인하고, 증상 대응과 근본 해결을 함께 남긴 기록이다.

  • 뒤 클레임을 막은 앞 상태

    로그가 비어 있는 실패를 상태 데이터로 추론하고, 수집과 생성을 갈라 절차를 세우면서 추정 표기까지 남긴 기록이다.

  • 화면의 삭제가 부르는 것

    화면의 삭제 버튼이 다른 계층의 조건부 호출이었던 사례에서, 조용한 실패와 실행 판단의 근거를 정리했다.

  • 의도된 차이와 동기화 대상

    두 장비의 설치 목록 차이를 맞추려다 용도를 확인하고, 유지할 차이와 동기화 대상으로 나눈 기록이다.

  • 새 연동 뒤에도 남은 옛것

    정책을 새로 연동하면 끝날 줄 알았던 작업에서 버전 분기를 확인하고, 남은 두 단계를 절차로 만든 기록이다.

May 6
April 6
March 5
  • 같은 내용을 다시 보낸 뒤의 변화

    필드의 존재만으로 상태가 바뀌는 인터페이스를 만나 요청 빌더의 기본값을 뒤집고, 필드별 표를 만든 기록이다.

  • 가설을 전부 배제한 뒤의 확정

    승인은 됐는데 전송 작업이 안 생기던 건에서 네 가설을 배제하고 다른 축을 찾아 정상 방어로 판정한 기록이다.

  • 조회 한 번으로 안전한지 정해진다

    정산 편입 여부를 판정하는 경로를 규명해 세 테이블 탐색을 한 줄로 줄이고, 확정과 추정을 나눠 남긴 기록이다.

  • 한 번 고침에 남은 이력 셋

    일괄 보정에서 남길 이력을 정상 경로 건과 대조해 개수와 내용을 맞추고, 이름이 거짓말하는 컬럼까지 확인한 기록이다.

  • 화면에만 남은 미처리

    연동 장애로 읽히던 문의를 상위 상태 확인으로 표시 문제로 판정하고, 조사 방향과 답변을 함께 바꾼 기록이다.

February 6
January 8
  • 아무것도 가르지 못한 컬럼

    이름이 동작을 암시하던 타입 컬럼을 전수로 확인해 라벨임을 확정하고, 실제 동작을 정하는 자리를 함께 남긴 기록이다.

  • 옮기면서 다시 짠 분류

    파일 이관에서 옛 구조를 그대로 가져오지 않고 분류를 다시 짜면서, 대조와 대응표와 유예 기간까지 정리했다.

  • 외주 산출물의 목적과 구성

    외주 결과물에서 왜 그렇게 만들었는지가 빠져 있던 경험을 절차로 바꾸고, 계정과 인수 회의까지 포함시킨 기록이다.

  • 중간에서 멈추는 DDL 스크립트

    재실행 가능한 스크립트와 한 번만 되는 스크립트의 차이를 정리하고, 이름과 경고와 제약 시점까지 다룬 기록이다.

  • 규제가 컬럼이 될 때

    해외 판매 스키마에서 법적 요건이 컬럼과 별도 테이블로 갈리는 기준과, 성격과 정책을 나눈 설계를 읽은 기록이다.

  • 보관물에 남겨야 하는 것

    설명 없이 보관된 프로젝트를 읽느라 이틀을 쓴 뒤, 보관 절차에 무엇을 함께 남길지 정한 기록이다.

  • 파일 사이 참조 관계

    검색으로 안 잡히는 참조를 실행 기록으로 모으고, 안 읽힘과 안 쓰임을 갈라 정리한 과정이다.

  • 매뉴얼 앞에 공통 동작을 규정하면

    매뉴얼 앞에 공통 동작을 한 번 규정한 구성이 반복과 불일치를 없애는 이유와, 캡처와 규정의 수명 차이를 정리했다.

2019 92
December 8
November 7
October 8
September 8
August 8
July 7
June 7
May 8
April 7
March 8
  • 승인이 거른 열두 건

    승인을 눌렀는데 작업이 안 나간 것이 오류가 아니라 필터에 걸러진 결과였음을 확인한 기록이다.

  • 작업 완료와 대상 상태의 분리

    멈춘 작업을 완료 처리하려다 그것이 대상 상태를 바꾸지 않는다는 것을 미리 확인한 기록이다.

  • 급할 때의 경로

    서버에서 직접 고친 수정이 다음 배포에서 사라진 뒤 급할 때용 경로를 따로 만든 기록이다.

  • 멈춘 상태값과 재수집의 부재

    품절 처리가 반영 안 됐다는 문의에서 멈춘 것이 물건이 아니라 상태 컬럼이었음을 확인한 기록이다.

  • 화면이 만든 것과의 대조

    계정 생성을 스크립트로 처리하기 전에 화면이 만든 레코드 한 건과 대조해 여섯 개 필드를 바로잡은 기록이다.

  • DB 수정이 닿지 않는 경계

    정책 값을 DB에서 일괄 수정하면 끝일 줄 알았으나 외부에 이미 등록된 건에는 닿지 않았던 기록이다.

  • 실행 위치를 전제한 스크립트

    정리 스크립트를 다른 자리에서 돌려 엉뚱한 파일이 지워진 뒤 전제를 없애고 안전장치를 넣은 기록이다.

  • 다른 컬럼에 있던 금액

    조회한 금액이 0이라 누락으로 볼 뻔했으나 값이 다른 컬럼에 있었던 것을 확인한 기록이다.

February 8
January 8
2018 90
December 7
November 7
October 8
September 7
August 8
July 8
June 7
May 8
April 8
March 7
February 7
January 8
2017 92
December 7
November 8
October 8
September 8
August 8
July 7
June 8
May 7
April 8
March 7
  • 흐름표가 말하지 않은 것

    매칭 서비스 흐름표를 다 읽고 나서 거기 없는 다섯 가지를 목록으로 대조해 찾아낸 기록이다.

  • 내 쪽에서는 보이는데

    한쪽에서는 보이고 다른 쪽에서는 안 보이는 상황을 가르려고 확인 정보를 화면에 넣고 배포를 고친 기록이다.

  • 매칭의 결말이 셋이었다

    매칭 흐름표의 분기가 셋으로 갈리는 이유와 중간 해지·선결제·빈 번호가 남긴 물음을 읽은 기록이다.

  • 같은 조회를 매번 손으로 짰다

    일주일에 몇 번씩 오는 같은 확인 요청을 매번 손으로 짜다가 스크립트와 공통 조회로 옮긴 기록이다.

  • 매칭 서비스의 양쪽

    매칭 서비스의 흐름표가 두 벌인 이유와 한쪽에만 있는 화면 셋이 무엇을 말하는지 읽은 기록이다.

  • 가끔 나는 것을 잡는 방법

    재현이 안 되는 시간 초과를 발생 순간의 정보를 모아 분포로 좁히고 원인 둘을 갈라낸 기록이다.

  • 번호 체계가 비대칭을 드러냈다

    화면 흐름표의 번호 체계 자체가 설계와 그 안의 비대칭을 담고 있던 기록이다.

February 8
January 8
2016 98
December 7
November 8
October 8
September 7
August 8
July 9
June 9
May 8
April 9
March 8
February 9
January 8
2015 41
November 1
September 1
July 1
May 8
April 8
March 7
February 7
January 8
2014 91
December 8
November 7
October 8
September 7
August 8
July 7
June 9
May 8
April 7
March 7
February 7
January 8
2013 11
December 8
September 1
July 1
April 1
2012 63
December 1
September 1
August 8
July 7
June 8
May 8
April 7
March 8
February 8
January 7
2011 38
December 8
November 8
October 7
September 8
August 7