程序员跑步指南

我跑步20年有余,开始写程序也2年多了。最近做了一个个人跑步数据的页面(见最下方图片)也算有了一些心得,本文尽量把我的跑步经验和如何做一个这样的网站的步骤分享给大家

网站开源的repo

跑步能带来什么

  1. 对无聊的忍耐能力。
  2. 在现在这个时代潮水般信息涌来,难得的独处时间。无论是跑步,游泳,爬山或是其它的方式,这30分钟到2个小时完全属于你自己,不用刷微博推特,只有耳机里传来的音乐或是呼吸声,和自己对话。
  3. 相对健康的身体,程序员每天面对996和巨大的压力,一个相对好的心肺功能,是对自己,对家人的一个更好的期许。
  4. 长距离后身心愉悦,突破自己的快感。

跑步不能带来什么

  1. 减肥,跑起来并不能让我们很快瘦下来,更重要的是饮食。确实大体重跑步会带来一定程度的效果,但是对膝盖的伤害也相对大,一定要科学。
  2. 就像去西藏并不能洗涤心灵一样,马拉松也不会让我们有脱胎换骨的变化。近些年马拉松热尤其是一些互联网上的大佬也开始跑,大家仿佛都焦虑起来,不跑个马拉松觉得少了点什么一样。

如何开始跑步

  1. 选择个App记录自己,也方便管理数据
  2. 跑起来,有条件的尽量选择户外不要选择跑步机
  3. 前期尽量每天坚持,让自己身体和心理适应跑步的习惯
  4. 等到能跑5km,左右开始研究购买一双好的跑步鞋,学会做好准备运动和伸展运动保护自己的膝盖
  5. 尽量管理自己的数据,不光能给自己动力,还能防止软件停止运营或是下架数据丢失的风险

跑步软件总结

软件名称 优点 缺点
strava 支持运动种类多,开放api, 数据粒度很细,用户群较大,中国区支持,数据导出相对容易 很多功能需要订阅会员,运动手表支持一般
Nike Run Club 完全免费,手表支持很好,数据稳定,UI非常漂亮,中国区支持大部分功能 数据统计做的相对一般,数据导出相对麻烦
Runtastic 社区数据做的都很好,界面漂亮,手表支持很好,运动总类多 国区下架,数据导出导入相对麻烦
garmin 数据精准度高,支持数据导入导出 国区和其它用的两套账号管理会带来麻烦
咕咚,悦跑圈,keep… 国内软件目前没下架风险 不支持数据导出,做了一大堆无用的社交功能

我的选择: 我用了8年多的Runtastic后来国区下架,在其它区下载有gps偏移的问题,转到了Nike Run Club, 但我会备份一份数据上传到strava, 因为strava开放api比较方便DIY我个人页面用的也是strava的数据。在国区,我比较推荐Nike Run Club

还需要知道一些小知识

  1. 数据格式:gpx(类似xml用于gps数据交换的格式),geojson(用于地图展示的数据格式)
  2. 配速,心率,步频
  3. 如何购买一双适合自己的跑鞋(知乎或是其它网站很容易搜到)
  4. 如何保护膝盖
  5. LSD, 间歇跑

我写了一个方便打造个人跑步页面的repo

用到的技术

  • react(hooks)用于编写前端代码
  • gastby用于生成网站需要的静态页面
  • vercel用于部署静态页面
  • 剩下的核心是数据,如何拿到nike数据可以参考这个repo, 如何利用gpx生成svg图片参考这个repo
  • python用于各种脚本(sqlite3)

如果大家用其它软件跑步,想生成自己的跑步页面,有需要的可以在issue下留言, 或给我发邮件。如果我可以帮到忙的话。 image

image