文章列表

相对现代化的把控前端代码质量

查看评论
最近几天聊天,常常聊到 持续集成 辅助把控 代码质量 ,以前端团队为例,我们来简单聊聊。本篇很可能是你在网上能找到的使用容器应用最新版本 SonarQube 相对详细的一篇,或者是唯一一篇,所以如果遇到问题,欢迎和我进行讨论沟通。个人认为把控质量的核心是形成标准、避免错误引入,从而提高应用的健壮性,降低维护成本和不应存在的复杂度,这里在不讨论 测试 的情况下,通常的做法无非... 阅读全文
, ,

使用 Traefik 提高 WebSocket 应用性能

查看评论
说起 Node.js 的 WebSocket 方案,可选的方案有许多种,其中许多方案都提供将 WS 服务端口和 HTTP 服务复用的方案,然而这种方案真的是最佳选择吗。不论是专业做实时通信的 [socket.io] ,还是用户量最大的 Express 的热门中间件 [express-ws] 都支持端口复用,比如 WS 和 HTTP 复用 80 端口, WSS 和 HTTPS 复用 443 端口。这里以 express-ws 底层封装的 [ws] 库为例,来简单剖析,socket.io 实现类似不过分层较多,有兴趣可以围观代码。 阅读全文
, ,

如果不用 Node.js 写业务

查看评论
最近整理博客,发现很久没有介绍语言相关的小用法了,正巧休息的时候把代码仓库归置了一遍,用几个简短的例子,聊聊 Node.js 除了写业务脚本、做构建运行时,它还能做些什么有趣的事情吧。在做持续集成中,偶尔会遇到需要解析 API 结果,或者读取文件,获取文件指定数据的需求,当使用常规的 shell 难以完成需求的时候,相比较 Python 来说使用 Node 做为粘合剂来获取数据不失为一个好的方案,因为写出的代码将会更简单明了。比如你希望获取到某些 API 中的特殊字段,然后再次进行参数拼装,请求其他的 API ,完成某种程度的完全自动化操作。 阅读全文

使用 Docker CertBot 获取 SSL 证书

查看评论
Let‘s Encrypt 在很久之前就开始了证书的免费申请,但是随着 API 的升级、功能的增加,之前使用acme.sh 脚本就能够轻松获取证书的操作,变得越来越麻烦,而且随着配置项越来越多,浏览文档很难快速了解到什么才是当前的最佳实践。在更新服务器操作系统之后,原本一直使用的 acme.sh 出现了问题:读取不到我配置的 DNS 账户名称,不管我是否直接将账号写入了执行脚本中。考虑到未来这套证书获取客户端还存在升级的情况,继续修改它显然不是一个理智的选择。在翻阅文档之后,我们发现客户端使用很简单,只需要2条命令,几个输入确认就可以了。看起来还不错,那么试试看吧。 阅读全文
, ,

更完善的 Docker + Traefik 使用方案

查看评论
在踩坑无数之后,多次修改后,这篇草稿箱中的文字终于得以成型,撒花。六月更新架构的时候,去掉了 openresty 作为服务器前端,取而代之的是裸跑 Traefik,因为只暴露网关的 80 / 443,后面所有子容器都是以 expose 方案对内暴露端口到一块虚拟网卡上,安全问题也不大,网关挂载着通配符证书,可以方便的添加删除后面的应用,虽说用起来挺舒服的,但是有两点始终让我不是很爽。 阅读全文
, ,