编程开发


i18n 国际化多语言网站架构演进:从 po 文件到全量内存

i18n 国际化多语言网站架构演进:从 po 文件到全量内存

前面写过一篇 i18n多语言数据库设计的文章 ,介绍了最佳的数据库表结构,以及“数据库 + Redis + LRU 三级缓存”的国际化多语言网站数据库设计方案。当时的设计目标是:既要减少数据库压力,又要把常用语言的响应速度提上来。

方案上线后,很快就遇到了问题。经过几轮调整,最终改成了一套更简单的架构:翻译数据只在 DB 里维护,启动时全量加载到内存,运行时零 DB 查询。

这篇文章记录这次演进的过程:从 po 文件到三级缓存,再到全量内存,每一阶段遇到的问题、做出的取舍,以及最终方案的适用边界。文中涉及的数据规模、内存占用都是真实数字。

国际化 i18n 多语言数据库设计最佳实践

国际化 i18n 多语言数据库设计最佳实践

在数据库里实现多语言支持有很多种做法,但只有一种能够长期有效且成本可控。

常见的 i18n 方案,基本思路都是把翻译内容加载到内存里,运行时按 key 直接取。这个做法对界面文案来说没问题,因为界面文案总量有限,几千条也就几百 KB,启动时一次性加载完全扛得住。

但它有一个隐含的规模上限:需要翻译的内容越多,内存占用越大;一旦翻译内容是从数据库动态增长的,内存方案就会开始吃力。

详解LLMs.txt:AI 时代网站内容控制的新协议

详解LLMs.txt:AI 时代网站内容控制的新协议

随着大语言模型的快速发展,让一个之前不太被人注意的问题浮出水面——你的网站内容很可能已经被用来训练各种 AI 模型了。ChatGPT、Claude、Gemini 这些模型,它们的训练数据大量来自公开网页,除非你明确告诉它们「不可以」。

这种情况下,LLMs.txt 这个协议应运而生。它有点像 robots.txt,但针对的是 AI 爬虫,而不是搜索引擎爬虫。这篇文章会详细解释 LLMs.txt 是什么、如何运作,以及你该如何配置它。

Hugo 静态博客实现 Google AdSense 广告位懒加载:从原理到实践

Hugo 静态博客实现 Google AdSense 广告位懒加载:从原理到实践

你的 Hugo 博客是否因为广告位过多导致页面加载缓慢?当 12 个 AdSense 广告位同时初始化,首屏加载时间飙升至 5 秒以上, 广告拦截检测 弹窗迟迟无法出现,访客在弹窗出来前就已经浏览完内容离开。

本文将分享一套零侵入原有广告模板的懒加载方案:利用 HTML5 <code>&lt;template&gt;</code> 标签 冻结广告代码,通过 Intersection Observer API 检测可视区域,分批激活执行脚本。实测首屏请求减少 68%,广告收入基本不受影响。

Google AdSense 广告拦截检测:技术原理解析与反拦截实战

广告拦截插件怎么工作的?以及我们怎么反制它

Google AdSense 广告拦截检测:技术原理解析与反拦截实战

我开源了一个谷歌广告拦截检测识别工具,代码仓库放在文章末尾,需要的自取。

独立开发者的小网站靠 AdSense 吃饭,本就没什么盈利,再加上浏览器的广告拦截插件,让原本就举步维艰的生活变得雪上加霜。

网站广告被拦了等于白干,写这篇是因为最近在给网站加广告屏蔽检测,踩了一堆坑,记录一下。

本文主要介绍广告拦截的技术原理,以及怎么检测我们网站上的AdSense广告是否被屏蔽了。

开始之前,请使用广告拦截插件的读者先读一下站长给用户的一封信: https://axiaoxin.com/letter/

浏览器指纹与反爬虫:TLS JA3、HTTP/2指纹原理及绕过方法

浏览器指纹与反爬虫:TLS JA3、HTTP/2指纹原理及绕过方法

最近不仅在折腾反爬虫,也在搞一个数据抓取的需求,知己知彼,也能更有效的进行防御和进攻。

在抓取数据时,发现同样的请求在浏览器里能正常打开,用代码跑就返回 403 或者验证码页面。

折腾了挺久,最后靠模拟浏览器指纹解决了问题。

这篇文章记录一下学到的内容,主要是 TLS 指纹、HTTP/2 指纹这些之前没太关注过的东西。

在服务器上运行GUI程序并将其Web化:Xvfb+KasmVNC 共享软件架构设计与实战

在服务器上运行GUI程序并将其Web化:Xvfb+KasmVNC 共享软件架构设计与实战

Xvfb + KasmVNC:无显示器服务器的 GUI 应用方案

本文详细讲解两个经典技术:虚拟显示 Xvfb 和 VNC 服务器 KasmVNC。读完后你不仅能理解它们各自做什么、如何配合,还能在自己的项目中运用这套方案。

本文适合人群:

  • 想要在无显示器的服务器上运行 GUI 应用
  • 对容器化 GUI 应用感兴趣
  • 想理解远程桌面技术原理
  • 想让多个用户通过浏览器共享一个应用会话

前端表格操作库 Tabulator 常用功能整理:排序、过滤、编辑

Tabulator 教程:覆盖 cellEdited 回调、React 组件化及 Python 后端对接

前端表格操作库 Tabulator 常用功能整理:排序、过滤、编辑

Tabulator 是功能完整的 JavaScript 表格库,支持排序、编辑、树形数据、虚拟滚动等。本文记录我的实际使用经验,涵盖安装、列定义、数据更新(updateData)、单元格编辑回调(cellEdited)、React 集成及 Python 生态区分。附带代码示例和官方文档要点,适合从零开始集成 Tabulator 的开发者。

本地大模型进阶|Ollama Tool Calling完全教程:工具调用原理、实操与Agent循环实战

本地大模型进阶|Ollama Tool Calling完全教程:工具调用原理、实操与Agent循环实战

这是一篇关于Ollama工具调用的详细教程。它的核心机制是让模型通过分析用户问题,去调用外部函数来获取信息,而不是凭空捏造答案。

之前写 Ollama 整体介绍 的时候,提了一嘴 tool calling,但没展开。最近在实际项目里用了几次,发现这个功能比想象中实用,单独写一篇笔记记下来。

本地大模型API开发指南|Ollama API教程:generate与chat区别详解,全端点实操指南

Ollama HTTP API实操手册:参数详解、场景适配,快速上手调用

本地大模型API开发指南|Ollama API教程:generate与chat区别详解,全端点实操指南

调用Ollama HTTP API时,你是否分不清generate与chat的用法?不知道各端点参数怎么配置?本文整理Ollama官方所有API,逐一端点拆解用法、参数及实操示例,理清两大核心端点区别,搭配 Ollama 使用教程 ,新手也能轻松搞定API调用。

Ollama量化全指南:3种方法+量化级别参考,普通电脑也能跑大模型

什么是Ollama量化?一文读懂模型“瘦身”技巧

Ollama量化全指南:3种方法+量化级别参考,普通电脑也能跑大模型

想在个人电脑、普通显卡上流畅部署Ollama大模型?核心就在于「量化」!作为Ollama本地部署的关键优化技术,量化能给AI模型“瘦身”,大幅降低显存占用、提升推理速度,无需专业硬件,普通人也能轻松玩转大模型,本文详细拆解量化原理、实操方法及量化级别选择,新手也能快速上手。

Ollama Modelfile 完全指南:从零开始创建自定义量化 AI 大模型

一文读懂Ollama Modelfile:语法+指令+实战,自定义量化GGUF模型,精准控制推理参数

Ollama Modelfile 完全指南:从零开始创建自定义量化 AI 大模型

在 Ollama 中通过 Modelfile 自定义量化模型,可以让你在 Ollama 上运行任何 GGUF 格式的模型,并精确控制量化精度、推理参数和行为模板。本文将手把手教你掌握这一核心技能。

AI长程编程|一文搞懂什么是 Long-Horizon Coding?

AI长程编程|一文搞懂什么是 Long-Horizon Coding?

第一次听到「Long-Horizon Coding」这个词的时候,我脑子里想的是「哦,就是写很长的代码了」。后来查了下资料才发现,完全不是这么回事。这个词跟红杉资本那篇 《2026: This is AGI》 有很大关系 。他们直接把 Long-Horizon Agents(长程智能体)定义为「功能上的 AGI」——也就是 AI 终于从「聊天框里的回答机器」变成了「能自己把事情搞定的执行者」。

本文关键词:Long-Horizon Coding、长程代码生成、AI 编程智能体、SWE-bench、代码智能体基准测试、自主软件开发

一文吃透Ollama Embeddings:概念、实操、避坑,助力RAG落地|本地部署AI大模型必备

详解Ollama嵌入向量:从基础到实操,轻松实现语义检索

一文吃透Ollama Embeddings:概念、实操、避坑,助力RAG落地|本地部署AI大模型必备

在 Ollama 使用教程:本地大模型部署工具完全指南 中提到过 Embeddings,但写得比较简略。这篇文章单独展开说一下,因为我发现很多人在做 RAG(检索增强生成)时卡住的点其实并不在模型本身,而是对 Embeddings 的理解不够透,导致后面检索出来的东西质量很差。本文从Ollama Embeddings嵌入向量基础概念入手,详解其用法、场景及实操步骤,破解常见踩坑点,搭配 Ollama 命令速查手册 ,新手也能轻松上手。