GN⁺: 자전거 GPS를 연결해 자갈 경주 중 피자를 주문하도록 설정한 나
(steele.blue)- 기사 작성자, Gravel Worlds Long Voyage 자전거 경주 참가 후 Casey's General Store에서 피자 주문으로 식사 최적화 결정
- 전년도에는 빠른 선수들이 모든 피자를 먹어버려 도착했을 때 피자가 없는 문제 발생
- 이 문제를 해결하기 위해, 자전거 GPS가 지오펜스를 벗어나면 피자를 주문하는 스크립트 작성 결정
- 이 스크립트는 전년도에 만든 서버리스 GPS 트래커 위에 구축
- 스크립트는 다음 정차장에 대한 ETA를 계산하고 트래커가 AWS Location 서비스 내 설정된 지오펜스를 벗어나면 피자를 주문하는 Lambda 함수를 트리거
- Casey's가 온라인 주문을 위한 공개 API를 가지고 있지 않아, Playwright를 사용하여 웹사이트 스크린 스크래핑에 의존
- 피자 주문의 성공 또는 실패에 따라 푸시 알림이 자신의 핸드폰으로 전송되도록 설정
- 경주 중에 피자가 성공적으로 주문되었다는 잘못된 알림을 받았지만, 정차장에는 주문 기록이 없었음
- 경주 후에는 브라우저 작동 중인 비디오를 캡처하고 분석을 위해 S3 버킷에 업로드하는 Lambda 함수를 개선
- 실패는 Playwright 브라우저 내의 최종 form.submit()이 처리된 즉시 Lambda가 처리를 종료했기 때문일 수 있음을 추측
- 실패에도 불구하고, 이 프로젝트에서 많은 것을 배웠으며 다가오는 경주에서 다시 시도할 계획
- 이 프로젝트의 코드는 GitHub에서 확인 가능
Hacker News 의견
- 자전거의 GPS가 자갈 경주 중에 피자를 주문하도록 연결된 독특한 기술 프로젝트에 대한 기사
- 프로젝트는 Sun Microsystems에서 사용한 'pizzatool'에 대한 21세기 버전으로 비교됨
- 'Waypoint Pizza'라는 피자 식당이 언급되며, 특정 세일링 경기 중에 샌프란시스코 베이에서 배달함
- 기사는 또한 Dean Karnazes라는 울트라 러너가 경주 중에 피자를 부리또처럼 말아서 달리는 것에 대해 언급함
- 일부 독자들은 주문에 사용된 웹사이트가 react 웹사이트라면, 직접 사용할 수 있는 API를 의미할 수 있으며, 이는 과정을 더욱 견고하게 만들 수 있음을 제안함
- 기사는 그 유머, 기술 문제 해결, 그리고 마지막에 저자의 자기 비판에 대해 칭찬받음
- 일부 독자들은 핸즈프리 통화 사용이나 친구에게 전화를 하도록 하는 등의 기술 해결책 대안을 제안함
- Deliveroo와 같은 다른 배달 서비스에 비슷한 기술 해결책을 적용할 가능성에 대한 논의가 있음
- 기사는 경주 중에 기술 해결책이 작동하지 않았다는 것을 밝히며, 이는 200마일에서 발견됨
- 기사는 또한 Casey's 피자, 미드웨스트의 사랑받는 피자에 대해 언급하며, 이는 일부 독자들에게 행복한 추억을 떠올리게 함
- 기술 해결책의 실패에 대한 이론이 제안되며, 이는 최종 양식 제출 후 Lambda가 처리를 종료했을 수 있음을 제안함