Hacker News 의견
  • 정말 재미있고 영감을 주는 글이라고 생각함, 엔지니어의 본질을 잘 담아냈음, OP가 진정한 해커임이 드러남
    미국에 3개월 동안 있을 때 PureGym에 가입해서 PIN을 받았고, 나중에 멤버십을 취소함, 그런데 크롬에서 PureGym PIN이 유출되었다고 알려줌
    2년 후 다시 미국에 가서 같은 PIN을 받았고, 이는 보안상 굉장한 문제라고 생각함
    PureGym 앱과 토큰도 흥미로웠는데, 하이드로 마사지 의자 활성화 시스템에서 보안 결함도 발견했음, 어떤 PIN이든 받아들이는 구조였음
    • 크롬이 PureGym PIN 유출을 알린 것은 아마 오탐으로 보임, 크롬이 HaveIBeenPwned API를 사용할 때 이런 일이 발생할 수 있음
      예를 들어 87623103 같은 PIN은 해시값이 558B4C37F6E3FF9A5E1115C66CEF0703E3F2ADEE로 변환되고HaveIBeenPwned 해시 범위에서 검색하면 실제로 여러 번 유출된 기록이 있음
  • 한 번만 생각해봐야 할 문제임, 야외에 놓인 물리적 키패드는 영국의 날씨, 단백질 셰이크, 후회로 덮여 있고, 어떤 집의 링 도어벨로 틱톡 라이브 중계까지 될 수 있는 곳임. 그런데도 내 예전 PIN을 문제없이 받아들임, 반면 디지털 QR코드는 NSA가 감탄할 정도의 암호화 회전이 필요함
  • 이런 이야기를 읽는 게 너무 즐거움, 앱이 제대로 작동할 때까지 기다리는 대신 직접 PIN을 외움. 그래서 OP가 제안한 방법보다도 더 빠르게 들어갈 수 있고, 기기나 별도 서비스도 필요 없어서 더 간편하다고 생각함
  • “Apple Wallet을 구현하지 않는 것도 다 이유가 있다”라는 글을 봤을 때, PureGym 앱의 스크린샷을 참고하면 사실상 모바일 웹 사이트를 얇게 감싼 수준이거나 Flutter 같은 기술을 쓴 것으로 보임. 애플 API의 미묘한 부분까지 다룰 수 있는 사내 개발자가 있을 확률은 매우 낮아 보임
    • 이게 핵심임, PureGym은 서비스 가입자를 최대한 많이 받고 탈퇴는 어렵게 만드는 게 본업임, 개발이 본업이 아님. 운이 좋으면 내부 웹 개발자가 사이트와 데이터베이스만 겨우 관리하고, 앱처럼 동작하게 해달라며 외주를 맡김, 운이 나쁘면 모든 웹 업무를 외주업체에 맡기고 제목 한 글자 바꾸려고 해도 추가 비용을 내는 상황일 것
    • 그런데 왜 배우지 못할까라는 의문이 듦, 구글, Stack Overflow, LLM 같은 도구가 많은데도 여전히 개선이 없음. 아마도 UX를 신경 쓰는 사람이 아예 없거나, 백엔드 개발팀은 다 떠난지 오래고 남은 건 최소 인원의 저렴한 엔지니어로 유지하고 있기 때문이라고 생각함
    • 만약 Apple Wallet을 추가한다면 Android Wallet 지원도 해야 하므로 관리할 코드가 늘어남. 그래도 최소한 앱을 켜자마자 QR 코드를 항상 보여주게는 만들 수 있을 것 같음
    • 내 휴대폰에도 PureGym 앱이 있는데, 실제로 그냥 PureGym 웹사이트를 감싼 앱 느낌임
  • 순금 같은 말임, 8자리 짐 도어 PIN이 곧 API 비밀번호이고, 대다수 사용자가 직접 설정하지 않았음. 실패 시도에 대해 레이트 리미트가 있길 바라는 중임. 이메일 주소만 알면 곧바로 API 접근이 되는 구조 같음. 또 요청할 수 있는 권한 범위도 잘 제한되어 있는지 궁금함
    • OP임
      API 접근이 바로 가능하냐는 질문에는 맞음, 실제로 앱과 사이트를 쓰면서 레이트 리미트에 걸려본 적이 없음, 실패 시도에 꽤 관대함
      포스트에 소개한 scope는 공식 앱과 GitHub의 비공식 클라이언트들이 쓰는 것과 동일함
      추가 scope가 있을 확률은 매우 낮음PureGym PHP WrapperPureGym Attendance Python도 참고할 만함
  • PureGym의 앱 로드맵 논의를 IT 업계에서 많이 겪음
    “이 기능을 만들면 우리가 직접 책임을 져야 한다”라는 식
    “맞는 말임, 그럼 2028년 로드맵에 넣어두자”라는 농담도 많이 함
    • 내 부서 미팅도 똑같음, 로드맵과 계획 이야기를 할 때 “이게 우리 매출에 도움이 되냐, 돈 드는 일 아니냐”가 핵심임
      원래 할 일이나 위시리스트도 길어서 기능 추가가 잘 안 됨
      PureGym이 지금 가장 잘할 수 있는 건, 이 앱 만든 개발자에게 몇 천 파운드와 평생 무료 이용권을 주는 것이라고 생각함
  • Apple Developer Portal에서 발급하는 Pass Type ID 증명서 비용이 궁금함
    Apple Wallet 패스를 만들고 싶은데 개발자 계정 설정과 추가 비용이 부담스러움
    • 내가 아는 한 기본 개발자 구독에 포함되어 있음, 다만 매년 개발자 구독을 갱신해야 계속 유지할 수 있음
  • 매 분마다 새로운 코드를 받으라고 푸시 알림이 온다면 배터리 문제 아닐지 궁금함
    • 본문을 보면 코드 갱신이 주 1회라 주 1회가 최대일 것으로 예상함
    • 푸시 알림에는 백그라운드 모드라는 게 있어서, 폰이 준비됐을 때만 처리됨
      배터리 부족 시나 절전 모드에선 아예 전달되지 않아 배터리 소모를 최소화하려고 만들어진 구조임
      더 중요한 알림은 UI 요소가 반드시 보여야 하고, 절전 상황과 관계없이 도착함
  • 재미있고 기술적인 디테일이 가득한 글이라 즐겁게 읽었음