Tag: Concurrency
All the articles with the tag "Concurrency".
-
확신을 실측 앞에 세워봤다 4편 — 끊어진 링크는 잡아주는데, 안 끊어진 채 엉뚱한 곳을 가리키는 링크는 못 잡았다
Obsidian 플러그인 `/ingest`가 같은 배치 안에서 파일명이 충돌해 리네임되는 경우와, 다른 노트가 원래 이름으로 링크를 거는 경우가 겹치면 어떻게 되는지 오래 미뤄뒀던 이슈였다. 코드를 읽고 '이미 잡아준다'고 확신했는데, 실제로 테스트를 돌려보니 걱정했던 것보다 훨씬 조용한 버그가 있었다.
-
설계까지 다 거치고도, 실행해봐야 보였다 6편 — 자정을 넘긴 순간에만 걸리는 레이스였다
새 주 폴더에 막 만들어진 노트인데, 본문 링크는 지난주 폴더를 가리키고 있었다. 이슈에 적힌 원인 추정은 코드를 열어보니 틀렸고, 진짜 원인은 '지금이 몇 시인지'를 서로 다른 두 순간에 따로 계산하고 있었다는 것이었다. 고치면서 남겨둔 '다른 명령도 같은 문제가 있을까'라는 질문은, 며칠 뒤 다시 열어서 마저 확인하고 고쳤다.
-
설계까지 다 거치고도, 실행해봐야 보였다 5편 — 되돌리기 버튼 하나에, 버그가 세 겹으로 숨어 있었다
이미 실행된 태그 병합을 되돌리는 버튼을 만들었다. 내가 직접 브리프에 적어준 구현 방법에 버그가 있다는 걸 태스크 리뷰가 잡았고, 그 여파로 계획 문서가 낡아버린 걸 다음 단계를 준비하다가 스스로 알아챘다. 그리고 두 태스크가 전부 리뷰를 통과한 뒤에도, 전체를 다시 훑는 마지막 리뷰가 버그 두 개를 더 찾아냈다.
-
설계까지 다 거치고도, 실행해봐야 보였다 3편 — 레이스를 막을 방법이 아니라, 없앨 이유를 찾았다
청크를 병렬로 요청하는 설계까지만 해두고 미뤄뒀던 구현을 다시 열었다. 그런데 설계 문서와 계획서를 다 거치고도, 진짜 버그는 실행이 되어서야 보였다.