Java 日志分割在 Linux 中如何实现

在 Linux 上管理 Java 应用日志,最常见也最省事的方案就是 `logrotate`。本文从安装、配置、测试到自动执行,梳理一套可直接落地的日志分割方法,并解释常用参数的作用,方便你判断当前配置是否适合自己的服务器环境。

Java 日志分割在 Linux 中如何实现

W3C XML 发展脉络:从核心版本到扩展规范一次看清

这篇文章梳理了 W3C XML 的定位、版本演进和相关扩展规范。重点包括 XML 1.0 与 1.1 的发布时间、修订差异,以及命名空间、XLink、XPointer、XML Base、XInclude 等技术在 XML 体系中的作用。 XML 常被当成一种“老格式”一笔带过,但在 W3C 规范体系里,它其实是很多结构化数据标准的基础。本文从 XML 的定位讲起,再梳理 1.0 到 1.1 的版本变化,以及命名空间、XLink、XPointer、XML Base、XInclude 等配套技术分别解决什。

W3C XML 发展脉络:从核心版本到扩展规范一次看清

CentOS 环境下 Python 安装最佳实践

在 CentOS 上装 Python,关键不是“装上就行”,而是选对方式、别动系统自带解释器,并把多版本与项目依赖隔离好。本文按系统包安装、源码编译、pyenv 管理和虚拟环境四条线梳理操作步骤与适用场景。

CentOS 环境下 Python 安装最佳实践

Laravel 自增时不自动更新 updated_at:原因与处理方式

在 Laravel 里,`increment()` 不只是把数值字段加一,默认还会连带更新 `updated_at`。这篇文章结合源码说明这一行为的触发条件,并给出一个基于 trait 的轻量处理方式,适合浏览量、点赞数这类不希望改动更新时间的场景。

Laravel 自增时不自动更新 updated_at:原因与处理方式

为什么 SQL 里 COUNT(字段) 和 COUNT(*) 的结果会不同

`COUNT(*)` 统计结果集中的全部行,`COUNT(字段)` 只统计该字段非 `NULL` 的行,因此前者一定大于等于后者。真正容易出错的地方不在函数名字,而在 `LEFT JOIN`、`WHERE`、`GROUP BY` 改写结果集后,很多人把“当前结果集计数”误当成“原表行数”。

为什么 SQL 里 COUNT(字段) 和 COUNT(*) 的结果会不同