posts

文章归档

PlumePHP 全站文章的归档入口,按时间倒序汇总各专题的技术文章,并提供按主题浏览的专题分类入口。

这里是全站文章的归档入口,下面是按时间倒序排列的全部文章。若想按主题浏览,请从首页的专题分类进入。

全部文章

全部文章 Books game Java Indie golang 客户端开发 Minigame Saas rust Python
database

内存管理与落盘:查询内存、spill to disk 与 OOM 防护

本文系统讲解 ClickHouse 的内存管理与落盘机制,从查询级与服务级内存限制参数出发,深入 spill to disk 外部聚合与排序、JOIN 内存策略与算法选择、标记缓存与查询缓存占用,并给出基于 system.query_log 的 OOM 排查步骤与熔断队列限额防护方案,最后附生产参数模板与速查表。实测 100GB 聚合可将单机 RSS 从 90GB 压到 12GB。

12 分钟阅读
ClickHouse 内存管理 性能优化
vite

Vite 项目的 GraphQL 数据层:Apollo、urql、codegen 与缓存失效实战

在 Vite 项目中搭建 GraphQL 数据层的完整实践:Apollo Client、urql 与 TanStack Query 三条路线的选型对比、客户端初始化与环境变量配置、graphql-codegen 生成类型安全 hooks、开发期代理与 MSW Mock、查询与变更的封装与乐观更新、归一化缓存与失效策略、graphql-ws 订阅与实时数据,以及构建期 schema 校验、CI 门禁与高频陷阱清单。

8 分钟阅读
Vite GraphQL 工程化
Android 开发

Android 生命周期与 ViewModel

生命周期错配是 Android 内存泄漏与崩溃的主要成因,视图模型则是官方给出的隔离方案。本文梳理两者的协作关系:页面回调链路、生命周期与观察者、安全收集流的方式、视图模型作用域的自动取消、状态保存句柄与进程死亡恢复,以及声明式界面中视图模型与可保存状态的配合。文末附常见内存泄漏清单与对应的修复手段,帮你写出生命周期安全的代码。

11 分钟阅读
Android
cocos

《Cocos 游戏开发实战》4.1 资源目录与 Bundle

资源管线决定首包多大、加载多快。本节讲清 assets/ 的目录分层、resources 目录的特殊性、Bundle 到底是什么(内置 main/resources/internal/start-scene 与自定义 Bundle 的区别)、怎么把目录配置成 bundle-levels 分包、Bundle 优先级与依赖,以及代码里怎么拿到 Bundle,最后给出《方块冲刺》首包与分包的具体划分。

8 分钟阅读
Cocos Cocos 游戏开发实战 TypeScript
cocos

《Cocos 游戏开发实战》3.2 生命周期与执行顺序

组件挂上节点后代码何时执行,是卷二一半 bug 的根因。本节讲透 Cocos Creator 3.8 的七个生命周期回调、引擎一帧的调度骨架、@executionOrder 如何决定同类回调先后、director 的帧级事件钩子、schedule 与 scheduleOnce 定时调度,以及「节点未激活时 start 不触发」这类首帧陷阱,并给出打印验证顺序的步骤与输出。

6 分钟阅读
Cocos Cocos 游戏开发实战 TypeScript
cocos

《Cocos 游戏开发实战》14.3 原生 Android / iOS 构建

原生端是《方块冲刺》三端发布的最后一站,也是最重的一站:构建出来的是真正的 Android Studio 与 Xcode 工程,要管包名、ABI、签名、证书。本节给出两端的构建面板取值,讲清原生工程的结构与打包流程,附上可编译的平台判定脚本与三端差异对照表,最后把三端产物收进同一份发布清单。

10 分钟阅读
Cocos Cocos 游戏开发实战 TypeScript