지원 결과를 갱신했을 뿐인데 이전에 도달한 단계가 집계에서 빠졌다. 새 소식을 추가하는 일과 잘못된 기록을 정정하는 일을 나누며, 개인의 맥락을 기억하는 도구에 필요한 기본값을 돌아봤다.
[Read More]
검토를 끝냈더니 이전 결과와 비교할 수 없었다 — Career Radar M4-A
평가 사례의 검토 상태만 바꿨는데 이전 실행과 비교할 수 없게 됐다. 판정에 영향을 주는 변경과 설명을 다듬는 변경을 나누며, 평가 기록에 필요한 기준을 배웠다.
[Read More]
기능을 붙이다 보니, 어떤 앱을 만들지 다시 묻게 됐다 — Career Radar
이력서와 공고를 비교하는 기능 다음에는 무엇이 필요할까. 지원 결과를 어떻게 받아들이고 개인의 맥락을 얼마나 기억해야 할지, 다음 개발 계획을 세우며 앱의 방향을 다시 생각했다.
[Read More]
공고 세 개를 판정하고 결과는 하나만 보여줬다 — Career Radar Milestone 3
선택한 공고를 모두 분석해 놓고 요청 개수만큼만 보여주면, 나머지 결과를 보려고 같은 분석을 다시 실행하게 된다. 검색·추천 기능을 붙이며 결과 반환, 실패 안내, 재시도 비용을 코드와 회귀 테스트로 확인한 과정을 정리했다.
[Read More]
로컬이면 안전할까? 저장·삭제·접근 검사를 뜯어봤다 — Career Radar Milestone 2
지원 현황을 저장하기 시작하자, 지운 메모가 이력에 남고 로컬 서버의 접근 검사도 충분하지 않다는 사실이 드러났다. 합성 데이터로 재현하고 삭제 경로까지 확인하면서, 직접 써볼 초안의 기준을 정리했다.
[Read More]
공개 채널에 던진 질문은 투명한 일이 아니다
짧은 기술 질문이 여러 시스템의 조사와 의사결정을 한 사람에게 넘기기도 한다. 질문을 공개하는 데서 멈추지 않고 비용과 책임, 남길 결과까지 드러내야 일이 투명해진다.
[Read More]
AI가 만든 판정 코드를 PR로 검증했다 — Career Radar Milestone 1
테스트가 통과한 판정 코드도 잘못된 근거를 넣자 엉뚱한 결론을 냈다. 리뷰 의견을 재현 입력과 회귀 테스트로 바꾸면서, 정책 검증과 실제 모델 검증을 구분한 과정을 정리했다.
[Read More]
Codex에게 앱을 만들어 달라고 하기 전에 명세부터 썼다
커리어 도구 아이디어를 바로 코딩하지 않고, 판단 기준과 금지 사항을 Markdown 명세로 먼저 고정했다. Codex로 MCP 서버와 React 위젯을 만들고 ChatGPT의 실제 실행 환경까지 연결하면서, 명세와 로컬 테스트만으로는 잡히지 않던 빈 화면도 발견했다.
[Read More]
관측은 두 번 알려줬다, 틀린 건 번역이었다
폐기 예정 API를 닫기 전에 트래픽은 분명히 봤다. 남은 호출 비율도, 마지막 호출자의 콘텐츠 ID도 정확히 짚어냈다. 그런데 '이 호출은 누구 것인가'를 사람에게 물었고, 답할 수 없는 사람이 답했다. 관측이 판정으로 자동 변환되지 않는 자리에 대한 기록.
[Read More]
에러 화면은 있었는데 로그가 없었다: 처리된 실패가 두 시간 넘게 보이지 않은 이유
외부 API 가 사라지자 SSR 페이지는 곧바로 친절한 오류 화면으로 바뀌었고, 그 상태로 두 시간 넘게 아무 알림도 없었다. 실패를 처리하는 코드와 실패를 알리는 코드는 다른 것이며, 200 으로 내려가는 fallback 은 모니터링에 잡히지 않는다.
[Read More]
교차 검증도 같은 시점을 보면 함께 틀린다
회고에서 리뷰 봇 지적 하나를 오탐으로 분류했는데, 며칠 뒤 그 코멘트를 쓴 동료가 오탐이 아니라고 알려줬다. 채택해놓고 오탐으로 적은 것이었고, 원인은 현재 파일의 줄 번호로 과거 코멘트를 판정한 것이었다.
[Read More]
에러 메시지가 두 가지 일을 하고 있었다
장애 때 사용자 화면에 내부 진단 문자열이 노출됐다. 에러의 message를 로그와 화면이 함께 읽고 있었고, 백 곳이 넘는 수정에서는 파서보다 실행 가능한 완료 조건을 만드는 일이 더 어려웠다.
[Read More]