blog icon indicating copy to clipboard operation
blog copied to clipboard

涵曦的博客

Results 94 blog issues
Sort by recently updated
recently updated
newest added

[ORM](https://zh.wikipedia.org/zh-cn/%E5%AF%B9%E8%B1%A1%E5%85%B3%E7%B3%BB%E6%98%A0%E5%B0%84)对象关系映射 (Object–relational mapping),一般是用来映射逻辑数据结构和数据库的,用于修改数据结构后自动生成 SQL 来操作数据库。但是这不适合游戏开发,游戏中修改内存数据一般都不是立即写入数据库的,因为修改内存数据后立即写入数据库的话就太频繁了,都会选择定时写入数据库,而且修改玩家的部分数据后不是完整的写入整个玩家的数据,而是只写入修改的部分。 定时写入修改的数据是比较容易实现的,但是只写入差异的数据就不是很容易,一般的游戏框架都只提供了接口用于手动进行脏标记哪块数据修改了,定时器到了就写入有脏标记的数据。如何让脏标记变得自动呢?之前写过一篇文章 [golang 脏数据模块](https://blog.hanxi.cc/p/90/) 是用于 golang 里实现自动标记数据变脏的,不过没有实现部分层级变脏,而是直接把 root 节点置为脏。 这一次想要实现的是在 Lua 中做一套内存数据和 MongoDB 数据库数据映射,内存数据修改后,通过元表的 `_newindex_` 来实现在对字段赋值时自动把数据标记为脏。然后定时把差异数据生成 MongoDB 的格式,类似这样: ``` { $set = { hash = {...

随写
Lua
玩具

## 本方案使用 Docker 部署,简单便捷无污染 > 推荐使用这个便宜的 VPS 部署,目前只要10刀一年,可以支付宝付款。 > https://my.racknerd.com/aff.php?aff=11177&pid=912 ## 服务端 采用 docker compose 管理:docker-compose.yml 文件如下 ```yaml services: caddy: image: caddy:latest container_name: caddy ports: - "80:80" - "443:443" volumes:...

教程
玩具

## 加速 Github Pages 域名 每加速一个回退源就消耗一个免费域名,加速 Github Pages 会消耗一个,即使有个多个 Github Pages 也只需要一个免费域名。 ### 前置需求 1. 在 申请免费域名,有 Github 账号就能申请到,一个账号能申请到 3 个域名。 2. 申请到的免费域名为: `githubtest.us.kg` 。 3. 需要加速的域名为: `xdocs.hanxi.cc` 。 4....

教程
玩具

## 步骤 1. 进入 adb 模式,连上 WIFI ,访问 即可打开 adb 。 2. 执行 `adb devices` ,确认 adb 连接成功。 3. 执行 `adb reboot bootloader` 进入 fastboot 模式。 4. 下载固件 ,只要下载下面三个即可。 -...

玩具