自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis 详解

Redis 详解:安装、数据类型、事务、配置、持久化、订阅/发布、主从复制、哨兵机制、缓存

2025-05-23 22:42:47 999 1

原创 Redis 详解

安装、数据类型、事务、配置、持久化、订阅/发布、主从复制、哨兵机制、缓存

2025-04-24 22:17:09 925

原创 Go语言中包导入下划线的作用解析

Go语言中包导入下划线的作用解析

2025-04-24 22:07:16 775

原创 go 的 net 包

golang的net包的简单介绍

2025-04-24 22:02:37 687

原创 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

原创 NoSQL 简单讲解

NoSQL 数据库解析:原理、分类、应用及未来趋势

2025-04-23 21:57:03 808

原创 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

原创 扩展欧几里得算法:求解乘法逆元

扩展欧几里得算法:求解乘法逆元

2025-04-14 17:25:35 1084

原创 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 的channel

关于golang的channel的简单介绍。

2025-04-01 18:26:37 995

原创 golang的database.sql包和事务处理

事务是数据库操作中的一个逻辑单元,由一系列的数据库操作组成。这一系列操作要么全部执行并且提交,要么全部回滚,确保数据的一致性和完整性。预处理语句是指在数据库中提前编译和优化的SQL语句模板,可以在之后多次重复使用。在这个示例中,预处理语句一次创建,多次执行,提升了效率,并降低了SQL注入的风险。

2025-03-30 22:13:31 1239

原创 golang 的reflect包的常用方法

p := Person{Name: "小明", Age: 22}

2025-03-30 21:56:28 283

原创 golang 的time包的常用方法

time.Time。

2025-03-30 21:50:10 456

原创 golang 的strconv包常用方法

【代码】golang 的strconv包常用方法。

2025-03-30 21:44:52 747

原创 golang strings包常用方法

【代码】golang strings包常用方法。

2025-03-30 21:37:12 399

原创 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

原创 计算机图形学 实验二 三维模型读取与控制

计算机图形学 实验二 三维模型读取与控制

2024-11-08 12:02:37 1230

原创 贪吃蛇 C++简易版(完整代码)

【代码】贪吃蛇 C++简易版(完整代码)

2024-07-29 20:32:18 2200 1

原创 老鼠走迷宫游戏(已定义4个关卡)

老鼠走迷宫代码

2024-07-29 19:04:17 421

原创 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

原创 算法设计与分析:分治法求最近点对问题

算法设计与分析:分治法求最近点对问题蛮力法和分治法

2024-06-21 17:34:36 1602

原创 算法设计与分析:并查集法求图论桥问题

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

原创 HTML+CSS+PHP实现网页留言板功能(含代码,需要创建数据库)

话说前头,我这方面很菜滴。这是我网页作业的一部分。

2024-06-18 23:11:49 2501 4

原创 算法设计与分析:网络流求解棒球赛淘汰问题C++

1. 实现利用网络最大流求解上述棒球赛淘汰问题的算法。2. 实验内容中要解释流网络的构造原理,以及解释为什么最大流能解决这个问题。3. 实验课时检查实现代码、算法原理以及表1数据作为输入时的算法运行结果,要求输出哪些队已没有夺冠的可能。

2024-06-18 22:39:07 2167

原创 算法设计与分析:回溯法求解地图涂色问题(含代码,4种改进方法)

算法设计与分析回溯法求解地图涂色问题4种改进方法

2024-05-07 22:17:07 2023

html+css+javaScript实现一个扫雷游戏(顺带上用iframe展示的3个小游戏:2048、数独、3D魔方)

扫雷游戏是一款经典的单人小游戏,玩家通过点击格子来探索地图,避开爆炸的雷。游戏的基本功能包括: 多种地图尺寸:支持从10x10到30x30的不同尺寸地图。 多级难度:通过调整雷的数量,提供不同难度级别的游戏体验。 计时器:记录玩家完成游戏所用的时间。 右键标记:允许玩家标记可疑的格子。 自动打开空白区域:点击无雷的格子时,自动递归展开周围的周围无雷的格子。

2025-04-02

html+css+js 实现一个贪吃蛇小游戏(顺带iframe展示其他3个找到的小游戏:2048、数独、3D魔方)

# Node.js Express 小游戏项目初始化与运行指南 ## 项目描述 这是一个基于 Node.js 和 Express 的基本 Web 应用,包含自制的贪吃蛇游戏(通过`greedy_snake.html`访问)以及三个使用iframe展示的小游戏(由`other.js`提供支持)。 ## 初始化与安装 1. 首先,初始化一个新的 Node.js 项目: ```bash npm init ``` 2. 安装项目的核心依赖项: ```bash npm install express ``` 3. 启动项目 ```bash node index.js ``` 4. 访问项目 访问localhost:3000,即可访问项目 5. 安装并使用nodemon:开发Node.js应用时自动重启服务器(可选) ```bash npm install -g nodemon nodemon index.js ```

2025-04-02

算法设计与分析:网络流求解棒球赛淘汰问题C++

我们展示一组虚构的数据(这是在1996年8月30日美国联盟东区比赛结果的基础上略作修改得来的) 表1 各球队的得分情况和剩余的场次安排 其中,纽约扬基队暂时排名第一,总共胜75场,负59场,剩余28场比赛没打,其中和巴尔的摩还有3场比赛,和波士顿还有8场比赛,和多伦多还有7场比赛,和底特律还有3场比赛(还有7场与不在此分区的其他队伍的比赛)。底特律暂时只有49场比赛获胜,剩余27场比赛没打。如果剩余的27场比赛全都获胜的 没有夺冠(被淘汰)可能分两种情况: 1、明显的:win[i]+remain[i]<win[j]         即第i个队伍已经胜利场数加上剩余场数(即使最好情况下,剩余场数全赢)仍小于队伍j已经胜利的场数。 2、不明显的:最大流         对于剩下的队伍,如果有夺冠的可能(即不被淘汰的可能),则会比完剩下的全部场次remain[],直到最后夺冠,而不会中途被淘汰。须最好情况下成立:         

2024-06-28

go学习中编写的代码,包含常用包的各种常用方法示例和注释说明

包含以下文件:file、filepath、format(printf)、runtine、in_out(scan_print)、io_os、ioutil(已废弃)、log、reflect、strconv、strings、sync、time、tx(事务)、wiki(基于Go语言的Web应用程序,基本的Wiki系统,go官网文档的教学例子)

2025-03-30

哔哩哔哩IT私塾python爬虫视频教程中的项目文件,包括douban和douban-flask

哔哩哔哩IT私塾python爬虫视频教程中的项目文件,包括douban和douban_flask

2025-02-27

java 客户端、服务端 文字交流 (多线程)

程序概述 该程序实现了一个简单的文字交流聊天室,允许多个客户端通过网络与服务端进行实时消息交流。服务端管理连接的客户端,广播消息并处理连接与断开操作,而客户端提供用户界面供用户输入和接收消息。 主要组件 服务端(Server): 使用 ServerSocket 监听客户端连接请求。 每个客户端由 ClientHandler 线程处理,负责消息的接收与发送。 使用 ArrayList 存储所有连接的客户端处理器,以便广播消息。 客户端(Client): 通过 Socket 连接到服务端。 提供用户界面 (ClientDemo 类) 供用户输入消息并显示接收到的消息。 通过输入流和输出流与服务端进行通信。 功能 消息发送与接收: 客户端可以输入消息并通过“发送”按钮将其发送到服务端,服务端会广播给所有客户端。 用户通知: 服务端会通知所有客户端有新客户端连接或断开,并在界面中显示相关消息。 使用说明 先运行服务端程序(端口60001); 再运行客户端(每运行一次即生成一个客户端窗口) “清除”按钮:清除输入框(也可以取消界面类底部注释语句以清除聊天记录)

2024-11-20

计算机图形学 实验二 三维模型读取与控制

1.OFF格式三维模型文件的读取 参考上机实验2.2的内容,完成对OFF格式三维模型文件的读取与显示,可改变物体的显示颜色,尽量特别,但不要太难看。 2.三维模型的旋转动画 参考实验2.1中动画的生成方式,并结合实验2.3中对模型进行旋转变换的过程,生成旋转动画。 3.键盘鼠标的交互 参考实验2.1中鼠标与键盘的交互,通过键盘设定选择绕x、y、z轴进行旋转,通过鼠标左右键控制动画的开始与暂停。 4.模型的修改 参考以下代码,通过键盘设定可以在cow.off和cube.off之间切换。 清除顶点数组缓存: glBindVertexArray(0); glBindBuffer(GL_ARRAY_BUFFER, 0); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); 二维向量: std::vector<std::vector<?>> 其他STL相关代码可以查阅C++ STL 教程 | 菜鸟教程 (runoob.com)

2024-11-08

迷宫游戏(已定义4个关卡)

关卡数和关卡内容可自定义

2024-07-29

算法设计与分析:分治法求最近点对问题(完整代码)

算法设计与分析:分治法求最近点对问题 蛮力法和分治法

2024-06-22

算法设计与分析:分治法求最近点对问题(完整代码,可设置循环次数,用于效率分析)

算法设计与分析:分治法求最近点对问题(完整代码,可设置循环次数,用于效率分析) 保护蛮力法和分治法

2024-06-22

算法设计与分析:动态规划法求扔鸡蛋问题 C++(完整代码)

算法设计与分析:动态规划法求扔鸡蛋问题 三种方法:常规动态规划法、动态规划加快速查找最优x、动态规划加逆向求解法

2024-06-21

算法设计与分析:并查集法求图论桥问题

算法设计与分析:并查集法求图论桥问题 基准法和使用并查集的高效算法(不使用Tarjan算法)

2024-06-21

HTML+CSS+PHP实现的网页留言板功能(需要创建数据库)

HTML+CSS+PHP实现的网页留言板功能(需要创建数据库) 4个文件:leaving.php,leaving_styles.css,post_massages.php,display_massages.php body部分包括一个输入框和一个留言展示框。 每个留言前输出留言时间;留言间用分割线分开。

2024-06-18

Java一个服务端、两个客户端(间)实现文字交流(含图形用户界面)

两个客户端和一个服务端。 连接成功时有提示信息。 任意一个客户端发送的信息都会被服务端接收并经服务端发送给其他的客户端;而服务端自己发送的信息所有客户端都能接收到。 先运行服务端,再运行(先后无要求)客户端1和2。

2024-05-17

算法设计与分析:回溯法求解地图涂色问题(含代码,4种改进方法)完整代码!

算法设计与分析:回溯法求解地图涂色问题(含代码,4种改进方法)完整代码!

2024-05-10

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

TA关注的人

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