Hasty Briefsbeta

双语

Recreationally overengineering my location history

9 months ago
  • #rust
  • #privacy
  • #location-history
  • 作者讨论了他们创建个人位置历史可视化工具的项目,出于隐私考虑放弃了谷歌地图。
  • 该项目包含以视觉吸引力的方式展示访问地点的地图,以及通过简单链接与他人实时共享位置的功能。
  • 数据收集通过iOS应用完成,利用「显著位置变化」机制降低电量消耗,同时提供高精度更新选项用于实时共享。
  • 后端采用Rust构建,使用自定义项目模板提高效率和可维护性,通过PostgreSQL和PostGIS处理数据存储和地理数据。
  • 作者强调即使是个人项目也应达到「生产级」标准,以确保稳定性、性能和易于维护。
  • 尽管作者对Swift和SwiftUI经验有限,iOS应用仍成功实现了低功耗的位置数据收集与后端传输。
  • 可视化方案采用六边形网格覆盖底图,通过PostGIS高效生成,可在不同缩放级别展示访问区域。
  • 实时位置共享通过WebSocket实现,采用自动过期的令牌机制避免意外长期共享。
  • 作者回顾项目成果,指出其资源使用高效,并享受通过该工具探索旅行历史的乐趣。
  • 文章结尾提到项目代码规模,作者对结果表示满意,尽管还考虑了LLM编程等未涉及的议题。