欢迎来到 星空Online - 织梦者,我的原创世界。

让 TypeScript 开源项目支持单元测试覆盖率

很多小伙伴在访问 Github 的开源项目时,总能看到一些与项目有关的徽章,比如代码测试覆盖率、代码质量、下载次数等等。前段时间有朋友问我该如何设置,我想干脆就写一篇小短文来分享一下吧,万一恰好还有朋友需要呢。

徽章其实并不是什么稀罕的东西。在打开 Github 项目时,默认会将 README.md 文件的内容渲染成网页,而徽章就是通过 Markdown 语法来实现的。说白了,徽章仅仅只是个图片而已。你可以使用 Markdown 语法来插入任何你想要的图片,并不仅仅局限于徽章。但是如果是想要插入与自己项目有关的、动态的数据 —— 如代码测试覆盖率、代码质量、下载次数等等,那又该怎么办呢?总不可能每次上传代码时,再去修改图片或图片地址吧。

本文将以单元测试覆盖率作为示例,来和大家一起探讨如何为 TypeScript 项目实施单元测试,并添加单元测试覆盖率徽章。

阅读 评论

使用 html2canvas 实现截图功能

春节即将来临,为了确保节假日期间系统的稳定性,我们一如既往地将系统中的业务指标汇总到一个专门的值班系统页面中,并通过 ECharts 图表展示。这些指标包括接口调用次数、成功率、响应时间等重要数据。由于我们的部门负责多个系统,且这些系统之间往往没有直接关联,不同同事在值班时可能对其他系统的指标不太熟悉。因此,各系统负责人分别制定了各自的指标阈值,以便值班人员只需检查指标是否超限,即可判断系统的健康状况。

然而,当系统出现问题时,如何有效地将信息同步给其他同事却一直缺乏统一的标准。有些人喜欢用截图,有些则习惯复制系统信息。而由于监控看板页面可能很长,在不同分辨率的显示器上可能无法完全显示在一屏内。为了更快速、统一地将信息传达给其他同事,我决定为看板页面添加一个截图按钮。点击按钮时,页面会自动将整个看板页面截图并保存到剪贴板中。值班人员只需按 Ctrl + V 即可将截图粘贴到微信中分享。

于是,我开始寻找合适的工具,最终发现了 html2canvas 这个组件。它是一个功能强大的 JavaScript 库,可以直接在浏览器端将 DOM 元素渲染成 canvas 图像,而无需服务端支持。html2canvas 还支持大多数 CSS 样式,因此能够很好地保留页面的视觉效果。

阅读 评论

使用已有私钥生成公钥的方法

为了方便及安全,平时我都会选择通过堡垒机用 pem 私钥来远程登录 Linux 服务器,当需要添加服务器时,只需要在服务器的用户目录下,在 ~/.ssh/authorized_keys 中追加一行公钥的内容即可。但在更换堡垒机的过程中,我发现我只备份了 pem 文件,忘记保存 pub 文件了,那该如何再添加服务器呢?此时要么选择远程登陆到一台机器,从 authorized_keys 中找到对应的数据拷出来,或者干脆直接重新生成一份。

Linux 下命令繁多,日常使用中总是有着记不住的场景,于是在 ChatGPT 的帮助下让我重新找回了这个简单而又陌生的命令,在自留地记录一下以防未来再次需要:

```bash

阅读 评论