在代码开发过程中,冗余的空行会影响代码可读性并增加文件体积。本文介绍在 IntelliJ IDEA 中使用正则表达式快速删除代码空行的方法。核心步骤包括:在项目包上右键或使用 Ctrl+Shift+R 全局替换、开启正则模式(.* 按钮)、输入正则表达式 ^\s*\n 匹配以空白符开头的空行并将其替换为空,实现一次性删除所有空行。同时提供 ^\s*\n\s*\n 用于匹配连续空行(排除单行)。
本文适用于需要批量清理代码空行以提升代码整洁度的 Java 开发者。
阿里云容器镜像服务(Container Registry)提供安全稳定的镜像托管能力,支持 Docker 镜像的存储、管理和分发。本文详细介绍阿里云个人容器镜像仓库的完整创建与使用流程。核心内容包括:配置固定密码(支持 32 位强密码)、创建命名空间(如 odboy)、创建镜像仓库(选择“本地仓库”类型)、通过 docker login 登录 Registry、使用 docker tag 打标签,以及 docker push 推送镜像到仓库。
本文适用于需要在阿里云上托管个人或团队 Docker 镜像的开发运维人员。
MySQL 在进行多表关联查询或字段比较时,若参与运算的字段或表使用了不同的排序规则(Collation),会触发 Illegal mix of collations 错误。本文以一个真实案例为例,分析错误原因:表 A 使用 utf8mb4_general_ci,表 B 使用 utf8mb4_0900_ai_ci,两者不兼容导致查询失败。解决方案为使用 ALTER TABLE ... CONVERT TO CHARACTER SET ... COLLATE ... 将表 A 的排序规则统一为 utf8mb4_0900_ai_ci。
本文适用于遇到 MySQL 排序规则冲突错误的开发及运维人员。
GitLab 部署在内网环境时,无法直接从公网访问。本文结合 FRP 内网穿透工具与 Nginx 反向代理,提供一套完整的 GitLab 公网访问配置方案。核心内容包括:GitLab CE 16.3.0 安装与前置依赖配置、external_url 公网域名修改(gitlab.odboy.cn)与本地 hosts 映射、FRP 服务端(云服务器)与客户端(内网 GitLab 主机)配置(bind_port=7000、vhost_http_port=7010、token 认证)、云服务器 Nginx 配置(proxy_pass http://127.0.0.1:7010)、域名解析(A 记录指向云服务器公网 IP),以及最终的访问验证。
本文适用于需要将内网 GitLab 暴露到公网访问的运维开发人员。
Ansible 是主流的开源自动化运维工具,基于 Python 开发,无需在目标主机安装代理即可完成配置管理、应用部署等任务。本文详细介绍在 macOS 环境下通过 Homebrew 安装 Ansible 的完整流程。核心内容包括:Homebrew 国内镜像源安装(中科大源)、依赖环境配置、brew install ansible 命令执行,以及通过 ansible -m ping 127.0.0.1 验证安装成功的方法。
本文适用于需要在 Mac 上进行 Ansible 学习和开发的运维人员。