BotSharp:又一个.Net重磅AI开源项目,.Net在AI领域开始崛起!
大家好,我是编程乐趣。 自从大模型爆火以来,.Net不管是官方、还是社区开源项目,都陆续推出很多重磅的项目。 在AI领域,对话即平台(CaaP)是未来的发展方向。 下面介绍一个开源项目,面向AI Bot平台构建者的开源机器学习框架:BotSharp,它已经为.NET开发人员提供了使用BotSharp ...
“面面俱到”!人脸活体检测让应用告别假面攻击
随着人脸识别技术在金融、医疗等多个领域的加速落地,网络安全、信息泄露等问题愈为突出,用户对应用稳定性和安全性的要求也更为严格。 HarmonyOS SDK 场景化视觉服务(Vision Kit)提供人脸动作活体检测能力,增强对于非活体攻击的防御能力和活体通过率。在投资理财、在线支付等高风险金融服务场 ...
推陈出新的2024年
今年的关键字包括看书学习、业务研发、产品思维、交互设计、兴趣爱好等,已浏览相关书籍或专栏 30 篇,平均每周阅读 10~20 篇技术博文。 这些资料的内容我不可能全部消化记住,但可以让我在解决实际问题时,会有个印象,便于给出不同的方案。 维护着的技术仓库 daily 也在继续补充着 2024 年的面 ...
分库分表带来的这7大问题,一定要小心!
前言 分库分表是解决单库单表性能瓶颈的有效手段,但也会引入新的复杂性和技术挑战。 这篇文章跟大家一起聊聊,分库分表后带来的7个问题,以及相关的解决方案,希望对你会有所帮助。 (我最近开源了一个基于 SpringBoot+Vue+uniapp 的商城项目,欢迎访问和star。)[https://git ...
C++之OpenCV入门到提高007:调整图像亮度和对比度
一、介绍 今天是这个系列《C++之 Opencv 入门到提高》的第七篇文章。这篇文章也不难,介绍如何调整图像的亮度。图像本质上也是数据,既然是数据,我们就可以针对图像的每个像素进行增加或者减少的的操作,这样的结果就是图片变暗或者变亮了。这个调整的过程不是随便操作、无限制的,因为有些结果并不是我们想要 ...
零门槛的向量数据库「GitHub 热点速览」
上周,DeepSeek-V3 将训练大模型的成本给打下来了,但训练大模型对普通开发者来说仍然门槛很高。所以,本期的热门开源项目聚焦于降低 LLM 应用开发的入门门槛。 极易上手的向量数据库 chroma 用起来十分方便,只需一行命令 pip install chromadb 就能轻松拥有一个向量数据 ...
《深入理解Mybatis原理》MyBatis动态SQL原理
引入 我们在使用mybatis的时候,会在xml中编写sql语句。比如这段动态sql代码: <update id="update" parameterType="org.format.dynamicproxy.mybatis.bean.User"> UPDATE users <trim prefix ...
如何设计一个注册中心?以Zookeeper为例
本文探讨了如何设计注册中心,以Zookeeper为例分析其工作原理。首先介绍了注册中心的核心功能,包括服务注册、注销、心跳检测和服务发现。随后详细解析Zookeeper的设计理念、API及其服务发现机制,特别是通过Watcher实现的实时监控。最后,讨论了Zookeeper在高可用性方面的局限性。如... ...
.NET 响应式编程 System.Reactive 系列文章(一):基础概念
在.NET中,响应式编程的核心库是System.Reactive,通常简称为Rx。本篇文章将介绍响应式编程的基础概念以及System.Reactive的核心组件,为后续深入学习奠定基础。 ...
Java 中toString方法在枚举中的应用:展示枚举字段信息
在Java编程中,枚举(enum)是一种特殊的数据类型,它允许程序员定义一组固定的常量。`toString`方法是`Object`类中的一个方法,枚举类型也继承了该方法。默认情况下,`toString`方法返回枚举常量的名称。然而,我们可以通过重写`toString`方法来返回更多有用的信息,比如枚... ...
BotSharp 4.0 Sidecar:迈向更大规模化的AI Agent平台框架
BotSharp 是一个功能强大的开源项目,由 SciSharp[1] 社区开发和维护,旨在实现.NET技术栈下高度可定制的多智能体解决方案。为开发高效的对话式 AI 系统提供了极大的灵活性。通过其模块化的设计和多模型的支持,它更适合需要定制化需求的大型企业或组织。 随着生成式人工智能领域的快速发展 ...
用 2025 年的工具,秒杀了 2022 年的题目。
你好呀,我是歪歪。 前几天打开知乎的时候,在付费咨询模块,我看到了一个差不多两年半前没有回答的技术问题。 其实这个问题问的很清晰了,但是当时我拒绝了: 虽然过去快两年半的时间,但是我记得还是比较清楚,当时拒绝的理由是如果让我来回答这个问题,我肯定是首选基于 Redis 来做。 大家想到排行榜一般也会 ...
Map中经常被忽略但又非常好用的方法
1. 简介 map是我们日常开发中常会的集合类之一, 但是我们除了常用的get和put之外,其他的方法好像很少会用到,接下来我们就介绍一下几个经常被忽略但又很好用的方法. 2. Quick Start 2.1 数据准备 创建一个map对象, 并声明几个用于测试的user对象 Map<Integer, ...
掌握设计模式--抽象工厂模式
抽象工厂模式(Abstract Factory Pattern) 抽象工厂模式是一种创建型设计模式,它提供了一个接口,用于创建一组相关或依赖的对象,而无需指定具体类。它涉及到多个工厂,每个工厂负责创建一类相关产品的对象,确保客户端在不需要了解具体类的情况下,能够通过抽象工厂来获得所需的一系列产品。 ...
JVM实战—12.OOM的定位和解决
大纲 1.如何对系统的OOM异常进行监控和报警 2.如何在JVM内存溢出时自动dump内存快照 3.Metaspace区域内存溢出时应如何解决(OutOfMemoryError: Metaspace) 4.JVM栈内存溢出时应如何解决(StackOverflowError) 5.JVM堆内存溢出时应 ...
多样化消息通知样式,帮助应用提升日活跃度
在智能手机时代,用户的通知栏充斥着各种应用推送的消息。如何在这些信息中脱颖而出,激发用户的兴趣,引导他们进一步探索,是提高应用的日活跃度(DAU)的关键。 HarmonyOS SDK推送服务(Push kit)提供了多样化的通知消息样式,开发者们可以根据应用的特点和用户的需求来定制更有创意的消息文案 ...
.NET Core 对象分配(Alloc)底层原理浅谈
对象分配策略 .NET程序的对象是由CLR控制并分配在托管堆中,如果是你,会如何设计一个内存分配策略呢? 按需分配,要多少分配多少,移动alloc_ptr指针即可,没有任何浪费。缺点是每次都要向OS申请内存,效率低 预留缓冲区,降低了向OS申请内存的频次。但在多线程情况下,alloc_ptr锁竞争会 ...
AI对开发过程的替代性
在过去一年投入人工智能辅助开发之后,虽然大家说使用了人工智能之后工作效率显着提高,但我们日常使用的实际软件似乎并没有明显改善。所以问题出现在哪里? 使用场景 目前团队AI使用主要在以下方面: 代码补全和建议 执行复杂的重构任务 生成测试和文档 作为“结对程序员”来解决问题 从设计或粗略概念开始 使用 ...
华为云专家说:开源的商业化之路与开发者技术服务
本文来源:《华为云DTSE》第五期开源专刊,作者:华为云开发者支持首席布道师汪盛 开源、云的增长模式与 Product Led Growth具有较大相似性,两者增长立足于产品质量与使用的开发者数量上,即通过使用规模的扩张,带动市场的扩展。在产品与应用传播中,“能力开放”、“场景化”是核心的两个要素, ...