三月换电脑时,我干了一件很多人嘴上说但真动手时缩回去的事:不恢复备份、不迁移数据,直接全新安装系统,只装确实离不开的软件。四个月过去,一整个工具类别再也没在我的Dock栏出现过。
那些单一功能的轻量工具——JSON格式化器、文本对比器、哈希计算器、菜单栏里挂着的小小时钟戳转器——现在全部变成了浏览器标签页。注意,不是那种会把你的数据送到服务器里的Web应用,而是纯粹的客户端页面:只需要加载一次,整个运算就在当前标签页里完成,哪怕WiFi断了照样能用。
对这一点,我很有执念。因为我往这些工具里粘贴的内容,很多与生产环境高度关联——带有客户邮箱的webhook负载、预发环境配置文件、API返回的响应体。每用一个新的在线工具,我就打开DevTools的Network面板,一边粘贴数据一边盯着网络请求;只要有一丁点数据泄露出去,我立刻关掉标签页,再不回头。下面提到的这几个工具都通过了这个测试。顺便说一声,这里列出的工具链接都指向fewly,这是我自己的项目;每个工具都有其他替代方案,我真正想推荐的是“完全客户端化”这个模式本身。
1. JSON格式化器
我对webhook做故障排查时,第一站往往就是它。Stripe扔过来一串这样的东西:
{"id":"evt_3PZk","type":"invoice.paid","data":{"object":{"amount_paid":4900,"customer":"cus_QRt8"}}}
可读性基本为零,这还只是精简后的短版。我直接把它往fewly的JSON格式化器里一贴,瞬间得到漂亮的缩进排版。还有一个小细节被人低估了:格式化之前,工具必须先解析字符串,所以顺带免费提供了JSON验证功能。如果我手改的测试数据文件里多了一个尾逗号,它会直接指出来哪一行出错,省得我眯着眼睛找半天。
2. 文本对比器
有个功能在预发环境好好的,一到生产就500了。整个诊断过程只花了九十秒:我把两边的.env文件并排贴进文本对比器,左边是预发,右边是生产,一眼就发现生产环境少了REDIS_TLS=true,还挂了一个过期的API_BASE。整个过程没有拉Git记录,也没有通过SSH跑vimdiff。真正的代码差异当然还是要在Pull Request里做,这个工具主要对付那些永远进不到版本控制的配置型文本:环境变量文件、nginx配置块、同一个邮件模板的两个版本。偶尔还能用它温和地回应供应商那边“我们这边没动过任何配置”的争论——把两个版本贴进去,差异标得清清楚楚。
3. 哈希生成器
两个固定用法。其一是校验文件完整性:现在只要某个供应商在SDK下载链接旁边提供了SHA-256值,我都认真验证,因为整个过程不过十秒钟。其二是在构思阶段快速生成摘要:给一个规范的代表性字符串算个哈希值,用来设计缓存键或者去重ID。其实命令行里shasum -a 256我还是照样用,尤其是在脚本里。但如果字符串已经在剪贴板里,浏览器本来就开着,从纯动作经济性角度看,点开标签页总是赢的。
4. 时间戳转换器
1752868800这串数字对我来说永远像天书。日志里全是这种Unix时间戳,而写事故报告的时候需要把它变成“周五晚上9点左右”。这个转换器两个方向都能转,而且解决了我经常搞错的东西:时区。比如卡拉奇的一个用户反馈说某个功能“昨晚坏了”,我真正的任务是把这句话转化成一个可以进行grep操作的UTC时间范围。凌晨一点靠心算做时区偏移这种事坑过我不少次,现在终于不用再承受精神损伤。转换器给出的ISO 8601格式输出还能直接塞到API请求参数里,连格式猜谜游戏也一并终结了。
5. Cron表达式生成器
我写过不少cron表达式,但每次总要对着文档重新确认字段顺序。现在改成在页面上直接选择分钟、小时、日期,它自动输出正确的cron字符串,不用再一边核对星号位置一边敲指令了。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.