- 博客(150)
- 资源 (3)
- 收藏
- 关注
原创 揭开.NET Core 中 ToList () 与 ToArray () 的面纱:从原理到抉择
摘要: 本文对比了.NET Core中ToList()与ToArray()的底层实现与适用场景。ToList()基于动态扩容的List<T>,适合需频繁修改或长度未知的序列,内存占用略高但操作高效;ToArray()生成固定长度数组,内存紧凑但修改成本高,适用于只读场景或大数据量。性能测试显示:小数据量下两者差异微小,但ToList()在频繁添加时快15倍,而ToArray()在只读遍历时内存节省5%。选择时需根据后续操作(修改优先ToList(),只读优先ToArray())和数据规模权衡。
2025-08-28 10:51:04
546
原创 在Ubuntu环境中安装Docker和Minikube的完整指南
本文详细介绍了在Ubuntu系统上搭建Docker和Minikube本地开发环境的完整步骤。主要内容包括:Docker安装(卸载旧版本、添加密钥、安装引擎等)、Minikube部署(kubectl安装、集群启动等)以及基本使用测试。同时提供了常用命令备忘和常见问题解决方法,如镜像拉取失败、权限问题等。该环境适合Kubernetes学习、微服务开发和CI/CD本地验证,无需复杂云配置即可实现完整的容器化应用测试。文末还推荐了相关官方文档资源。
2025-08-08 11:50:26
724
原创 乐思 AI 智能识别平台(基于 YOLO,.NET+Vue3 开发)开源指南
乐思平台:多功能集成应用系统 乐思平台是一款基于.NET技术的综合性应用,提供用户管理、在线答题和AI图像识别功能。支持QQ邮箱注册登录,内置题库系统可实时记录成绩并导出Word文档。集成YOLOv8技术实现图片识别,后台数据大屏展示关键指标。项目采用单体与微服务双架构,技术栈包括.NET Core 8/9、MySQL、Redis、EFCore、Dapper、gRPC等,支持Docker和Kubernetes部署。提供演示地址(http://47.107.226.106:8080)及完整部署教程
2025-08-04 10:59:02
1113
原创 深入了解 Kubernetes(k8s):从概念到实践
本文系统介绍了Kubernetes(k8s)的核心技术,包括Pod、Service、Deployment等核心概念,以及k8s的自动化运维、弹性伸缩等优势特性。详细解析了k8s主从架构中的控制平面与节点组件,如kube-apiserver、etcd等关键模块。最后通过一个前后端分离项目实例,展示了从Docker镜像构建到k8s部署的全过程,包括前端React应用和后端Node.js服务的配置与部署。文章全面呈现了k8s作为容器编排标准的强大功能,为开发者提供了实用的技术参考。
2025-07-29 09:50:45
1055
原创 SignalR 全解析:核心原理、适用场景与 Vue + .NET Core 实战
SignalR是微软推出的开源实时通信库,支持服务器与客户端的双向通信,适用于即时通讯、实时数据更新等场景。本文介绍了SignalR的核心功能和工作原理,并通过Vue与.NET Core的实战案例演示了如何构建实时应用。案例中,后端.NET Core项目通过Hub类处理消息广播,前端Vue项目使用SignalR客户端实现消息收发。通过配置跨域和事件总线,实现了多端实时消息同步。SignalR简化了实时应用开发,为金融、监控、协作等场景提供了高效解决方案。
2025-07-27 15:40:05
1266
原创 在.NET Core API 微服务中使用 gRPC:从通信模式到场景选型
本文深入解析gRPC在.NET Core微服务中的四种通信模式:一元RPC(简单请求响应)、服务器流式RPC(服务端批量推送)、客户端流式RPC(客户端批量提交)和双向流式RPC(实时双向交互)。通过对比gRPC与RESTful API的性能、契约定义、通信模式等特点,指出gRPC凭借HTTP/2协议和Protobuf序列化的优势,特别适合微服务间的高频、低延迟通信场景。建议采用"内外分离"策略:内部微服务使用gRPC提升效率,外部通过BFF层转换为RESTful API以保持兼容性。
2025-07-21 08:55:55
1017
原创 深入理解 SemaphoreSlim 在.NET Core API 开发中的应用
摘要: SemaphoreSlim是.NET中轻量级的信号量实现,用于高效控制并发访问。相比传统Semaphore,它开销更低,支持异步操作(WaitAsync),适合Web开发。核心方法包括Wait/WaitAsync(获取访问权)和Release(释放资源)。典型使用模式为“等待-访问-释放”,需确保在finally中释放以避免死锁。在Web开发中,SemaphoreSlim常用于:限制API并发请求数、保护共享资源、控制第三方服务调用频率,以及作为分布式锁的本地补充。
2025-07-17 20:36:46
1171
原创 .NET Core 开发中的鉴权技术全解析
.NET Core 鉴权技术详解 鉴权(Authentication)与授权(Authorization)是安全开发的核心概念。鉴权解决“你是谁”,授权解决“你能做什么”。.NET Core 提供多种鉴权方式: Cookie 鉴权:传统 Web 应用的理想选择,依赖会话 Cookie 验证身份,需配置登录路径和访问控制。 JWT 鉴权:适用于无状态分布式系统,通过签名令牌传递用户信息,需配置密钥、颁发者等参数。 OAuth2 鉴权:用于第三方登录(如 Google),通过授权码流程获取访问权限。 选择策略:
2025-06-24 21:37:51
803
原创 ASP.NET Core 中 Kestrel 的应用及在前后端分离项目中的角色
本文深入探讨了Kestrel服务器在ASP.NET Core中的应用及其在前后端分离架构中的核心作用。Kestrel作为轻量级、高性能的跨平台Web服务器,为.NET Core API提供基础网络服务支持。文章详细解析了Vue+Nginx+Kestrel的交互流程,重点说明Kestrel如何与Nginx协作处理请求。同时剖析了launchSettings.json与Kestrel配置的底层机制,包括配置加载优先级及实际应用场景,并提供了多环境配置的最佳实践方案,帮助开发者构建高性能Web应用。
2025-06-24 17:01:34
1135
原创 一文读懂!ASP.NET Core 开发中 Thread、ThreadPool 和 Task 的区别与应用
ASP.NET Core 开发中,Thread、ThreadPool 和 Task 是实现多线程的重要方式。Thread 是基础实现,可精细控制线程,但创建销毁开销大;ThreadPool 通过线程复用减少开销,适合短时间无状态任务;Task 基于线程池,提供高级异步编程模型,便于处理复杂逻辑 。文中通过代码示例展示使用方式,对比三者在特点、适用场景、性能及资源占用上的不同。实际开发中,需依业务需求选择,合理运用能提升应用程序性能与资源利用率
2025-06-20 11:34:07
987
原创 ASP.NET Core - 过滤器 (Filters) :AOP 思想在 Web 开发中的卓越实践
ASP.NET Core过滤器是实现AOP(面向切面编程)的重要机制,用于在请求处理管道中插入跨领域功能。文章详细介绍了5种核心过滤器类型(授权、资源、动作、异常、结果过滤器)的执行时机和作用,并阐述了三种应用方式(属性标记、全局注册、控制器级实现)。通过日志过滤器的实现示例,展示了如何创建自定义过滤器。同时对比了过滤器与中间件的区别,指出过滤器专用于MVC框架内的请求处理。合理运用过滤器可有效分离业务逻辑与通用功能,提高代码复用性和可维护性。
2025-06-19 22:49:30
1114
原创 Git仓库大文件清理指南
《Git仓库大文件清理指南》摘要 针对Git仓库因大文件历史导致体积过大的问题,本文提供了一套完整的清理方案。首先需注意:该操作会重写历史,需提前备份并通知团队成员。核心步骤包括:1)使用git rev-list命令识别大文件;2)通过git filter-branch彻底删除历史中的大文件(如示例删除所有>10MB文件);3)执行后续清理命令(gc/prune等)并强制推送。最后建议预防措施:使用git-lfs管理大文件、设置预提交钩子检查文件大小、完善.gitignore规则。特别提示:macOS
2025-06-01 09:19:01
710
原创 华为云Flexus+DeepSeek征文|0代码+6倍加速!华为云Flexus X+Dify实现零代码开发定制化AI应用开发
摘要: 华为云推出DeepSeek-V3/R1商用大模型与FlexusX实例组合,提供1.6倍算力提升、6倍业务加速及30%成本优化,支持高效AI开发。用户可通过华为云账户开通DeepSeek服务,并一键部署Dify低代码开发平台,快速构建AI应用。Dify支持模型供应商灵活配置、应用编排及嵌入式集成,实现零代码定制化AI功能。该方案为企业降低了技术门槛,助力快速响应市场需求,提升竞争力。
2025-05-25 14:21:08
799
原创 在c#中虚方法和抽象类的区别
在C#中,虚方法(virtual method)和抽象方法(abstract method)是面向对象编程中两种重要的机制,用于实现多态性。虽然它们都有助于实现类之间的灵活关系,但它们在定义、使用以及功能上有一些关键的区别。
2025-02-16 13:59:35
835
原创 在c#中如何利用设计模式优雅地消除业务代码中大量的if/else和重复逻辑
在C#编程中,大量的if/else语句和重复逻辑不仅使代码难以维护,还增加了出错的风险。为了优雅地消除这些问题,你可以利用设计模式来重构代码。
2025-02-16 13:36:09
505
原创 系统架构的演变
系统架构是系统的一种整体的高层次的结构表示,它确定了系统的基本组织、组件之间的关系、组件与环境的关系,以及指导其设计和发展的原则。随着技术的发展和业务需求的增长,系统架构经历了从简单到复杂、从集中到分布的演变过程。
2024-12-14 12:34:49
1246
原创 828华为云征文|Flexus X实例GitLab部署&构建流水线-私人一体化代码仓库~
本实践指南将引领您深入体验GitLab CI/CD与GitLab Runner的完美融合,以构建一套高效、自动化的.NET控制台应用程序部署流程。您将学习到如何通过GitLab CI/CD功能配置Runner来监听GitLab的Webhooks,从而实现在代码提交后自动触发构建和部署流程;如何利用Docker容器技术来快速打包和运行您的.NET控制台应用;以及如何通过编写.gitlab-ci.yml脚本来管理整个自动化部署流程。
2024-09-21 21:34:54
1706
原创 828华为云征文|Flexus X实例Docker+Jenkins+gitee实现CI/CD自动化部署-解放你的双手~
本实践指南将带您深入探索Docker+Jenkins+Gitee的完美结合,一步步构建起一套高效、可靠的CICD自动化部署体系。您将学会如何配置Jenkins以监听Gitee的Webhooks,实现代码提交的即时响应;如何利用Docker容器快速打包并运行您的C# Web API应用。
2024-09-17 01:17:09
2270
原创 828华为云征文|Flexus X实例C#/.Net Core 结合(git代码管理、docker自定义镜像)快速发布部署-让你的项目飞起来~
本实验深入演示了如何在Ubuntu环境中,利用Git进行版本控制管理代码,并通过Docker技术自定义构建镜像,从而实现项目从代码到应用的快速构建、打包与部署流程。这一流程不仅提升了开发效率,还确保了环境的一致性与可重复性。
2024-09-08 17:00:07
2410
1
原创 828华为云征文|Flexus X实例ultralytics模型yolov10深度学习AI部署与应用
从0到1部署YOLOv10深度学习AI大模型的环境搭建、模型训练、权重使用,以及各项指标解读。
2024-09-01 14:26:04
1538
原创 c# .net core项目角色授权机制
角色授权机制是确保应用程序安全性的重要组成部分,它允许开发者根据用户的角色来限制对应用程序中不同资源的访问。
2024-08-03 17:00:03
1610
原创 c# .net core项目中使用JWT进行权限校验
JWT(JSON Web Token)是一种开放标准(RFC 7519),它提供了一种在网络应用间安全传输信息的简洁、自包含的方式。JWT主要用于身份验证和授权机制,是一种轻量级的、可扩展的、自包含的身份验证和授权解决方案。
2024-08-03 16:27:26
1856
原创 c# .Net Core 项目配置SWagger UI 带Token访问
Swagger是一款强大的API管理工具,它主要用于生成、描述、调用和可视化RESTful风格的Web服务。Swagger通过一套标准的规范定义接口及其相关信息,从而能够自动生成各种格式的接口文档(如HTML、PDF、Markdown等),并支持生成多种语言和客户端、服务端的代码,以及提供在线接口调试页面,极大地方便了开发人员进行接口的开发和测试。
2024-08-01 21:40:40
2084
原创 Autofac通过反射程序集方式 注册 接口 与 实现 之间的关系
使用反射自动扫描并注册程序集中的所有类型,可以极大地减少手动编写注册代码的需要。这意呀着对于每个新的接口实现,你不需要更新一个集中的注册点,从而减少了出错的机会
2024-08-01 21:40:11
1241
1
原创 Asp.Net Core 读取配置接口 IOptions、IOptionsMonitor以及IOptionsSnapshot
Options是.net Core Web api框架自带的功能,Options模式通过定义强类型的类来表示相关配置设置的集合,使得配置管理更为结构化和类型安全。
2024-06-15 15:21:22
1794
原创 微信小程序开发-网络请求
HTTP请求是客户端向服务器发送的请求消息,用于获取或操作服务器上的资源。微信小程序提供了一个名为wx.request的API函数,用于发起HTTPS网络请求。
2024-05-18 14:10:13
2878
原创 微信小程序开发基础-基本组件
微信小程序不仅为用户提供了便捷高效的服务体验,也为开发者带来了新的机遇和挑战。通过学习和掌握小程序的开发流程及技术要点,开发者可以创造出符合用户需求的小程序,进而在庞大的微信用户群体中实现自己的业务目标。
2024-05-05 14:53:19
1160
原创 ASP.NET Core 模型绑定
在C#中,特别是在ASP.NET Core中,模型绑定是一个将HTTP请求中的数据映射到C#对象的过程。它使得开发者能够方便地从请求中提取数据,而无需手动解析请求体、查询字符串、路由数据等。ASP.NET Core提供了多种特性(Attributes)来指定模型绑定的来源。
2024-04-07 00:12:31
1298
原创 ASP .Net Core 配置集合 IConfiguration 的使用
IConfiguration的主要功能是作为配置的最终产出物,提供对应用程序配置信息的访问。它允许你从多种配置源(如文件、环境变量、命令行参数等)中读取配置内容,并将这些数据格式化为Key-Value结构,使得开发者能够方便地获取和使用这些配置信息。
2024-03-20 23:34:29
2601
原创 ASP .Net Core ILogger日志服务
ILogger日志服务是.NET平台中的一个内置服务,主要用于应用程序的日志记录。它提供了灵活的日志记录机制,允许开发者在应用程序中轻松地添加日志功能。
2024-03-19 22:52:01
2541
原创 ASP .Net Core 8.0 依赖注入的三种注入模式
🍀在.NET中,依赖注入(Dependency Injection,简称DI)是一种设计模式,用于解耦组件之间的依赖关系。依赖注入的核心思想是将对象的依赖关系(即对象所需的其他服务或组件)从对象内部创建转移到外部容器来管理。这样,对象不需要知道其依赖的具体实现细节,只需要通过构造函数、属性或方法等注入所需依赖即可。这种模式提高了代码的模块化和可测试性,同时也使得替换和扩展依赖变得更加容易。
2024-03-18 23:11:30
3335
原创 C#使用QQ邮箱发送邮件
使用官方提供的命名空间System.Net.Mail 进行QQ邮箱发送邮件,这个命名空间包含了一系列类,用于创建、配置和发送电子邮件消息
2024-02-26 22:36:27
2196
7
原创 python爬虫爬取图片 必应&百度(仅供学习)
使用python在百度和必应分别爬取图片,并通过在headers中模拟浏览器的用户代理(User-Agent),可以让请求看起来像是来自真实的浏览器,从而避免被网站的反爬机制拦截
2024-02-16 13:23:03
1643
2
原创 “SharpDocx” C#项目中用于创建 Word 文档的轻量级模板引擎
(一个可以在word文档写代码,并且能运行的工具)SharpDocx是一个轻量级的模板引擎,用于创建Word文档。它允许开发者基于视图生成Word文档,这个视图本身就是一个Word文档,可以根据需要设置简单或复杂的布局。
2024-02-05 22:32:29
1667
原创 C#使用RabbitMQ-5_主题模式(主题交换机)
在主题模式中,生产者发送的消息被发送到一个交换机(Exchange),该交换机根据消息的路由键(Routing Key)和绑定(Binding)规则将消息路由到一个或多个队列。消费者随后从队列中接收并消费这些消息。
2024-02-05 22:30:08
1278
原创 C#使用RabbitMQ-4_路由模式(直连交换机)
RabbitMQ中的路由模式是一种根据Routing Key有条件地将消息筛选后发送给消费者的模式。在路由模式中,生产者向交换机发送消息时,会指定一个Routing Key。交换机接收生产者的消息后,根据消息的Routing Key将其路由到与Routing Key完全匹配的队列。消费者只从其绑定的队列中接收消息,因此只接收筛选后的消息。
2024-01-31 22:01:29
1249
400多张 “皮卡丘” 原图 与 标注结果 以及yolov8的训练结果best.pt权重和ONNX格式文件
2024-02-20
AI动物识别图像分类数据集
2024-01-02
程序员简历单页、多页、封面177款,及简历写作面试技巧
2023-02-25
Springboot & MySQL & Mybatis 学生管理系统
2022-07-07
计算机系论文,人工智能方向,5000字,YOLOv5
2023-02-25
Spring如何实现IoC( IDEA项目maven工程)
2022-06-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人