准备开始开发笔记~
2024年8月7日
今年把自己的笔记越整理越少,感觉现在的笔记比较以前有用多了。 这两年来一直在做减法,一点也不简单,自己的生活,工作都太臃肿了。
最近一直在整理 golang 的代码。把自己工作中,业务中比较有共性的服务抽出来。方便以后使用。 看来要整理的东西不少。
2024年8月8日
业务上做了一个排队的逻辑,是不是后面考虑做成一个排队系统。
排队的业务逻辑是:(以游戏区服为例)
1、用户要进入一个区服玩游戏,要先申请该区服是否有坑位。
2、如没有则进入该区服的队列中,如果有,则直接进入。
3、另有协程,用定时器,每隔一段时间就去申请是否有坑位,如果真进入,把用户从坑位中退出来。 4、用户可以取消排队。 5、考虑用户的VIP属性,即可以插队。(业务上并没有要求这一点,自己在设计时想到的)
想到的就是用 redis 的 zset 来现实。
用 区服ID 做 key, 用户ID 做 menber, 申请时间做 score。
考虑加入到 VIP 特性。可以在申请时间前面加一个权重, 所以 score 是 weigth + apply_time。
zset 按时间大小排序,越早申请时间越小,越排在前面。 zset 成员对应的位置越靠前。 注意 zset 是从 0开始,所以结果要加了1。
操作如下:
加入队列用 Zadd key menber score
拿出队列中的第一个:ZrangeWithScores key 0, 0
出队列: Zrem key menber
查询在队列中的位置: Zrank key menber
查询出队列的长度: Zcard key
其实,以前也有用 redis 的 zset 做过游戏的排行榜, 方法大同小异吧。
2024年8月9日
整理了一下公司的文档,工作中要记文档,但也别写太多的文档,把主要工作给淹没了。多写文档还有好处的,能正确清晰的表达出来。说明已经很好的理解了。
自己的写的一个服务,紧紧张张的完成,设计方案还可以,但是去发现有三个英文单词写错了。糟糕的是有两个是对外提供的接口上了。写了那么多的代码没有发现写错了,是不是很奇怪? 因为我们定义好之后,很多时候vscode 的插件会自动提醒我怎么写,不断的按 tab 或 enter 就以了。 特别是现在用了 ai的插件之后,现加方便了很多。 但这不是主要原因,主要原因还是自己粗心和自己的英文弱项。
2024年8月10日
今天加班!
整理了一个 golang 的公共库,但我又不方便在 github 公开。所以放在本地。那又如何方便的引用本地的呢?
写了一个 ws 的简单服务,如果对 websocket 还没真正用过。要了解一下 websocket 协议的内容才行。
在了解 websocket 时,找到了一个学习的 blog c++后端开发的,记录一下:
2024年8月14日
工作上的时间安排并不是很合理,一周内要完成的都高优先级的。即:一、二、三、四等等的事项并排最高优化。我自然是觉得这样不科学,但是相关人给的回复让我有点无语了。
当然,我应当反思自己的沟通方式。 年纪越来越大,自己的说话的方式和沟通技巧好像没有很大的进步。