当前位置: 首页 > news >正文

.NET周刊【1月第1期 2025-01-05】

国内文章

3款.NET开源、功能强大的通讯调试工具,效率提升利器!

https://www.cnblogs.com/Can-daydayup/p/18631410

本文介绍了三款功能强大的.NET开源通讯调试工具,旨在提高调试效率。这些工具包括LLCOM,提供串口调试和自动化处理功能;Wu.CommTool,支持Modbus RTU和MQTT调试,界面丰富;以及PLC-CommunTools,整合多种PLC协议和通讯功能。文章还提到这些项目已收录进C#/.NET优秀项目精选,鼓励开发者参与贡献。最后提供了各项目的开源地址,倡导开发者关注最新动态和最佳实践。

为什么推荐在 .NET 中使用 YAML 配置文件

https://www.cnblogs.com/chenyishi/p/18624234

在现代应用开发中,配置管理尤为关键,尤其在微服务与云原生架构中。YAML作为一种格式,因其可读性强和支持多种数据类型而受到青睐。YAML支持嵌套结构,通过简单的语法使配置更加直观。同时,YAML适合DevOps与云原生场景,灵活的注释功能也方便团队协作。在.NET中,尽管JSON是默认格式,但可以通过库YAML支持YAML配置,YamlDotNet可用于解析YAML文件,Microsoft.Extensions.Configuration.Yaml可与ASP.NET Core配置系统集成,方便管理多环境配置。

.NET 阻止系统睡眠/息屏

https://www.cnblogs.com/kybs0/p/18624932

本文探讨如何在Windows系统中阻止系统睡眠和息屏,并查看相关应用信息。通过使用命令powercfg /requests,用户可以识别阻止睡眠的应用或服务。文章提及了通过API SetThreadExecutionState来通知系统应用正在使用,防止系统进入睡眠状态。此方法对音频播放和应用升级等场景尤为重要,确保它们能顺利完成。此外,文章还讨论了一些系统调用和返回状态,提供了技术细节和使用建议。

在.NET Core中使用异步多线程高效率的处理大量数据

https://www.cnblogs.com/Tangtang1997/p/18623843

本文介绍了一种高效的多线程异步处理大数据量的方法,特别适用于处理大量图片文件。文章首先提出了传统同步处理的不足,然后引入了.NET的异步编程模型和Channel来实现生产者-消费者模式。生产者负责读取和写入图片文件到Channel,消费者从Channel中读取并进行处理,极大提高了效率和降低了内存开销。文中详细说明了如何使用Task.Run实现并行处理以及async/await关键字避免阻塞。最后,提供了示例代码,进一步阐释了该解决方案的实现方式。

C#字符串拼接的几种方式及其性能分析对比

https://www.cnblogs.com/Can-daydayup/p/18622844

本文探讨了在C#中字符串拼接的六种常见方式,并利用BenchmarkDotNet进行性能评估。字符串拼接在动态生成SQL、日志构建和内容格式化等方面应用广泛。BenchmarkDotNet为.NET开发者提供了强大的性能测试和优化工具,通过自动化测试和高级统计分析,开发者能更好地理解软件性能。文章中还提供了各拼接方式的示例代码,帮助开发者比较不同方法的性能。整体内容清晰,实用性强,适合希望提高性能的开发者阅读。

推荐一个C#轻量级矢量图形库

https://www.cnblogs.com/chingho/p/18629448

VectSharp 是一款轻量级 C# 库,专注于生成 PDF、SVG、PNG 等矢量图形。它支持跨平台,内置 14 种标准字体。开发者可利用其抽象层生成不同类型的图形文件,支持 3D 图形和多种图表绘制。库内含图像处理工具,允许导出为各种格式,并具备动画制作功能。示例代码展示了文档创建及图形绘制过程,提供了简单易用的接口,非常适合快速集成到项目中。

开源GTKSystem.Windows.Forms框架让C# Winform支持跨平台运行

https://www.cnblogs.com/Can-daydayup/p/18636832

GTKSystem.Windows.Forms是一个开源框架,使C# WinForm支持跨平台运行。该框架基于GTK,并兼容原生C#的System.Windows.Forms组件。它支持Windows、Linux和macOS,无需学习新语言或框架,可直接使用原生WinForms。用户通过安装NuGet上的设计器类库,能够轻松创建窗体。工程一旦编译,即可在多平台上运行,降低开发成本和时间。该项目已入选C#/.NET/.NET Core优秀项目精选,鼓励开发者获取最新动态和最佳实践。

.NET Core 类型系统(Types System)底层原理浅谈

https://www.cnblogs.com/lmy5215006/p/18623501

C#是一种强类型语言,具有明确的变量和常量类型。其类型系统包括类、字段、属性等。编译器在编译时确保类型安全,利用元数据在IL层面进行管理。CLR使用元数据来保证运行时的类型安全。C#的值类型和引用类型存在区别,值类型在栈上分配,而引用类型在堆上分配。文中提到的内容涉及C#类型系统、CLR和类型的内在特性。

盘点5个常用的.Net依赖注入框架!

https://www.cnblogs.com/chingho/p/18632352

本文介绍了五个常用的依赖注入框架,尤其详细说明了Microsoft.Extensions.DependencyInjection和AutoFac。Microsoft.Extensions.DependencyInjection是.NET Core内置的,使用方便。AutoFac是一个功能强大的DI框架,支持类型安全和声明式的编程。文章还简要描述了Ninject、SimpleInjector和Windsor,强调它们在.NET应用开发中的灵活性和效果。这些框架为开发者提供了有效的控制反转(IoC)解决方案,提升了代码的可维护性和测试性。

.NET 9 中的 多级缓存 HybridCache

https://www.cnblogs.com/chenyishi/p/18626831

HybridCache 是 .NET 9 引入的新缓存模型,旨在整合本地和分布式缓存,优化性能和维护效率。它基于 IDistributedCache,增加了支持标签删除等特性。HybridCache 优先读取本地缓存,减少延迟,同时简化了缓存选择和管理。主要优点包括性能提升、工程精简、标签管理和安全性。文章提供了使用 HybridCache 的代码示例,包括缓存的添加、读取和删除。

Visual Studio - API调试与测试工具之HTTP文件

https://www.cnblogs.com/hugogoos/p/18629000

本文介绍了后端开发中调试Api接口的工具和方法,侧重于Visual Studio 2022中支持的.http文件。作者详细讲解了.http文件的创建方式、请求格式、请求头和请求体的设置,以及注释、变量和环境文件的使用。通过此工具,开发者可以更便捷地调试Api接口,提升开发效率。

.NET 中的线程安全数据结构

https://www.cnblogs.com/Tangtang1997/p/18629960

本文介绍了多线程编程中常用的线程安全数据结构,包括ConcurrentQueue、ConcurrentStack、ConcurrentBag、ConcurrentDictionary等。针对每种数据结构,文章描述了其适用场景、优点、无锁设计的特性及在.NET Framework和.NET Core中的可用性。此外,文中还提供了示例代码,展示了如何使用这些数据结构实现生产者-消费者模式。整个内容简洁明了,涵盖了线程安全设计的核心概念,对开发者学习和应用.NET中并发编程具有指导意义。

聊一聊 C#线程池 的线程动态注入 (中)

https://www.cnblogs.com/huangxincheng/p/18627222

本文探讨了在 C# 中通过 Task.Result 进行动态线程注入的优化,特别是在线程池饥饿场景下。文章通过测试代码展示了优化前后的线程产生率,从1-2个增至每秒约4个。核心逻辑在于 NotifyThreadBlocked 方法,该方法主动唤醒 GateThread,以提高响应速度。作者提供了具体的代码示例,助于读者理解底层实现。总体而言,文章具备技术深度与实际应用,清晰易懂,适时且原创,引用得当,便于阅读。

在 .NET Core 中使用 ActionBlock 实现高效率的多步骤数据处理

https://www.cnblogs.com/Tangtang1997/p/18628049

本文介绍了 .NET TPL Dataflow 库中的 ActionBlock。ActionBlock 提供了一种处理数据流和并行任务的方式,适用于生产者-消费者模式、数据流处理及任务调度等场景。它支持并行处理、异步编程和数据流控制,能提高应用响应速度和吞吐量。使用 ActionBlock 的步骤包括创建、发送数据、完成和等待处理。结合 TransformBlock 的示例演示了如何管理多步骤的数据处理。这些技术适合处理大量数据并提高效率。

记一次 .NET某工业视觉软件 崩溃分析

https://www.cnblogs.com/huangxincheng/p/18635326

本文分析了一次程序崩溃的过程,介绍了使用WinDbg工具进行调试的方法。作者通过实际案例帮助学员理解崩溃的根本原因,并展示了如何利用WinDbg的命令来定位问题。详细的堆栈跟踪和寄存器状态提供了崩溃点的上下文,源码示例进一步解析了相关函数的逻辑。这篇文章不仅适合初学者,也为有经验的开发者提供了实用的调试技巧,为解决类似问题提供了指导。

聊一聊 C#线程池 的线程动态注入 (下)

https://www.cnblogs.com/huangxincheng/p/18630175

文章提供了提高线程注入速度的两种方法。一是降低GateThread的延迟时间,将Blocking.MaxDelayMs变量从250ms减少到100ms,显著提升了注入速度。二是提升MinThreads的阈值,将最小线程数从12提升到更高的值,以进一步加快注入速度。作者通过代码示例演示了这两种方法的实现,并检查了线程注入的效果。这篇文章探讨了动态注入的技术细节,适用于需要优化线程处理性能的开发者。

.NET 9 New features-AOT相关的改进

https://www.cnblogs.com/tianqing/p/18622260

本文介绍了.NET 9中的AOT(Ahead-of-Time)编译技术及其优势。AOT编译在应用程序部署前将代码直接编译为本机机器代码,显著提高启动速度并减少内存占用。文章详细讲解了AOT的优点,包括提高性能和简化部署,特别是在不支持JIT的环境中。使用AOT的步骤也被阐明,涉及安装必要工具和配置项目文件。此外,文章讨论了.NET 9对AOT的改进,包括对老旧系统的支持和性能提升。

.NET 9 增强 OpenAPI 规范,不再内置swagger

https://www.cnblogs.com/chenyishi/p/18629271

本文介绍了 .NET 9 中对 OpenAPI 的原生支持。微软放弃了 Swagger,转而采用更广泛认可的 OpenAPI 标准,以提高兼容性并简化依赖关系。OpenAPI 的使用将使得 .NET 应用更具灵活性和互操作性。作者提供了详细的配置步骤,包括如何添加服务、映射 OpenAPI 文档以及集成可视化工具。示例代码清晰展示了如何在 .NET 9 中设置 OpenAPI,便于开发者理解和应用。

C#使用Tesseract C++ API过程记录

https://www.cnblogs.com/mingupupu/p/18636610

Tesseract是一个开源的OCR引擎,由Hewlett-Packard实验室开发,后被Google收购并维护。它支持多种语言的字符识别,并整合了深度学习技术,提高了识别准确率。Tesseract可嵌入各类应用,支持C++、Python、Java和Node.js等编程语言。文中还介绍了如何在Windows上使用vcpkg管理Tesseract的安装,提供了具体的命令步骤和用法。虽然已有C#封装的库,作者鼓励读者学习底层实现。该技术文档理解性强,实用性高,适合开发人员。文献引用和示例项目均可在GitHub找到。

.NET Bios相关数据读写

https://www.cnblogs.com/kybs0/p/18613343

本文介绍了如何读取和写入BIOS数据,包括序列号(SN)的读取和烧录。设备制造时需初始化数据并验证。在BIOS中存储数据可以实现离线激活,避免硬盘更换后丢失。文中说明了使用WMI查询BIOS信息的方法,并提供了示例代码,展示如何访问BIOS的多个属性,如制造商、版本和序列号等。该技术适合需要管理和查询Windows系统信息的场景。

聊一聊 C#线程池 的线程动态注入 (上)

https://www.cnblogs.com/huangxincheng/p/18623762

该文章探讨了线程饥饿与动态线程注入的关系,特别关注于使用Thread.Sleep的情况。文章分析了线程池的内部工作机制,详细解释了GateThread类如何管理线程的动态注入,包括线程的唤醒周期和出队判断逻辑。文章通过测试代码展示了线程动态注入的情况,并结合底层逻辑进行深入分析,读者能清晰理解线程在特定场景下的表现与规律。

NetCore开源项目,适合新手学习

https://www.cnblogs.com/zhang-3/p/18636074

VerEasy.Core 是一个基于 .NET Core 的开发框架,结合了 Vue3 前端技术,旨在提供高效、可扩展的 API 程序。该框架支持 JWT 认证、数据库操作、日志记录、异步处理等功能,满足大多数业务需求。框架采用仓储+服务+接口结构,使用 SqlSugar ORM,支持多种数据库。内置数据种子文件和自动生成代码功能,还集成了 SwaggerAPI 文档、AutoMapper 和 AutoFac 依赖注入。框架结构易于扩展,便于与已有项目集成。整体设计追求高效性和灵活性。

cs-script:一个非常成熟的C#脚本开源引擎

https://www.cnblogs.com/chingho/p/18627062

CS-Script是一个成熟的C#脚本引擎,自2004年发布。它支持托管和独立执行模型,是PowerShell的C#替代品,能够动态执行C#脚本。与Visual Studio和VSCode等多种开发工具兼容,支持Windows和Linux平台。使用时,用户需要安装依赖库,可以运行带返回值和无返回值的动态脚本。CS-Script允许灵活评估C#表达式和加载实现特定接口的脚本,提升了开发效率。总体来说,CS-Script对C#开发者非常实用。

在Asp.netCore中使用Attribute来描述限流

https://www.cnblogs.com/kewei/p/18630545

本文讨论了在ASP.NET Core中利用Attribute简化RateLimiting的实现。通过创建自定义的限流Attribute,开发者可以在API的Action上直接标注,从而减少手动实现policy的工作量。作者提出了多种限流单元的Attribute,可以根据请求的不同部分进行细致的限流。文章描述了如何实现一个policy,提取和处理这些Attribute,以使限流功能可用。最后,项目开源,鼓励他人参与和交流。

ASP.NET Core 中的速率限制中间件的使用

https://www.cnblogs.com/netcore5/p/18635522

ASP.NET Core中的速率限制中间件用于控制客户端请求速率,防止服务器过载。文章介绍了速率限制的基本用法,包括在Startup.cs或Program.cs中注册AddRateLimiter服务。文章详细讲解了不同类型的速率限制策略,如固定窗口、滑动窗口和令牌桶限制器,提供了具体的代码示例和配置说明。读者可以学习如何实现和应用这些策略来优化API的请求处理能力。

爬虫自动化脚本+AI赋能

https://www.cnblogs.com/queque/p/18624817

本文介绍了如何利用爬虫技术实现自动化网页操作。内容包括如何安装自动化脚本包、实现登录、绕过验证码和获取评论等。通过提供 C# 代码示例,详细阐述步骤并强调注意事项,尤其是隐蔽特征。作者提醒读者珍惜学习的机会,且声明内容仅供技术分享,避免不当使用。

MockQueryable:LINQ查询模拟测试工具

https://www.cnblogs.com/chingho/p/18624777

本文介绍了MockQueryable,一个开源.NET库,用于模拟LINQ查询以提高单元测试的效率。通过MockQueryable,开发者无需依赖数据库,便可创建可查询对象,支持延迟执行、过滤和排序。使用此库可简化测试流程、提高测试覆盖率及确保测试可重复性。文章详细描述了使用方法,包括如何创建模拟对象及配置存储库查询,提供了可操作的代码示例。项目地址和相关开源项目链接也一并列出。整体内容清晰明了,实用性强,有助于开发者有效实施单元测试。

并发编程 - 死锁的产生、排查与解决方案

https://www.cnblogs.com/hugogoos/p/18634321

本文讨论了多线程编程中的死锁问题。死锁通常发生在多个线程相互等待对方释放资源时。产生死锁的四个条件包括互斥、占有并等待、不可剥夺和循环等待。文中给出了一个简单的代码示例,展示了如何通过两个线程互相占用锁资源而导致死锁。最后,作者介绍了在Visual Studio中如何使用调试工具排查死锁。整体内容清晰、实用且具有一定的技术深度。

Scoop: 开发者多环境管理利器

https://www.cnblogs.com/chenyishi/p/18634070

Scoop是一个基于Windows的包管理器,帮助开发者高效管理应用程序。它通过命令行安装、更新和卸载包,消除了管理员权限需求。Scoop的核心概念包括Bucket(存储应用包配置)、App(管理应用程序)和Version(多版本管理)。用户可以轻松安装、验证和切换.NET和Python的不同版本。Scoop还支持更新自身及已安装包,清理旧版本,快速搭建开发环境,比如安装VS Code和Node.js。其操作简单高效,非常适合开发者使用。

FluentAssertions:C#单元测试断言库,让测试代码更加直观、易读!

https://www.cnblogs.com/chingho/p/18635356

FluentAssertions是一个基于.NET的开源断言库,提供链式调用来编写单元测试中的断言,使其更自然流畅。支持多个.NET框架和单元测试框架。使用示例展示了更靠近自然语言的写法,支持多个断言条件的连续验证,以及丰富的多种断言方法,能验证不同类型的数据和场景。提供项目地址和其他开源项目的推荐。

AI Agent系列-什么是AI智能体,使用Semantic Kernel开发一个AI Agent

https://www.cnblogs.com/tianqing/p/18639649

AI智能体是由人工智能驱动的系统,能自主感知、决策和执行任务。其核心特性包括自主性、感知能力和学习能力。AI智能体分为物理智能体与虚拟智能体,应用于自动驾驶、智能客服和金融分析等领域。Microsoft的Semantic Kernel是集成大型语言模型的工具,支持插件定义和AI服务的抽象。使用Semantic Kernel开发AI智能体涉及安装SDK、配置API和定义功能插件,使得开发过程高效且灵活。

.Net程序员机会来了,微软官方新推出一个面向Windows开发者本地运行AI模型的开源工具

https://www.cnblogs.com/chingho/p/18646910

本文介绍了微软最新推出的AI Dev Gallery开源项目,旨在帮助.NET开发者将AI集成到Windows应用中。项目支持从知名平台下载预训练的AI模型,并提供了超过25种场景的交互式示例,涵盖图像、文本、音频和视频等应用。每个示例附有完整代码,开发者可根据设备性能选择模型运行方式。AI Dev Gallery还将支持更多示例和功能,适用于图像识别、自然语言处理、视频分析等多种应用场景。

Windows应用开发-常用工具

https://www.cnblogs.com/kybs0/p/18643823

本文介绍了.NET/WPF开发的工具和技术,包括Visual Studio 2022、VsColorOutput、Reshaper和Git等。应用发布方面提到Innosetup和SmartAssembly混淆工具。效率工具包括Snipaste、ScreenToGif和Beyond Compare。问题定位的工具有Snoop、Fiddler和Wireshark。性能定位工具包括DotTrace和DotMemory。此外,还涵盖了反编译工具如DotPeek和De4dot,以及Dump文件的查看方法。整体内容干货满满,适合开发者参考。

记一次 .NET某汗液测试机系统 崩溃分析

https://www.cnblogs.com/huangxincheng/p/18643600

这篇文章讨论了关于 .NET 高级调试的案例分析。作者通过一个生产事故的 dump 文件,分析崩溃原因。使用 WinDbg 工具提供了详细的崩溃上下文信息,具体阐述了崩溃发生在 System.Windows.Forms.ImageList.ImageCollection.SetKeyName 方法上的情况。文章不仅分享了解决问题的方法,也为读者提供了调试分析的实用指导,适合正在学习或需要实战经验的开发者。

记一次 .NET某电商医药网站 CPU爆高分析

https://www.cnblogs.com/huangxincheng/p/18640683

这篇文章讨论了.NET高级调试中的CPU利用率问题。作者通过案例引导,强调时间复杂度对程序性能的重要性。文章介绍了使用WinDbg分析CPU高使用率的方法,提供了实用的命令,如!tp和!cpuid,以便判断线程状态和CPU能力。作者展示了线程池的利用情况,指出当线程被占满时可能导致性能问题。通过分析调用栈,帮助开发者发现潜在的代码问题,提高程序性能。总体来说,文章逻辑清晰且具有实用性,适合需要调试经验的程序员。

ImageSharp:高性能跨平台.NET开源图形库

https://www.cnblogs.com/chingho/p/18642994

本文介绍了一个跨平台的.NET开源图形库ImageSharp。它是高性能且完全托管的代码库,支持多种图像格式与像素格式。ImageSharp提供了丰富的图像处理功能,如调整大小、应用滤镜、裁剪、旋转和绘制文字等,能够支持广泛的应用场景。使用中,仅需几行代码即可轻松实现常见操作,且在性能和内存管理上表现优异。

推荐 5 个 火火火火 的CMS开源.Net项目

https://www.cnblogs.com/chingho/p/18640415

文章推荐了五个基于.Net Core开发的开源CMS项目,包括OrchardCore、Umbraco CMS、Piranha CMS、Cofoundry和MixCoreCMS。OrchardCore是一个模块化和多租户框架,支持多种数据库和可视化编辑。Umbraco提供友好的用户体验,支持多语言和内容管理。Piranha CMS是轻量级且跨平台,特别适用于.NET 8。Cofoundry具备可扩展的架构,使用简单。MixCoreCMS功能丰富,支持跨平台和多个数据库,适合多种网站需求。这些项目展示了.Net Core在CMS开发中的强大能力。

.NET 9 new features-分布式追踪支持、HTTP/3 改进以及更好的容器镜像支持

https://www.cnblogs.com/tianqing/p/18639613

.NET 9 针对云原生开发进行优化,增强了分布式追踪、HTTP/3 支持和容器镜像性能。分布式追踪通过 OpenTelemetry 改进监控和故障诊断能力。HTTP/3 支持提升了通信性能,适用于高并发应用。容器镜像优化降低了体积,加快启动速度,提升部署效率。给出示例代码,展示如何配置分布式追踪、启用 HTTP/3 以及构建精简版容器镜像。这些改进增强了 .NET 在现代云原生应用中的适用性和效率。

Bogus:.NET的假数据生成利器

https://www.cnblogs.com/chingho/p/18632369

Bogus是一个开源的.NET库,用于生成虚假数据,方便项目测试。它提供了简单直观的API,使生成各种数据类型变得容易。用户可以定制数据格式和规则,支持多种数据类型,包括名字、地址、日期等。Bogus还支持本地化、复合类型和与ORM工具如Entity Framework的集成。安装时,可以使用Install-Package命令。示例代码展示了生成随机名字、地址和日期的方法。项目地址为https://github.com/bchavez/Bogus。

.NET 9 new features-Memory Caching 和 Collections 优化

https://www.cnblogs.com/tianqing/p/18639550

本文介绍了.NET 9的新特性,包括内存缓存和集合优化。内存缓存利用MemoryCache类在应用程序内存中存储频繁使用的数据,以提高性能。该设计减少了对外部数据源的访问,适用于静态数据的读取、计算成本高的数据缓存和会话状态管理。示例代码演示了如何使用内存缓存。集合优化则通过性能提升和内存使用改进,优化了循环操作,特别是在处理大数据量时,大大减少了CPU和内存消耗。示例代码展示了向下计数循环的实现。

dotnet最小webApi开发实践

https://www.cnblogs.com/flyfire-cn/p/18642507

本文探讨了使用ASP.NET Core开发最小Web API的实践。作者通过VS2022创建了一个简单的访客IP白名单授权功能。该API根据访问者的IP地址判断是否在白名单中,并返回相应的HTTP响应。文中展示了项目的基本配置和代码实现,包括使用Swagger进行接口测试的设置。整体内容简明扼要,适合开发者学习最小Web API的基础知识和实践方法。

Abp vNext 扩展属性

https://www.cnblogs.com/WangJunZzz/p/18643583

本文介绍了abp框架中的ExtraProperties属性,强调其在不修改源码的情况下扩展表的价值。通过示例代码展示了如何在Domain.Shared层创建扩展配置类,并为AbpUser表添加用户头像地址属性。文章详细说明了如何使用IdentityUserManager将扩展属性写入或更新数据库,并提出了JSON格式扩展字段在加索引过程中的限制问题。此外,文中提供了映射到数据库字段列的必要代码。

Raspberry pi 上部署调试.Net的IoT程序

https://www.cnblogs.com/czwy/p/18641846

树莓派是一款ARM架构的单板计算机,能够运行Linux系统,适合IoT应用开发。本文介绍了如何在树莓派上部署.NET IoT程序,包括开发、发布和发布后的配置步骤。需要通过开发计算机进行应用开发,然后将程序发布到树莓派。文章详细描述了安装.NET、配置环境和使用scp命令传输文件的步骤。此外,文中还介绍了如何在Visual Studio中进行远程调试和调试IoT库源码的方法。这些内容提供了实用的技巧和指导。

WPF 记录鼠标、触摸多设备混合输入场景问题

https://www.cnblogs.com/kybs0/p/18642076

本文探讨了在WPF应用中处理鼠标和触摸混合输入时出现MouseUp事件未触发的问题。文章指出鼠标、触笔和触摸三类事件的行为差异,详细描述了如何在不同输入设备下触发这些事件。通过实际案例,作者展示了如何通过步骤复现该问题,并提供了相关代码示例,以说明如何正确捕获各种输入事件。引用的博客链接也为读者提供了进一步学习的资源。整体上,文章为解决特定技术问题提供了有效的见解和方法。

开源 Material Design WPF UI 控件库,易用且功能强大

https://www.cnblogs.com/1312mn/p/18633900

Material Design 是 Google 开发的设计语言,旨在提高用户界面的直观性和美观性。MaterialDesignInXamlToolkit 是为 WPF 开发者提供的开源控件库,支持 C# 和 VB.NET 编程,实现 Material Design 风格。该工具库包含丰富的控件、样式和效果,支持自定义主题颜色和字体。它适用于 Windows 桌面,提供标准控件、额外设计控件以及平滑过渡效果。用户可通过 Visual Studio 安装并配置该工具包,方便快捷地开发现代化应用程序。

Coravel:一个可轻松实现任务调度、队列、邮件发送的开源项目

https://www.cnblogs.com/chingho/p/18624779

Coravel是一个轻量级的.NET开源任务调度库,具有任务调度、队列、缓存、事件广播和邮件发送等核心功能。其语法直观、配置简单,提升了应用性能。可使用内存或数据库作为缓存后端,提供易于使用的邮件API。示例展示了如何安装、调度任务、使用队列、注册事件和发送邮件。项目地址在GitHub。

使用 SK Plugin 给 LLM 添加能力

https://www.cnblogs.com/kklldog/p/18651292/sk-plugin

这篇文章介绍了Semantic Kernel中的Plugins如何提升大语言模型(LLM)的功能。Plugins允许将现有API封装并提供给AI,从而使其能够执行如天气查询等实际操作。文章详细阐述了Plugins的工作原理,并通过示例展示如何使用WeatherPlugin获取实时天气数据。此内容清晰易懂,适合技术人员理解新技术应用。

PaperAssistant:使用Microsoft.Extensions.AI实现

https://www.cnblogs.com/mingupupu/p/18651932

本文介绍了如何使用Microsoft.Extensions.AI在C#中构建一个论文总结AI Agent,旨在简化开发者与AI服务的集成。文章详细阐述了Microsoft.Extensions.AI库的构成及其功能,强调了与.NET生态系统的深度协作。实践部分展示了创建C#控制台项目的步骤,包括环境变量的设置、API客户端的初始化及PDF内容提取和MD笔记保存的实现。代码示例清晰简练,适合开发者进行参考和学习。

[.NET] 单位转换实践:深入解析 Units.NET

https://www.cnblogs.com/madtom/p/18653522

本文深入探讨了在软件开发中如何使用Units.NET库进行单位转换,特别是温度的处理。首先通过NuGet安装库,并给出了天气API的实战示例,展示了如何在API端点中实现不同温度单位的转换。文章强调了设置基本模型和单位转换方法的重要性,确保了代码的灵活性和易读性。通过具体的代码示例,读者能了解到如何优雅地实现单位转换,提升实际开发中的单位处理能力。

主题

Godot C# 包迁移到 .NET 8

https://godotengine.org/article/godotsharp-packages-net8/

宣布 C# 包将从 Godot 4.4 开始面向 .NET 8。

从 Godot 4.4 开始,现有项目必须以 .NET 8 为目标,并且在 Godot 4.4 中打开时将自动升级。此外,该库的目标是 .NET 8,但您可以将项目的目标版本指定为 .NET 9 或未来版本。

PostSharp 2025.0 正式发布:支持 C# 13、.NET 9 等

https://blog.postsharp.net/postsharp-2025-0-ga

PostSharp 2025.0 已发布。

此版本包括对 C# 13 和 .NET 9 的支持、改进的 Windows PDB 支持、长路径支持、WeakEventHandler 的性能改进等等。

2024 年热门 .NET 视频和直播 - .NET 博客

https://devblogs.microsoft.com/dotnet/top-dotnet-videos-live-streams-of-2024/

介绍 2024 年 .NET 的官方推荐视频和直播。

文章、幻灯片等

如何将 ini 文件与通用主机、ASP.NET Core 等一起使用。

https://zenn.dev/microsoft/articles/how-to-use-inifile

如何使用 Microsoft.Extensions.Configuration.Ini 将 .ini 文件用作配置文件。

尝试将 phi4 与 .NET Aspire 结合使用

https://zenn.dev/microsoft/articles/phi4-dotnet-with-aspire?redirected=1

如何在 .NET Aspire 中托管和调用 Phi-4 模型。

C# 异步处理期间 CurrentCulture 的行为根据 .NET/.NET Framework 版本而变化 - Qiita

https://qiita.com/yamagutiesneo/items/5f81513cd87e1a30f7bd

说明在 .NET 和 .NET Framework 4.6 或更高版本/更早版本之间的异步处理中,CurrentCulture 的处理方式有何不同。

C# 标准 - 模式对话框的一致最小化 - Qiita

https://qiita.com/chai0917/items/eeb70e952e9cda4c3071

关于打开子窗口时最小化模式对话框时的行为考虑。

[C#] 通知 Visual Studio 2022 中任何对象更改的技术

https://zenn.dev/luxiar/articles/b1c5a5b2cf4a78

在 Visual Studio 中调试时如何在特定对象发生更改时中断。

如何与 IronPython 交互(第 3 部分)- Qiita

https://qiita.com/Mt_SQ/items/b1fbb1a27e0a1a03ad18

将 IronPython 3.4.2 for .NET 9 与新的 LINQ 运算符结合使用的示例。

使用源生成器实现拦截器:创建源生成器 - 第 11 部分

https://andrewlock.net/creating-a-source-generator-part-11-implementing-an-interceptor-with-a-source-generator/

如何在 Source Generator 中实现拦截器的使用。

PHP 移除项目已完成 - Qiita

https://qiita.com/omt_teruki/items/eb0d953198120a2dc7c2

解释将服务从 PHP 迁移到 C# / .NET 时遇到的陷阱。

使用分析器中的仪表直方图解锁见解 - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/unlocking-insights-with-meter-histogram-in-the-profiler/

引入了在 Visual Studio 2022 中的诊断会话期间可视化仪表直方图的功能。

C# 标准 - 多重启动预防 - Qiita

https://qiita.com/chai0917/items/d59c52e4c12ce0a892f4

如何防止多次启动应用程序。它还涉及多次启动时的处理。

使用 .NET 9 编写字符串数字比较器

https://khalidabuhakmeh.com/writing-a-string-numeric-comparer-with-dotnet-9

如何实现比较字符串+数字的比较器(例如“Foo 123”、“Foo 456”、“Bar 567”)。文章使用了CommonPrefixLength方法来获取常见的前导字符数。

使用 Microsoft.Extensions.AI 将图像传递给 C# 中的LLM

https://markheath.net/post/passing-image-content

如何使用 Microsoft.Extensions.AI 将图像传递给 LLM。

.NET9 时代 iOS 的本机库互操作

https://zenn.dev/yamachu/articles/5ea515697a3bc1

了解如何在 .NET 9 中实现 iOS 的本机代码绑定。

添加完全引导的 Mono — 2024 — 博客 — GNU Guix

https://guix.gnu.org/en/blog/2024/adding-a-filled-bootstrapped-mono/

关于将完全引导的 Mono 添加到 GNU Guix(包管理器)的旅程。

尝试使用 .NET MAUI (Android) 获取 WiFi 强度

https://zenn.dev/aynv/articles/126642179ec18c

如何使用 .NET MAUI(.NET for Android)获取 Wi-Fi 信号强度。

如何使用 ASP.NET Core 构建热重载 Docker 开发环境 - Qiita

https://qiita.com/fortia/items/d347f575d386f6b9fcb9

如何热重载从 Docker 映像启动的 ASP.NET Core 应用程序。

使用 AngleSharp 集成测试 ASP.NET Core Web 应用程序

https://zenn.dev/masakura/articles/6a6971f7102205

了解如何使用 AngleSharp 进行 ASP.NET Core 应用程序的集成测试。

[C#] Timers.Timer Stop 时触发事件的原因及对策 - Qiita

https://qiita.com/takeo-index/items/5d43e53db22532223f87

关于即使在我停止 System.Timers.Timer 后仍被调用的事件。

在 Visual Studio 2022 中停靠代码搜索窗口 - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/dock-the-code-search-window-in-visual-studio-2022/

引入 Visual Studio 2022 中现已提供的代码搜索窗口对接功能。

使用 Visual Studio 2022 的代码搜索转到任意位置 - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/go-to-line-anywhere-with-code-search-for-visual-studio-2022/

介绍可通过代码搜索指定行数进行移动的功能。

用ASP.NET Core实现的“多租户+审计信息”设计指南

https://zenn.dev/sink00001/articles/acae9cccf5933c

多租户环境设计和在 ASP.NET Core 中记录审核信息的指南。

在本地构建和测试 .NET 运行时存储库 — 第 2 部分 — 使用 Visual Studio 进行调试

https://dsmblogs.com/build-and-test-net-runtime-repository-locally-part-2-debugging-with-visual-studio-c2400fb26505

了解如何在本地构建和测试 .NET 运行时存储库,并在 Visual Studio 中调试它们。

https://qiita.com/noobow/items/2764c96d34a869b4c9da

关于将 AngleSharp 与 .NET 9 一起使用时的问题,cookie Expires 被解释为本地时间而不是 UTC。

  • Cookie 过期使用本地时间而不是 UTC · 问题 #95603 · dotnet/runtime
  • 我第一次使用 ChatGPT 和 DeepL 为 OSS 做出贡献,它比我预期的要好 - Qiita

[C#] 在 VSCode 调试模式下显示跨度调试视图 - Qiita

https://qiita.com/abetakahiro123/items/2b2077b839ad861433f1

关于在 Visual Studio Code 中调试时无法在调试视图中显示跨度内容的问题。

使用 PostgreSQL 和 PgVector 在 .NET 中测试容器

https://dev.to/chsami/testcontainers-in-net-with-postgresql-and-pgvector-4m93

如何将 PgVector 和 PostgreSQL 与 Testcontainers 一起使用。

C# 开发人员的 Linux 进程优先级

https://medium.com/@ocoanet/linux-process-priorities-for-c-devs-9ed9d9cc4ba1

关于Linux进程优先级。 .NET 中实现的解释。

Rider 2025.1 路线图 | .NET 工具博客

https://blog.jetbrains.com/dotnet/2025/01/08/rider-2025-1-roadmap/

Rider 2025.1 路线图。简化的性能分析、混合调试、Windows 上的远程开发、SQL 项目支持、增强的 Roslyn 支持等等。

.NET Aspire 快速提示 - 管理容器和数据生命周期 - .NET 博客

https://devblogs.microsoft.com/dotnet/dotnet-aspire-container-lifetime/

.NET Aspire 中容器和数据生命周期管理的提示。

使用 Visual Studio Profiler 进行基准测试 - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/benchmarking-with-visual-studio-profiler/

介绍 Visual Studio 17.13 预览版中更新的 BenchmarkDotNet 基准诊断数据处理引擎如何更轻松地高效测量 CPU 使用情况和分配。

[C#] 推荐 Unsafe.BitCast

https://blog.neno.dev/entry/2025/01/07/182438

关于 Unsafe.BitCast,它允许强制转换相同大小的值类型,比 Unsafe.As 更安全地使用。

使用 .NET Upgrade Assistant 迁移到中央包管理 - tech.guitarrapc.cóm

https://tech.guitarrapc.com/entry/2025/01/05/235909

使用 .NET Upgrade Assistant 迁移到中央包管理的分步指南。

UTF8 还是 Utf8?

https://ufcpp.net/blog/2025/1/pascalcase/

关于 .NET 框架中类型和命名空间的 Pascal 大小写及其异常规则。

字段关键字

https://ufcpp.net/blog/2025/1/field-keyword/

关于 C# 14 中可用的属性的 field 关键字。

让我们使用RS-WFWATTCH2监控PC的功耗(实际值) - Qiita

https://qiita.com/yamaokunousausa/items/2faedd6481093e73e2ca

关于实现通过网络读取值的机制,以便使用 RS-WFWATTCH2(智能插头)监控 PC 的功耗。

C#:对象池和版本模式

https://zenn.dev/ruccho/articles/e9876dadeca78a

关于在使用/实现像 ValueTask 这样的对象池时通过版本来检测不正确使用的模式。

库、存储库、工具等。

usausa/hardwareinfo-disk:磁盘信息库支持NVMe、SATA、USB(仅限SAT12)。

https://github.com/usausa/hardwareinfo-disk

用于获取 Windows 上的 S.M.A.R.T 信息的库。

  • 我创建了一个库来使用.NET获取S.M.A.R.T信息 - Qiita

kevingosse/ClipPing:更新剪贴板时在活动窗口中显示视觉通知。

https://github.com/kevingosse/ClipPing

当剪贴板更新时,该工具会点亮活动窗口以通知您。

https://x.com/kookiz/status/1872949262054768822?s=12

image-20250119113646497

本文由博客一文多发平台 OpenWrite 发布!

相关文章:

.NET周刊【1月第1期 2025-01-05】

国内文章 3款.NET开源、功能强大的通讯调试工具,效率提升利器! https://www.cnblogs.com/Can-daydayup/p/18631410 本文介绍了三款功能强大的.NET开源通讯调试工具,旨在提高调试效率。这些工具包括LLCOM,提供串口调试和自动化处…...

(7)(7.2) 围栏

文章目录 前言 1 通用设置 2 围栏类型 3 破坏栅栏行动 4 使用 RC 通道辅助开关启用栅栏 5 自动高度规避 6 在任务规划器中启用围栏 7 用于遥控飞行训练 8 MAVLink 支持 前言 ArduPilot 支持基于本机的圆柱形(“TinCan”)和多边形和/或圆柱形、…...

1166 Summit (25)

A summit (峰会) is a meeting of heads of state or government. Arranging the rest areas for the summit is not a simple job. The ideal arrangement of one area is to invite those heads so that everyone is a direct friend of everyone. Now given a set of tenta…...

linux_socket

udp 通信 server #include <iostream> #include <arpa/inet.h> #include <unistd.h> #include <cstring>using namespace std;#define UPORT 12511int main(){int sock socket(AF_INET, SOCK_DGRAM, 0); // 创建一个UDP套接字if (sock -1) {cout&…...

Linux探秘坊-------3.开发工具详解(2)

1.动静态库和动静态链接&#xff08;操作&#xff09; 静态库是指编译链接时,把库⽂件的代码全部加⼊到可执⾏⽂件中,因此⽣成的⽂件 ⽐较⼤,但在运⾏时也就不再需要库⽂件了。其后缀名⼀般为“.a” 动态库与之相反,在编译链接时并 没有把库⽂件的代码加⼊到可执⾏⽂件中 ,⽽…...

Mysql InnoDB B+Tree是什么?

“mysql中常用的数据库搜索引擎InnoDB,其索引通过BTree的方式进行构建。” 实在想不起来BTree是怎么一回事了。以点带线&#xff0c;将涉及到的数据结构一起复习一下。 文章目录 数据结构定义红黑树定义使命 BTree定义使命 BTree定义 InnoDB BTree 旋转与调整二叉排序树插入删…...

C语言进阶习题【1】指针和数组(1)——一维数组

1. 数组名的意义&#xff1a; sizeof(数组名)&#xff0c;这里的数组名表示整个数组&#xff0c;计算的是整个数组的大小。&数组名&#xff0c;这里的数组名表示整个数组&#xff0c;取出的是整个数组的地址。除此之外所有的数组名都表示首元素的地址。&#xff08;一维数…...

2024:成长、创作与平衡的年度全景回顾

文章目录 1.前言2.突破自我&#xff1a;2024年个人成长与关键突破3.创作历程&#xff1a;从构想到落笔&#xff0c;2024年的文字旅程4.生活与学业的双重奏&#xff1a;如何平衡博客事业与个人生活5.每一步都是前行&#xff1a;2024年度的挑战与收获6.总结 1.前言 回首2024年&a…...

【Linux】网络基础探索:开启你的网络之旅

&#x1f308; 个人主页&#xff1a;Zfox_ &#x1f525; 系列专栏&#xff1a;Linux 目录 一&#xff1a;&#x1f525; 计算机网络背景 &#x1f98b; 1-1 网络发展 二&#xff1a;&#x1f525; 初识协议 &#x1f98b; 2-1 协议分层协议分层 vs. 软件分层 &#x1f98b; 2-…...

function isBulkReadStatement, file SQLiteDatabaseTracking.cpp

一问题&#xff1a;Xcode16.0运行在iPhone16/ios18.0 以上发生闪退&#xff0c; 闪退在 YYCache–>YYKVStorage 文件内。 以上删除保以下错误&#xff1a; function isBulkReadStatement, file SQLiteDatabaseTracking.cpp 解决方案&#xff1a; 找到YYKVStorage文件中_d…...

React 中hooks之useTransition使用总结

目录 概述基本用法使用场景最佳实践注意事项 概述 什么是 useTransition? useTransition 是 React 18 引入的新 Hook&#xff0c;用于标记非紧急的状态更新。它允许组件在状态转换期间保持响应&#xff0c;通过将某些更新标记为"过渡"来推迟它们的渲染。 主要特…...

leetcode 3097. 或值至少为 K 的最短子数组 II 中等

给你一个 非负 整数数组 nums 和一个整数 k 。 如果一个数组中所有元素的按位或运算 OR 的值 至少 为 k &#xff0c;那么我们称这个数组是 特别的 。 请你返回 nums 中 最短特别非空 子数组 的长度&#xff0c;如果特别子数组不存在&#xff0c;那么返回 -1 。 示例 1&…...

C# OpenCV机器视觉:特征匹配 “灵魂伴侣”

在一个阳光仿佛被施了魔法&#xff0c;欢快得直蹦跶的早晨&#xff0c;阿强像个即将踏上神秘寻宝之旅的探险家&#xff0c;一屁股墩在实验室那张堆满各种奇奇怪怪小玩意儿的桌前。桌上&#xff0c;零件、线路、半成品设备乱成一团&#xff0c;唯有他那宝贝电脑屏幕散发着清冷又…...

DDD - 整洁架构_解决技术设计困局

文章目录 Pre如何落地 DDD底层技术的更迭 整洁架构的设计主动适配器/北向适配器被动适配器/南向适配器 整洁架构的落地总结 Pre DDD - 软件退化原因及案例分析 DDD - 如何运用 DDD 进行软件设计 DDD - 如何运用 DDD 进行数据库设计 DDD - 服务、实体与值对象的两种设计思路…...

金融项目实战 07|Python实现接口自动化——连接数据库和数据清洗、测试报告、持续集成

目录 一、投资模块&#xff08;投资接口投资业务&#xff09; 二、连接数据库封装 和 清洗数据 1、连接数据库 2、数据清洗 4、调用 三、批量执行测试用例 并 生成测试报告 四、持续集成 1、代码上传gitee 2、Jenkin持续集成 一、投资模块&#xff08;投资接口投资业务…...

Ceph与RAID在存储中的协同工作过程

本文将结合架构图&#xff0c;详细讲解Ceph与RAID如何在存储环境中相互配合&#xff0c;共同提供高效且可靠的存储服务。 架构概述 从上图中可以看到&#xff0c;Ceph的架构主要分为四个层次&#xff1a; 客户端和服务接口层&#xff1a;这一层包括客户端访问存储应用的接口…...

《重生到现代之从零开始的C++生活》—— 类和对象2

类的默认成员函数 默认成员函数就是用户没有显示实现&#xff0c;编译器会自动生成的成员函数&#xff0c;一个类会默认生成6个成员函数 构造函数 构造函数时特殊的成员函数&#xff0c;构造函数的初始化对象 函数名与类名相同 没有返回值 对象实例化的时候胡自动调用构造…...

MFC 使用 32位带Alpha通道的位图

最近需要做一个MFC界面上的图片,众所周知,MFC 好像只支持 bmp 格式的! 先看我的原始24位图片,RGB 三个颜色各占8位 (256色), 所以是24位。 如果放到MFC界面上,是这个很丑的效果 它是一个正方形图片,周围的白色可以看见。 解下来,进入今天的主题: 32位带 Alpha 通…...

QT:子控件VLC播放视频时,父控件无法截取鼠标事件

具体来说&#xff1a; 反复验证&#xff0c;结论正确。只要是播放区&#xff08;即传递给VLC的窗口区域&#xff09;&#xff0c;就无法点击。 比如WidgetA&#xff0c;新建一个WidgetB&#xff0c;设置位置时留有一点边框。这个时候WidgetA的边框区是能收到鼠标事件的。 这…...

力扣 739. 每日温度

&#x1f517; https://leetcode.cn/problems/daily-temperatures 题目 给定一个数组&#xff0c;表示每天的天气返回一个数组&#xff0c;index i 表示几天后比当前的温度要高&#xff0c;没有则为 0 思路 维护一个单调递减栈&#xff0c;若当前的温度比栈顶大&#xff0c…...

蓝桥杯 阶乘的和(C++完整代码+详细分析)

题目描述 原题链接 阶乘的和 问题描述 给定 n 个数 Ai​&#xff0c;问能满足 m! 为 ∑(Ai!) 的因数的最大的 m 是多少。其中 m! 表示 m 的阶乘&#xff0c;即 123⋯m。 输入格式 输入的第一行包含一个整数 n。 第二行包含 n 个整数&#xff0c;分别表示 Ai​&#xff0c;相…...

OpenAI进军实体机器人:GPT赋能的智能未来

近年来&#xff0c;人工智能技术飞速发展&#xff0c;深刻地改变着我们的生活。而OpenAI作为人工智能领域的领军者&#xff0c;其最新动作更是引人注目&#xff1a;进军实体机器人领域&#xff01;这不仅标志着人工智能技术应用场景的重大拓展&#xff0c;也预示着未来智能机器…...

【Python运维】用Python管理Docker容器:从`docker-py`到自动化部署的全面指南

《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 在现代软件开发和运维过程中,Docker容器化技术因其高效、轻量和可移植性而被广泛应用。Python作为一种灵活且功能强大的编程语言,通过doc…...

【机器学习实战入门项目】MNIST数字分类机器学习项目

Python 深度学习项目&#xff1a;手写数字识别 为了使机器更加智能&#xff0c;开发者们正在深入研究机器学习和深度学习技术。人类通过不断练习和重复来学习执行某项任务&#xff0c;从而记住如何完成这些任务。然后&#xff0c;大脑中的神经元会自动触发&#xff0c;他们能够…...

【统计信号处理基础——估计与检测理论】Vol1.Ch1 引言

文章目录 1. 信号处理中的估计2. 估计的数学问题3. 估计量性能评估习题1.11.21.31.41.5 1. 信号处理中的估计 从离散时间波形或一组数据集中提取参数的问题。我们有 N N N点数据集 { x [ 0 ] , x [ 1 ] , ⋯ , x [ N − 1 ] } \{x[0],x[1],\cdots,x[N-1]\} {x[0],x[1],⋯,x[N−…...

Linux 存储设备和 Ventoy 启动盘制作指南

一、Linux 存储设备基础知识 1. 设备路径&#xff08;/dev&#xff09; 设备路径是 Linux 系统中物理存储设备的唯一标识&#xff0c;类似设备的"身份证号"。 命名规则解析 /dev/sda&#xff1a; /dev&#xff1a;device&#xff08;设备&#xff09;的缩写&…...

第14章:Python TDD应对货币类开发变化(一)

写在前面 这本书是我们老板推荐过的&#xff0c;我在《价值心法》的推荐书单里也看到了它。用了一段时间 Cursor 软件后&#xff0c;我突然思考&#xff0c;对于测试开发工程师来说&#xff0c;什么才更有价值呢&#xff1f;如何让 AI 工具更好地辅助自己写代码&#xff0c;或许…...

网络协议入门:OSI模型与TCP/IP栈

在网络通信的世界中&#xff0c;数据从一台设备传输到另一台设备&#xff0c;需要遵循一系列规则&#xff0c;这些规则统称为网络协议。OSI模型和TCP/IP协议栈作为网络通信的基石&#xff0c;帮助我们理解数据传输的全流程。这篇文章将深入解析它们的结构、功能和实际应用&…...

pthread_exit函数

pthread_exit 是 POSIX 线程库&#xff08;pthread&#xff09;中的一个函数&#xff0c;用于显式地终止调用线程。与 exit 函数不同&#xff0c;pthread_exit 仅影响调用它的线程&#xff0c;而不是整个进程。使用 pthread_exit 可以确保线程在退出时能够正确地释放线程相关的…...

从语音识别到图像识别:AI如何“看”和“听”

引言 随着人工智能技术的不断进步&#xff0c;AI的“听”和“看”能力正变得越来越强大。从语音识别到图像识别&#xff0c;AI不仅能够通过声音与我们互动&#xff0c;还能通过视觉理解和分析周围的世界。这些技术不仅改变了我们与机器的交互方式&#xff0c;也在各行各业中带…...

UML-对象图(Object Diagram)

定义 在UML(统一建模语言)中,对象图用于描述在某一时刻,一组对象以及它们之间关系的图形。它是系统详细状态在某一时刻的快照,常用于表示复杂的类图的一个实例。关联、依赖和继承是对象图中常见的三种关系,下面将对这三种关系进行详细说明,并阐述它们之间的区别。 Pla…...

Pytorch - YOLOv11自定义资料训练

►前言 本篇将讲解目前最新推出的YOLOv11搭配Roboflow进行自定义资料标注训练流程&#xff0c;透过Colab上进行实作说明&#xff0c;使大家能够容易的了解YOLOv11的使用。 ►YOLO框架下载与导入 ►Roboflow的资料收集与标注 进行自定义资料集建置与上传 透过Roboflow工具进行…...

大模型GUI系列论文阅读 DAY2续2:《使用指令微调基础模型的多模态网页导航》

摘要 自主网页导航的进展一直受到以下因素的阻碍&#xff1a; 依赖于数十亿次的探索性交互&#xff08;通常采用在线强化学习&#xff09;&#xff0c;依赖于特定领域的模型设计&#xff0c;难以利用丰富的跨领域数据进行泛化。 在本研究中&#xff0c;我们探讨了基于视觉-语…...

Docker 搭建mysql 连接超时问题,xxl-job启动mysql连接报错,禁用dns

1.本地连接Navicat报错信息&#xff0c;猜测是navicat默认连接超时导致的&#xff0c;后面换成idea一个插件虽然慢但连接上了 2013 - Lost connection to MySQL server at reading initial communication packet 2.启动xxl-job会报错&#xff0c;网上有人mysql驱动与数据库不匹…...

SSM课设-学生管理系统

【课设者】SSM课设-学生管理系统 技术栈: 后端: SpringSpringMVCMybatisMySQLJSP 前端: HtmlCssJavaScriptEasyUIAjax 功能: 学生端: 登陆 学生信息管理 个人信息管理 老师端: 多了教师信息管理 管理员端: 多了班级信息管理 多了年级信息管理 多了系统用户管理...

JavaScript笔记APIs篇03——DOM节点Bom操作本地存储正则表达式

黑马程序员视频地址&#xff1a;黑马程序员前端JavaScript入门到精通全套视频教程https://www.bilibili.com/video/BV1Y84y1L7Nn?vd_source0a2d366696f87e241adc64419bf12cab&spm_id_from333.788.videopod.episodes&p78https://www.bilibili.com/video/BV1Y84y1L7Nn?…...

JS 有哪些模块化规范

一、CommonJS 规范 1. 主要应用场景 主要用于服务器端开发&#xff0c;尤其是 Node.js 环境。 2. 核心思想 使用 require() 函数来引入模块&#xff0c;使用 module.exports 或 exports 对象来导出模块中的内容。 // math.js 模块const add (a, b) > a b;const subtr…...

摘录人工智能面试笔试题汇总

一、人工智能面试问答题汇总 1、什么是人工智能&#xff1f; 人工智能&#xff08;AI&#xff09;是一种计算机科学&#xff0c;它增强了像人类一样工作和反应的智能机器。机器模拟人类智能行为的能力。人工智能通常用于各种应用&#xff0c;如决策、语音识别、感知、认知能力…...

【PCIe 总线及设备入门学习专栏 6.1 -- PCIe MCTP】

文章目录 1 什么是 MCTP?2 MCTP 消息在 PCIe 中的传输特点3 PCIe MCTP 的局限性(1) 出站(Outbound)MCTP 消息分解的限制(2) 入站(Inbound)MCTP 消息组装的限制4 MCTP 消息的实际使用流程发送端处理流程接收端处理流程5 实际使用场景例 1:管理命令传输例 2:监控数据报告例…...

RabbitMQ集群安装rabbitmq_delayed_message_exchange

1、单节点安装rabbitmq安装延迟队列 安装延迟队列rabbitmq_delayed_message_exchange可以参考这个文章&#xff1a; rabbitmq安装延迟队列-CSDN博客 2、集群安装rabbitmq_delayed_message_exchange 在第二个节点 join_cluster 之后&#xff0c;start_app 就会报错了 (CaseC…...

doris 2.1 Queries Acceleration-Hints 学习笔记

1 Hint Classification 1.1 Leading Hint:Specifies the join order according to the order provided in the leading hint. 1.2 Ordered Hint:A specific type of leading hint that specifies the join order as the original text sequence. 1.3 Distribute Hint:Speci…...

【网络协议】【http】【https】TLS解决了HTTP存在的问题-加密通信+摘要,数字签名+CA证书

【网络协议】【http】【https】TLS解决了HTTP存在的问题-加密通信摘要数字签名CA证书 ps:TLS前期发送的密码套件里面主要就是约定&#xff1a;密钥交换算法&#xff0c;签名算法&#xff0c;对称加密算法&#xff0c;摘要算法 1加密通信 一般选择非对称加密交换密钥 对称加密…...

某讯一面,感觉问Redis的难度不是很大

前不久&#xff0c;有位朋友去某讯面试&#xff0c;他说被问到了很多关于 Redis 的问题&#xff0c;比如为什么用 Redis 作为 MySQL 的缓存&#xff1f;Redis 中大量 key 集中过期怎么办&#xff1f;如何保证缓存和数据库数据的一致性&#xff1f;我将它们整理出来&#xff0c;…...

【json_object】mysql中json_object函数过长,显示不全

问题&#xff1a;json只显示部分 解决&#xff1a; SET GLOBAL group_concat_max_len 1000000; -- 设置为1MB&#xff0c;根据需要调整如果当前在navicat上修改&#xff0c;只有效本次连接和后续会话&#xff0c;重新连接还是会恢复默认值1024 在my.ini配置文件中新增或者修…...

【KOA框架】koa框架基础入门

koa是express的一层封装&#xff0c;语法比express更加简洁。所以有必要了解下koa的相关开发方法。 代码实现 package.json {"name": "koapp","version": "1.0.0","main": "index.js","scripts": {&…...

kubernetes 集群 YAML 文件详解

Kubernetes 是一个开源的容器编排平台&#xff0c;用于自动化部署、扩展和管理容器化应用程序。在 Kubernetes 中&#xff0c;YAML 文件扮演着至关重要的角色&#xff0c;因为它们是用来定义资源对象&#xff08;如 Pods、Deployments、Services 等&#xff09;的配置文件。正确…...

【STM32G4xx的CAN驱动记录】

STM32G4xx的CAN驱动记录 CAN说明CAN的波特率计算数据测试总结 本文主要记录了基于STM32G4xx的CAN接口解析某型号雷达数据遇到的问题及规避方法&#xff0c;CAN总线波特率500Kbps&#xff0c;采样点要求80%附近。 注意CAN总线同步段的时间&#xff01;&#xff01;&#xff01; …...

VSCode下EIDE插件开发STM32

VSCode下STM32开发环境搭建 本STM32教程使用vscode的EIDE插件的开发环境&#xff0c;完全免费&#xff0c;有管理代码文件的界面&#xff0c;不需要其它IDE。 视频教程见本人的 VSCodeEIDE开发STM32 安装EIDE插件 Embedded IDE 嵌入式IDE 这个插件可以帮我们管理代码文件&am…...

HTML之拜年/跨年APP(改进版)

目录&#xff1a; 一&#xff1a;目录 二&#xff1a;效果 三&#xff1a;页面分析/开发逻辑 1.页面详细分析&#xff1a; 2.开发逻辑&#xff1a; 四&#xff1a;完整代码&#xff08;不多废话&#xff09; index.html部分 app.json部分 二&#xff1a;效果 三&#xff1a;页面…...

解决 WSL 2 中 Ubuntu 22.04 安装 Docker 后无法启动的问题

问题场景 安装Docker后&#xff0c;执行sudo service docker start启动Docker&#xff0c;提示启动成功 rootDev:~# sudo service docker start * Starting Docker: docker [ OK ]执行su…...