- 博客(55)
- 收藏
- 关注
原创 redis 使用 Docker 部署 简单的Redis 集群(包括哨兵机制)
redis 使用 Docker 部署 Redis 集群(包括哨兵机制)1 个 Redis 主节点2 个 Redis 从节点3 个 Redis 哨兵节点
2025-04-23 23:10:23
482
原创 Redis 详解:安装、数据类型、事务、配置、持久化、订阅/发布、主从复制、哨兵机制、缓存
Redis 安装、数据类型、事务、配置、持久化、订阅/发布、主从复制、哨兵机制、缓存
2025-04-23 22:21:07
1583
原创 go中redis使用的简单介绍
在Go语言中使用Redis进行数据存储和管理可以带来高效和灵活的优势。下面的讲解包括单机模式、哨兵模式和集群模式的部署及使用。
2025-04-23 20:05:12
1620
原创 elastic/go-elasticsearch与olivere/elastic
这是 Elasticsearch 官方维护的 Go 语言客户端库。它是 Elasticsearch 8.x 版本的官方客户端,支持所有的 Elasticsearch 功能。库的设计理念是尽量贴近 Elasticsearch 的 REST API,提供较低层次的 API 接口。这是一个由第三方开发者维护的 Go 语言 Elasticsearch 客户端库。它支持 Elasticsearch 的大部分功能,并提供了一个更高层次的 API,简化了很多操作。
2025-04-21 23:04:12
656
原创 Go语言中的Context
使用将自定义数据添加到context中。context是Go语言中用于在多个goroutine之间传递取消信号、超时控制和上下文信息的重要机制。通过合理使用context,开发者可以更高效地管理并发任务,确保资源的及时释放和程序的健壮性。在实际开发中,遵循context的使用规范和最佳实践,能够显著提升代码的可维护性和性能。无论是处理HTTP请求、数据库查询,还是在多层函数调用中传递信息,context都能发挥其独特的作用。
2025-04-21 23:01:35
1260
原创 Golang的Goroutine(协程)与runtime
runtime 包提供了与 Go 运行时环境交互的功能,包括 goroutine 调度、内存管理、堆栈操作等。通过 runtime 包,我们可以更好地控制程序的运行行为。Goroutine是Golang语言中的并行编程核心,具有轻量级、高效和灵活的特点。通过合理利用Goroutine,可以显著提高程序的性能和响应速度。在实际应用中,需要注意避免竞态条件,合理分配任务,并通过Channel等方式实现Goroutine之间的安全通信。Runtime与Routine的关系在Go语言中,runtime和。
2025-04-05 23:01:09
1400
5
原创 golang 的github.com/dgrijalva/jwt-go包
除了标准的声明,用户可以自定义声明来携带更多的信息。例如,添加用户ID、权限等。通过以上示例,可以实现一个功能完善的JWT中间件,用于保护Gin框架下的API端点。该中间件能够高效验证JWT令牌,确保只有合法用户能够访问受保护的资源。同时,通过灵活的配置和自定义声明,可以满足不同的业务需求。此外,结合Gin框架的高性能特性,该中间件能够在高并发场景下稳定运行,保障应用的安全性和可靠性。包为Go语言提供了一个功能强大且易用的JWT实现。通过它,开发者可以轻松地生成和验证JWT,满足各种身份验证和授权需求。
2025-04-04 00:44:32
736
1
原创 golang 的encoding/json包
有时候,默认的序列化和反序列化方式无法满足需求,这时可以通过实现和方法来自定义行为。// 自定义 MarshalJSON 方法}{})p := P3{// 编码// 处理错误// 输出: {"Name":"jon","Address":{"state":"beijing"}}结构体通过自定义方法,将Name字段序列化为state字段。str = str[1 : len(str)-1] // 去除双引号if err!
2025-04-04 00:27:52
1065
原创 html+css+javaScript实现一个扫雷游戏
扫雷游戏是一款经典的单人小游戏,玩家通过点击格子来探索地图,避开爆炸的雷。游戏的基本功能包括:多种地图尺寸:支持从10x10到30x30的不同尺寸地图。多级难度:通过调整雷的数量,提供不同难度级别的游戏体验。计时器:记录玩家完成游戏所用的时间。右键标记:允许玩家标记可疑的格子。自动打开空白区域:点击无雷的格子时,自动递归展开周围的周围无雷的格子。
2025-04-02 20:20:41
608
原创 html+css+js 实现一个贪吃蛇小游戏
# Node.js Express 小游戏项目初始化与运行指南 ## 项目描述 这是一个基于 Node.js 和 Express 的基本 Web 应用,包含自制的贪吃蛇游戏(通过`greedy_snake.html`访问)以及三个使用iframe展示的小游戏(由`other.js`提供支持)。## 初始化与安装 1. 首先,初始化一个新的 Node.js 项目: ```bash npm init ```2. 安装项目的核心依赖项:```bashnpm install
2025-04-02 19:09:10
566
原创 golang的database.sql包和事务处理
事务是数据库操作中的一个逻辑单元,由一系列的数据库操作组成。这一系列操作要么全部执行并且提交,要么全部回滚,确保数据的一致性和完整性。预处理语句是指在数据库中提前编译和优化的SQL语句模板,可以在之后多次重复使用。在这个示例中,预处理语句一次创建,多次执行,提升了效率,并降低了SQL注入的风险。
2025-03-30 22:13:31
1239
原创 golang 的io与os包中的常用方法
io.ReadAll用于从Reader接口读取所有数据并返回一个字节切片。os.Open打开一个文件用于读取。如果操作成功,则返回一个指向File的指针;如果失败,则返回错误。更通用的打开文件的方式,允许指定标志(如只读、读写等)和权限模式。os.Create创建一个新文件用于写入,如果文件已存在则会被截断。向文件写入字符串,并返回写入的字节数。
2025-03-30 21:34:33
584
原创 golang 日志log与logrus
log特性loglogrus日志级别有限(Fatal、Error)多级别(Debug~Panic)格式化输出支持支持(Text/JSON)日志轮转不支持支持(需配合 lumberjack)钩子机制不支持支持输出目标标准输出/文件多种(文件、网络等)社区和扩展性内置库第三方库,社区丰富。
2025-03-30 15:42:16
1010
原创 golang sync 同步与锁
syncMutex:互斥锁,用于保护临界区,防止多个goroutine同时访问共享资源。RWMutex:读写互斥锁,允许多个读者同时访问共享资源,而写者必须独占。WaitGroup:用于等待一组goroutine完成。Cond:条件变量,用于在goroutine之间协调事件发生的顺序。Map:一个并发安全的map,适合频繁的读写场景。Pool:对象池,用于管理一组可重用的对象,减少内存分配和垃圾回收的开销。Go语言通过sync。
2025-03-30 15:30:38
1234
原创 哔哩哔哩IT私塾python爬虫视频教程中的项目文件
第一个项目douban(纯python项目):爬取数据并保存到xls和数据库。第二个项目douban_flask(flask项目):把第一个项目得到的数据库文件的数据可视化。
2025-02-27 14:03:41
433
原创 java 客户端、服务端聊天系统 文字交流 (多线程)
该程序实现了一个简单的文字交流聊天室,允许多个客户端通过网络与服务端进行实时消息交流。服务端负责管理连接的客户端,广播消息并处理连接和断开操作,而客户端则提供用户界面供用户输入和接收消息。(运行一次客户端程序即生成一个客户端窗口)
2024-11-20 20:42:19
1104
原创 5种查找方法简单介绍:顺序查找、分块查找、二分查找、哈希查找、插值查找
5种查找算法的简单介绍:顺序查找、分块查找、二分查找、哈希查找、插值查找
2024-06-27 13:39:07
1612
原创 5种算法简单介绍:贪心算法、分治法、回溯法、动态规划法、最大流算法
在这类问题中,可能会有许多可行解,每个解都对应一个值,动态规划的目标是找到具有最优值的解。分治法是一种将问题分解为若干个子问题,递归地解决这些子问题,然后将子问题的解合并起来得到原问题的解的算法。背包问题(给定一组物品,每种物品都有自己的重量和价值,在限定的总重量内,如何选择使得物品的总价值最高)。图的着色问题(给定一个无向图,用k种颜色给图中的顶点着色,使得任意两个相邻的顶点颜色不同)。最优子结构:原问题的最优解所包含的子问题的解也是最优的。保存子问题解:保存已解决的子问题的解,避免重复计算。
2024-06-26 21:58:34
867
原创 C++记录程序运行时间的4方法
首先,你需要安装Boost库,并在项目中包含Boost.Timer头文件。的精度在1到15毫秒之间,并且其值会在大约49.7天后回绕。Boost库提供了一个计时器模块,用于测量代码块的执行时间。库提供了基于系统时间的函数clock()。这两个函数提供了更高的精度,通常在微秒级别。这个函数返回从系统启动开始经过的毫秒数。库提供了高精度的时间测量功能。
2024-06-22 17:14:28
8303
原创 常见的8种排序(含代码示例):插入排序、冒泡排序、简单选择排序、希尔排序、快速排序、堆排序、归并排序、基数排序
该方法的基本思想是:先将整个待排序的记录序列分割成为若干子序列(由相隔某个“增量”的记录组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的记录“基本有序”时,再对全体记录进行一次直接插入排序。从第一个元素开始,该元素可以认为已经被排序;通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。
2024-06-22 17:05:08
687
2
原创 算法设计与分析:并查集法求图论桥问题
1. 掌握图的连通性。2. 掌握并查集的基本原理和应用。在图论中,一条边被称为“桥”代表这条边一旦被删除,这个图的连通块数量会增加。等价地说,一条边是一座桥当且仅当这条边不在任何环上,一个图可以有零或多座桥。现要找出一个无向图中所有的桥,基准算法为:对于图中每条边uv,删除该边后,运用BFS或DFS确定u和v是否仍然连通,若不连通,则uv是桥。应用并查集设计一个比基准算法更高效的算法,不要使用Tarjan算法。
2024-06-21 15:07:40
1445
原创 算法设计与分析:动态规划法求扔鸡蛋问题 C++
算法设计与分析:动态规划法求扔鸡蛋问题 三种方法:常规动态规划、动态规划加二分查找最优x、动态规划加逆向求解
2024-06-21 13:52:32
1957
原创 算法设计与分析:网络流求解棒球赛淘汰问题C++
1. 实现利用网络最大流求解上述棒球赛淘汰问题的算法。2. 实验内容中要解释流网络的构造原理,以及解释为什么最大流能解决这个问题。3. 实验课时检查实现代码、算法原理以及表1数据作为输入时的算法运行结果,要求输出哪些队已没有夺冠的可能。
2024-06-18 22:39:07
2167
html+css+javaScript实现一个扫雷游戏(顺带上用iframe展示的3个小游戏:2048、数独、3D魔方)
2025-04-02
html+css+js 实现一个贪吃蛇小游戏(顺带iframe展示其他3个找到的小游戏:2048、数独、3D魔方)
2025-04-02
算法设计与分析:网络流求解棒球赛淘汰问题C++
2024-06-28
go学习中编写的代码,包含常用包的各种常用方法示例和注释说明
2025-03-30
哔哩哔哩IT私塾python爬虫视频教程中的项目文件,包括douban和douban-flask
2025-02-27
java 客户端、服务端 文字交流 (多线程)
2024-11-20
计算机图形学 实验二 三维模型读取与控制
2024-11-08
算法设计与分析:分治法求最近点对问题(完整代码,可设置循环次数,用于效率分析)
2024-06-22
HTML+CSS+PHP实现的网页留言板功能(需要创建数据库)
2024-06-18
Java一个服务端、两个客户端(间)实现文字交流(含图形用户界面)
2024-05-17
大整数 运算符 重载 不能 long long int
2023-06-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人