学一门新语言最好的方式,永远是动手做点什么。一位刚入坑Rust的开发者最近分享了他的学习成果:一个只有几十行代码的命令行工具,专门用来快速检查GitHub、Slack、AWS、Cloudflare这些服务有没有挂。
用法简单到离谱。敲一行isdown check github slack,终端直接返回状态:GitHub显示Up,Slack显示Degraded,还会附带具体原因——比如"API响应慢,正在排查"。不需要注册账号,不需要找API密钥,开箱即用。
打开网易新闻 查看精彩图片
除了内置的十几个主流服务商,它也支持任意自定义URL。加上--json参数就能输出机器可读的格式,方便塞进CI/CD流水线或者监控脚本里。
打开网易新闻 查看精彩图片
作者坦承这工具"没什么 groundbreaking 的东西",但写它的过程中实打实练到了东西:用clap做命令行解析、reqwest发HTTP请求、async处理并发,还折腾了一点宏魔法来实现服务商注册表。这些正是Rust生态里最常见的实战组合。
打开网易新闻 查看精彩图片
项目已经开源在GitHub。作者主动求锤:"肯定有很多写得不对的地方,非常欢迎提issue和PR。"这种边学边造、造完就扔出来接受检阅的做法,倒是挺符合Rust社区的气质。
热门跟贴