技术教程 第6页
【ASP.NET CORE】10.RabbitMQ消息队列底层封装-涣清博客

【ASP.NET CORE】10.RabbitMQ消息队列底层封装

前言 在企业级系统里,RabbitMQ 常用于异步通知、日志审计、业务解耦、任务拆分和跨系统事件传递。如果每个业务模块都自己创建连接、Channel、声明队列、序列化消息和处理 ACK,后期会出现重复...
涣清的头像-涣清博客涣清34天前
0366
Hangfire时区问题-涣清博客

Hangfire时区问题

问题描述 使用Hangfire的过程中,有一个定时任务设置每天6点执行一次(0 6 * * *)但是实际上是每天14点执行,跟设定时间相差8小时。 原因 HangFire默认使用UTC时区,跟国内正好相差8小时 解决...
涣清的头像-涣清博客涣清6个月前
0906
【技术教程】WebSocket使用-涣清博客

【技术教程】WebSocket使用

WebSocket介绍 WebSocket是一种协议,用于在Web应用程序和服务器之间建立实时、双向的通信连接。它通过一个单一的TCP连接提供了持久化连接,这使得Web应用程序可以更加实时地传递数据。WebSocke...
涣清的头像-涣清博客涣清8个月前
01295
【JavaScript】深拷贝与浅拷贝-涣清博客

【JavaScript】深拷贝与浅拷贝

在 JavaScript 中,深拷贝(Deep Copy)和浅拷贝(Shallow Copy)是用于复制对象或数组的两种不同方法。了解它们的区别和应用场景对于避免潜在的 bugs 和高效地处理数据非常重要。以下是对深拷...
涣清的头像-涣清博客涣清1年前
01075
【java】读取ZIP以及RAR(不解压)-涣清博客

【java】读取ZIP以及RAR(不解压)

功能 通过输入流读取压缩文件中的每一个文件,返回list,包含文件名以及base64编码。 ZIP public static List readZipToInputStream(InputStream inputStream) throws Exception { List<Map>...
涣清的头像-涣清博客涣清1年前
0795
【go语言】条件语句switch-涣清博客

【go语言】条件语句switch

条件语句switch 1.1.1. switch 语句 switch 语句用于基于不同条件执行不同动作,每一个 case 分支都是唯一的,从上直下逐一测试,直到匹配为止。 Golang switch 分支表达式可以是任意类型,不限...
涣清的头像-涣清博客涣清6个月前
0655
【ASP.NET CORE】12.RabbitMQ死信队列封装-涣清博客

【ASP.NET CORE】12.RabbitMQ死信队列封装

前言 上一篇我们已经把 RabbitMQ 的发布、消费、手动 Ack/Nack 和消费失败处理补进了 HQServer。正常业务里,仅仅把消息消费失败后 BasicNackAsync 掉还不够,因为失败消息如果直接丢弃,问题排...
涣清的头像-涣清博客涣清34天前
0465
【go语言】条件语句select-涣清博客

【go语言】条件语句select

条件语句select 1.1.1. select 语句 select 语句类似于 switch 语句,但是select会随机执行一个可运行的case。如果没有case可运行,它将阻塞,直到有case可运行。 select 是Go中的一个控制结构...
涣清的头像-涣清博客涣清6个月前
0715