自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 收藏
  • 关注

原创 从零开始玩转 Microsoft Agent Framework:我的 MAF 实践之旅

摘要: 微软最新推出Microsoft Agent Framework(MAF),这是一个面向.NET和Python的开源智能代理开发框架。MAF整合了Semantic Kernel和AutoGen项目的优势,提供AI代理和工作流两大核心功能。文章通过三个案例展示了MAF的基本使用:基础框架搭建、创建脱口秀智能代理以及视觉智能代理开发。作者在实现过程中遇到并解决了Azure.AI.OpenAI包的版本冲突问题,同时演示了如何接入国内AI平台。该框架支持多轮对话、函数调用等高级功能,为开发者构建复杂AI应用提

2025-12-13 22:43:59 1024

原创 动态表单之后:如何构建一个PDF 打印引擎?

动态PDF报表生成实践:从HTML转向QuestPDF的配置化方案 本文探讨了动态PDF报表生成的技术选型与实践。作者首先尝试了HTML转PDF方案,但遇到分页、样式还原等痛点后,转向基于QuestPDF的配置化引擎。系统采用JSON配置与引擎分离的架构,支持网格表单、动态表格等多种组件类型,并解决了数据分组、计算字段、多源图片渲染等关键技术难题。该方案通过配置文件驱动PDF生成,避免了硬编码,实现了报表样式的灵活定制,适用于格式严谨的申报书等场景。文章详细介绍了系统架构设计思路和具体实现方案,为类似需求提

2025-11-27 09:32:33 853

原创 从零构建动态表单引擎,告别重复劳动

本文介绍了动态表单引擎的设计思路,旨在解决活动报名系统中表单频繁变更的开发痛点。通过"元数据"驱动方式,将表单配置抽象为可组合的JSON Schema组件,实现动态渲染与数据收集。系统采用分层验证机制保障数据安全,包含非业务验证(格式、必填等)和业务验证(报名资格等),并引入xxHash算法优化判重性能。此外还考虑了敏感数据脱敏存储的合规要求。该方案显著降低了重复开发成本,提升了运营效率,为多变业务场景提供了灵活的技术支撑。

2025-11-19 10:47:27 1003

原创 如何正确统计网络用户数量?别再被连接数和独立IP骗了!

在做网站监控、流量分析、容量规划,甚至安全防护时,很多人会下意识地认为:“连接数多 = 用户多”、“独立 IP 数 = 用户数”。但现实远比这复杂。今天我们就来聊聊:**到底该怎么理解这些指标?又该如何更准确地估算真实用户数量?

2025-10-31 10:44:13 946

原创 Blazor Server项目里,集成一个富文本编辑器

摘要:Blazor Server项目集成AIEditor富文本编辑器实践 本文介绍了在Blazor Server项目中集成AIEditor富文本编辑器的完整过程。作者对比了Blazored TextEditor、tinyMCE和tiptap等选项后,选择了国内团队开发的AIEditor,主要考虑其功能强大、界面美观且支持AI集成。实现步骤包括:下载插件文件、初始化编辑器配置、处理Blazor与JavaScript的互操作,以及实现文件上传功能。特别介绍了利用FileSignatures库验证文件真实格式的安

2025-09-30 18:14:49 672

原创 基于SemanticKernel开发业务智能体

本文介绍了使用微软SemanticKernel(SK)框架开发AI智能体的经验。首先介绍了SK框架的定位和特点,它是一个企业级AI开发框架,支持与本地业务集成。文章详细说明了如何配置SK服务,支持国内主流大模型如Kimi、Qwen和DeepSeek,并提供了代码示例。接着讲解了插件的编写规范,强调需要使用蛇形命名法和添加详细描述。最后展示了如何定义智能体基类及其派生类,包括角色定义、查询功能实现和插件配置方法。文章提供了实用的开发指南和代码片段,适合想要使用SK框架开发AI应用的开发者参考。

2025-09-25 18:02:13 981

原创 浅聊一下AOP

首先,我定义了一个拦截专用的标记接口,我这里判定的是是否包含一个指定的参数然后所有的Dto,或者传递对象,只要用到指定参数的,都继承这个借口,比如[Required[ Required(ErrorMessage = "项目Id不能为空") ] public long DecProjectId {get;set;set;} }[ Required(ErrorMessage = "项目Id不能为空") ] public long DecProjectId {get;

2025-09-05 10:56:13 930

原创 MinIO祭了,RustFS来了!

本文介绍了RustFS作为MinIO替代方案的技术实践。作者详细记录了使用Docker快速部署RustFS的过程,包括镜像拉取、容器启动和访问验证。通过修改端点地址和认证信息,原有基于MinIO SDK的上传程序无需其他改动即可无缝切换至RustFS。测试表明,RustFS在S3协议兼容性和使用体验上表现优异,可作为企业级对象存储解决方案。作为国人开发的开源项目,RustFS展示了国产技术的进步,其1.0 alpha版本已具备生产环境部署能力。文章最后提供了相关开发文档和博客链接供读者参考。

2025-09-03 15:20:51 1435

原创 ELK开启安全策略

至此,我们介绍了如何在ELK Stack中开启安全策略,特别是Elasticsearch的证书配置、Kibana和Logstash的安全集成。在当前数据安全日益重要的背景下,为ELK集群配置完善的安全措施已成为不可或缺的一环。这不仅能够有效保护敏感数据,防止未经授权的访问,还能确保日志数据的完整性和可用性。虽然安全配置可能涉及一系列复杂的操作,但其带来的安全效益远超投入,起码客户不会扫不出漏洞,就不会找你麻烦O(∩_∩)O~

2025-08-13 12:57:12 961

原创 安利一下Blazor:.NET开发者的全栈“优”选项

Blazor为.NET全栈开发者提供高效统一的Web开发体验 摘要:本文介绍了Blazor框架在全栈开发中的优势,通过实际案例展示了其组件化开发模式。作者认为Blazor不是简单替代Vue/React,而是为.NET开发者提供的优质选择,能够显著提升开发效率。文章重点演示了布局组件、面包屑导航和筛选框组件的实现,体现了Blazor模块化设计与前后端统一的技术优势。开发体验表明,Blazor属于"慢热型"框架,越用越能体会其价值。

2025-08-03 17:04:16 1101

原创 记一次近6万多个文件的备份过程

其实整个流程捋下来,没什么硬核的技术,主要还是思路,当然我这只是万千可实现需求的一个分支方向,我是真的喜欢基于脚本的解决方案,即用即走,高效快捷。

2025-07-04 14:03:17 304

原创 浅尝一下微软的AutoGen框架

微软AutoGen框架升级至V0.4,支持更广泛的模型和平台。本文使用DeepSeek-R1模型测试其青少年比赛申报审核场景,配置了三个专业代理:信息提取、资格审核和结构化输出。通过Python代码实现多代理协作工作流,最终将申报信息整理为结构化JSON格式。测试证明AutoGen能够有效编排多模型任务,实现预期的工作流程。

2025-06-13 12:39:21 921

原创 还在用旧的认证授权方案?快来试试现代化的OpenIddict!_2025-06-05

本文回顾了认证授权技术领域的发展,重点介绍了OpenIddict作为IdentityServer4的开源替代方案。文章详细阐述了OpenIddict的优势,包括其开源免费、标准化兼容、灵活扩展以及与ASP.NET Core深度集成等特点。 作者通过实战演示了如何在.NET 8/9环境下构建基于OpenIddict 6.x的认证授权中心,包括项目创建、依赖引入、数据模型定义等关键步骤。文中特别指出OpenIddict既可以与ASP.NET Core Identity集成使用,也可以独立运作,为开发者提供了更多

2025-06-05 17:04:03 1670 4

原创 以Magentic-UI为例,简单聊一聊,跑一跑,测一测,比一比,多智能体的能力

微软最近开源了名为Magentic-UI的智能体研究项目,这是一个基于多Agent、以人为中心设计的人机交互界面系统,特别擅长处理网络任务。该平台依托AutoGen技术构建,支持人类协作规划与任务合作、安全保护机制、计划学习与检索能力以及并行任务执行。部署时主要采用Azure OpenAI API的方式,并需满足一些前置条件如拥有Azure账号等。成功启动后,用户可以通过调整配置来使用Magentic-UI完成各种任务,如查找特定网页内容并生成总结。相较于类似工具Manus,Magentic-UI更强调透明

2025-05-25 16:00:05 1110

原创 浅聊一下搭建企业私有知识库的可行方案

本文探讨了如何利用RAG(检索增强生成)技术解决科创比赛项目中信息不对称的问题。通过搭建私有知识库,将复杂的赛制、规则等文件上传,利用大模型进行分析和整理,为用户提供清晰、可靠的信息。文章介绍了两种实现方案:MaxKB和AnythingLLM。MaxKB是一个几乎无需代码的解决方案,适合中小型企业快速搭建私有知识库,支持本地部署和多种安装方式。AnythingLLM则提供了对开发者友好的API接口,适合有一定研发能力的团队,支持本地安装和模型配置,并能通过API集成到业务系统中。两种方案都能有效缓解信息不对

2025-05-22 17:05:58 1267 2

原创 浅聊一下数据库的索引优化

本文分享了作者在关系数据库(MSSQL)中通过索引优化性能的一次经历。作者在项目中遇到数据检索性能瓶颈,无法通过修改业务代码或引入中间件来解决问题,因此决定从索引入手进行优化。通过使用执行计划(Execution Plan)工具,作者定位了查询的复杂度,并获得了优化建议。随后,作者编写了测试接口和脚本,使用Grafana的K6工具进行性能测试,最终实现了约10倍的性能提升。文章强调了索引在数据库优化中的重要性,并展示了具体的操作步骤和验证方法。

2025-05-13 17:44:34 1070

原创 基于MCP协议实现一个智能审核流程

昨天下午,同事发来一个需求,大概的意思就是想把一些简单又重复性很高的工作,单拎出来,看看能不能试着用人工智能的方式来给运营人员减减负。大概看了一下这些需求,基本包括以下几个要点我简单总结了一下,然后觉得这完全契合MCP Server的处理流程啊!首先,整个的工作,只是鉴定材料和信息是否合规,并不涉及专业领域,所以可行性大大提高。其次,这些工作的核心,主要还是一个比对的工作,就类似一个材料审查员,看看写的材料到底对不对,有没有丢项漏项之类。

2025-04-30 15:58:44 914

原创 0帧起手本地跑一下BitNet

BitNet是微软近期推出的极限精简的推理框架,官方的介绍里,详细介绍了它的架构优势,以及和其他模型的对比实验,总结起来就是不挑设备,不占资源,不减性能!俩字儿牛x,仨字儿很牛x,四个字儿…但毕竟还是小尺寸模型,笔者在本地试了一下,多数情况下基本是不可用的哈,但在边缘计算场景可能会很有用武之地的,算是个小灵通吧。大家感兴趣可以到官方仓库看一下。这里呢,咱们就从开发者角度,0帧起手,在本地跑一下他这个模型小灵通~

2025-04-27 17:37:14 1985

原创 Semantic Kernel也能充当MCP Client

笔者之前,分别写过两篇关于Semantic Kernel(下简称SK)相关的博客,最近模型上下文协议(下称MCP)大火,实际上了解过SK的小伙伴,一看到 MCP的一些具体呈现,会发现,Client 调用 Server的方式,和SK调用插件的过程很像,实际操作了一下,发现确实是可以的。也就是说,如果我们之前的项目里用到SK做过Agent相关的模块,如今也可以丝滑的让其充当MCP Client的角色,去使用更多MCP生态的东西,而不需要做更多的改动。

2025-04-25 18:45:06 1329

原创 依赖腾讯云的音视频服务能力,构建一个高可用的在线直播平台

至此,需要开发的任务量基本完成。那这套架构真的稳定吗?我前面放过的一些地址里有一些数据截图,这几年运营下来,我们这个系统部署了3个节点,此外还有很多子服务,均为分布式的部署形式,日均访问量最高曾达到300万次,当然早期因为架构不成熟,也经常崩溃,但这两年已经很少因为系统不稳定而造成崩溃了,真正实现了我们这个规模下的,高可用,高并发,高性能。

2025-03-26 11:38:34 1254

原创 快速用上专属于自己的大模型&智能体

昨天,公司同事突传喜讯,我们内部也成功部署了私有化的deepseek蒸馏模型,虽然参数量不大,但有了私有部署模型,就意味着,之前很多不能深入结合的业务,可以去做深入了。毕竟公有模型终归还是存在数据隐私方面的风险,而一些租赁方案,或者所谓的MaaS(模型即服务)的方案,本质上还是建立在云服务的基础上,也就是云服务时代存在的问题MaaS都有,最显著的就是,高峰期需求大,服务不稳,低谷期需求小,服务稳,这基本属于自然现象了,没办法协调。但我发现有些朋友,尤其是非技术类的用户,总感觉大模型这类产品和自己很远,所以他

2025-03-05 13:04:53 1380

原创 给老系统做个安全检查——Burp & SqlMap扫描注入漏洞

好了,简单的SqlMap联动Burp的测试就结束了,实际上,今天我们开发的大部分管理系统,都会使用ORM类的插件来替代传统的数据连接方式,而绝大部分的ORM框架,在中间层就已经基本杜绝了SQL注入的风险了,我们只需要关注业务就好。所以如果你开发的是一个现代应用,那评估安全风险的时候,可以把更多的精力放在其他方面,本篇介绍的内容,只适合给老系统做一些安全检查了。

2025-02-21 16:30:59 787

原创 再尝Semantic Kernel,planning特性很香

对AI的探索和落地,真的越来越上头了!这也是农历2024年最后一篇啦,祝大家新年快乐!

2025-01-24 17:39:10 1046

原创 浅尝semantic kernel

浅尝基本就是这样啦,后续的工作就是一些优化方面的了,可以发挥无限的想象力去给我们的线上系统插上翅膀了,我感觉这就是本地化的“小爱同学”,比如以前审查资料,需要人一个个的去找,去查用户提交的信息,有了AI加持之后,我们可以像使唤家里的“小爱同学”一样,让它帮我们去完成这类重复性的工作。比如给他一个命令“帮我把今天考试所有考90分的同学导出来”,或者更复杂一点,“帮我把今天考试所有得90分的同学导出来,并给他们发送邮件”等等。

2025-01-16 18:06:02 983

原创 使用内容分发网络的一点小经验

近期公司连续承接了一些线上直播培训活动,直播资源我们是用的是腾讯云的云直播服务,直播期间,因为大部分的流量都是腾讯在抗,对我们的压力不是很大,而直播结束后的回放阶段,因为之前的经验,看回放的学员不是很多,所以为了节约成本,回放资源就是我们自己做好切片之后,放在我们自己的服务器上自己扛。而这次由于学员人数激增,导致回放资源访问速度骤降,整个系统也濒临不可用的极限,经过讨论,决定开通CDN服务,缓解压力。

2024-12-24 13:54:32 1218

原创 以腾讯混元模型为例,在管理平台上集成一个智能助手

set;"Model"set;set;"AppId"set;/// IsOpenaiApi为yes时,ApiKey为必填项set;set;这里的就是参照配置文件的格式,创建对照模型,方便后续的序列化工作。目前来说只是初步接入到了系统,样式上还些问题需要处理,而且目前只支持文字模式,不支持图片,也没有完全和业务绑定,后续会把一些常见的场景,比如题目解析,智能分析用户的考卷等场景和ai深度结合。好了,基本就这样了。

2024-12-20 19:19:58 1393

原创 再来聊聊总线机制

还是以近期开发的考试系统为例,它包含了很多非常适合使用总线机制的场景。这里我就举一个比较典型的例子——保存草稿。这是一个典型的高并发场景,大量的考生用户完成了前置的考试验证环节后,开始在线考试,考试过程中,答题记录除了会在客户端进行临时存储,还会每隔一段时间自动提交一次草稿到服务端,这样用户在考试过程中如果出现了特殊情况,需要更换设备,也能尽可能保证之前的作答记录不丢失。之所以要引入EventBus的机制,主要还是应对高并发场景,我这里画两个图来展示下引入总线机制之前和之后的两种草稿保存流程。

2024-12-03 20:13:59 1083

原创 使用Grafana K6来测测你的系统负载能力

近期我们有个号称会有很高很高并发的系统要上线,为了测试一下自己开发的系统的负载能力,准备了点海克斯科技,来看看抗不抗的住。),这次换成了K6,实在不是因为爱折腾,而因为我们是小团队,没那么多工种,很多事儿基本都是开发自己来,K6在配置上比Jmeter更加简单,而且支持JavaScript脚本,更适合我们的测试场景。

2024-11-29 15:48:25 1768

原创 聊一下数据脱敏

随着信息社会高速发展,大家对隐私数据的安全越来越重视,现在市面上各种搜集个人信息的网站,app层出不穷,你也不知道你的信息提交上去后,提供服务的那边,是不是会妥善保管好你的个人数据,包括但不限于,身份证号,手机号,各种卡号等等。不久前诈骗犯猖獗的时候,绝大部分就是因为你的隐私数据泄露,造成的安全风险。所以作为用户和消费者,遇到平时填写个人信息的场景,一定要慎重。那作为负责任的服务提供商,也应该做的妥善保管用户的隐私信息,这是互信的基础。

2024-09-30 17:17:27 1114

原创 .net core集成Minio,构建一个文件存储的基础设施

至此,在开发环境下,就完成了一个简单的,支持各种文件上传的功能。在系统内部搭建一个基于MinIO的存储集群可以带来多个方面的优势,包括但不限于以下几点MinIO支持多租户架构,可以配置为高可用(HA)模式,意味着即便某个节点出现问题,系统仍可以继续运行而不丢失数据,这是传统的文件存储方式无法比拟的。MinIO设计用于高性能存储,支持对象存储协议如S3 API,可以提供高速的数据访问速度。对于需要快速读写大量数据的应用场景来说,这是一个重要的优点。

2024-09-25 19:14:42 1310

原创 Kafka+PostgreSql,构建一个总线服务

实际上,我们的生产环境中,正正常运行的一套总线服务,依赖的是RabbitMQ和SQL Server,RabbitMQ还好,SQL Server在以后应该不会是做项目的首选数据库了,尤其是做一些高并发的项目,不是说它性能不够,而是成本太高,社区版的限制有太多,还是要早做规划,提前准备更加适合未来发展的方案。至于Kafka,这是目前世界上最为流行的消息队列,性能,可用性,可扩展性等各方面都比其他消息队列要好上一点。

2024-09-12 18:58:25 1911 6

原创 美丽搜索?MeiliSearch!

检索模块的设计应该是大部分系统架构中一个不可或缺的环节,为啥这么说呢?当下的时代背景,我们开发的系统每天都会产生大量的日志,比如 Nginx 产生的请求日志,系统本身各种类型的日志,按类型分,还可以分成常规日志,异常日志,告警日志等等。这些日志是系统运行状态的产物,可以帮助我们排查系统运行过程中的问题,是保证服务正常运转的关键参考信息。因此,可以快速的检索日志数据,便是系统开发过程的一项刚需

2024-06-24 12:38:28 984

原创 验证邮箱有效性的反向操作

一般来说,我们在系统中要验证用户邮箱有效性的常规做法,是向用户的邮箱发送一个验证码,当用户接收到该验证码并输入系统,就完成了有效性验证。此邮箱就可以作为账户邮箱接收系统的各类推送了。同样的,手机验证码也是一样的道理。但有一些场景,我们通过这种常规操作可能会造成操作的复杂性,比如,我们的用户是一些小学生,尽管有家长在帮忙操作,但也有部分家长在操作的时候是盲目的,他们需要一种引导性强,没有心智负担,便利的操作方式。

2024-01-23 17:26:38 1983

原创 使用 acme.sh 自动续期 DV 证书

当前的互联网环境下,为我们的站点部署一个 ssl 证书,通常有以下几点原因:在一定程度上保证数据传输的安全(注意,并不能保证用户信息不被泄露);现在主流浏览器对于没有部署证书的域名会显示一个“不安全”的标识,即便你网站做的再尽善尽美,没有证书照样给你打上这个 title,非常的扎眼;再有就是当我们的站点需要对接一些开放平台的接口时,绝大部分平台都要求接入方的地址是 https 站点。在以前,我们申请证书的操作通常都是手动完成,通常的步骤是先去证书颁发机构的代理站点申请证书,需要提供域名信息根据代理机构提供的

2023-12-13 16:26:31 1083

原创 基于FFmpeg实现一个数据流风格的视频处理工具 _ 社区征文

本工具使用控制台风格开发,可通过传入参数的形式灵活控制处理流程。由于是客户端工具,可以运行到任意电脑上(支持Windows和Linux,MacOS应该也支持但由于缺少测试机器,没有进行测试),不只限于公司内网下的机器,所以尽量减少了一些组件依赖,除FFmpeg外,不再依赖其他第三方工具,且FFmpeg也封装到了软件包内,不需要单独安装。工具主要功能为,● 检索媒资:从腾讯云vod检索所需的回放资源;

2023-12-11 13:51:16 680

原创 在统信UOS上部署DotNet(Core)服务

如果是在虚拟机安装,那把镜像下载好按常规的安装流程安装就好,非常简单,不再赘述。这里说一下通过U盘直接在裸机上安装的一种方式。

2023-09-26 10:55:30 3349

原创 达梦数据库测试案例—基于EntityFrameworkCore 6.x

这两年国内的数据库产品如异军突起,保持了非常良好的发展势头,如达梦,人大金仓,神通,南大通用GBase,以及基于ServerLess形态的TDSQL等,今天以为例,聊一下基于EFCore组件接入达梦数据库的案例。

2023-09-15 13:44:57 1521

原创 【腾讯云TDSQL-C Serverless 产品测评】一场ServerLess方案和Native方案的小PK!

某种程度上,我们就可以把这个产品理解成MySQL Plus或PostgreSQL Plus,也就是不用在关心,安装,性能,扩缩容,自动备份等复杂的配置性操作,这些将全部由腾讯云自动完成,我们只需要关注和业务的对接,就像办理手机套餐,只需月初月末关注下资费,真正做到即开即用。

2023-08-29 16:09:38 6267 22

原创 老铁们,还记得 PowerShell 吗?

其实这部分的代码是最不重要的,主要还是给 Windows 的开发者在提个醒,咱系统自带的 powrshell 也是一个非常简洁,高效的开发工具,在面对一些简单,重复性的工作时,可以考虑一下它,非常方便!如果你不记得 powershell 的语法,就目前来说,这真的完全不是事儿!为啥?因为有大模型!不论是 chatgpt 还是国内的文心一言等,都可以很快速的生成出 powershell 的范例代码,我们只需要简单修改就可以了啊!非常的丝滑~好了,就这样吧。

2023-08-28 12:56:02 244

原创 我的创作纪念日

所以我现在写博客的灵感来源也是基于实际遇到的问题,当真正解决掉,并进一步理解的时候,我就会趁热打铁,赶紧把问题整理,记录,也会翻阅很多资料,来印证我要写下来并发布出去的东西是正确的,即便是一个很浅显,很常见的问题,也要印证一下,我还会把一些比较好的技术源头类文章或者博客也引入到自己的博客中,方便快速跳转,这个过程虽然有时候会麻烦点,但对技术和一些其他方面的认知也是大有脾益的。当前,对我来说,写博客真的已经是生活的一部分了,在平时不忙的时候,每周至少要写一篇,忙的时候就不确定了,但最低标准是每个月要有一篇。

2023-08-06 17:58:00 88

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除