自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 git操作大全

建议结合图形化工具(如VSCode Git插件、GitKraken)提升效率,并通过Pro Git电子书深入学习底层原理。本文详细讲解Git在项目开发中的完整操作流程,涵盖‌本地仓库管理、远程协作、分支策略‌及‌常见问题解决‌,助你高效掌握Git核心技能。功能分支:feature/描述(如feature/user-auth)2. ‌关联远程仓库(GitHub/GitLab/Gitee)‌。# 合并功能分支(推荐使用--no-ff保留合并记录)手动编辑冲突文件(搜索<<<<<<<标记)

2025-03-16 10:58:45 405

原创 微软.NET框架下通信技术理解与实践

微软.NET框架下的Remoting和Web Service两项技术的理解以及它们在实际应用中的分析。

2025-03-16 10:50:57 1011

原创 运程服务器的图片显示与下载的浏览器请求实现

通过这些步骤,你可以实现一个简单的 Flask 应用,使浏览器自动下载图片与显示图片的功能,可以应用与审批流项目对应的审批流程中需要显示或者下载图片的功能需求。根据具体需求,可以进一步扩展和优化这个应用。

2025-03-16 10:50:45 779

原创 MiniProfiler分析SQL性能

重点关注超过100ms的查询,结合执行计划进行深度优化。:表示未参数化查询(需优化):重复查询可能产生N+1问题。建议在开发环境使用,可通过。

2025-03-16 10:50:25 323

原创 SQL Server 触发器

DML 触发器:用于响应 INSERT、UPDATE 和 DELETE 操作,可以定义在表或视图上。DDL 触发器:用于响应 CREATE、ALTER 和 DROP 操作,可以定义在数据库级别或服务器级别。登录触发器:用于响应用户登录事件,可以定义在服务器级别。通过使用这些不同类型的触发器,你可以在 SQL Server 中实现复杂的业务逻辑、审计和安全控制。

2025-03-16 10:49:49 313

原创 .NET 高级面试题汇总

高级开发工程师的面试题汇总

2025-03-16 10:49:26 868

原创 程序调用Sql Server存储过程超时,但是数据库执行存储过程无异常的问题剖析

SQL Server 会为存储过程生成并缓存查询计划,以便在后续执行时提高性能。然而,查询计划是基于第一次执行时的参数生成的,这被称为“参数嗅探”。如果第一次执行时的参数与后续执行时的参数差异较大,可能会导致不适合的查询计划,从而影响性能。重新编译存储过程可能触发统计信息的更新,从而改善查询性能。重新编译存储过程会使 SQL Server 丢弃旧的查询计划,并根据新的参数重新生成查询计划,这可能解释了为什么重新编译后问题得到解决。:将输入参数赋值给局部变量,然后在查询中使用局部变量,这样可以避免参数嗅探。

2025-03-16 10:48:46 817

原创 通过魔搭社区本地下载大语言模型及API接口调用模型实现

从最终结果看,输出结果符合模型的能力,本次只是演示一个小模型的本地化下载部署,通过本文,可以了解模型的下载、调用实现。

2025-02-10 20:25:01 2070 1

原创 基于Flask搭建AI应用,本地私有化部署开源大语言模型

随着人工智能技术的飞速发展,越来越多的企业和开发者希望在本地环境中部署和使用大语言模型,以确保数据隐私和安全性。本文将介绍如何基于Flask框架搭建一个AI应用,并在本地私有化部署开源的大语言模型。通过本文的介绍,我们展示了如何基于Flask框架搭建一个AI应用,并在本地私有化部署开源的大语言模型。这种方法不仅能确保数据的隐私和安全,还能充分利用开源资源,实现高效的自然语言处理任务。未来,我们可以进一步优化模型性能,增加更多功能,使其更好地服务于实际应用场景。

2025-02-10 20:21:41 1185

原创 实战:大数据上传与下载的技术难题剖析与解决

在这些业务场景中,大文件上传面临的主要难题包括文件大小限制、网络不稳定、上传速度慢、数据隐私和安全、数据一致性、高并发处理、版本控制、带宽消耗、数据预处理、成本控制等。为了应对这些挑战,技术方案需要综合考虑分块上传、断点续传、流式处理、异步处理、数据加密、压缩传输、负载均衡等技术手段,确保大文件上传过程稳定、高效、安全。

2024-12-25 07:26:51 1185

原创 C# 平衡二叉树代码实现

AVL 树是一种自平衡二叉搜索树,通过旋转操作保持树的平衡,从而保证查找、插入和删除操作的时间复杂度为 O(log n)。上述代码展示了 AVL 树的基本实现,包括插入和旋转操作,以及中序遍历功能。

2024-11-03 12:04:53 1082 1

原创 C#二叉树原理及二叉搜索树代码实现

// 二叉树搜索树节点结构Left;Right;/// 二叉搜索树root;//二叉树插入数据else//递归插入数据到二叉树if(value < node.Value)//小于当前节点,往当前节点的左子树判断插入elseelse if(value > node.Value)//大于当前节点,往当前节点的右子树判断插入elseelse if (value == node.Value) //等于当前节点,重复不插入return;//二叉树搜索。

2024-11-03 12:04:21 729

原创 ASP .NET CORE 6 在项目中集成WatchDog开源项目

可以实现实时记录和查看应用程序中的消息、事件、HTTP请求和响应,以及运行时捕获的异常,有效帮助开发人员去排查应用异常,提升开发效率和减低运维成本。包来处理 JSON 序列化时,可能会与其他包或配置产生冲突,这里时因为与WatchDog默认的序列化配置冲突,需要设置WatchDog的序列化采用。在Pragram.cs文件里启用WatchDog中间件和配置登录的账号密码时,设置WatchDog的序列化为。对应自己应用的地址和端口,可以看到WatchDog的登录界面,使用设置的账号密码登录。

2024-11-03 12:03:00 995

原创 手撕代码:C#.NET实现自定义IOC容器

这个一个手写IOC容器的简单示例,可以清晰地了解IOC容器地实现原理及作用,希望该示例能帮助大家理解IOC容器地原理以及去手写实现逻辑,验证单例、瞬时和作用域实例的生命周期等。

2024-11-01 07:34:30 675

原创 基于配置使用递归调用动态生成多阶报文格式

使用可配置和递归调用,实现了一个公共的方法可以支持动态生成不同业务需求的报文格式,减少的重复代码的开发,提升了开发效率,实现代码优化和提升代码的可维护性。

2024-09-27 07:40:55 387

原创 Redis实践之高级用法:管道、消息队列、事务、分布式锁

管道(Pipeline)的使用使用方法创建一个批处理对象。将多个操作添加到批处理中,然后执行批处理以提高性能。发布-订阅模式(Pub/Sub)的实现使用方法获取订阅者对象。使用方法发布消息。使用方法订阅频道并处理接收到的消息。事务(Transaction)的应用使用方法创建一个事务对象。将多个操作添加到事务中,然后执行事务以确保原子性。分布式锁的实现使用方法尝试获取锁。在获取锁后执行关键操作,并使用方法释放锁。

2024-09-27 07:39:25 1035

原创 深入理解redis:使用互斥锁解决缓存击穿问题实践

下面是一个基于C#.NET的示例代码,展示如何使用互斥锁(Mutex)来解决缓存击穿问题。这个示例假设我们有一个简单的缓存系统和一个数据库访问层。

2024-09-18 07:37:22 577

原创 深入理解Redis:缓存穿透、缓存击穿、缓存雪崩及双写一致性

Redis作为一种高性能的缓存解决方案,在提升系统性能方面发挥了重要作用。然而,缓存穿透、缓存击穿和缓存雪崩等问题也需要我们认真对待并采取相应的解决措施。此外,保证Redis和数据库的双写一致性也是一个关键问题,需要根据具体场景选择合适的解决方案。希望本文能帮助你更好地理解和应对这些问题,从而构建更加稳定和高效的系统。

2024-09-18 07:36:47 532

原创 Redis实践之缓存:设置缓存过期策略

是用于配置缓存项的过期策略和其他选项的类。在使用接口时,可以通过这个类来设置缓存项的过期时间、滑动过期时间等。以下是。

2024-09-18 07:35:59 703

原创 Redis实践之缓存:.NET CORE实现泛型仓储模式redis接口

dotnet run这样就完成了在ASP.NET Core 6项目中整合使用Redis,并实现泛型接口和仓储模式的完整实例。

2024-09-18 07:35:16 583

原创 ASP .NET CORE 6 项目实现WebSocket通信实践

WebSocket 是一种计算机通信协议,提供了全双工通信通道,特别适用于需要频繁更新数据的应用,如实时聊天、在线游戏和股票行情等。它在 Web 应用中有着广泛的应用,因为它能够在客户端和服务器之间建立持久连接,从而实现低延迟、高效的数据传输。总之,WebSocket 通过提供高效、低延迟的双向通信机制,极大地提升了 Web 应用的实时性能和用户体验。

2024-09-18 07:34:19 1312

原创 SemaphoreSlim 轻量级的异步方法的同步访问控制

是 .NET 框架中的一个同步原语,用于控制对资源的并发访问。它类似于传统的信号量(Semaphore),但设计上更轻量级,适用于在单个进程内进行线程同步。解释:这行代码定义了一个静态只读的实例_lock,并初始化为允许一个线程进入(初始计数为1,最大计数也为1)。作用是一种轻量级的同步基元,用于限制同时访问某一资源或池的线程数。在这里,它被设置为1,表示一次只能有一个线程可以进入临界区。在这个示例中,最多允许3个线程同时访问资源,其余线程将被阻塞,直到有线程释放资源。

2024-08-06 07:24:52 887 1

原创 自定义一个通用的事件总线驱动机制

该示例旨在实现了一个简单的事件总线(Event Bus)系统,并通过ASP.NET Core Web API来演示其使用。:注册一个事件及其回调函数。:注销一个事件及其回调函数。:触发一个事件并执行所有注册的回调函数。该接口定义了事件总线的基本操作,允许注册、注销和触发事件。set;定义一个简单的事件类,包含一个消息属性。该类用于传递事件数据。这段代码实现了一个简单的事件总线系统,通过ASP.NET Core Web API演示其使用。

2024-08-06 07:17:22 445

原创 自定义一个通用的异常重试机制

该实例旨在实现一个通用的异步重试机制。接受一个返回任务的函数(func)和一个重试次数(tryCounts),在指定的重试次数内尝试执行该函数。如果函数执行失败抛出异常,则会捕获异常并进行重试,直到成功或达到最大重试次数,如果达到最多重试次数还是异常,则将异常抛往外层。

2024-08-06 07:12:15 261

原创 基于ASP.NET CORE 6 使用Polly来实现处理Http请求异常

Polly 是一个 .NET 弹性和瞬态故障处理库,旨在帮助开发者构建更健壮和可靠的应用程序。它提供了一系列策略,如重试、断路器、超时、回退和隔离等,用于处理瞬态故障和提高系统的弹性。通过这些示例,你可以看到如何使用 Polly 来增强 ASP.NET Core 应用程序的弹性和容错能力。根据具体的业务需求,可以灵活组合和调整这些策略。

2024-07-29 07:41:37 640

原创 Mapster原理以其运用实例

Mapster 是一个高性能的对象映射库,用于 .NET 应用程序中。它可以将一个对象的属性快速复制到另一个对象,通常用于 DTO(数据传输对象)和实体之间的转换。Mapster 的设计目标是提供比 AutoMapper 更高的性能,同时保持易用性。set;set;set;set;通过上述步骤,你可以在 .NET 项目中轻松地使用 Mapster 进行对象映射。Mapster 的高性能和灵活性使其成为处理对象映射的强大工具。

2024-07-29 07:41:06 499

原创 基于 ASP.NET Core 6 整合 Hangfire 实现项目案例

Hangfire 是一个开源的 .NET 库,用于在 ASP.NET 应用程序中执行后台任务。它允许开发人员轻松地将长时间运行的任务、定时任务和其他后台处理从主线程中分离出来,以提高应用程序的响应速度和性能。这个示例项目展示了如何在 .NET Core 6 中整合 Hangfire,并实现了四种类型的后台任务:Fire-and-forget、Delayed、Recurring 和 Continuations。通过这种方式,你可以轻松地将长时间运行的任务从主线程中分离出来,提高应用程序的响应速度和性能。

2024-07-29 07:40:45 1348

原创 Akka.NET 原理及运用

这个示例展示了如何使用 Akka.NET 构建一个简单的实时聊天应用程序。通过 Actor 模型,我们可以轻松地处理并发用户的消息,并且系统具有良好的扩展性。

2024-07-29 07:39:18 621

原创 Refit 原理及使用Refit 和不使用的HTTP请求案例运用对比

定义一个接口来描述你的 API 端点。set;set;set;set;set;set;通过对比可以看出,使用 Refit 可以大大简化与 RESTful API 的交互代码,通过定义接口并使用依赖注入,你可以轻松地发起 HTTP 请求并处理响应,提高代码的可读性和可维护性。而使用原生的HttpClient虽然灵活,但代码量大且容易出错。

2024-07-29 07:38:20 876

原创 反应式编程:原理功能介绍及实践

反应式编程(Reactive Programming)是一种面向数据流和变化传播的编程范式。它强调异步数据流的处理,通过声明性地定义依赖关系,使得系统能够自动响应数据的变化。通过这种方式,你可以利用反应式编程来简化异步操作的处理,使代码更加简洁和易于维护。

2024-07-14 08:44:04 319

原创 异常解决:注册和解析服务时生命周期问题

ASP.NET Core 的内置依赖注入容器不允许从根服务提供者解析作用域服务,是为了确保生命周期管理、资源管理的一致性和正确性,避免潜在的并发问题,并确保应用程序行为的一致性。

2024-07-14 08:43:45 1359

原创 .NET使用Scrutor增强内置依赖注入容器功能

Scrutor 是一个非常强大的工具,可以大大简化依赖注入的配置工作,特别是在大型项目中。它提供了灵活的扫描和注册机制,使得服务注册更加简洁和可维护。如果你在项目中遇到大量的服务注册需求,Scrutor 会是一个很好的选择。

2024-07-14 08:38:56 535

原创 .NET 开源库技术栈汇总

ASP.NET Core:Entity Framework Core:Serilog:AutoMapper:MediatR:Polly:Dapper:Hangfire:NLog:FluentValidation:Swashbuckle (Swagger for .NET):MassTransit:IdentityServer:SignalR:xUnit:Quartz.NET:MiniProfiler:Mapster:Refit:NSubstitute:Bogus:Ocelot:Blazor:Elsa Wor

2024-07-14 08:37:46 914

原创 服务部署:解决Docker容器与虚拟机主机之间MySql连接访问问题

通过以上步骤,你可以解决 MySQL 远程连接的问题。确保防火墙和网络配置正确,MySQL 配置允许远程连接,并且用户具有适当的权限。如果仍然遇到问题,请检查 MySQL 日志文件(通常位于)以获取更多信息。

2024-06-11 07:48:00 3095

原创 服务部署:使用docker部署开源Xxl-Job任务调度平台项目

xxl-job: 一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。这样,你就完成了使用 Docker 部署本地构建的 Xxl-Job 任务调度平台的过程。2、本地使用ieda修改配置并构建启动运行。3、将项目文件压缩上传虚拟机上。4、在虚拟机上解压到某一路径。5、使用docker部署。

2024-06-11 07:47:04 1019

原创 Linux系统操作命令与docker操作命令

移动文件或文件夹,也可用于重命名。:列出当前目录下的文件和文件夹。:显示当前所在的目录的路径。:创建新的空白文件。:复制文件或文件夹。:删除文件或文件夹。

2024-06-09 20:41:08 614 1

原创 服务部署:.NET项目使用Docker构建镜像与部署

这将会在后台运行你的容器,并将主机的5000端口映射到容器的80端口。:确保你的Linux系统上已经安装了Docker。,你应该能够看到你的.NET应用程序正在运行。在你的.NET项目根目录下创建一个名为。

2024-06-09 20:38:54 1442 3

原创 服务部署:Linux系统环境部署java的jar包步骤

首先,确保你的系统上已经安装了 Java Runtime Environment (JRE)。导航到存放 JAR 包的目录并运行它。假设你的 JAR 包名为。如果你的应用提供了 Web 界面或 API,可以通过浏览器或。将你的 JAR 包上传到服务器上的某个目录。命令将本地的 JAR 包上传到服务器的。如果你的应用需要后台运行,可以使用。查看应用生成的日志文件(例如。

2024-06-09 08:35:29 733 2

原创 服务部署:Linux系统部署C# .NET项目

这个命令更新本地的包列表,从而使系统知道所有可用的软件包及其版本信息。因为我们刚刚添加了一个新的包仓库,所以需要更新包列表。打开浏览器,访问你的服务器 IP 地址和端口(默认情况下是 5000),验证你的 .NET MVC 应用是否成功运行。这会将 Microsoft 包仓库添加到你的系统中,使你能够从该仓库安装软件包。在你的 Linux 服务器上,导航到你上传发布文件的目录,并运行应用。首先,你需要在你的 Linux 系统上安装 .NET SDK。或其他工具将发布的文件复制到你的 Linux 服务器上。

2024-06-09 08:33:26 2183 2

原创 服务部署:Ubuntu安装搭建docker

为了加快 Docker 镜像的下载速度,可以配置国内的镜像加速器。替换为实际的镜像加速器 URL,例如阿里云的 URL;为了方便操作,你可以将当前用户添加到。然后重新登录或重启系统使更改生效。组,这样就不需要每次都使用。

2024-06-09 08:31:42 883

空空如也

空空如也

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

TA关注的人

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