简要介绍

Lighthouse 是一个网站质量测评工具,它是由 Google 开源的一个自动化工具,内嵌在 Chrome 开发者工具里面。它能够对 PWA 或网页多维度的效果指标进行审计,并给出对应缺陷的修复意见和一些最佳实践的调整建议,以帮助开发者改进网站的整体质量,包括但不限于:[^1]

  • 性能:如内存占用,CPU/GPU 使用率,Worker 线程调度等
  • 响应:加载速度,资源缓存等
  • 安全性:CSP,SSL 等
  • 易使用性:页面色彩对比度,图标大小,元素间隔,残障用户操作友好等
  • SEO: 搜索引擎优化

测评完成后,它会生成一个有关页面性能的报告。通过该报告,我们就可以知道需要采取哪些措施来改进应用的性能和体验。就像 TDD 测试驱动开发一样,根据反馈,红黄或绿,调整策略,优胜劣汰,迭代优化,臻於至善。[^2]

- More -

问题背景

昨天访问域名提示证书过期,记得之前有配置了 certbot 自动更新,但是查看日志发现是 certbot renew 更新时出错了,报错指出其依赖 python3-certbot-nginx 没有装,这里需要夸下这种可插拔的插件设计。

想装该 plugin 时,依赖 Hell 出现了 —— certbot-nginx 本身又依赖 nginx-core,然而笔者的 Nginx 是自己从源码编译的,发行版中的 nginx-core 要比自编译的旧,很多新特性不支持(如 ssl_reject_handshake)。


想必,这就是不使用官方版本的坏处了:DIY 固然好,能跟上最近的包功能特性,但有一好没两好,周边的官方拓展库可能暂时没有为新版的包做适配,那么新副本开荒的工作就只能自己包揽过来做了。

- More -

背景说明

在开发机器视觉应用时,Python 这一脚本语言很适合作为胶水将其它语言编写的组件粘贴起来,也就是说控制逻辑部分变动比较快的话,使用 JS, Lua 或 Python 来写,除了开发速度快,还有利于跨平台运行;而底层的基础设施 Infra 则采用机器执行效率更高的语言,甚至可以为不同的硬件做汇编指令级别的定制。


本文要解决的问题,包括:

  • 从源码编译并安装 OpenCV 4.x(如 4.4.5)
  • 在 C++ 代码中调用 OpenCV 库,完成简单的图像矩阵化操作
  • 将 C++ 代码编译并链接成 .so 动态链接库
  • 使用 make 工具链,自动化完成构建工作
  • 在 Python 中调用动态连接库

- More -

背景说明

在 Shell 脚本中,我们有时需要根据命令的成功或失败,来指定要采取的不同分支代码。和其它高级语言类似,Shell 中也有 if 语句可以让我们指定此类条件。

不过其可固定搭配的操作符较多,之前都是遇到了再现查,今天抽空把全部用法都学一遍,之后忘记了再回来重温。

- More -

问题背景

为了保持系统更新,笔者每隔一周会更新一次软件源。今天在尝试更新时,发现 APT 无法获取 MySql 的 Apt repository url,报错如下:

apt_mysql_public_key_is_not_available.webp
图 1: 公钥未找到,无法验签

- More -