本文是对游戏中逻辑数据的配置的一个总结。游戏逻辑数据的配置,是mmo游戏首要考虑的问题,从字面意思看就是简单的生成游戏逻辑配置,让前后端加载即可;实际上往中后期的测试和调试来讲,却又不是一个简简单单的游戏逻辑配置问题
游戏开发-epoll笔记
网上有视频和一些博客虽然对epoll的原理进行了讲解,但仍然有些不详细的地方,重新梳理epoll的实现,并整理笔记记录一下;参考的文章很多粗制滥造,所以现在看文章都非常注意了,介绍原理的文章中讲到了一个核心点,就是有poll,select,为什么还要有epoll,答案是提高应用程序的效率,此文章首先讲到了select的实现方式,归根结底将轮询socket的状态,通过增加另外的数据结构来优化这部分的阻塞。因此是增强版的poll和select。
LuaJit的64位编译问题
很早以前cocos2dx项目中使用luajit,不支持64位;现在升级到cocos2dx4.0以后同样遇到这个问题,好记性不如记录下来。
dapr中使用分布式配置中心
本文记录gozero微服务在k8s中使用dapr的配置组件,做为分布式配置中心完整方案;因为agile使用的pgsql的数据库,这里首先在agile数据库中新建pgsql表,建立触发器通知dapr,agile微服务中改进为发布时往keyvalue表中插入配置以触发通知dapr,dapr再通知各个关注的微服务。
gozero微服务中通过dapr sdk,解析获得的配置数据。
golang笔记-jwt的使用
JWT在微服务中的认证中经常使用,本文记录jwt搭配gin来给app的api接口提供基本的认证服务,首先介绍jwt的封装,然后介绍实现gin认证的中间件以提供jwt的认证,最后介绍一下token过期时,token的刷新过程。
golang笔记-gcfg组件
从ini配置文件中读取服务器配置,是开发中常见的任务,这种从文件中读取固定配置和从配置中心读取统一配置,可以相互配合,给运维提供灵活的方法,本文记录使用gcfg组件读取ini文件的简单方法。
golang笔记-redis的stream试用
本来打算在项目中部署使用rabbitmq,发现对于app应用,rabbitmq还是有点重,考虑到使用和维护难易度,redis在5.0版本以后提供了消息队列功能,也就是stream的相关命令,这里对使用这个组件的一些笔记,生产环境中运行稳定良好。
golang笔记-logrus组件
最近看golang1.21的发布时,看到已经有结构化日志库提供了,不过在项目中我经常用的到日志库是logrus。本文总结logrus的使用,并用笔记记录。logrus除了是结构化日志以外,我更看重的是有很多外部的hook支持,最初选择是因为可以向logstash发送日志。
FreeBSD源码笔记06-内核调试指南
本文结合上文交叉编译内核后,记录内核调试方法的整个过程,分三步,编译可调试内核,部署调试符号,使用vscode调试.只有通过修改源码,才能真正理解代码,真正理解代码背后的设计思想,所以要多动手尝试,慢则是快.
FreeBSD源码笔记05-内核交叉编译
本文讲述在mac os x下编译freebsd内核源码的整个过程,为调试内核源码打下基础.