35岁程序员的中年求职记:四次碰壁后的深度反思摘要:文章探讨程序员的35岁危机,指出这一问题确实存在,但也有其夸大的成分。35岁程序员通常具备丰富经验,能够更高效地解决复杂问题。文章分享了作者在长沙求职的经历,强调技术能力的重要性,尤其是在细分领域的专业性。同时,面试体验展示了企业对中年程序员的不同看法,部分企
文章探讨程序员的35岁危机,指出这一问题确实存在,但也有其夸大的成分。35岁程序员通常具备丰富经验,能够更高效地解决复杂问题。文章分享了作者在长沙求职的经历,强调技术能力的重要性,尤其是在细分领域的专业性。同时,面试体验展示了企业对中年程序员的不同看法,部分企业更注重技术硬实力,导致中年程序员面临更高的压力。最后,结尾部分提及了对岗位的适配性和行业发展前景的观察。
正在开发的.net sql拼写神器本文介绍了一个高性能的.NET SQL拼写工具,支持多种数据库和自定义方言。该工具以StringBuilder拼接SQL,适用于Dapper和ADO.NET。提供两种查询模式:SQL模式和逻辑模式。SQL模式支持原生SQL查询、逻辑查询、GroupBy和联表,逻辑模式通过逻辑运算(与、或)进行查询,执行速度更快且内存消耗低。整体功能强大,适合开发者使用。
Cursor预测程序员行业倒计时:CTO应做好50%裁员计划本文探讨了AI在代码生成领域的应用,特别是Cursor的崛起。Cursor是一款智能代码编辑器,通过开源生态,利用丰富的代码数据提升AI能力。开源社区协作提高了代码质量,而其他领域的数据获取却各有难题。Cursor提供自然语言生成代码、实时错误诊断等功能,显著提高开发效率。本文还描述了Cursor的融资情况与实际开发案例,展示如何运用Cursor满足技术要求。此外,介绍了Cursor的三种工作模式:Agent、Ask和Edit,以适应不同的开发需求。
如何在 .NET 中 使用 ANTLR4本文介绍如何在.NET环境中使用ANTLR4构建语法分析器。内容涵盖ANTLR4的安装、语法规则编写、语法分析器生成及使用。ANTLR4是强大的语法分析器生成工具,能生成多种语言的分析器。文章简要阐述语法分析的基础概念,包括词法分析和语法分析,并用四则运算示例演示ANTLR4的基本用法。文中的代码示例和相关资源均已上传至GitHub,供读者参考和使用。
10年+ .NET Coder 心语 ── 继承的思维:从思维模式到架构设计的深度解析
本文探讨了面向对象编程中的继承概念,从生活实例分析继承的实际应用。强调从细节出发抽象共性,以及从整体框架逐步细化设计的重要性。文章讨论了‘is-a’关系在继承中的核心角色,倡导关注未来扩展性,借助抽象方法提升灵活性。还指出过深的继承层次会导致代码维护困难,建议保持简洁。最后提出组合(has-a)作为继承的替代方案,以解决某些特性表述问题。对软件开发者具有指导意义。
使用MCP C# SDK开发MCP Server + Client本文介绍了模型上下文协议(MCP)的功能和使用。MCP作为一种开源标准协议,简化了AI模型与外部数据源和工具的连接。文章详细描述了MCP的工作原理,包括客户端和服务端之间的通信方式,以及如何通过MCP C# SDK创建MCP Server的具体步骤。示例代码展示了如何定义和使用工具,强调了MCP在开发AI应用中的便捷性。MCP的出现有助于提升AI模型的实用性,期待其在未来的推广应用。
抽离BlazorWebview中的.Net与Javascript的互操作库
本文讨论了在Blazor中实现C#与JavaScript的互操作,而无需加载整个Blazor库。作者研究了asp.net core相关源码,并将Microsoft.JSinterop移植到.Net Framework。文章详细介绍了如何在wpf和MAUI安卓下使用带互操作的WebView,包括安装步骤、命名空间引入及XAML使用示例,同时提供了项目配置的具体要求。通过使用Microsoft.JSInterop和前端的@microsoft/dotnet-js-interop包,可实现JavaScript和C#之间的消息传递,增强了Blazor开发的灵活性和便利性。
MQTT协议发布和订阅的实现,一步步带你实现发布订阅服务。MQTT协议是基于TCP的应用层协议,主要用于物联网设备之间通信。它采用客户端-服务端架构,支持发布/订阅模式,适合低带宽和不稳定网络。MQTT优点包括轻量级、支持多种服务质量、持久会话等,但也存在安全性和复杂性问题。适用场景包括物联网、移动应用、远程监控等。MQTT的核心角色有发布者、代理服务器和订阅者。C#中,微软通过MQTTnet库实现MQTT协议,提供MqttServer和MqttClient类来启动服务器和处理客户端通信。
.net core-利用OpenObserve 实现OpenTelemetry可观测性标准(Logs,Traces,Metrics)
OpenObserve 是一个开源可观测性平台,旨在替代 Elasticsearch 和 Datadog。本文介绍了如何搭建 OpenObserve,使用 Docker 进行本地部署,并提供了默认的登录信息。文章还详细说明了在 .NET Core 中使用 OpenTelemetry 进行日志配置的方法,包括所需的 NuGet 包和代码实现。通过示例代码,读者可了解如何设置日志记录、环境、服务版本等,实现数据接收和监控。
C# Office COM 加载项本文介绍了OfficeCOM加载项的开发流程。首先,文章强调实现IDTExtensibility2接口的重要性,并提到如何添加COM引用和处理与WPS的兼容性。接着,提供了C#代码示例,说明如何定义Office加载项类,并指出ProgID的命名规则及其与类的匹配关系。文章还详细描述了如何注册COM组件,包括使用RegAsm.exe注册和在注册表中添加信息以提升兼容性。文中包含的注意事项和代码示例对开发者非常实用,使得读者能够更快速地上手开发OfficeCOM加载项。
Spring AI与DeepSeek实战三:打造企业知识库本文讨论了企业应用集成大语言模型(LLM)的两大痛点,包括知识局限性和生成幻觉。为解决这两大问题,建议使用RAG技术,结合信息检索和LLM,动态检索相关信息提升回答准确性。文章以AI智能搜索为场景,基于Spring AI与RAG的结合,构建实时知识库,实现智能搜索及个性化推荐。同时,讨论了向量数据库与知识图谱的选择、向量模型的构建核心代码以及Spring AI的应用。这为开发者提供了实用且深度的技术指导。
WPF关于设备无关性的理解WPF的像素单位与系统DPI有关,当前DPI为96时,1单位等于1px。计算DPI的方法为显示器分辨率和对角线尺寸的平方根除以对角线尺寸。即使DPI变化,按钮的物理尺寸保持1英寸。WinForm中设计的控件在不同DPI上会变化,因分辨率不同,96像素在85DPI系统上看起来更长。Windows通过放大DPI功能来调整显示,使得高DPI系统下控件和字体接近于标准DPI下的大小。总体来说,WPF维持了设备无关性,确保控件在各种DPI下的物理尺寸一致。
C# 窗口过程消息处理 WndProc本文讨论了C#中WinFORM和WPF的窗口消息处理机制。通过重写WndProc方法,开发者可以自定义处理特定消息,例如阻止窗口通过关闭按钮关闭。还介绍了WPF中的HwndSource和IMessageFilter接口,以捕获和预处理消息。示例代码展示了如何实现这些功能,提升了对消息循环的控制能力。作者强调使用消息过滤器时要注意性能问题。
BotSharp + MCP 三步实现智能体开发MCP模型上下文协议是一种标准化接口,允许AI模型与外部数据和工具连接,实现数据访问和任务处理。MCP解决数据孤岛问题,以统一协议连接多种数据源,提升AI模型的应用价值。文章描述了MCP与.NET的结合,详细介绍了客户端和服务器的结构,强调MCP在ASP.NET Core中的实现,提供实战案例,如Pizza价格查询、下订单和支付功能的开发。使用MCP C# SDK简化集成,使开发更高效。
设计模式脉络软件的可扩展性是衡量其生命力的重要标准。可扩展性允许软件在未来业务变更时,做小范围修改以支持新需求。面向对象的方法提供了优越的扩展能力,通过类和对象的封装实现功能的稳定性与变化的灵活性。抽象类和接口则进一步提升了可扩展性,允许在类基础上舍去易变因素。设计模式作为实践经验的总结,强调如何运用这些抽象类,提高软件的可扩展性。后续文章将介绍23种设计模式及其内在联系,帮助开发者更好地理解和应用这些原则。
分享 3 款基于 .NET 开源且免费的远程桌面工具本文介绍了三款基于.NET的开源远程桌面工具,分别是1Remote、mRemoteNG和Quasar。这些工具免费且功能强大,旨在提升远程工作和学习的效率。1Remote支持多种协议,适合快速开启远程会话;mRemoteNG提供标签式界面,支持多种语言,可以同时管理多个连接;Quasar则定位为轻量级管理工具,适用于用户支持及日常管理。同时,推荐关注C#/.NET领域的优秀项目和框架以便及时掌握动态。
BotSharp 5.0 MCP:迈向更开放的AI Agent框架随着人工智能的发展,BotSharp作为一个功能强大的开源项目,专注于构建可定制的多智能体解决方案。其模块化架构和丰富插件生态为开发者提供了灵活性。BotSharp 5.0更新了MCP(Model Context Protocol),增强了在.NET技术栈下的AI代理开发能力。新特性包括基于SDK的深度集成、安全通信和企业级开发优化,适合高合规性需求如金融和医疗。此版本显著降低了开发难度,提升了智能体间的协作能力,标志着对AI通信协议的标准化进程,为开发者带来更多可能性。未来,BotSharp将继续演进,以满足日益增长的AI应用需求。
帮客户解决基于surging的物流速运网关内存泄漏问题本文探讨了企业客户在线环境中遇到的内存无法释放的问题。通过分析,发现线程阻塞和消息积压是主要原因。文章详细说明了使用基于.NET6.0的surging微服务引擎开发的木舟物联网平台的功能,以及在调试过程中如何通过环境变量优化内存使用。作者给出了具体的代码修改建议,以提高系统性能。最后,作者提到运行结果和后续收入期待。
C# Socket教程入门,Socket的使用方法,附可执行Demo本文章介绍了如何在C#中使用Socket实现服务器与客户端的连接。文章分为服务端和客户端两部分,详细列举了创建Socket、绑定、监听及接受连接的过程。服务端使用serverSocket监听客户端请求,客户端通过clientSocket进行连接。文章通过具体的C#代码示例演示了如何配置Socket以及进行信息的发送与接收,结构清晰,并提供操作步骤。此外,文中引用了微软的官方文档作为参考,确保了信息的准确性和权威性。
由 MCP 官方推出的 C# SDK,使 .NET 应用程序、服务和库能够快速实现与 MCP 客户端和服务器交互!
本文介绍了MCP C# SDK,这是由MCP官方推出的C#软件开发工具包,旨在帮助.NET应用程序、服务和库与MCP客户端和服务器进行快速交互。MCP,即模型上下文协议,提供一种标准化的方式,为大型语言模型(LLMs)提供上下文信息。该协议具有良好的扩展性,支持多种传输类型,确保不同服务之间的兼容性。文章还提供了MCP的源代码和安装指南,鼓励开发者参与和支持开源项目。
MySurvey 问卷调查, 一个简单的Biwen.QuickApi示例项目
MySurvey 项目是基于 Biwen.QuickApi 库构建的问卷调查系统示例,展示如何快速开发现代 Web API。Biwen.QuickApi 是一个 .NET Web API 微型框架,支持快速定义 API 路由,自动生成 OpenAPI 文档,内置请求验证和响应处理。项目通过特性定义 API,不仅集成依赖注入,还支持中间件扩展,易于使用。目的是演示 Biwen.QuickApi 的实际应用,提供 RESTful API 和复杂业务逻辑的处理,确保 API 的安全性与可维护性,并集成生态系统组件。部署简单,适合开发者学习与实践。
ShadowSql之借Dapper打造高性能ORM及百变魔法本文介绍了ShadowSql和Dapper的结合,旨在提升ORM性能。首先配置Dapper执行器,通过ISqlEngine接口支持多种数据库。接着提供了读取整张表的示例,并展示了用SqlQuery和Query进行数据查询的不同方式。文章通过具体代码实例展示了如何使用Query和执行器,实现灵活的SQL查询和优化数据库操作。整体内容简洁明了,技术性强,具有较高的实用性和针对性。
使用 AutoGen Studio 打造你的私有团队AI Agent是今年的热门概念,正在改变人机交互方式。微软的Autogen因其灵活性迅速获得关注,能够高效整合多个AI Agent,简化智能协作。Autogen是一种框架,用于利用多个代理开发大型语言模型应用,生成的代理能够执行复杂任务。Autogen Studio是微软的低代码工具,简化了多智能体应用的构建。文中介绍了如何使用Autogen Studio模拟软件开发团队,创建前端和后端开发者Agent,并定义任务如设计登录界面。最后,团队成员协同工作,成功创建了一个web服务,展示了前端设计效果。
ShadowSql之功能简介ShadowSql概述其功能,主要包括数据表管理和SQL语句构建。框架支持插入、删除、更新和选择操作。Table负责映射,而DB管理表。AliasTable用于分辨联表和子查询的字段。TableView表示表或查询视图,SqlQuery和Query提供查询接口,支持逻辑运算。Cursor用于数据分页,Select和SelectFields用于筛选数据。此技术涵盖了SQL操作的复杂性,但仍需完善使用示例,以帮助理解。
主题.NET 和 .NET Framework 2025 年 4 月服务版本更新 - .NET 博客
.NET 8.0.15 和 9.0.4 已作为 2025 年 4 月的 .NET 和 .NET Framework 更新发布。
该版本修复了 ASP.NET Core 中的一个漏洞。 NET 框架。
•Microsoft 安全公告 CVE-2025-26682:.NET 拒绝服务漏洞 · 问题 #352 · dotnet/announcements:与 HTTP/3 相关的拒绝服务漏洞
.NET 10 预览版 3 现已推出! - .NET 博客.NET 10 预览版 3 已发布。
此版本包括多个库、运行时改进和 C# 的扩展成员。
.NET Aspire 9.2 现已推出新的部署方式 - .NET 博客
.NET Aspire 9.2 已发布。
此版本包括资源图、自定义资源 URL、资源深层链接、内置自定义 HTTP 命令,并添加了 Docker Compose 发布者。
Azure SQL Server 和 Azure PostgreSQL 之间的集成也发生了与托管标识相关的重大更改。
•.NET.NET Aspire 9.2 中的新增功能 - .NET Aspire
我们如何最终在 .NET 9 中重写 NuGet Restore - .NET Blog
您是如何决定重写 .NET 9 NuGet 还原算法的,它是如何导致发布的?
它首先介绍了 Microsoft 内部团队报告还原 NuGet 需要很长时间,然后介绍了 NuGet 的历史记录、包图的难点、性能优化和新算法的开发以及发布它们的过程。
加入 .NET & C# 团队参加 Microsoft Build 2025 - .NET 博客
在 Build 2025 上介绍 .NET 和 C# 会议、动手实践等。
ReSharper 和 .NET Tools 2025.1 候选版本现已推出 | .NET 工具博客
ReSharper 和 .NET Tools 2025.1 候选版本已经发布。
此版本包括对 C# 14 的增强语言支持、重构和格式设置、代码样式增强、性能改进、游戏开发增强、Qodana Team 代码质量增强和反编译器增强。
此外,dotMemory 与 Visual Studio 完全集成,dotTrace 引入了选项卡式快照分析,而 dotCover 包括一些小的改进和错误修复。
OpenSilver 3.2 通过 MAUI Hybrid 将 WPF 应用程序引入 iOS、Android 等
OpenSilver 3.2 已发布。
此版本支持 .NET MAUI Hybrid,它现在可以在 iOS、Andorid 等上运行。 其他功能包括改进的与 WPF 的兼容性以及与 IDE 的更好集成。
使用 C# 构建模型上下文协议 (MCP) 服务器 - .NET 博客了解如何使用适用于 C# 的 MCP SDK 在 C# 中实现 MCP 服务器。
发布•AvaloniaUI/Avalonia
•11.2.7
•aws/aws-sdk-net
•3.7.1018.0、3.7.1019.0、3.7.1020. 03.7.1021.0、3.7.1022.0
•Azure/azure-sdk-for-net
•Azure.Messaging.EventHubs_5.12.0,Azure.Messaging.EventHubs_5.12. 1,Azure.Messaging.EventHubs.Processor_5.12. 0,Azure.Messaging.EventHubs.Processor_5.12. 1,Azure.Messaging.ServiceBus_7.19. 0,Azure.ResourceManager.RecoveryServicesDataReplication_1.0. 0,Microsoft.Azure.WebJobs.Extensions.EventHubs_ 6.5.0,Microsoft.Azure.WebJobs.Extensions.EventHubs_6.5. 1,Microsoft.Azure.WebJobs.Extensions.ServiceBus_5.16. 6
•DataDog/dd-trace-dotnet
•v3.14.3
•domaindrivendev/Swashbuckle.AspNetCore
•v8.1.1
•dotnet/diagnostics
•v9.0.621003
•dotnet/dotnet-monitor
•v9.1.0-preview.2.25201.5
•microsoft/WindowsAppSDK
•v1.6.7,v1.7.1
•spectreconsole/spectre.console
•0.50.0
文章、幻灯片等将 GitHub 模型与 Semantic Kernel 结合使用从 GitHub 模型调用 GPT-4.1 模型的说明 从语义内核.
AWS Bedrock 人类 claude 工具调用与 Microsoft 语义内核的集成
https://dev.to/stormhub/aws-bedrock-anthropic-claude-tool-call-integration-with-microsoft-semantic-kernel-29g3从 Sermantic 内核在 AWS Bedrock 中调用 Claude 的说明。
. 我使用 .NET 制作了一个简单的 MCP 服务器如何在 MCP SDK for C# 中实现 MCP 服务器并从 Cursor 调用它。
提醒在通用主机上appsettings.json NLog 设置了解如何将 NLog 合并到通用主机中并在 appsettings.json 中对其进行配置。
使用 DynamicExpresso 从字符串执行方法介绍用于从字符串执行动态表达式的库 DynamicExpresso。
让我们用 Semantic Kernel 轻松链接多个代理Semantic Kernel 具有多个协同工作的代理。
【C# . NET10 预览版 3] 条件赋值条件赋值简介,在 .NET 10 预览版 3 的 C# 14 中引入。
我尝试使用 C# 基准测试了解如何在 C# 中进行基准测试。
本文介绍了如何使用 Stopwatch、如何实现 Stopwatch 的担忧以及如何处理 BenchmarkDotNet。
在 Rider 中检查 LINQ 方法链的中间结果了解如何在 Rider 调试器中检查 C# LINQ 方法链中每个方法的返回值。
VSCode 中用于 C# 开发的 OmniSharp 与 C# 开发工具包比较图
OmniSharp 与 Visual Studio Code 中的 C# 开发工具包的比较。
深入了解 .NET 9 中的对冲请求 — 第 1 部分 - Viktor Ponamarev - Medium
https://medium.com/@vikpoca/deep-dive-into-hedging-requests-in-net-9-part-1-d46f23bd503b
在 .NET 9 及更早版本中支持对冲请求,这些请求在后续作后多次引发请求。
[.NET 10 预览版3] C# 14 新功能摘要在 .NET 10 预览版 3 中介绍 C# 14 中的新增功能。
使用现代 .NET 功能优化内存使用了解如何使用现代 .NET 功能来减少内存使用量。
ReSharper 和 Rider 2025.1 中的 C# 语言支持 | .NET 工具博客
ReSharper 和 Rider 在 2025.1 中支持 C# 语言。
• 结构化日志支持
• 字符串连接的上下文作
• 隐式使用重构
• 改进的多行待办事项注释
• 返回值的语言注入
• 冗余的重复代码
• 滥用 CancellationToken
• 插入 postfix 模板
• 参数更改重构
• 扩展类型上下文高亮显示
• “Chop” 格式上下文作
• Debug.Assert 中的更改
• 不准确的流读取
• 元组的组件名称
• 重构 Enum 成员名称
• 未绑定泛型 nameof
• 一级跨度类型
• 带有修饰符的简单 lambda 参数
• 默认文本建议
组织 OpenAI 和 Azure AI 的 SDK了解当前发布的适用于 Open AI 和 Azure AI .NET 的各种 SDK。
在 WinUI 3 中更改 Flyout 的样式了解如何在 WinUI 3 中更改浮出控件的样式。
我尝试实现一个验证 PlantUML 代码的 MCP 服务器有关实现验证 PlantUML 的 MCP 服务器的文章。
.NET Aspire 和 Azure Functions 集成预览版 - Visual Studio 博客
.NET Aspire 和 Azure Functions 简介,Visual Studio 集成预览版
Rider 2025.1 候选版本现已发布! | .NET 工具博客与 MSIX 包中的 AppData 虚拟化相关的重定向行为从打包的应用程序访问虚拟化 AppData 时的行为(有或没有路径)。
如何在 WinUI 3 中同时支持打包和未打包了解如何使 WinUI 3 应用程序与打包和未打包的分发格式兼容。
Visual Studio 中的多进程 CPU 使用率分析 - Visual Studio 博客
在 Azure 容器应用动态会话中安全地运行 Python 脚本。 您也可以从 .NET 调用它
使用 .NET 中的容器应用动态会话运行 Python 的实现。
MongoDB C# 驱动程序中的可查询加密入门了解如何将可查询加密与适用于 MongoDB 的 C# 驱动程序结合使用。
C# 互作字符串说明有关在 Win32 P/Invoke 中传递字符串时如何处理字符串的说明。
获取 EF Core 中序列的下一个值 (ExecuteSqlRawAsync, FromSql)
如何在 Entity Framework Core 和 SQL Server 中检索序列的下一个值。
dotInsights | 2025 年 4 月 | .NET 工具博客
JetBrains 2025 年 4 月的 .NET 相关信息综述。
[C#] 为什么你更喜欢 C#?与其他语言相比- 尼诺的花园。了解 C# 和 .NET 的现状、它与其他语言的比较以及您为什么更喜欢 C#。
nuskey8/csv-CSharp: 适用于 .NET 和 Unity 的快速 CSV 序列化器
具有序列化器样式 API 的快速 CSV 解析器。
•Csv-CSharp
相信大家在开发中经常会遇到一些性能问题,苦于没有有效的工具去发现性能瓶颈,或者是发现瓶颈以后不知道该如何优化。之前一直有读者朋友询问有没有技术交流群,但是由于各种原因一直都没创建,现在很高兴的在这里宣布,我创建了一个专门交流.NET性能优化经验的群组,主题包括但不限于:
• 如何找到.NET性能瓶颈,如使用APM、dotnet tools等工具
• .NET框架底层原理的实现,如垃圾回收器、JIT等等
• 如何编写高性能的.NET代码,哪些地方存在性能陷阱
希望能有更多志同道合朋友加入,分享一些工作中遇到的.NET问题和宝贵的分析优化经验。目前一群已满,现在开放二群。可以加我vx,我拉你进群:ls1075另外也创建了QQ Group: 687779078,欢迎大家加入。
来源:opendotnet