×
提示:
×
提示:
请:
谢谢!
Toggle navigation
技术头条
最新
读点非技术
我也分享
赞过
我的
IT技术博客大学习
微博登录
1
短 ID hash 映射的问题
(blog.codingnow.com)
【简介】
我们正在开发的游戏中,会用一个 id 来表示一个游戏对象到底是什么。比如,“铁片” 是 1 ,“煤” 是 2 ,“采矿机” 是 3 …… 这样,在运行时,C 代码可以根据对象的类型方便的查询对象的属性。而对象的属性则是用 Lua 配置好,在运行期不变的。例如每燃烧一个单位的“煤”,可以产生 100KJ 的热量;一箱“铁片”有 100 个。
为了在 C 和 Lua 间快速共享这些配置数据,我还专门写了一个 cache 模块 。
问题出在 ID 的持久化上。因为游戏中的物品种类并不是特别多,出于时间以及空间性能的考量,我把 ID 设计为 16bits 。64K 种物品种类的上限看起来足够了。但 ID 的分配却比较麻烦。
点击查看全文 >>
由
@技术头条
2023-04-09 10:06分享 / 原作者微博:
@简悦云风
/ 0个评论
赞过的人:
@IT技术博客大学习
要不要再学学下面的文章?
1
如何利用链路追踪快速定位问题
(insights.thoughtworks.cn)
随着微服务应用数量的增加,服务与服务之间的调用关系变得复杂,导致系统问题定位困难。链路追踪可通过唯一ID标记请求的整个调用链路,记录每个节点,快速定位问题。
by
@Thoughtworks
2023-08-25 11:32 分享
查看详情
1
优雅的处理Git多帐号与代理问题
(www.iots.vip)
在工作中,常常会容易遇到一台电脑用多个 Git 账号的场景,比如账号 company 账号是工作用的,而账号 personal 是自己个人用的。 由于 Git 本身并没有多账号的机制,导致我们在默认设置下无法很好的区分哪个仓库使用哪个账号。 同时,在某些众所周知的场景下,我们无法直接访问到 Github 仓库,需要走一层 proxy 来加速我们的代码拉取与推送速度, 本文将使用 SSH config 相对优雅的解决这些问题。
by
@技术头条
2023-08-18 23:09 分享
查看详情
1
分布式数据库的一致性问题与共识算法
(thiscute.world)
谈到分布式数据库,不论是 Etcd/Zookeeper 这样的中心化数据库,还是 Ethereum 区块链这样的去中心化数据库,都避免不了两个关键词:「一致性」跟「共识」。
本文是笔者学习「一致性」和「共识」以及相关的理论知识时记录的笔记,这些知识能帮助我们了解 Etcd/Zookeeper/Consul/MySQL/PostgreSQL/DynamoDB/Cassandra/MongoDB/CockroachDB/TiDB 等一众数据库的区别,理解各数据库的优势与局限性,搞懂数据库隔离级别的含义以及应该如何设置,并使我们能在各种应用场景中选择出适用的数据库。
如果你对区块链感兴趣,那这篇文章也能帮助你了解区块链这样的去中心化数据库,跟业界流行的分布式数据库在技术上有何区别,又有哪些共同点,具体是如何实现。
by
@技术头条
2023-07-04 23:33 分享
查看详情
1
关于 MySQL 新版连接驱动时区对齐问题的研究
(www.diguage.com)
在一个项目开量验证过程中,发现 createDate 字段不正确,比正确时间晚了十四个小时。调研发现,这是一个非常典型的问题。现在把定位问题的思路和解决办法给大家做个分享。
by
@技术头条
2023-07-04 23:10 分享
查看详情
1
一次因为Mac系统升级引发的ssh无法免密登陆的问题
(wiki.eryajf.net)
公司内部安卓与 iOS 打包是通过内部的一台 Mac mini 主机上部署的 Jenkins 完成的,一切都看起来非常优雅且自如。我也正在忙自己的事情,突然一个开发小哥找过来,说发布过程有问题了,其中有一个步骤是在 Jenkins 中打完包之后,将包通过 scp 传到一台 centos 服务器上,从而提供给开发者进行下载。现在出现的问题是,scp 的时候让输入密码了。
by
@技术头条
2023-07-04 23:08 分享
查看详情
1
一次「找回」TraceId的问题分析与过程思考
(tech.meituan.com)
用好中间件是每一个开发人员的基本功,一个专业的开发人员,追求的不仅是中间件的日常使用,还要探究这背后的设计初衷和底层逻辑,进而保证我们的系统运行更加稳定,让开发工作更加高效。结合这一主题,本文从一次线上告警问题出发,通过第一时间定位问题的根本原因,进而引出Google Dapper与MTrace(美团内部自研)这类分布式链路追踪系统的设计思想和实现途径,再回到问题本质深入@Async的源码分析底层的异步逻辑和实现特点,并给出MTrace跨线程传递失效的原因和解决方案,最后梳理目前主流的分布式跟踪系统的现状,并结合开发人员日常使用中间件的场景提出一些思考和总结。
by
@技术头条
2023-07-02 23:39 分享
查看详情
1
同一 Entity 包含多个同类 Component 的问题
(blog.codingnow.com)
ECS 中,同一个 Entity 是否可以由多个同类型的 Component 构成?在 Unity 中,答案是可以。我们的引擎在设计之初也是可以的。
当时有一个问题:在 Lua 中,如何访问同类型的 Component ?如果有多个同类 Component ,最自然的方式是把它们放在一个数组里。但是、绝大多数情况下我们用不上这个特性,每次访问 Component 都加一次 [1] 或 [0] 的数组索引显得画蛇添足。若单个 Component 不用数组,多个才用数组,写起来又有极大的心智负担。因为这样做,它们就成了两个不同的类型。
后来,我们干脆利用 Lua 的特性,把数组和 Component 本身放在一个 table 中。如果有多个 Component 就把这个数组直接放在第一个 Component 的 table 内。就这样用了一段时间后,最后还是受不了这个脏技巧。等到用 C 编写 luaecs 后,就砍掉了这个特性。
by
@技术头条
2023-02-12 14:00 分享
查看详情
1
多年老司机,面对这些Go并发问题,也迟疑了
(colobu.com)
Go一向以它的简单易学而著称,我也遇到过同学说只需半天就能掌握Go语言了,两三年的Go开发经验就称专家了。
想比较Rust等编程语言,Go语言的确容易上手,查看Go语言的规范你也会看到,它的语言规范相比较其它编程语言非常的简短,的确可以一个小时就可以读完。但是如果你深入了解这门语言(其它语言也是类似情况),就会发现很多细节的地方,需要花谢心思和时间仔细琢磨琢磨。这不,我先来几道Go并发的源代码考考你,看看你能回答上来不?
by
@技术头条
2022-12-18 20:08 分享
查看详情
1
Linux 下解决 grep is directory 问题
(droidyue.com)
Grep 是一个很便捷有用的终端工具,它可以帮助我们快速过滤筛选出一些内容。通常配合 find 命令,可以实现更加强大的能力。
但是我们在执行的时候,总会遇到这样的错误提示输出:grep: ./example/android/.gradle: Is a directory。
之所以出现这个问题,原因是 find . -name "*.gradle" 匹配到了 .gradle 目录,而使用 grep 只是单纯扫描这个目录(非包含内部文件)没有任何意义。
还在解决方法有很多,可以轻松规避这个错误输出。
by
@技术头条
2022-08-18 23:30 分享
查看详情
1
Python爬虫requests爬取页面的编码问题
(www.ipcpu.com)
很多时候,我们发现,requests库返回的页面编码都是ISO-8859-1,需要指定为UTF-8才能正确读取。这是为什么呢?
by
@技术头条
2022-08-18 23:10 分享
查看详情
使用微博登录,分享你的文章到本站
评论:
提交评论
近一周被赞排行
分享文章被赞得多,您就会出现在上面。还能给您微博带来新粉丝哦!