- 博客(58)
- 收藏
- 关注
原创 令牌桶按用户维度限流
那基于请求速率的限流(更贴近生产的需求), 阁下又该如何应对?那这个问题就从全局速率变成了按照来做限流,那么早先的全局的rateLimiter就要变成 userid:rateLimiter的键值对, select count( * ) from table ---> select userid, count(*) from table group by userid使用缓存组件来存储维度键值对: 缓存的剔除机制来清理不再访问的键值对 (30min过期,10min周期清理内存)。
2025-11-21 12:24:29
281
原创 前端跨标签页通信方案(下)
面试官有提到Service Worker也可以,我面试完后的查询资料尝试了这些方法,都挺顺利的,就是Service Worker折腾了一会才跑通,使用起来相比前面的一些方式,它稍微复杂一些,我觉得用于消息通信只是它的冰山一角,它有一个主要功能就是用来解决一些耗性能的计算密集任务。
2025-11-21 12:23:39
886
原创 【RabbitMQ】主题(Topics)与主题交换机(Topic Exchange)
destPath: 'xxxx/a.zip' // destPath是接收文件的自定义路径,完整的沙箱路径是fileStoragePath+destPath,详情请参见应用沙箱目录。srcPath: '/data/xxxx/a.zip', // srcPath是需要发送文件的沙箱路径,详情请参见应用沙箱目录。needShowSystemUI: false // 是否展示系统UI,true为展示,false为不展示,默认为false。若当前设备为接收端,请设置为true,否则请设置为false。
2025-11-20 17:34:20
587
原创 《HelloGitHub》第 期
因为终结器的执行顺序是不固定的,当SampleObject对象被终结器触发析构函数时,其他对象(比如_mo)可能也触发了析构函数。造纸在SampleObject执行Dispose时,有可能_mo的Dispose()方法被执行了2次(自身一次,外部调用一次),从而造成意外后果。释放模式是Dispose模式和析构函数(finalizer)的结合使用,目的是为了确保资源能够被正确释放,无论是通过显式的调用Dispose方法,还是在对象被垃圾回收器(GC)回收时触发析构函数。正常情况下我们的代码问题不大。
2025-11-20 17:33:10
630
原创 Manim实现闪电特效
TRPO 用共轭梯度法求解带约束的优化问题,需要计算 Hessian 矩阵(目标函数的二阶导数)。PPO(Schulman et al., 2017)用一阶优化 + 巧妙的目标函数设计达到 TRPO 的效果,成为深度 RL 和 RLHF 的标准算法。过大(如 10),说明新旧策略差异巨大,重要性采样失效,梯度估计方差爆炸。新策略分布:P("多喝水")=0.5, P("休息")=0.35, P("吃药")=0.15。旧策略分布:P("多喝水")=0.3, P("休息")=0.4, P("吃药")=0.3。
2025-11-20 17:32:03
816
原创 ICollection
先来看下kcontext()的代码。塘蓉俾榔随着处理器主频的越来越高,每次读写一次磁盘要耗费很多个时钟周期来等待磁盘操作的完成,与其傻傻等待,在这等待的过程中我们可以做更多有意义的事情,如当第一个程序需要等待输入输出的时候,切换到第二个程序来运行,第二个程序也等待输入输出的时候就可以切换到第三个程序,以此类推。进程是执行中的程序,除了可执行代码外还包含进程的活动信息和数据,比如用来存放函数变量、局部变量、返回值的用户栈,存放进程相关数据的数据段,内核中进程间切换的内核栈,动态分配的堆。
2025-11-20 17:30:49
774
原创 【Android】基于SurfaceControlViewHost实现跨进程渲染
现实生活中,若宫保鸡丁的必需食材(例如花生)突然缺货,真正的专业厨师会主动寻找替代食材,而不会要求顾客重新“下指令”或“换个点餐方式”。同理,在软件中,一个设计得足够“智能”的对象,也应该能在外部条件或业务需求变化时,自行调整内部逻辑,而不影响调用者的使用方式。对 AI 的误导:当 AI 工具在大规模代码库中搜索或补全时,见到“RestaurantService”可能以为这里面能找到任何与餐厅运营相关的逻辑,补全时也可能把更多不相干的功能(例如“采购食材”、“营销活动”等)一股脑塞进来,很容易导致上帝类。
2025-11-20 17:28:06
585
原创 PHP “真异步“ TrueAsync SAPI 与 NGINX Unit 集成
因此,我们不能根据顶点来判断,而是要根据边来判断,条件是不能走上一次走过的边。x 父亲节点的集合,即 fa[x] = father,而其它的操作都正常。// 可以这么想一想,如果 v 和 x 不属于同一颗 LCA 的儿子的子树,那么既然 v 已经访问完毕,答案肯定是 v 的集合首领。x 是一个强连通分量上的一个点,那么在栈中在它后面放入的点且现在还在栈中的点与它就可以组成一个强连通分量。// find(v) 才是真答案,因为 find(v) 已经将 v 的集合首领变为 find(v) 了,而 x 还没有。
2025-11-19 21:27:20
554
原创 PHP 桌面端框架NativePHP for Desktop v 发布!
单击知识库检索节点,配置输入下方Query变量参数值为意图识别节点的输出output,然后点击知识库右侧的+按钮,在弹出的选择知识库页面中添加刚刚创建的知识库。智能客服助手的搭建其实有很多方式,比如使用fastgpt、dify这样的智能体平台也是可以的,但是选择coze是一个非常简便、快捷的方案。第二、技术的发展绝对不是跳跃式的,而是建立在前一阶段的基础上的,是一种渐进式的发展。而,智能体就是对话的载体,MCP就是业务数据和智能体的桥梁,让传统的业务接口,通过对话的方式,实现业务交互。
2025-11-19 21:23:48
133
原创 在PySide/PyQt的开发框架中,增加对表格多种格式录入的处理,以及主从表的数据显示和保存操作。
陕奖殴纺然后只需要提供一个已经初始化为 0 的字节数组作为内存、一个指向数组的指针、以及用于输入输出的两个字节流就能够让程序运行了。比如 Hello World!程序就可以写成:CopyC# 类型系统入门#既然要用 C# 类型系统来构建 Brainfuck 的编译器,我们需要首先对 C# 类型系统有一些认知。泛型系统#C# 的类型系统构建在 .NET 的类型系统之上,而众所周知 .NET 是一个有具现化泛型的类型系统的平台,意味着泛型参数不仅不会被擦除,还会根据泛型参数来分发甚至特化代码。
2025-11-19 21:19:49
412
原创 【模板】动态 dp 学习笔记(树剖版)
反而在每次循环的循环体中,通过batchNo从数据库中捞取的数据在处理完之后就没用了,younggc的时候自然消亡,完全不参与相关younggc运算。由于younggc耗时高集中在几台机器上,于是笔者登陆上那几台机器,发现在younggc耗时变高的时候都出现了nr_throttled,也就是当前容器的CPU时间片消耗达到了配置的cgroup上限,导致被kernel强制offline了。比较了相关的业务日志,笔者敏锐的发现了一个不一样的地方。看着这微小的改动引起了这么大的变化,这是不可能的。
2025-11-19 21:16:11
305
原创 谈表达式树的缓存():使用二叉搜索树(AVL树)
先来看下kcontext()的代码。嗽旱豢迟随着处理器主频的越来越高,每次读写一次磁盘要耗费很多个时钟周期来等待磁盘操作的完成,与其傻傻等待,在这等待的过程中我们可以做更多有意义的事情,如当第一个程序需要等待输入输出的时候,切换到第二个程序来运行,第二个程序也等待输入输出的时候就可以切换到第三个程序,以此类推。进程是执行中的程序,除了可执行代码外还包含进程的活动信息和数据,比如用来存放函数变量、局部变量、返回值的用户栈,存放进程相关数据的数据段,内核中进程间切换的内核栈,动态分配的堆。
2025-11-19 21:13:00
610
原创 年互联网大趋势之一:结构化的数据
具体的才是频繁变化的,所以需要把变化的部分划分出来,使之可以在继承框架下既能重用也能独立变化,而不引发较大的影响,这就是继承的真正价值 —— 它帮助开发者在抽象与细节之间找到平衡,通过自下而上和自下而上的设计方法,引导我们从在局部与整体之间逐步完善对问题的认识。面对问题的时候,首先应该直面你面对的是什么问题,只要明确了问题,然后进行一般性的定性后,抽象也就出来了。比如看到狗、猫、鸟,然后观察它们的行为,随后,我们总结它们有一些共同点,比如都会吃和睡觉,于是抽象出“动物”这个概念,也知道了动物都需要吃和睡。
2025-11-18 22:31:23
363
原创 Dot Net下实现屏幕图像差异获取v.
在不断的迭代中,算法可能会组合出像 10101(价值37)或 10001(拿水壶和手电筒,价值22,但体积小,为后续组合留空间)这样的优秀基因,并最终可能找到一个比37元更优的解(如果存在的话)。总体积 = 7L (<8L),总价值 = 10+15+12 = 37元。而是通过保留高价方案(选择)、组合不同方案的优点(交叉)、以及偶尔尝试新选择(变异),像搭积木一样,一步步地“进化”出接近最优的装包方案。染色体 10101 表示:拿水壶(1)、不拿书(0)、拿零食(1)、不拿外套(0)、拿手电筒(1)。
2025-11-18 22:28:03
229
原创 Visual Studio 实用功能总结
free-threading版本的python旨在提供与启用GIL功能python版本类似的线程安全行为,通过内部锁来实现dict、list 和 set这些内置数据类型的线程安全。从3.13版本开始,python引入了free-threading功能,其中GIL可被关闭,python线程可充分利用多核cpu资源,这里做下简单介绍。这里使用源码编译的方式安装python3.14.0版本,如果嫌麻烦,可直接下载预编译的二进制文件。1)通过源码安装时,需要添加 --disable-gil 标志;
2025-11-18 22:24:14
348
原创 Silverlight MMORPG网页游戏开发课程[一期] 第三课:封装游戏控件
这里需要知道dapo的reward_manager_cls 具体是什么,因为reward需要batch数据才能计算,因此对于reward manager咱们先按下不表(其实dapo对应的reward_manager_cls是在verl/verl/workers/reward_manager/dapo.py),先去dapo_ray_trainer.py看一下batch是怎么采样的,再回来仔细阅读reward的具体计算方法。# max_num_gen_batches是最多可以使用的gen_batch的个数。
2025-11-18 22:19:51
261
原创 快速实现一个简单的bigpipe模型
Middleware: 针对不同的执行时序节点,系统提供了三种 Middleware: Middleware System、Middleware Global和Middleware Local,从而可以实现更精细化的切面逻辑。this.scope.model.xxx: 没有使用依赖注入,而是使用依赖查找,直接通过 scope 对象获取 model 实例,从而简化代码的书写风格。外部切面: 在不改变 Class 源码的前提下,从外部为任何 Class 的任何方法切入逻辑。痰材乙牌VonaJS AOP编程。
2025-11-18 22:15:52
346
原创 做一个成功的软件架构师需要哪些素质?
Font里有各种各样的表,存储了Unicode code point与GlyphID的映射关系,每个Glyph绘制时的advance width 和left side bearing等,后续会有单独的文章详细解析Font文件内容,这里先理解二者的概念。一个字符可以有多种方式绘制,比如字母A,可以有不同的大小、粗细、斜体、衬线等,但都是同一个字符;这些不同的绘制方式,都叫字形。Character也叫字符,是一个抽象概念,比如字母A、中文你等都可以视为一个字符,它只是一个语义单位,不关心具体长什么样。
2025-11-17 21:10:43
294
原创 [原创].NET 分布式架构开发实战之一 故事起源
软件也存在这样类似的东西,这种东西我们也称之为“壳”,两者的目标都是一样的,都是用来保护,而“壳”用来保护可执行程序资源,避免被其他人窥探和篡改,但是壳又不会改变或影响原程序的功能。修改入口点:修改生成的可执行文件的“程序入口点”(OEP, Original Entry Point),使其指向外壳程序的代码,而不是原始程序的代码。系统在执行这个新程序的时候,先去执行壳程序,由壳对原程序进行解压(或解密)并还原到内存中去,系统将正常执行原来的程序。“壳”的具象理解就类似花生壳,用来保护里面的花生仁。
2025-11-17 21:06:45
263
原创 ()十分钟内安装,配置,使用Windows Server Appfabric
声明了Seq2SeqEncoder(Encoder),其是seq2seq编码器部分的实际定义,其输入是一串原文,然后经过了nn.Embedding,将输入的token序列转换为token-embedding,然后送入nn.GRU,得到了两个值:最后一层rnn的所有时间步的隐藏状态output(shape=num_steps,batch_size,num_hiddens),所有层rnn的最后一个时间步的隐藏状态h_n(shape=num_layers,batch_size,num_hiddens)
2025-11-17 21:01:55
708
原创 WPF企业内训全程实录(下)
本相似度计算逻辑,在保证性能和效率的前提下,获取到的结果可能并不是最优的。可模型本身并不知道公司的各种产品信息,所以需要我们在给模型发送问题的时候,将产品?户提出问题后, RAG 会根据问题的内容,在所有的?,向量所包含的信息也就越丰富,使?个基于 RAG 的问答系统的完整流程,包括?,也就意味着向量对应的?它为存储向量做了很多优化,还提供了计算向量相似度等相关的函数,?云百炼的专业向量模型,其处理逻辑对于相关性提供了较好的?户问题的向量,与向量数据库中的向量进?户问题的相关性较低,您可以尝试调整召回的?
2025-11-17 20:57:24
840
原创 C#实现平衡多路查找树(B树)
这种分离设计保证了文档的可读性和配置的安全性。名单包括:@a74nh、@am11、@filipnavara、@huoyaoyuan、@martincostello、@Sergio0694、@vcsjones 等 15 位成员。大量使用 @dotnet/xxx 形式的团队标签(如 @dotnet/jit-contrib、@dotnet/ncl),便于批量通知和责任追溯。垃圾回收(GC):CoreCLR 的 GC 由 @Maoni0 负责,Mono 的 GC 由 @agocke 负责并咨询 @BrzVlad。
2025-11-16 15:35:19
270
原创 灵动思绪EF(Entity FrameWork)
DataGrip 除了从脚本文件、CSV、TSV 或具有分隔符分隔值的文本文件导入之外,你还可以使用你喜欢的格式导出数据,包括 CSV、JSON、HTML、Markdown、Excel 等,你甚至可以自行创建格式!商业版的所有功能均可供使用,包括 AI 赋能的代码补全、智能查询控制台、类似 Excel 的数据编辑器、Git 集成,以及对多种数据库的支持。DataGrip 可根据自己的偏好,通过浅色和深色主题、全彩自定义、可定制的按键映射和语言插件调整工具的外观和配置。DataGrip 支持的数据库。
2025-11-16 15:31:05
325
原创 继电器是如何成为CPU的()
伽马校正是对颜色值进行非线性变换的过程,其核心是通过幂函数(γ函数)调整亮度值,使人眼感知更均匀。数学表达式为:输出 = 输入^γ,其中γ=0.45用于编码(sRGB到线性空间),γ=2.2用于解码(线性空间到sRGB)。// 线性转sRGB。:8位色深(0-255)下,通过伽马编码为暗部分配更多值域,亮部分配较少值域,更符合人眼感知特性。在PS中工作于线性空间(编辑→颜色设置→RGB工作空间改为"显示器RGB"):在线性空间计算光照和混合(如PBR),避免亮度计算错误。// 手动伽马校正(线性空间计算)
2025-11-16 15:27:07
536
原创 猫哥网络编程系列:HTTP PEM 万能调试法
HDRP引入更高精度的光照贴图UV生成和分辨率控制,URP随后适配简化版流程,如自动生成Lightmap UVs功能。Unity 5.x之前采用Enlighten光照系统,仅支持静态物体烘焙,动态物体需依赖Light Probe间接光照。URP整合了轻量级烘焙管线,支持混合光照模式(Mixed Lighting),允许静态物体烘焙阴影与动态物体实时交互。光源设为Mixed模式,静态阴影烘焙到光照贴图,动态物体接收实时阴影。:远景物体降低Scale In Lightmap值。
2025-11-16 15:22:43
369
原创 开源:开源协议从入门到落地
开源:共享与协作的技术盛宴 在软件开发领域,开源是一股强大的力量。它不仅促进了技术的快速发展,还让全球开发者能够共同参与,创造出无数优秀的项目。 开源协议是开源
2025-11-16 14:46:34
306
原创 一步一步学习使用LiveBindings() 实现对JSON数据的绑定
verl/trainer/ppo/core_algos.py不同的RL方法计算pg_loss是不同的,这里的是ppo的pg_loss,后面还会介绍gspo的pg_loss的实现。整体的ppo_loss是由pg_loss + kl_loss + entropy_loss构成,不同的RL方法pg_loss, kl_loss的计算方法是不同的。# 记录在传统ppo下,进一步裁减的A<0的IS大于clip_ratio_c的token在 这个batch的所有未mask的token的比例【常数】
2025-11-15 16:36:59
787
原创 网上查了一些资料,TTF转点阵字体,绕不开的就是描边矢量化。这个倒是有工具Potrace可以做。但是转成的点阵字,是按比例缩放的,在 ...
需要注意的是,低版本的 Cursor 是可以支持 MCP 服务 的,我使用的版本是 0.48.7。MCP 虽然功能强大,并且拥有广泛的应用前景,但在实际使用过程中,务必注意安全问题。实际上,配置 MCP Server 最核心的就是上述的 配置文件,前面的 图形界面步骤 并非必须,后续直接编辑 配置文件 也可以完成 MCP Server 的配置。Planning 模式:此模式用于生成详细的行动计划,非常适合在开始编写代码之前与 AI 进行沟通,清晰地分解任务,从而避免盲目操作导致的返工。
2025-11-15 16:32:01
276
原创 硬盘性能提升倍的秘密:看懂顺序I/O的魔力
本文将介绍基于 SurfaceControlViewHost 实现跨进程渲染普通 View 和 GlSurfaceView,力求用最简单的 Demo,介绍 SurfaceControlViewHost 的应用,方便读者轻松扣出核心代码应用到自己的业务中。// 创建SurfaceControlViewHost。// 将View附加到SurfaceControlViewHost。// 创建要渲染的View。
2025-11-15 16:26:50
831
原创 开源:gitee从入门到落地
开源:技术共享与协作的力量 在软件开发领域,开源是一种强大的理念和实践方式。它打破了传统软件封闭开发的模式,让全球开发者能够共同参与、贡献代码,推动软件技术不断
2025-11-15 03:06:45
357
原创 开源指南:gitlab、gitee与测试验证
开源:拥抱高效协作与创新的代码世界 在软件开发领域,开源是一种强大的力量,它促进了全球开发者之间的协作与知识共享。今天就来聊聊开源领域中常见的几个平台:gitl
2025-11-15 03:00:55
283
原创 [MCP][]使用FastMCP开发MCP应用
需要注意的是,低版本的 Cursor 是可以支持 MCP 服务 的,我使用的版本是 0.48.7。MCP 虽然功能强大,并且拥有广泛的应用前景,但在实际使用过程中,务必注意安全问题。实际上,配置 MCP Server 最核心的就是上述的 配置文件,前面的 图形界面步骤 并非必须,后续直接编辑 配置文件 也可以完成 MCP Server 的配置。Planning 模式:此模式用于生成详细的行动计划,非常适合在开始编写代码之前与 AI 进行沟通,清晰地分解任务,从而避免盲目操作导致的返工。
2025-11-14 14:07:23
847
原创 有点意思!Java后最有用新特性排行榜!
本文将介绍基于 SurfaceControlViewHost 实现跨进程渲染普通 View 和 GlSurfaceView,力求用最简单的 Demo,介绍 SurfaceControlViewHost 的应用,方便读者轻松扣出核心代码应用到自己的业务中。// 创建SurfaceControlViewHost。// 将View附加到SurfaceControlViewHost。// 创建要渲染的View。
2025-11-14 14:02:23
397
原创 别再乱排查了!Kafka 消息积压、重复、丢失,根源基本都是 Rebalance!
/去除内容两边的空。slf4j-api日志框架下载地址:https://repo1.maven.org/maven2/org/slf4j/slf4j-api/格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度,%msg:日志消息,%n是换行符。Logback日志框架官方网站:https://repo1.maven.org/maven2/ch/qos/logback/如果一个文件中放置的是XML格式的数据,这个文件就是XML文件,后缀一般要写成.xml。
2025-11-13 16:47:24
333
原创 记一次 .NET 某药品缺陷高速检测系统 卡慢分析
但是,当我们有很多个并列最小的数时,对这些数删除的顺序是有讲究的。每次只能删除最左边或最右边的数,否则一定会产生两个相等的数交换位置的情况。这样,才能保证后面被删除的数是最优的。,然后再将前后的数合并,即将要删掉的数删掉。对一个序列分成三段,一段为要删的数前的数,一段为其自己,一段为其后面的数,启动次数就是前面的数的。其实树状数组也可以用,又快又好些,吹普常数大的没边,但我是范浩强吹普死忠粉,我就要用。小 D 认为一个整数序列是好的,当且仅当它先(不严格)上升,后(不严格)下降。,他想让这个序列变成好的。
2025-11-13 16:42:06
404
原创 研发的那些事--个PM的游戏
/去除内容两边的空。slf4j-api日志框架下载地址:https://repo1.maven.org/maven2/org/slf4j/slf4j-api/格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度,%msg:日志消息,%n是换行符。Logback日志框架官方网站:https://repo1.maven.org/maven2/ch/qos/logback/如果一个文件中放置的是XML格式的数据,这个文件就是XML文件,后缀一般要写成.xml。
2025-11-12 15:05:42
482
原创 使用memc-nginx和srcache-nginx模块构建高效透明的缓存机制
但是,当我们有很多个并列最小的数时,对这些数删除的顺序是有讲究的。每次只能删除最左边或最右边的数,否则一定会产生两个相等的数交换位置的情况。这样,才能保证后面被删除的数是最优的。,然后再将前后的数合并,即将要删掉的数删掉。对一个序列分成三段,一段为要删的数前的数,一段为其自己,一段为其后面的数,启动次数就是前面的数的。其实树状数组也可以用,又快又好些,吹普常数大的没边,但我是范浩强吹普死忠粉,我就要用。小 D 认为一个整数序列是好的,当且仅当它先(不严格)上升,后(不严格)下降。,他想让这个序列变成好的。
2025-11-12 15:00:21
288
原创 AI 赋能的故障排除:技术趋势与实践
/去除内容两边的空。slf4j-api日志框架下载地址:https://repo1.maven.org/maven2/org/slf4j/slf4j-api/格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度,%msg:日志消息,%n是换行符。Logback日志框架官方网站:https://repo1.maven.org/maven2/ch/qos/logback/如果一个文件中放置的是XML格式的数据,这个文件就是XML文件,后缀一般要写成.xml。
2025-11-11 14:27:32
722
原创 orion-orion
但是,当我们有很多个并列最小的数时,对这些数删除的顺序是有讲究的。每次只能删除最左边或最右边的数,否则一定会产生两个相等的数交换位置的情况。这样,才能保证后面被删除的数是最优的。,然后再将前后的数合并,即将要删掉的数删掉。对一个序列分成三段,一段为要删的数前的数,一段为其自己,一段为其后面的数,启动次数就是前面的数的。其实树状数组也可以用,又快又好些,吹普常数大的没边,但我是范浩强吹普死忠粉,我就要用。小 D 认为一个整数序列是好的,当且仅当它先(不严格)上升,后(不严格)下降。,他想让这个序列变成好的。
2025-11-11 14:22:43
336
原创 列算法 这些算法不会改变它们所操作的容器中的元素。 . find 和 find_if find(begin, end, value) ...
/去除内容两边的空。slf4j-api日志框架下载地址:https://repo1.maven.org/maven2/org/slf4j/slf4j-api/格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度,%msg:日志消息,%n是换行符。Logback日志框架官方网站:https://repo1.maven.org/maven2/ch/qos/logback/如果一个文件中放置的是XML格式的数据,这个文件就是XML文件,后缀一般要写成.xml。
2025-11-10 14:42:53
881
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅