自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 刷leetcode有感之判断素数的优化写法

由于除了 2 以外,所有的素数都是奇数,所以可以先判断这个数是否为 2 或者是否能被 2 整除,如果是 2 则为素数,如果能被 2 整除且不是 2 则不是素数。之后,只需要从 3 开始,每次增加 2 进行遍历判断,这样就可以减少一半的遍历次数,提高效率。奇数遍历: 从 3 开始,每次增加 2 进行遍历,直到 i 大于该数的平方根。如果 num 能被 i 整除,则返回 false,表示不是素数。

2025-04-04 00:32:37 78

原创 Go 标准库中包含了一些基础的数据结构

Go 标准库中包含了一些基础的数据结构,主要分布在。,可以双向遍历,适用于高频插入/删除操作的场景。,可以调整成最大堆(Max-Heap)。插入、删除操作的时间复杂度为。,适合高频创建销毁对象的场景。,必须使用遍历查找元素。适合读多写少的情况。

2025-04-03 15:45:18 423

原创 Go语言中的slices 包

slices提供了一系列用于切片操作的高效函数。包的常用函数列表及其用途。如果你的 Go 版本。,让代码更简洁高效!

2025-04-02 23:36:16 274

原创 刷Leetcode有感 74. 搜索二维矩阵 Go 语言 sort.Search 使用解析:matrix[i/n][i%n] >= target 与 matrix[i/n][i%n] == targe

进行二分查找时,我们经常需要定义一个单调递增的判断条件。,这样可以确保单调性,避免索引越界,并保证查找结果正确。中的不同作用,并解释为什么前者更适合作为查找条件。断断续续出现,而不是单调递增。的回调函数中,如果直接使用。),否则查找结果可能不准确。进行二分查找时,应使用。,甚至导致数组访问越界(

2025-04-02 23:06:10 154

原创 常用 Go 库函数汇总

常用 Go 库函数汇总。

2025-04-02 22:09:20 1337

原创 Redis缓存穿透、击穿、雪崩问题

🔥数据在缓存和数据库中都不存在,导致所有请求都打到数据库,可能引发数据库崩溃。黑客可以利用不存在的 ID 或数据进行攻击,造成缓存穿透。当系统中引入redis缓存后,一个请求进来后,会先从redis缓存中查询,缓存有就直接返回,缓存中没有就去db中查询,db中如果有就会将其丢到缓存中,但是有些key对应更多数据在db中并不存在,每次针对此次key的请求从缓存中取不到,请求都会压到db,从而可能压垮db。

2025-03-28 23:57:29 472

原创 基于小问题,来讲解Redis 分布式限流器的实现逻辑

问题:如果我的限流器 在创建的是只创建了对/auth进行限流,如果进来一个 /v1/tag的url就没法限流了这个是创建限流器RedisLimiter 限流器中的具体实现方法RedisLimiter 被调用的中间件 ,第一个if 这个中间件在执行的时候有问题。我的限流器 在创建的是只创建了对/auth进行限流,如果进来一个 /v1/tag的url就没法限流了✅ 当前的代码确实存在一个:它,对于未显式配置的 URL(如/v1/tag),不会进行限流!🚫。

2025-03-28 22:27:44 783

原创 ✅ Git 提交代码的完整流程

Git 提交代码的完整流程(详解)在团队协作开发中,使用 Git 提交代码是一项常见操作。为了保证代码同步、避免冲突,规范的提交流程非常重要。以下是两种常用的 Git 提交流程,分别适用于日常提交和存在大量未提交代码时的情况。

2025-03-28 14:54:06 1124

原创 TCP三次握手与四次挥手详解(含标志位示例)

✅。

2025-03-25 18:41:46 338

原创 HTTP 状态码的意义及其常见的状态码

HTTP 状态码的意义

2025-03-25 11:14:43 322

原创 PATCH 的作用 和 PUT的区别

🚀 1️⃣ PATCH 的作用✅ 示例: → 将 的用户整体替换为新数据。 → 仅修改 用户的邮箱字段,其他字段保持不变。

2025-03-25 11:13:21 127

原创 PUT 和 POST 的区别

🚀。

2025-03-25 11:10:36 359

原创 GET 和 POST 方法的区别总结

✅。

2025-03-25 11:08:03 751

转载 GORM 中同一个 *DB 对象污染问题的分析与解决

要理解为什么会出现“污染”问题,我们需要了解 GORM 内部如何管理查询条件的。GORM 中的大部分链式调用都会将查询条件保存在一个名为。在使用 GORM 进行数据库操作时,链式调用可能会导致查询条件污染。例如,当你在查询时添加了分页条件(为了保留原先的查询条件,并确保后续查询不受影响,关键是让 GORM 在调用。完全分离,保留原有的查询条件,又不会受到后续分页条件的影响。),这些分页条件可能会影响到统计查询(的语句,却意外影响到了统计总数(,会在新的 Session 中将。,这应该会导致创建一个全新的。

2025-03-25 00:10:49 15

原创 解决 Gorm 中链式查询污染的问题有几种常见的解决方法

创建新的会话实例,避免查询链共享状态。传递独立的*gorm.DB实例:确保每个查询都使用不同的数据库会话,避免污染。避免共享全局*gorm.DB实例:尽量确保每次查询都是独立的。事务管理:对于需要多个查询的操作,可以使用事务来管理,但仍需注意每个查询的独立性。

2025-03-25 00:07:01 395

原创 MySQL 在 Linux 中的常用命令及操作

MySQL 在 Linux 中的常用命令及操作

2025-03-21 21:21:41 252

原创 Linux 常用的命令(面试可能会用到的)

理解了,你需要更详细的解释和具体的例子。下面我会详细解释每个命令,并给出具体的使用方法和示例。ls。

2025-03-21 21:19:09 315

原创 在 net/http 里实现一个 洋葱模型 的中间件执行方式

的中间件执行方式,而不是使用递归。

2025-03-21 21:13:24 152

原创 Gin vs net/http 中间件执行顺序 & 原理解析

📌 2. 中间件执行顺序 & 原理✅ 中间件是“链式调用” 所有中间件通过 调用下一个处理器 按注册顺序执行 执行完 后,回溯执行前一个中间件的 逻辑 没有 机制 如果 提前结束,则后续处理器不会执行🔥 代码示例📌 执行 时的顺序📌 3. Gin vs 中间件执行顺序对比 Gin net/http 执行方式 控制流 递归调用

2025-03-21 21:11:50 207

原创 gin框架中的Context信息

👉 主要用于 API 生命周期管理(比如。如果你要跨中间件、跨服务传递数据,建议用。、JWT、用户信息等。

2025-03-21 21:02:15 172

原创 写leetcode常用的库函数和常量

写leetcode常用的库函数和常量。

2025-03-21 13:13:36 310

原创 ✅ 在开发中,Docker 常用的容器镜像

✅ 在开发中,Docker 常用的容器镜像主要包括以下几类:

2025-03-21 13:06:46 656

原创 ✅ Docker 在开发中常用的命令汇总

✅ Docker 在开发中常用的命令汇总

2025-03-21 13:05:00 476

原创 在 Go 语言的 net/http 包中,http.Handle()、http.HandleFunc()、http.HandlerFunc() 和 http.Handler 是几个容易混淆的概念

和:它们都是用于注册请求处理逻辑的函数,接收实现接口的对象,而接收普通的处理函数,更加便捷。:它是一个类型转换函数,将普通处理函数转换为实现接口的对象,便于和配合使用。:它是一个接口,定义了处理 HTTP 请求的标准方法,很多类型需要实现该接口才能用于处理 HTTP 请求。

2025-03-03 21:23:52 392

原创 使用OpenSSL生成自己CA根证书,和使用CA根证书颁发二级证书

需要在自己安装好Openssl,网上有很多攻略本文是以grpc的证书认证为例,用生成的root.crt证书签发两个二级证书client.crt和server.crt本来参考书别人的博客想做一下grpc的双向证书认证,发现在客户端运行代码总是无法识别根证书,摸索才发现我生成的根证书就不能签发 证书,所以才写下此篇博客记录一下,仅供参考!

2025-03-02 16:05:14 1040 1

空空如也

空空如也

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

TA关注的人

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