京东云后羿无线路由器测评

我家有一台用了几年的 Redmi AX6 路由器,但一直有一个问题,就是 5G 信号无法完全覆盖 100 多平米的空间,离得远了,信号就会降级到 2.4G。我家装修时网线走的是暗线,每个房间都有一个网线接口,其实再买一台路由器,组个有线回程的 mesh 就能解决,但我对网速的需求并不那么强,所以这件事就一直搁置着。

直到最近,京东云无线路由器搞活动,AX3000 的后羿直接降到白菜价,我毫不犹豫地花 89 买下。

阅读更多

如何使用 yarn 或 pnpm 安装 sqlite3

Node.js 项目安装 SQLite 时需要下载预编译 bundle,默认是从 github.com 下载的,下载失败会走 node-gyp 本地编译,本地编译一般会因为缺少 Python、Visual Studio、Xcode 等环境而报错,所以需要配置镜像地址。

阅读更多

Node.js 版本与 ABI 版本对照表

因为下载 node-sass 的 binding.node 预编译二进制包时,发现网上竟然搜不到 Node.js 版本与 ABI 版本的对应关系,所以自己整理一份吧,数据来自三个地方,我做了整合:

  1. https://github.com/sass/node-sass/blob/master/lib/extensions.js
  2. https://github.com/electron/node-abi/blob/main/abi_registry.json
  3. https://github.com/electron/node-abi/blob/main/index.js
阅读更多

非管理员账户如何安装 Node.js 与快速切换版本

在企业环境中的电脑,往往严格管控着管理员权限,无法自由地安装软件。

  • 如何以普通用户的身份安装 Node.js?
  • 如何在需要低版本的 Node.js 时快速切换版本而不需要重新安装?

JDK 也适用于这种方式安装!只需多配一个环境变量 JAVA_HOME

阅读更多

使用 HTTP API 从 WPS 在线表格中获取数据

之前的博文中,我提到过本站的友情链接是通过 Vika 维格表管理的,维格表的一大特色是支持通过 API 增、删、改、查表格中的数据,这直接让维格表化身为一个简单的数据库,可玩性大大提升,通过它维护友链数据,并通过自己编写的脚本生成友链页面就是个例子。

阅读更多

离奇问题,网络故障恢复后,无法重连到数据库?

问题现象

周末生产环境出现了一个奇怪的问题,部署在 k8s 容器中的 SpringBoot 应用连接到数据库的交换机出现了故障,交换机的故障恢复后,查询数据库的接口还是无法提供服务,试了很多次,日志中报出的异常依然是 Connection is not available,难道是网络还是没回复?

网络可能不通?那我们就 telnet 一下,网络是没问题的。最后我们使用 netstat 看一下和数据库的连接状态,状态是 ‌ESTABLISHED,这个状态表示已经成功建立连接,但是连接只有一个,与我们配置的最小活跃连接数 10 的数量不相符,此时为了业务能尽快恢复,只好重启了应用服务。

事后,我们又查看了所有通过这个故障交换机连接数据库的应用,有的没有发生问题,有的没有经过重启,分别在 20 分钟和 120 分钟之后自动恢复了,于是我们开始在测试环境想办法复现这个问题并寻找解决方案。

阅读更多