近期做项目时遇到一个场景,是需要在后端任务执行时动态注入策略。具体而言,笔者负责的后端服务,可以理解是会在线上服务发布时,对服务风险做实时扫描,那么这个扫描就需要根据当前线上服务发布上下文,匹配对应的策略。但这里扫出来的策略都是静态持久化的,前端也有产品化的配置,而有些业务则希望能够在任务执行时,动态注入一些业务自己理解需要的扫描策略,不在前端做静态配置。
对于这类定制化需求,笔者想到的一种比较低成本实现的方式是这样的:
近期做项目时遇到一个场景,是需要在后端任务执行时动态注入策略。具体而言,笔者负责的后端服务,可以理解是会在线上服务发布时,对服务风险做实时扫描,那么这个扫描就需要根据当前线上服务发布上下文,匹配对应的策略。但这里扫出来的策略都是静态持久化的,前端也有产品化的配置,而有些业务则希望能够在任务执行时,动态注入一些业务自己理解需要的扫描策略,不在前端做静态配置。
对于这类定制化需求,笔者想到的一种比较低成本实现的方式是这样的:
《逸剑风云决》算是笔者认为近10年最好的国产游戏之一,不亚于黑神话。从24年开始笔者已经玩了很多个周目,甚至黑神话也没玩,终究还是因为《逸剑风云决》本格的武侠风格确实对到了笔者的胃口,并且用UE4做的效果也还不错。今年新出了2个DLC,也倒逼笔者重新开了一周目,素麟猖獗,打了次极难8+31娜乌线完整结局,204600点数。期间参考了很多攻略,踩了挺多坑,因此笔者今天就简单分享一下自己的攻略整合。
首先先列出笔者参考过的攻略合集,包括:
因工作原因,近期笔者以相对偏IC的身份,牵头一个两个team共建项目的产品研发工作。在这个过程中,笔者也简单积累了一些IC工作的经验,踩了些坑,也有一点阶段性成果。这篇文章就根据自己经验聊聊作为IC角色,怎么去把控整个产品研发的规划和节奏,给一些实战当中的Tips。
整体来看,首要任务是了解自己角色需要做些什么去推动整个项目运作,其次是拆分任务确定哪些先做哪些后做,最后才是做技术实现,每一步都把最关键最优先的成果做出来。
在AI助手时代,OOM的问题排查方法论已经非常烂大街,但在实际工作中,即便我们通过很多方式查到了OOM问题,但修复还是要我们自己手动修。OOM会导致服务不可用、系统不稳定等问题,会直接影响用户体验,所以从稳定性问题解决优先级来看,是属于比较高的。
因此,今天笔者就简单从自身经验出发,聊一下OOM问题的排查和解决经验。从事情上来看,轻排查,重解决。排查的手段很多,但怎么解决,就需要我们自己根据实际情况来决策。
近期笔者因为工作原因,开始启动team内部部分技术项目的重构。在事情启动的过程中,内部对于这件事情的定性和投入有一些争论,但最终还是敲定了下来。其中部分争论点主要在于产品形态,因为事情涉及到跨部门合作,所以产品形态怎么符合双方的利益是比较重要的。在这个前提下,然后才是技术设计上面,怎么能够迎合长久合作的需要。
因此,今天笔者就简单聊一下,怎么去做到让技术架构设计和预期产品形态能够做到有效平衡。
在先前一篇文章中,笔者给大家提到了go语言后端编程可以用wire依赖注入模块去简化单例服务的初始化,同时也可以解决服务单例之间复杂依赖的问题。但实事求是来讲,用wire也是有一些学习成本的,wire在帮助解决复杂依赖的问题同时,也会限定你去用一些特定的编程方式来满足wire的需要,尤其需要你interface给用的更加灵活。
因此今天这篇文章,笔者结合自己的经验,就和大家浅分享下,wire和interface配合的一些经验,让大家以后用wire的时候避免一些坑。
在先前的文章中,笔者分享了go语言monorepo基本的一套代码架构设计。以这个设计为基础,今天这篇文章就聊一下具体里面的代码怎么编写起来比较舒适。
关于每个微服务自己的代码,其实在wire依赖注入这篇文章有提到过一套比较简洁的用法。如果大仓对应的服务集群有很多三方依赖,有很多错综复杂的模块的话,对三方依赖做一层抽象,加上用wire去解决重复依赖问题,是最为舒适的一套解法。当然在这个基础上,其它各模块,尤其是公有模块(lib)需要如何做代码实现,这部分是需要额外推敲的,今天这篇文章就浅聊一下。
最近玩FPS游戏的时候,发现以前一顿操作超频之后的电脑,有一定概率会出问题。具体表现比如一种是,电脑显示器直接黑屏,所有键盘交互没有响应,只能直接重启电脑,还有一种是偶现卡顿,直接死机或者卡出游戏之外。
经过排查和上网查资料发现,可能是由于超频之后,CPU的电压输出不稳定,导致偶现显示器分配到的电压比较少,最终无法正常工作。对于这类情况,笔者分享下自己的一些解决方案:
近期大模型Agent应用开发方面,MCP的概念比较流行,基于MCP的ToolServer能力开发也逐渐成为主流趋势。由于笔者工作原因,主力是Go语言,为了调研大模型应用开发,也接触到了mcp-go这套MCP的SDK实现。
对于企业内部而言,在这个SDK基础上做封装,基本上就能够完善MCP-Server的开发生态。因此今天就简单看一下这个SDK里面,实现了什么东西。
首先是Client连接的实现,这里可以看到每次连接都需要InitializeRequest、InitializeResult以及InitializeNotification这三次握手。从Client角度看逻辑是这样:
最近在AI大模型领域,MCP这个概念非常火,大大小小的公众号都开始对外炒作这个概念,宣教一种新的大模型Agent开发生态。因为工作原因,近期笔者也对MCP和LLM-Agent开发做了一些接触。因此今天这篇文章就浅聊下笔者对基于MCP的LLM-Agent开发方面,自己粗浅的一些理解。
首先还是聊一下什么是MCP,以及MCP在LLM-Agent开发方面,解决了什么问题。