最近几年,相信大家都越来越多的在各种场合各种平台听到过了“云原生”这个词。
比如,关于云原生应用的“Twelve-Factor App”理论,现在已经是基础设施的现象级容器技术,几乎已经等同于容器本身的 Docker,还有容器编排技术 Kubernetes,以及 Kubernetes 背后的 CNCF(云原生计算基金会)。
那么,什么才是“云原生”呢?什么样的系统架构才能被称为云原生架构呢?
时隔两个月的B站宕机分析
本次的描述的主体是指发生在 2021 年 7 月 13 日晚上 23 点左右的,无响应时间持续约半小时左右,完全恢复时间约8小时的宕机事件。
本文内容是作者依据网上公开信息和个人在当时的体验综合分析而来,精确的时间线可能存在一定程度的错漏,仅代表作者本人的观点,如有雷同,纯属巧合。
将可执行文件加入环境变量Path的新姿势——ShimGen
日常使用 Windows 系统时,如果需要在命令行中直接使用程序,则需要把程序的目录加到环境变量 Path 中,而很多时候,程序目录其实会包含很多程序的依赖文件,或者其他不适合在 Path 中的文件,每当有这种需求的时候都添加一条新的路径到 Path 中也不大友好,那么,如何操作,才能优雅又简单呢?
下面我借鉴 Windows 平台的老牌包管理工具 Chocolatey ,使用其内置的工具 ShimGen 来解决这个问题。
关于几种字符串查找算法的对比分析

昨日在新生命团队钉钉群中,看到大石头老师分享了他们实现的 IndexOf 算法,据说可以做到 O(1),第一反应是几乎不可能,了解之后得知是使用了 Boyer Moore 字符串搜索算法,据说这种算法常用于 IDE 工具的查找,比 KMP 更快,所以有了对各种常用字符串查找算法做一下 Benchmark 的想法。
WSL2安装CentOS8等其他官方没有直接提供的Linux版本
鉴于 Microsoft 官方并没有提供官方的 CentOS8 的 WSL2 包,甚至 CentOS 的官方也并没有提供对应的包(Ubuntu 是微软和官方都有提供的),联想到 WSL2 和 Docker 在某种意义上是十分类似的,rootfs 都是核心,猜测可能会有方法使用官方提供标准包更广泛的 Docker 包的 rootfs 直接建立 WSL2 应用,经过摸索,发现可以使用 LxRunOffline 搞定,遂记录。
Let's Encrypt 通配符证书自动续期大法
鉴于大部分免费SSL证书都是针对特定二级域名的,而 Let’s Encrypt 提供通配符证书,却需要每三个月续期一次,经过摸索,鼓捣出了一个方案,遂记录。
Windows11系统下劫持notepad.exe的方法
在微软终于对 nodepad.exe 和 mspaint.exe 的界面下手,把这两个系统程序重构为UWP程序后,原有的镜像劫持替换 notepad.exe 的方法就直接失效了,经过研究,找到了亲测可行的替换方法,特此分享。
使用Git提交记录中的文件更改时间来修改文件的更改时间
在今天更新文章的时候,实验性的使用了按照更新时间排序,却发现所有文章的更新时间都是当天,推测是因为读取了文件的更新时间,而文件更新时间由于仓库刚刚新拉取而通通保持了当期时间,所以有了标题所示的需求。
用户无感知更新
公司目前的整个CI体系都是使用了GitLab的全家桶,基本已经趋于完善,目前最大的问题是每次发版都需要停机处理,用户感知明显,所以多数时候发版的时间都集中在晚上十点以后,故而决定设法解决这个问题。
【代码仓库】命名风格转化
一个关于将名称在不同命名风格之间转换的帮助类