git commit 前自动执行 Lint 检查怎么设置?husky + lint-staged 配置详解

把 Lint 放到 `git commit` 之前执行,可以把代码风格和语法问题拦在本地,减少 CI 与 Code Review 阶段的返工。本文用 `husky` 和 `lint-staged` 梳理一套常见配置,并分别给出仅用 ESLint、同时接入 Prettier 的写法与注意点。 很多项目都在做 Lint,但真正影响开发效率的,往往是检查时机太靠后:等到 CI 失败或 Review 提意见,修改成本已经上来了。

git commit 前自动执行 Lint 检查怎么设置?husky + lint-staged 配置详解

CentOS 上 Jenkins 如何集成 Git、Maven、Docker 和 Kubernetes

在 CentOS 上让 Jenkins 真正承担 CI/CD 中枢,重点不只是安装完成,而是把 Git、Maven、Docker 与 Kubernetes 串成一条可执行链路。本文按准备、配置、验证三个层次梳理常见做法,方便快速判断每一步该配什么、在哪看问题。 在 CentOS 环境里部署 Jenkins 只是第一步,真正影响自动化效率的,是它能否稳定接入代码仓库、构建工具、容器引擎和集群环境。

CentOS 上 Jenkins 如何集成 Git、Maven、Docker 和 Kubernetes

Go 如何兼容 PHP 的 serialize 和 unserialize

当 PHP 项目迁移到 Go 时,历史数据里常见的 `serialize()`/`unserialize()` 往往会成为兼容点。本文从 PHP 序列化规则入手,结合 `github.com/leeqvip/gophp` 的现成方案,说明 Go 里怎样直接解析和生成 PHP 序列化字符串,以及跨语言场景下该如何选择更稳妥的序列化格式。

Go 如何兼容 PHP 的 serialize 和 unserialize

Ruby 项目如何配置 GitHub Actions:从基础 CI 到多版本测试

这篇文章用一个最小 Ruby 项目为例,梳理 GitHub Actions 的基础配置方法,包括仓库准备、首个工作流文件、环境变量写法以及 Ruby 多版本测试矩阵。重点保留可直接落地的 YAML 与命令,帮助你判断一份 Ruby CI 配置该从哪里起步、后续又该如何扩展。

Ruby 项目如何配置 GitHub Actions:从基础 CI 到多版本测试

PhpStorm 在 Ubuntu 上怎么共享代码?4 种常见方案与配置步骤

在 Ubuntu 与本地设备之间共享 PhpStorm 项目,常见方案并不止一种。本文按远程服务器、团队协作、局域网访问和直接挂载四类场景,梳理 SFTP、Git、Samba、SSHFS 的配置步骤、优缺点与适用边界。 PhpStorm 连接 Ubuntu 共享代码,看起来只是“选一个传文件的方法”,实际却关系到同步效率、协作方式和后续维护成本。

PhpStorm 在 Ubuntu 上怎么共享代码?4 种常见方案与配置步骤

在 Git 中创建一个空分支

有些项目需要一个只放文档或静态文件的独立分支,但常规 `git checkout -b` 会继承当前提交历史。本文整理 Git 创建“空分支”的做法,说明 `--orphan` 的作用、为什么新分支仍会先带出工作区文件,以及如何清空内容、提交首个根提交并检查结果。

在 Git 中创建一个空分支

我用 Go 做游戏开发时,状态机是怎么实现的?

这篇文章围绕 Go 游戏开发里的状态切换问题,梳理了状态机的基本概念、适用场景,以及用 `github.com/looplab/fsm` 落地的方式。重点不在概念堆砌,而在于说明什么时候该上状态机、Go 里通常怎么设计,以及回调机制能帮你把流程控制拆得更清楚。

我用 Go 做游戏开发时,状态机是怎么实现的?

Go 构建时注入版本号实战:不用第三方包,也能把版本信息做完整

给 Go 程序加上可查询的版本号,不一定要引入第三方库。本文用标准库配合 `go build -ldflags`,演示如何在构建阶段注入版本号、构建时间和 Git 提交,并进一步补上 JSON 输出与 Makefile 自动化构建。 线上排查 Go 程序时,最常见的问题不是服务起不来,而是程序已经在跑,却说不清自己来自哪次构建。

Go 构建时注入版本号实战:不用第三方包,也能把版本信息做完整