共 28 篇文章
和 C++ 相比的话 Go 最大的特点和优势自然就是语法的简洁了,比如写并发,go 自带协程和 channel,写法更直观也更简单,而 c++ 要用线程和锁自定义来写;另外像是内存管理和部署方面,go 的垃圾回收和天生的跨平台编译与容器化都很方便,不需要手动管理内存,一条命令就可以产出可执行文件,并且 go 还自带了性能分析等工具;同时 go 的性能与 c+
A:这个项目是我为我的独立游戏《月华》的联机版独立开发的后端服务器,整体是用 Go 语言的 Gin 框架和微服务架构实现的,目前主要实现了玩家的注册登录、身份认证、对战房间和卡牌核心逻辑以及实时同步的开发,我是使用 Gin 构建了 RESTful API 来和前端服务通信,通过 JWT 做身份校验,然后用 GORM 和 MySQL 来持久化玩家与进度数据,还
A:
A:微服务将单体拆成按业务能力划分的小服务,优点是强解耦、独立部署、弹性扩缩、技术栈多样、故障隔离与快速迭代,缺点包括网络延迟提升、分布式事务与一致性复杂、观测与运维门槛较高、接口管理和安全边界昂贵;每个服务是通过轻量 API 通信并独立生命周期,团队可以自主交付,但跨进程调用可能带来不可预测的延迟,服务数量激增时运维和监控成本也会激增
嗯有挺多的其实,有一次我是接到要在项目里写一个新接口的任务,但其实 mentor 给的指令和要求是比较模糊的,所以我就先自己主动去跟前端的同事沟通,询问他们对于这个接口的需求是什么,要返回什么数据然后如何请求等,然后再跟 mentor 确认了一遍实现思路之后我才真正开始写,最后因为需求比较清晰很快就写完了
A:**帧同步**是指所有客户端在相同时间步长也就是同一帧上同步输入指令或操作,然后每个客户端在本地根据这些输入来运算游戏逻辑,生产相同的状态,比如一个客户端将自己本帧内的操作发送到服务器,服务器在同步时刻将所有玩家的输入打包发送给所有客户端,
A:通过使用 atomic 头文件引入原子变量实现原子操作,保证引用计数同一时刻只能有单个线程操作,从而实现线程安全;一般来说其开销相对不高,基本上是硬件级别的低消耗,但在高并发场景下遇到多个线程对引用计数频繁修改时,可能会遇到瓶颈