自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 docker配置Redis主从复制原理及操作

要配置Redis主从复制,我默认是了解过Redis的持久化功能的,也就是RDB和AOF,只需要简单了解过即可。持久化的一个作用就是可以定期将内存中的数据备份到硬盘,在系统发生故障的时候,也可以通过持久化文件回复数据,主从复制是一种分布式系统数据同步技术,其中主服务器负责处理所有写操作并将变更同步到一个或多个从服务器。从服务器接收这些变更并复制主服务器的数据,通常用于读取操作,实现了读写分离,增加了服务器的并发量还能在主服务器故障还能故障转移。

2024-07-19 14:16:32 524

原创 Go语言中GC(垃圾回收回收机制)三色标记与混合写屏障

GoV1.3- 普通标记清除法,整体过程需要启动STW,效率极低。GoV1.5- 三色标记法, 堆空间启动写屏障,栈空间不启动,全部扫描之后,需要重新扫描一次栈(需要STW),效率普通GoV1.8-三色标记法,混合写屏障机制, 栈空间不启动,堆空间启动。整个过程几乎不需要STW,效率较高。

2024-07-16 21:03:34 693

原创 WebSocket详解

答:ws和http一样,在从客户端发出去的时候也是要经过多层协议封装的WebSocket 数据帧:WebSocket 协议定义了一系列的数据帧格式,用于封装应用层的实际数据。这些数据帧包含了诸如消息类型、长度、负载数据等信息。TCP 报文段:WebSocket 数据帧会被进一步封装到 TCP 报文段中进行传输。TCP 报文段包含了源端口、目标端口、序号、确认号等信息。IP 数据报:TCP 报文段会被再次封装到 IP 数据报中,加入源 IP 地址和目标 IP 地址等信息。

2024-06-02 20:46:18 978

原创 mysql误删后使用binlog恢复数据

(这里我们是要测试binlog恢复数据的使用,所以就日志文件都放到一个全新binlog文件中方便查询使用,如果是实际恢复数据的话,就要一个一个的在这些binlog文件中找自己要的那部分文件了。数据恢复:通过恢复误删操作之后的操作记录,可以将误删的数据重新插入到数据库中,还原到误删之前的状态。这将重新执行误删操作之后的操作,从而还原到误删前的数据状态。假设我们的数据库是7天一备份,然后binlog的过期时间是大于7天的,那么通过备份的数据库+binlog文件就能够恢复数据库到达7天内的任意一个时间点的状态。

2024-05-22 15:56:29 1147 1

原创 mysql数据库主从复制,搭建从库

mysql在服务器上进行主从复制,配置从库搭建的原理以及过程操作

2024-05-22 14:11:23 661

原创 用websocket实现一个简单的im聊天功能

websocket,协程

2024-05-11 22:28:52 505 1

原创 WebSocket前后端建立以及使用

是一种在 Web 应用程序中实现。它提供了一种允许服务器主动向客户端推送数据,同时也允许客户端向服务器发送数据,实现了实时的双向通信。这部分直接说你可能听不懂;我举个例子说他的功能(下面先说一下为什么会出现WebSocket?

2024-05-11 20:03:22 1407 2

原创 操作系统中锁的底层原理

操作系统中锁的底层原理和引入go的gorouine理解琐

2024-04-26 15:49:19 534 2

原创 进程间的通信方式——管道

如果一个管道的写端一直在写,而读端的引⽤计数是否⼤于0决定管道是否会堵塞,引用计数大于0,只写不读再次调用write会导致管道堵塞;如果一个管道的读端一直在读,而写端的引⽤计数是否⼤于0决定管道是否会堵塞,引用计数大于0,只读不写再次调用read会导致管道堵塞;而当他们的引用计数等于0时,只写不读会导致写端的进程收到一个SIGPIPE信号,导致进程终止,只写不读会导致read返回0,就像读到⽂件末尾⼀样。

2024-04-26 15:36:17 382 1

原创 Go语言调试连接钉钉机器人

这个只是我创建机器人时候出现的值,等到你去创建机器人的时候要用你的变量值将这替代了,不要直接用我的机器人的token值。1. 首先在那个包中有两个初始化的方式,如果在第五步中没有选择加密,那么就是直接用InitDingTalk方法就能初始化对象,第一步,我们需要去创建一个钉钉机器人跟着下面的步骤就可以去一个钉钉群里创建一个机器人了。差不多就是这六步了,就可以实现创建一个钉钉机器人,然后需要注意的就是第五步中的。之后就可以来看代码了,然后可以。等方法来让钉钉机器人在钉钉群中。了,后面会贴上代码。

2024-04-19 21:11:33 493 2

原创 Mysql中的Redo log日志和binlog日志的详情工作

主要是讲解Redo log 和 binlog实现更新日志的时候。

2024-04-19 20:43:20 918

原创 星际旅行,第15届蓝桥杯javaB组试题F题解

这道题首先要看懂题。就是看第一个盲盒,2,1初始在2号星球他只有一个传送门的机会,但后面题解说的他能旅行三个星球一共,其实意思是题目中说的。也就是从2传送到1是花费一次,他也有可能从2传送到3也是花费一次,所以说他有可能到达1和3,加上初始的2,所以就是有可能旅行的星球是3个。他说的是可能性一共有多少个可以实现旅行,所以这里就可以用到dfs的思路,也就是。接下来就把代码放上,不一定对,是个人的一点见解,有问题多谢大家指出来。

2024-04-14 14:28:14 369 3

原创 数据库基本概念:数据库的定义、特点、分类、组成、作用

数据库(database)是用来组织、存储和管理数据的仓库。当今世界是一个充满着数据的互联网世界,充斥着大量的数据。数据的来源有很多,比如出行记录、消费记录、浏览的网页、发送的消息等等。除了文本类型的数据,图像、音乐、声音都是数据。为了方便管理互联网世界中的数据,就有了数据库管理系统的概念(简称:数据库)。用户可以对数据库中的数据进行新增、查询、更新、删除等操作。我们可以看到在MyISAM中数据和索引是分开。而在InnoDB中的数据和索引是在一个文件中的,

2024-04-07 19:52:05 10810

原创 mysql的底层数据结构组成

定义:本身就是一种特殊的二叉树,每个节点上都有存储位表示节点的颜色,可以是red或black 约束:每个节点是黑色或者红色,根节点为黑色,叶子节点(特指空节点)是黑色,每个红色节点的子节点都是黑色的,任何一个节点到其每一个叶子节点的所有路径上黑色节点数相同 特点:速度特别快,趋近平衡树,查找叶子元素最少和最多次数不多余二倍。B树(B-tree)每个节点都存放了真实的数据,mysql一个根节点数据存储为16KB,会导致每一个节点存储的数据量变小,所以B树的高度会变高,维护的代价大,查询修改性能会越来越低。

2024-03-26 14:20:04 809 1

原创 DNS域名是什么,和IP的关系

DNS域名是什么?DNS和IP的关系

2024-03-23 16:20:34 648 2

原创 前端vue后端go如何进行跨域设置?一篇就通透理解

前端使用vue怎么设置跨域,后端使用go怎么设置跨域

2024-03-17 13:54:44 1428 2

原创 go写图片验证码功能

我们在注册或者登录页面等需要实现验证码功能,以此来验证不是机器人在操作验证码的图片是由一个Base64 编码格式的字段,此字段返回给前端,前端可以根据网站得到图片话不多说,现在就开始说怎么能够创建处二维码。

2024-03-07 20:01:47 402 1

原创 什么是内网穿透+配置内网穿透

内网穿透理解、内网穿透配置、公网访问私有ip地址所在网络

2024-03-02 21:50:21 956

原创 Gin的请求处理和响应

通过使用 Gin 的强大功能,我们可以轻松地处理各种类型的请求,并返回适当的响应。

2024-02-17 19:53:05 374 1

原创 贪心+dfs

即一个数组,然后在数轴中选择一个点,然后来回走,直到经过了所有的点,问走的最短路程是多少,用的是右上角的哪一个不等式来解决的,之后就把数轴上的点两两相结合 ,然后a1和an结合,一直到最小的中间,如果是奇数个,最后刚好·1剩下一个点,n/2,如果是偶数的话,中间两个点,任选一个就好。2 从前往后处理每个区间 判断能否将其放到某个现有的组中(看某一组的最后一个右端点是否大于新区间的左端点,如果大于,则不能放置,如果小于,则新区间就可以放置到该组中,同时这个组的最后一个右端点进行更新。来让编译器分的清除,,

2024-01-25 11:25:26 763 1

原创 模拟堆 优先堆 java写一个堆

其次,如果把这个完全二叉树,从上到下,从左到右的排序的,它可以存放在一个一维数组中,而如果一个节点的index是x的话,那么它的左子树就刚好是2x,右子树是2x+1所以因为有这层关系,也就奠定了可以用一维数组来存贮的,每次找左子树的时候就把当先节点的下标*2就可以在数组中找到左子树的值了。他会根据up方法中的递归,自动给的上升到它应该在的位置。这五个点中都有一个共同的要求就是:动把堆中的数组动态的重组,让堆中最小的值存储在堆顶部,那么怎么做才能够让数组会是以堆的样子排序,让最小的值存储在最顶端呢?

2023-11-19 15:02:53 58

原创 Go语言协程的原理,协程与线程的关系!(很重要)

了解关于Go语言中协程的底层原理,以及协程与线程的区别、联系。协程与线程使怎么搭配使用的。Go语言中的协程是怎么实行起来的。GPM调度。

2023-11-12 08:00:00 292 5

原创 复习go语言的发现一些容易忽视的知识点

i -- 等类似的情况,一定要用有符号的数来定义i 这样当i == 0 的时候,再--才会编程-1 如果i是一个无符号的数时候,由于无符号的特征,当i为0的时候,减一会导致i变为最大的无符号数,而不是-1 这样子循环就无法终止。在go语言中,在函数中的局部变量在外部是不能用的,但是如果我在函数内部的局部变量的地址给返回到函数外用变量接收,那么就可以在函数外获取这个局部变量的值,因为指针p仍然引用着这个变量。如果原始的数值是有符号类型,而且最左边的bit位是1的话,那么最终结果可能是负的。

2023-11-05 16:54:23 52

原创 Go语言写小游戏的步骤

就是比如在工具中的,这个文件中仅仅放置了方法,方法内部传的参数也是其他结构体的内容,用来改变其他结构体的参数。然后之后就是用自己的算法来让这个游戏的功能更加丰富,比如说我的跑酷游戏就是想要让后面的场景实现无线循环,直接找到一个无限长度的背景图片过于困难,我就找了一张首尾呢个够无缝衔接的图片,然后让这两张图片给渲染连接起来,然后因为同一时间,窗口只能显示一张图片,所以就让当图片改出现第三张的时候,就让两张连接起来的图片给整体右移一个图片大小的宽度,这样就是第一张变成第二张,第二张变成第三张了。

2023-10-22 15:30:00 351 1

原创 复习go语言发现的许多没注意到的知识点

在append()和copy部分,在更给切片内容的时候,append(list,[params]),先判断list的cap长度是否大于等于len(list) + len([params]), 如果大于那么cap不变,否则cap的值就会发生修改cap总是会2倍的扩容,当切片的长度大于1024之后,那么就不会是两倍而是1.25倍。在go语言中如果创建了一个结构体b,然后又用另外一个结构体a去嵌套b,如果初始化A的时候,没有给a中的b赋值的话,那么以后调用a.b中的值,会出现空指针异常现象。

2023-10-14 08:00:00 71 1

翻译 html没学JS怎么写出轮播图效果?

其实在菜鸟教程上就有,菜鸟教程上搜索:Bootstrap4 轮播 就能找到有关轮播图,可以搜索一下看看,但是那个上面所讲的,当你引用它所说的css时,会出现一定程度的乱码,因为它所引用的css内部有许多没有必要的指令,这些指令一生效,就会与你自己所写的指令发生碰撞,然后页面效果就是变得你无法控制了,我也是将它引用的代码展开来,将不必要的代码给删去,这样直接把剩下的给复制上去,就会完美啦。这个是将代码复制到轮播图.css中。-- 左右切换按钮 -->-- 轮播图片 -->-- 指示符 -->

2022-10-26 10:53:25 2958 1

空空如也

空空如也

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

TA关注的人

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