微信小程序 canvas 生成二维码图片并转成 base64 展示
有个需求是在小程序页面展示二维码。
于是使用 canvas 实现了一下,发现有个bug,真机上看的时候,滑动页面,canvas 会抖动,在安卓上更是乱跑,没法用。
使用服务端生成二维码会有点影响服务器性能,并且消耗带宽。
不如考虑将 canvas 转成 base64 图片后展示。
下面是实现步骤:
有个需求是在小程序页面展示二维码。
于是使用 canvas 实现了一下,发现有个bug,真机上看的时候,滑动页面,canvas 会抖动,在安卓上更是乱跑,没法用。
使用服务端生成二维码会有点影响服务器性能,并且消耗带宽。
不如考虑将 canvas 转成 base64 图片后展示。
下面是实现步骤:
今天突然发现向我的服务器提交代码非常慢,巨慢,然后测试版的应用请求响应也非常慢,一开始以为是网络问题,但登录服务器一看,发现 CPU 很忙。
2核2G 的 Ubuntu,load average: 1.93, 0.99, 0.55。
排名第一的进程是 kswapd0,问了一下 kimi,得到的回答是:
kswapd0 是 Linux 系统中的一个内核线程,主要负责虚拟内存管理中的换页操作。当系统的物理内存不足时,kswapd0 会执行换页操作,将一些不常用的内存页从物理内存移动到磁盘上的交换空间(swap space),以释放物理内存供其他进程使用。这个过程会消耗大量的 CPU 资源,因此如果 kswapd0 进程占用 CPU 过高,通常意味着系统正在进行大量的换页操作,可能是因为物理内存不足。
今天在初始化一个项目的时候执行 npm install 遇到报错:
npm ERR! RequestError: Hostname/IP does not match certificate's altnames: Host: npm.taobao.org. is not in the cert's altnames: DNS:*.tbcdn.cn, DNS:*.taobao.com, DNS:*.alicdn.com, DNS:*.cmos.greencompute.org, DNS:cmos.greencompute.org, DNS:m.intl.taobao.com...
后面太长就省略了。
看起来是之前 taobao 镜像迁移,证书过期引起的问题。
用 npm config list
看了一下配置,发现了很多 npm.taobao.org
域名。看来要彻底清除一下了。
很久不用 npm 了。。。
今天拉了一个新项目跑跑,结果第一步 npm install 就报错了:
$ npm install
npm ERR! code CERT_HAS_EXPIRED
npm ERR! errno CERT_HAS_EXPIRED
npm ERR! request to https://registry.npm.taobao.org/v-select2-component failed, reason: certificate has expired
原因是 certificate has expired
,也就是 SSL 证书过期了。
打开 https://registry.npm.taobao.org/ 一看,果然,不过跳过(忽略证书错误)之后,直接 301 跳转到 https://registry.npmmirror.com/ ,搜了一下,原来官方早就宣布过了。。。
以后得换了:
npm config set registry https://registry.npmmirror.com
今天需要搞一个服务端渲染 ECharts 的图标的方案。