- 博客(14)
- 收藏
- 关注
原创 LLM 场景下的强化学习技术扫盲
用当前策略模型生成一批回复,并利用冻结的奖励模型打分,再结合当前评论家模型估计价值,最终为每个 token 动作计算出优势(Advantage) 和回报(Return),作为后续训练的监督信号。保存“旧”值:将当前策略的 log-prob 和评论家的 value detach,作为阶段 2 的基准(即“old policy”和“old critic”)。是真实的、来自外部的信号(比如人类打分),相对应的,价值(value)是对未来奖励的估计——因为模型不能预知未来,只能靠猜。”能拿 4.9 分);
2025-12-21 14:56:21
908
原创 Gin笔记一之项目建立与运行
以上就是本篇笔记全部内容,主要介绍了 gin 框架的运行方式,并介绍了一个简单示例如何设置接口并返回,还有 gin 的系统模式设置,接下来几篇笔记将详细介绍 gin.Engine 与路由的相关操作,gin.Context 与响应处理,中间件等设置。会输出当前的运行模式,可以访问的接口等信息,这里第一行的输出还介绍了我们使用的 r := gin.Default() 会默认使用 Logger and Recovery 两个中间件,这个后面在介绍 gin.Engine 的再详细介绍。
2025-12-21 14:55:10
222
原创 基于.net6的一款开源的低代码、权限、工作流、动态接口平台-系统安装篇
/"Endpoints": "192.168.13.180:6379,192.168.13.181:6379", //Redis服务端地址列表,以","分隔,例:"192.168.1.1:6379,192.168.1.2:6379""GetUser": "ConfigUtil.Value('BaseUrl') + 'api/workflowusers/user'", //获取单个人员信息External Web API。
2025-12-17 19:37:28
419
原创 docker网络总结
虚拟以太网设备对(veth pair):总是成对出现,像一根虚拟的网线,一端放在容器的网络命名空间中(通常命名为 eth0),另一端连接到宿主机上的一个虚拟网桥(如 docker0)。生产环境:对于单机部署,可以创建自定义的Bridge网络以获得更好的隔离性和内置的DNS解析(容器间可以通过容器名通信)。网络命名空间(Network Namespace):Linux 内核提供的功能,为容器提供独立的网络栈(包括网卡、路由表、iptables规则等),实现网络隔离。外部网络无法直接通过IP访问容器内的服务。
2025-12-17 19:36:53
419
原创 C++多线程性能优化实战:从互斥锁到无锁编程完全指南
最近我开设了C++无锁编程的项目实战课程,涵盖了无锁栈、无锁队列(SPSC/MPMC)等核心内容,深受各位学员的好评!这节课只是无锁编程的理论基础。
2025-12-15 13:10:02
826
原创 OneClip 开发经验分享:从零到一的 macOS 剪切板应用开发
的想法到现在的功能完整的应用,经历了多个版本的迭代。本文分享开发过程中的真实经验、遇到的问题、解决方案和最佳实践,希望能为其他 macOS 开发者提供参考。// ❌ 错误:self 被 timer 强引用,timer 被 self 强引用。// SwiftUI 的声明式语法让 UI 开发更直观。// ✅ 推荐:使用 changeCount 检测变化。// 3. 使用 Console.app 查看系统日志。// 使用哈希索引快速去重 - O(1) 时间复杂度。// CPU 占用降低到 < 1%
2025-12-15 13:09:13
797
原创 【MySQL优化】扔掉ORDER BY RAND()!随机推荐的性能提升方案
根据实际数据量和业务需求,选择应用层随机、LIMIT偏移量或多重查询方案,才能在保证随机性的同时提供良好的系统性能。假设商品表(product)有10000条数据,需要随机获取3个不重复的商品。许多开发者第一反应是使用 ORDER BY RAND() 实现(如果你不知道,那当我没说),但这种方法的性能代价极高,在处理大量数据时几乎不可用。技术选型建议:对于大多数电商场景,方案一(应用层随机)是最佳选择,既能保证真正的随机性,又具有稳定的高性能表现。扫描行数:10000(获取ID) + 3(回表查询)
2025-12-14 11:05:51
314
原创 BOM 是什么
答:BOM 是浏览器对象,指的是如 window ,location ,history ,screen 等由浏览器提供的操作对象,是提供给开发人员操作浏览器的部分能力,比如前进后退,更新url等,没有强标准性,每个浏览器的实现有一定的差异。DOM 是文档对象,是开发者操作页面内容的一个标准。history.go(n) 跳转到历史记录的第n条:n=1前进 1 条(等于前进),n=-1后退 1 条(等于后退),n=0刷新当前页 若n超出历史记录范围(如只有 2 条记录却调用go(3)),无效果且不报错。
2025-12-14 11:05:07
403
原创 【EF Core】“多对多”关系与跳跃导航
也就是说,正常情况下,Student 类的导航属性应该指向中间实体(映射到连接表),Course 实体的导航属性也应该指向中间实体,再通过中间实体把二者连接起来。可是我们再回头看看示例,Student 的导航属性直接指向了 Course,而 Course 实体的导航属性也直接指向了 Student 实体。同时,它们也是外键,一个指向 Student,一个指向 Course。可是,Student_ID 和 Course_ID 在中间实体中是没有定义的属性,如果不手动配置,EF Core 是找不到的。
2025-12-13 18:08:56
348
原创 k8s-Pod中的网络通信(3)
我们pod部署的时候是有一个标签label的,service在创建的时候也会指定一个标签,这样就可以把对应label的pod关联起来,podIP+端口形成一个端点-ednpoint,service也有自己的IP和端口,service的端口和宿主机的端口通过NodePort形成映射,这样访问宿主机的端口就能访问到service,service再转发到对应的pod上。service的这能力都是kude-proxy来实现的(部署k8s的时候对应的有一个kube-proxy:v1.28.15镜像)。
2025-12-13 18:08:05
316
原创 从零开始:C# 解析docx提取文本-无需安装office软件且完美支持aot
docx格式文件对应的操作类是WordprocessingDocument, 需要用静态方法来实例化 using var doc = WordprocessingDocument.Open(filePath,isEditable: false),此时OpenXml已经帮我们把xml对象都转成具体类型了。对于如pptx、xlsx等offce格式提取文本的操作也是类似的,但会因文档结构会与docx有较大不同,后续再给大家分享。Body 元素**: 位于 Document 元素中,包含了文档的主体部分。
2025-12-12 11:42:46
678
原创 使用Scalar.AspNetCore来管理你的OpenApi
这个比较熟悉,它可以分组,分版本,当你分好版本后[ApiExplorerSettings(GroupName = "v1")]/[ApiExplorerSettings(GroupName = "v2")],会在scalar中左上角可以选择,当然,你也可以把它做为组来用。app.MapGet("/", () => "Hangfire 服务运行中。"showToolbar": "localhost",//这里特别说明一下,编辑完后,不想出现这个菜单栏,就在这里可以关闭showToolbar: "never"
2025-12-12 11:41:52
833
1
原创 在Linux系统上一键配置DoH,解决DNS解析被污染
DoH 是 DNS over HTTPS,走加密的 HTTPS 流量(443 端口),看起来就像访问网页一样,不容易被污染或者劫持。这是 Cloudflare 官方开源的一个 Cloudflare Tunnel 客户端,用 go 语言开发的,非常容易安装部署。echo "[4/6] 配置 systemd-resolved..."echo "[5/6] 重启 systemd-resolved..."echo "✅ 安装完成!echo "[1/6] 安装 cloudflared..."
2025-12-11 11:47:04
531
原创 编译器细节:动态链接与静态链接行为分析
运行期 内核 + ld.so 内核加载程序,读取 .interp 段,然后加载并执行指定的动态链接器(如 ld-musl-* 或 ld-linux-*)。编译/链接期 gcc + ld(链接器) 将源码编译为可执行文件,并在其中嵌入一个名为 .interp 的段,用于指定运行时的动态链接器路径。gcc 编译时,将 ld.so 的路径写入.interp 段,告诉内核在运行时使用哪个动态链接器。动态链接器 /lib/ld-musl-*.so.1 /lib/ld-linux-*.so.2。
2025-12-11 11:46:20
833
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅