记录一个Typescript的IoC容器的实现

前段时间在写一个玩Minecraft游戏的Agent项目maicraft-next ,它是原python项目maicraft的typescript重构。原项目中各种组件的依赖已经非常复杂了,于是重构的时候就打算引入类似Java Spring一样的IoC的实现。

为了学习相关的概念和实现,我并没有引入第三方的现成的框架,而是和Cursor 加Claude Sonnet 4.5协作写了一套轻量化的IoC容器。本文记录下这个实现,方便后续回看。

阅读更多

通过切换Service实现类来切换看板数据来源

最近做BI看板的时候遇到个需求,就是有时候需要切换看板所展示的数据(懂的都懂),但每次都手动改数据库视图后面再改回来比较麻烦,于是需要做一个快速切换公司内部看的真实数据模式和给客户看的演示模式的功能。

每个看板数据接口都加个参数侵入性太大肯定不行,通过配置来切换也比较麻烦,最后想到了大多数情况下都是一个接口对一个实现类的Service层。只需要根据配置的变动改变实现类,就能很轻松地实现数据来源切换。

有了想法之后,就和豆包讨论方案接着实施了,最后可以实现只需要加注解和新的Service实现类就能为看板添加新的数据来源的效果,还可以通过修改Nacos管理的配置来动态更新。

阅读更多

IDEA方法断点导致项目启动缓慢

前几天遇到一个Springboot微服务项目启动缓慢的问题,表现很奇怪,其他服务都正常启动,最多也就耗时两分钟,某个服务启动得特别慢,甚至用了半小时。

启动后,涉及该服务的某个接口响应也很慢,甚至超过30秒,然而对应的sql语句在数据库中执行是秒出结果。

它以前并不会这么慢,最近也没有什么特殊的代码改动。一开始以为是环境和中间件的问题,排查了很久发现竟然发现是方法断点的问题!

找出问题耗费了我一个上午,记录一下。助我解决问题的文章:IDEA DEBUG 启动慢,启动卡死,本地IDEA环境,千万千万不要在方法上打断点!太坑了!-腾讯云开发者社区-腾讯云

阅读更多

在服务器上部署第二个hexo博客

老弟也开始接触编程了,所以打算给他也搭建一个hexo博客。

本文主要记录在同一个服务器上部署第二个hexo博客的过程,hexo及其配置环境的安装不赘述。

阅读更多
腾讯云对象存储COS自建图床并配置Obsidian自动上传

腾讯云对象存储COS自建图床并配置Obsidian自动上传

博客的图片如果存储在本地,那么博客将会越来越臃肿,于是还是转回使用图床。免费图床不知道什么时候就用不了了,还是自建比较稳妥,至少能够自己把控。

为什么不在服务器上用minio之类的方案进行搭建,而是额外购买对象存储?因为服务器比较贵,说不定什么时候就不续费了,不想将太多东西绑在上面,对象存储则比较便宜,要是服务器不续租了图床也能继续用。算是一种“解耦”吧。而且服务器性能也有限,不想分出性能给图床。

原本想使用“轻量对象存储”的,但一看功能有点简陋,还是选好一些的吧,不弄轻量的,应该也贵不了多少。

本文将使用腾讯云对象存储搭建一个图床,并配置Obsidian和PicGo实现便利的上传图片功能。

有了自己的图床后,终于不必在写博客的时候担心图片怎么存储了,可以放心地插图。

阅读更多

记录一次若依管理系统部署练习

给新服务器搭建环境,以及部署一下若依后台管理系统,进一步熟悉部署流程,使用的是若依前后端分离版本。

因为主要是记录环境配置,所以若依部署的部分没那么详细。

服务器是腾讯云轻量应用服务器,Debian12。2核2G(但后面内存炸了,启动不起来,只能含泪加钱升级内存)

阅读更多

2024年底,hexo博客的迁移部署、升级和重启

2024年底,以前学生价活动租的腾讯云服务器的续费次数已经用光,租了个新服务器,以前挂在上面的服务都得迁移,五年前搭建的Hexo博客也是如此。

迁移之后,将相关依赖全都升级了一遍,又加了一些新的功能,比如夜间模式。

以前部署的时候很多东西不了解,现在基本上都能弄明白是怎么回事了。

阅读更多
自制的第一个vscode语言扩展插件

自制的第一个vscode语言扩展插件

最近迷上了TRPG(Tabletop Role-playing game,桌上角色扮演游戏),即俗称的“跑团”。玩家在主持人的引导下,扮演自己的游戏角色进行冒险。在结束之后,会有想要将这个过程记录下来的欲望,从而有了各种各样的“跑团replay视频”。

制作跑团replay视频比较复杂,但回声工坊这一高效工具的出现,让这个过程变得非常简单,只需要找好媒体素材(角色立绘、背景图片、BGM、音效等)以及处理一下跑团Log(即跑团游戏记录)就可以很快输出一集视频。

为了更加方便跑团replay视频的制作,我编写了一个vscode插件——TRPG Replay Generator Log——来方便跑团Log的处理。

本文对编写这个插件的过程做一个记录和总结。

阅读更多

《算法笔记》C与C++语言相关

这是一篇学习笔记,基于胡凡主编的《算法笔记》的第二章“C/C++快速入门”。

在学习那一章的过程中,我将其中之后用的到的内容整理为这篇笔记,适合了解C和C++语言的人用于复习其语法中与做算法题相关的特性与技巧。

本文中部分内容经过顺序调整和补充,不完全按照原书内容。详细内容请看原书。

阅读更多