自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 嘻嘻我是图床倒霉蛋

还有就是下载PicGo的时候尽量下载稳定版本,测试版会有奇奇怪怪的bug(亲自踩坑)七牛云因为测试域名30天到期,用自己的得备案,所以比较麻烦,建议直接上阿里云。按照这小小的一张才几KB,那我真是可以肆意妄为了。最后记得给用户开权限,要不然会上传失败!嘻嘻花了将近两个小时的时间配了一个小小的图床。我买了一年的40G,直接0元购。大体上按照这篇配置就好。

2024-06-16 19:53:28 190 1

原创 关于使用图形化界面 ssh密钥连接

关于finalshell不能使用密钥连接,因为一些格式不正确的原因pub 和 pem的格式问题,存在一些难以解决的bug。后来入坑了这个moboxXterm(某贝斯特姆),关键是和finalshell一样对新手很友好,有文件显示界面。然后新建一个连接,点击SSH,在Remote host里边放入ip。use pribate key 把自己的密钥文件.pem放入。在服务器和本地配置好之后,首先确保通过终端是可以直接连接的。然后下载完成之后,打开点击session。然后下载我们的moboxXterm。

2024-06-12 15:06:16 285

原创 学习记录-5.30

## Golang为什么比别的语言跟擅长并发:首先是因为Goroutine,算是go的一个最大的特色是轻量级的线程,创建一个goroutine的开销非常小,大约几KB,且调度开销很低并且goroutine的调度,并不依赖操作系统的线程调度器,而是使用了GMP模型其次就是channel,也是go的特色channel通信机制:channel 算是锁的一个升级,可以避免显示锁的使用,channel可以传递数据,用于异步通信,降低并发编程的难度。

2024-05-30 19:26:50 1310

原创 关于实习中git的使用

小小实习生,给公司共享了代码,但是还没人审核,所以先创一个test分支。先创建这么个测试环境,等到有人审核通过了,再进行合并。1.建立一个对应的feat-chat 分支。查看可用的 commit id。了解更多欢迎来我的小窝。

2024-05-30 11:18:21 655

原创 心心念念的小破站终于上线了

后来,总算是在友人的指导下跳出思维的误区,技术应该服务于需求,面对仅仅是搭建一个名不见经传的小网站,当然得用世界上最好的语言PHP了。后来发现完全没必要,不仅仅工作量太大,而且对前端不熟悉,写出来的页面像是一坨答辩。本来是打算拿golang来做网站后端,实现前后端分离,做高并发等等。用上宝塔+Typecho+定制主题,一晚上域名搭建全部解决。一直想要搭建一个自己的网站,今天终于成功上线了。拖延小半年的小破站,就这样顺利上线。果然,技术服务于需求才是硬道理。不嫌弃的友友可以来做客。

2024-05-30 11:16:04 213

原创 今天重新使用natapp发现连不上了

我配置了natapp.ini以后还是这种情况。直接在natapp页面中使用cmd。然后发现使用命令是可以的。

2024-05-08 15:54:12 221

原创 学习mysql相关知识记录

MySQL的执行流程:Mysql的索引索引是帮助Mysql高效获取数据的排好序的数据结构索引的数据结构:二叉树可能变成链表,变成全表扫描了红黑树二叉平衡树 有自我平衡功能 树的高度太高了 磁盘io太多B树 :叶节点具有相同的深度,叶节点的指针为空所有的索引元素不重复节点中的数据索引从左到右递增排列高度为3 的B+树3层可以存大概2千万数据B+树的非叶子节点占用内存非常少,一般MySQL在启动的时候就将他加载在内存中,因此查询只需一次磁盘io,快的很存储引擎对应的是表myisam索引文件和数据文件是分离的f

2024-05-01 12:03:15 1058 2

原创 TCP重传,滑动窗口,流量控制,拥塞控制

窗口实质上是一个缓存空间,发送发主机在等到确认应答返回之前,必须在缓冲区中保留已发送的数据,如果收到确认应答,此时数据就可以从缓存区清除。发送窗口和接受窗口中所存放的字节数,都是放在操作系统内存缓冲区中的,而操作系统的缓冲区,会被操作系统调整。先发一部分比如80,再发一部分比如120,然后发送方的可用窗口为0了,然后等待80的确认报文,但是这里存在一个问题:如果接收方向发送方发送的窗口非0的ACK报文,丢失,那么会造成死锁。如果超时重发的数据,再次超时的时候,又需要重传,TCP的策略是超时间隔加倍。

2024-04-30 22:31:32 347

原创 TCP重传,滑动窗口,流量控制,拥塞控制

窗口实质上是一个缓存空间,发送发主机在等到确认应答返回之前,必须在缓冲区中保留已发送的数据,如果收到确认应答,此时数据就可以从缓存区清除。发送窗口和接受窗口中所存放的字节数,都是放在操作系统内存缓冲区中的,而操作系统的缓冲区,会被操作系统调整。先发一部分比如80,再发一部分比如120,然后发送方的可用窗口为0了,然后等待80的确认报文,但是这里存在一个问题:如果接收方向发送方发送的窗口非0的ACK报文,丢失,那么会造成死锁。如果超时重发的数据,再次超时的时候,又需要重传,TCP的策略是超时间隔加倍。

2024-04-30 22:27:28 1481 4

原创 golang垃圾回收

三个阶段gc垃圾回收早期是。

2024-04-29 23:43:43 695 1

原创 Go-逃逸分析

用于确定程序中对象的生命周期是否局限在方法内部。如果一个对象在方法内创建,并且在方法结束后不再被引用,那么该对象可以被认为是不逃逸的,即其生命周期局限在方法内部。相反,如果一个对象在方法内创建后被返回给调用者,或者被赋值给方法外部的引用,那么该对象就会逃逸出方法的作用域。

2024-04-12 12:15:29 545

原创 mysql索引相关知识点

1、最左前缀匹配原则,非常重要的原则,mysql会一直向右匹配直到遇到范围查询(>、 3 and d = 4 如果建立(a,b,c,d)顺序的索引,d是用不到索引的,如果建立(a,b,d,c)的索引则都可以用到,a,b,d的顺序可以任意调整。索引是一种数据结构。比如我们在查字典的时候,前面都有检索的拼音和偏旁、笔画等,然后找到对应字典页码,这样然后就打开字典的页数就可以知道我们要搜索的某一个key的全部值的信息了。

2024-04-05 14:58:50 1097

原创 golang知识点总结

面向对象在了解 Go 语言是不是面向对象(简称:OOP) 之前,我们必须先知道 OOP 是啥,得先给他 “下定义”面向对象编程(OOP)是一种基于 “对象” 概念的编程范式,它可以包含数据和代码:数据以字段的形式存在(通常称为属性或属性),代码以程序的形式存在(通常称为方法)。对象自己的程序可以访问并经常修改自己的数据字段。对象经常被定义为类的一个实例。对象利用属性和方法的私有/受保护/公共可见性,对象的内部状态受到保护,不受外界影响(被封装)。封装继承多态。

2024-03-15 15:22:28 1516

原创 Redis学习过程中的一些总结

String是最常用的一种数据类型,普通的key- value 存储都可以归为此类。其中Value既可以是数字也可以是字符串。使用场景:常规key-value缓存应用。常规计数: 微博数, 粉丝数。虽然 Redis 是用 C 语言写的,但是 Redis 并没有使用 C 的字符串表示,而是自己构建了一种简单动态字符串SDS。

2024-03-05 21:16:44 1260

原创 Mysql知识点总结

存储过程是一些预编译的 SQL 语句。1、更加直白的理解:存储过程可以说是一个记录集,它是由一些 T-SQL 语句组成的代码块,这些 T-SQL 语句代码像一个方法一样实现一些功能(对单表或多表的增删改查),然后再给这个代码块取一个名字,在用到这个功能的时候调用他就行了。2、存储过程是一个预编译的代码块,执行效率比较高,一个存储过程替代大量 T_SQL 语句 ,可以降低网络通信量,提高通信速率,可以一定程度上确保数据安全。

2024-03-05 21:15:44 1188

原创 计网知识点总结二

什么是 CookieHTTP Cookie(也叫 Web Cookie或浏览器 Cookie)是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上。通常,它用于告知服务端两个请求是否来自同一浏览器,如保持用户的登录状态。Cookie 使基于无状态的 HTTP 协议记录稳定的状态信息成为了可能。会话状态管理(如用户登录状态、购物车、游戏分数或其它需要记录的信息)个性化设置(如用户自定义设置、主题等)浏览器行为跟踪(如跟踪分析用户行为等)

2024-03-04 17:18:41 966

原创 计网笔记总结

图片来自:https://juejin.cn/post/6844904005315854343三次握手机制:第一次握手:客户端请求建立连接,向服务端发送一个同步报文(SYN=1),同时选择一个随机数 seq = x 作为初始序列号,并进入SYN_SENT状态,等待服务器确认。第二次握手::服务端收到连接请求报文后,如果同意建立连接,则向客户端发送同步确认报文。

2024-03-04 17:17:56 1064

原创 jwt鉴权

ExpiresAt: time.Now().Add(TokenExpireDuration).Unix(), // 过期时间。// MyClaims 自定义声明结构体并内嵌jwt.StandardClaims。// jwt包自带的jwt.StandardClaims只包含了官方字段。// 使用指定的secret签名并获得完整的编码后的字符串token。// ParseToken 解析JWT。// GenToken 生成JWT。// 创建一个我们自己的声明。然后定义jwt的过期时间。// 解析token。

2024-02-14 21:20:12 805

原创 git入门

分布式版本控制系统可以不用联网就可以工作,因为每个人的电脑上都是完整的版本库,当你修改了某个文件后,你只需要将自己的修改推送给别人就可以了。但是,在实际使用分布式版本控制系统的时候,很少直接进行推送修改,而是使用一台当"中央服务器"的东西。切换当前分支到test,(当你切换分支的时候,Git 会重置你的工作目录,使其看起来像回到了你在那个分支上最后一次提交的样子。Git 会自动添加、删除、修改文件以确保此时你的工作目录和这个分支最后一次提交时的样子一模一样)一个好的git提交信息。只看某个人的提交记录。

2024-02-12 18:13:04 1358

原创 docker从入门到入土

一个镜像代表一个软件;而基于某个镜像运行就是生成一个程序实例,这个程序实例就是容器;而仓库是用来存储Docker中所有镜像的其中仓库又分为远程仓库和本地仓库,第一次访问依赖时,将其下载到本地仓库,第二次,第三次使用时直接用本地仓库的依赖即可通过docker cp 指令能够将文件从Centos复制到容器中,./test.html为centos中的资源路径,xxx为容器id,/usr/local/tomcat/webapps 为容器的资源路径,此时test.html文件将会被复制到该路径下。

2024-02-12 11:07:12 3094

原创 mysql基础从头到尾快速梳理

左侧的emp表是员工表,里面存储员工的基本信息,包含员工的ID,姓名,年龄,职位,薪资,入职日期,上级主管ID,部门ID,在员工的信息存储的是部门ID dept_id,而这个部门的ID是关联的部门表dept的主键id,那emp表的dept_id就是外键,关联的是另一张表的主键。在一个正常的业务系统中,查询操作的频次是远高于增删改的,我们去访问企业官网,电商网站,在这些网站中我们所能看到的数据,实际都是需要从数据库中查询并展示的,而且在查询的过程中,可能还会涉及条件,排序,分页等操作。),(值1,值2,…

2024-02-07 17:26:56 376

原创 go-基于逃逸分析来提升性能程序

逃逸分析简单来说就是分析在程序的哪些位置可以访问到该指针简单的来说,它是在对变量放在堆上或者栈上进行分析,该分析在编译阶段完成。如果一个变量超过了函数调用的生命周期,那么这个变量就在函数外部存在引用了,编译器会把这个变量分配到堆上,接下来我们就说这个变量发生逃逸了。逃逸分析是编译器在静态编译时完成的逃逸分析后可以确定哪些变量可以在分配栈上,栈的性能好。

2024-02-04 13:24:27 649

原创 计算机网络

因为三次握手已经可以确认双发的发送接受能力正常,双方也都知道彼此都准备好了,并且具备可以完成收发的能力,也就无需四次浪费资源了。第二次握手:客户端确认自己发,自己收,服务端收,客户端发报文功能正常,客户端认为连接已建立。防止已过期的连接请求报文突然又传送到服务器,因而产生错误和资源浪费。三次握手才能让双方均确认自己和对方的发送和接受能力都正常。告知对方自己的初始序号值,并确认收到对方的初始序号值。第一次握手:服务端确认自己收,客户端发报文功能正常。第三次握手:服务端确认自己发,客户端收报文功能正常。

2024-01-27 00:44:24 796

原创 golang代码规范和单元测试

go test命令是一个按照一定约定和组织的测试代码驱动程序。在包目录中,所有以_test.go为后缀的源码文件都会被go test运行。我们写的__test.go源码文件不用担心内容过多,因为go build命令不会将这些测试文件打包到最后的可执行文件。方便团队内部统一风格,提高代码可读性,统一性。test文件有4类,Test开头的 功能测试。Benchmark开头的 性能测试。对三种字符串的拼接方式进行性能测试。单元测试命令:go test。example 模糊测试。

2024-01-26 21:02:45 696

原创 计算机网络

计算机网络的各层协议及作用?计算机网络体系可以大致分为以下三种: OSI七层模型,TCP/IP四层模型和五层模型○ OSI七层模型:大而全,但是比较复杂,而且是先有理论模型。没有实际应用○ TCP/IP四层模型:是有实际应用发展总结出来的,从实质上讲,TCP/IP只有最上面三层,最下面一层没有没事具体内容,TCP/IP参考模型没有真正描述这一层的实现○ 五层模型:五层模型只出现在计算机网络教学过程中,这是对七层模型和四层模型的一个折中,既简洁又能将概念阐述清楚。○○ 七层网络体系结构各层的主要

2024-01-24 22:52:42 543

原创 Golang 垃圾回收

在内存管理中,allocBits记录了每块内存的分配情况,而gcmarkBits记录了每块内存的回收情况,在标记阶段会对每块内存进行标记,有对象引用的标记为1,没有的标记为0,结束标记后,将allocBits指向gcmarkBits,则有标记的才是存活的内存块,这样就完成了内存回收。辅助GC是为了防止GC过程中内存分配的速度过快,因此会在GC过程中让mutator线程并发执行,协助GC执行一部分回收工作。写屏障是让GC和应用程序并发执行的手段,可以有效减少STW的时间。灰色: 待处理的内存块。

2024-01-23 16:20:00 549

原创 Redis知识点梳理

redis提供了多种数据类型来支持不同的业务场景,比如String(字符串),Hash(哈希),List()列表,Set(集合)并且对数据类型的操作都是原子性的,因为执行命令由单线程负责,不存在并发竞争的问题。Redis还支持事物,持久化,Lua脚本,多种集群方案(主从复制模式,哨兵模式,切片集群模式),发布订阅模式,内存淘汰模式,过期删除机制等等。redis是一种基于内存的数据库,对数据的读写操作都是在内存中完成的,因此读写速度非常快,常用于缓存,消息队列,分布式锁等场景。

2024-01-23 00:02:11 546

原创 gin框架复习

基于Radix树的理由,小内存占用没有反射。可预测的API性能支持中间件传入的http请求可以由一系列中间件和最终操作来处理gin可以catch一个发生在HTTP请求中的panic并recoverGin可以解析并验证请求的JSON更好的组织路由,是否需要授权,不同的API版本….这些组合无线、、无限嵌套不会降低性能。Gin提供了一种方便的方法来收集HTTP 请求期间发生的所有错误,最终,中间件可以将它们写入日志文件,数据库并通过网络发送。

2024-01-22 17:53:16 545

原创 go语言的垃圾回收

Golang的垃圾回收器使用了并发标记清除算法,即在程序运行过程中,垃圾回收器会标记所有活跃对象,并清除未被引用的对象。例如,尽量减少对象的创建和销毁,避免产生过多的临时对象;满足弱三色不变性:黑色节点允许引用白色节点,但是该白色节点有其他的灰色节点间接的引用(确保不会被遗漏)当白色节点被删除了一个引用时,悲观的认为它一定会被一个黑色节点新增引用,所以将它置为灰色。一个黑色的节点A新增了指向白色节点C的 引用,并且白色节点c没有除了A之外的其他灰色节点的引用,或者存在但是在GC过程中被删除了。

2024-01-21 21:47:48 594

原创 马原选择题题库答案纯享版

不仅仅指马克思恩格斯创立的基本理论,基本观点和学说的体系,也包括继承者对它的发展。实践高于理论的认识,因为它不仅具有普遍性的品格,而且具有直接现实性的品格。以生产工具为骨骼系统的生产力的性质和变革决定着生产关系的性质和变革。马克思和恩格斯创立的基本理论,基本观点和基本方法构成的科学体系。各种形式的工具,手段以及运用,操作这些工具手段的程序和方法。同生产力发展一定阶段相适应的经济基础和上层建筑的统一体。一定社会同生产力发展相适应的占统治地位的生产关系的总和。

2024-01-15 22:48:02 450

原创 马原选择题答案速通

马克思和恩格斯创立的基本理论,基本观点和基本方法构成的科学体系不仅仅指马克思恩格斯创立的基本理论,基本观点和学说的体系,也包括继承者对它的发展自由资本主义马克思马克思主义哲学资本主义社会生产力和生产关系的矛盾运动无产阶级作为一支独立的政治力量登上了历史舞台亚当斯密劳动价值论合理内核马克思主义政治经济学俄国马克思主义是无产阶级的世界观和方法论实践观点辩证唯物主义和历史唯物主义科学社会主义致力于实现最广大人民的根本利益关于费尔巴哈的提纲实现共产主义理论联系实际。

2024-01-10 19:06:50 364

原创 mysql基础二

修改字段(改名改类型):alter table 表 change [column] 原字段名 新字段名 数据类型…添加字段:alter table 表名add[column] 字段名 数据类型 [位置]修改字段(不改名):alter table 表 modify 字段名 字段属性 …删除字段:alter table 表 drop [column] 字段名。create table 数据库名.表名,用于给指定的数据库创建表。特点:不能复制父表的主键,能够复制父表的数据。显示创建teacher表的语句。

2023-12-30 22:21:11 837

原创 mysql基础一

数据库是存放数据的仓库数据库中放着表,一个数据库可以存放很多的表表上存放具体的数据。

2023-12-30 22:19:35 409 1

原创 GO语言基础梳理(速通版)

检查go语言版本:go versiongo语言的环境信息:go envgo编译:go build maingo执行: go run main。

2023-12-29 12:18:27 1299 4

原创 go语言基础梳理(二)

键的类型,必须是支持==和!数组定义完长度是固定的,切片与数组相比切片的长度是不固定的,可以追加元素的,在追加时可能使切片的容量增大。切片的第二种定义: var s1 []int//声明切片和声明数组一样,只是少了长度,此为空切片。切片的第三种定义方式,通过make()函数实现 make(切片类型,长度,容量)长度是已经初始化的空间,容量是已经开辟的空间,包括已经初始化的空间和空闲的空间。map关键字,[]中指定的是键(key)的类型,后面是值的类型。切片的优势:切片的长度和容量是可以不固定的。

2023-12-27 21:55:17 370 1

原创 GO语言基础梳理

检查go语言版本:go versiongo语言的环境信息:go envgo编译:go build maingo执行: go run main。

2023-12-25 22:06:59 978

原创 Web头歌补充--CSS3-文本外观样式

【代码】Web头歌补充--CSS3-文本外观样式。

2023-12-25 00:21:28 511

原创 Web程序设计基础2023秋 -12-10

## 第1关:Web前端开发相关的概念。

2023-12-07 09:02:23 91 1

原创 go标准库sort

如果想要自定义结构体排序的话,就必须实现三个方法Age int//返回切片的长度//比较方法//交换方法由于是根据年龄比较的,所有结果是根据年龄的大小来排序。

2023-10-25 22:21:00 48

原创 力扣热题之环形链表

环形在遍历中,把head存入哈希表中,在用遍历到的数,从哈希表中取值,如果能取到,说明相等有环形,返回true。指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数。来表示链表尾连接到链表中的位置(索引从 0 开始)。如果链表中有某个节点,可以通过连续跟踪。仅仅是为了标识链表的实际情况。(即,常量)内存解决此问题吗?,判断链表中是否有环。给你一个链表的头节点。**进阶:**你能用。

2023-10-24 22:29:08 59

空空如也

空空如也

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

TA关注的人

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