自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

赵凯月的博客

技术爱好者一枚

  • 博客(497)
  • 收藏
  • 关注

原创 关于出书这件事

推荐

2022-12-05 10:06:41 263

转载 Linux开机顺序详解

在设定了运行等级后,Linux系统执行的第一个用户层文件就是/etc/rc.d/rc.sysinit脚本程序,它做的工作非常多,包括设定PATH、设定网络配置(/etc/sysconfig/network)、启动swap分区、设定/proc等等。至此,Linux内核已经建立起来了,基于Linux的程序应该可以正常运行了。众所周知,硬盘上第0磁道第一个扇区被称为MBR,也就是Master Boot Record,即主引导记录,它的大小是512字节,别看地方不大,可里面却存放了预启动信息、分区表信息。

2024-07-18 00:15:12 11

转载 linux下添加简单的开机自启动脚本

这里要注意的是,systemd是linux发行版上的预装工具,用来管理系统软件的启动运行和结束,所以通常来说,这套东西是依赖于发行版的,如果系统使用了这一套工具,那么就可以使用它来管理进程,如果不是,即使你安装了它,它也不会被默认配置为系统管理工具。可以看到,这里在/etc/systemd/system/multi-user.target.wants/目录下创建了一个/usr/lib/systemd/system/test.service文件的软链接,到这里设置开机自启动就完成了。

2024-07-18 00:05:46 24

转载 几种TCP连接中出现RST的情况( 比较详细)

总结,本文讲了几种TCP连接中出现RST的情况。实际上肯定还有无数种的RST发生,我以后会慢慢收集把更多的例子加入这篇文章。

2024-06-19 11:25:41 598

原创 mac地址一样,ip不同,能ping通么?

在第一次未链接设备的情况下,地址表是空的,在进行第一次ping时,先发送arp包,此时进入设备的mac地址和端口,会被记录在交换机中,出去的mac地址和端口号也会记录在交换机中,此时相同的mac地址存在两个端口,此时可能会认为 两个相同的mac地址都存在,那一定会导致网络时断时续,但现象是两个网络正常通信,不受到任何的影响。这是因为在进入的端口只会通过除了本端口之外的其他的端口,而该对应的mac和端口是存在的。C-> A 第一次通信,可以设备可以ping通,此时C -> B两个设备ping不通。

2024-06-01 15:32:37 734

原创 tcp链接中的三次挥手是什么原因

这时服务端应⽤程序如果有数据要发送的话,就。

2024-06-01 14:34:19 893

原创 Go中json的解析和反解析

在解析过程中,反向解析不包含其中的部分参数也不会报错,这是需要注意的一点。

2024-05-09 22:52:17 170

转载 go中函数高级用法:匿名、闭包及高阶函数

有了闭包后函数就成为了一个变量的值,只要变量没被释放,函数就会一直处于存活并独享的状态,因此可以后期更改函数中变量的值(因为这样就不会被go给回收内存了,会一直缓存在那里)。然后在下面声明的函数printToStd的签名与Printer的是一致的,因此前者是后者的一个实现,即使它们的名称以及有的结果名称是不同的。只要两个函数的参数列表和结果列表中的元素顺序及其类型是一致的,我们就可以说它们是一样的函数,或者说是实现了同一个函数类型的函数。只要满足了其中任意一个特点,我们就可以说这个函数是一个高阶函数。

2024-05-09 22:45:40 26

转载 安装node的版本问题记录

在服务器中离线安装node.js环境,下载官网下载最新的Linux 二进制文件 (x64),node-v16.16.0-linux-x64.tar.xz。通过命令strings /lib/i386-linux-gnu/libc.so.6 | grep ^GLIBC查看当前系统glibc的版本。是因为高版本的nodejs需要更高版本的glibc编译环境,目前我的服务器对应的glibc最高只能支持到2.27。贸然更新glibc的版本存在较大的风险,所以建议降低node.js的版本,去兼容低版本glibc。

2024-05-05 22:44:34 91

转载 linux——nm命令:查看符号表

nm 命令显示关于指定 File 中符号的信息,文件可以是对象文件、可执行文件或对象文件库。所谓符号,通常指定义出的函数,全局变量等等。A 在每个符号信息的前面打印所在对象文件名称;C 输出demangle过了的符号名称;D 打印动态符号;l 使用对象文件中的调试信息打印出所在源文件及行号;n 按照地址/符号值来排序;u 打印出那些未定义的符号;A 该符号的值在今后的链接中将不再改变;B 该符号放在BSS段中,通常是那些未初始化的全局变量;

2024-03-22 23:25:04 494

原创 binary.write 和 binary.read

此包实现了对数据与byte之间的转换,以及varint的编解码。2、binary为我们开发者提供了哪些内容?二、binary为我们开发者提供了哪些内容?转化成二进制格式与原本数据转字符串相比会更节省空间。golang中encoding/binary包。1、golang包中的binary包是什么?一、golang包中的binary包是什么?uvarint和varint的编解码。3、编解码有哪几种方法?数据的byte序列化转换。

2024-03-17 12:17:28 654

转载 go语言---copy()函数

【代码】go语言---copy()函数。

2024-03-17 12:01:02 250

原创 ranger的使用

注意:如果要使用~/.config/ranger目录下的配置生效,需要把。.开头主要是文件过滤,后面跟一些过滤规则筛选出满足条件的文件或目录。g开头主要是目录跳转,后面可以跟一些参数指定要跳转的位置。可以使用以下命令复制默认配置文件到这个目录。z开头主要是设置,后面跟一些具体要设置什么。s开头主要是排序,后面跟一些排序规则。启动之后ranger会创建一个目录。这些快捷键都是与vim的操作一样。变量设置为false。

2024-03-06 23:53:43 453

转载 git fsck 恢复误删 stash 贮藏的数据

可以通过 git show 来查看是否是自己想要的代码,排列顺序是最新的在最上面。stash 之后的内容没有应用到代码上就直接给删除了。找到想要的代码 id 后,执行 git merge 来恢复代码。执行完之后会得到很多 id ,其中会标明哪个是 commit。

2024-02-23 22:36:27 204

原创 git 错误:对象文件为空object-file-is-empty

我们可以看到内容,是好着的。是当前所使用的分支的名字。

2024-02-23 20:49:58 719

原创 Git 提交指定文件的部分修改

被分配了两个Bug,已经改好了A, 正在处理B, 但被要求先提交A, AB有修改在同一文件里,那么问题来了:Git 如何提交文件的部分修改?

2023-12-15 00:46:40 615

原创 go的结构体作为返回值

2、getinfo1() 结构体指针 即使在函数外有实体也会报错崩溃,是因为此时给返回的结构体指针声明了一个结构体指针,但这个结构体指针没有实体,在赋值时会报错。1、getinfo() 结构体指针 需要在返回的结构体在函数外有实体。3、getinfo2() 结构体作为返回值 外层可以有实体也可以没有。

2023-12-12 22:29:41 759

原创 golang函数的返回值

函数可以有0或多个返回值,返回值需要指定数据类型,返回值通过return关键字来指定。return可以有参数,也可以没有参数,这些返回值可以有名称,也可以没有名称。go中的函数可以有多个返回值。return关键字中指定了参数时,返回值可以不用名称。如果return省略参数,则返回值部分必须带名称当返回值有名称时,必须使用括号包围,逗号分隔,即使只有一个返回值但即使返回值命名了,return中也可以强制指定其它返回值的名称,也就是说return的优先级更高。

2023-12-01 22:41:17 939

原创 Go打印行号和文件名

实参skip为上溯的栈帧数,0表示Caller的调用者(Caller所在的调用栈)。函数的返回值为调用栈标识符、带路径的完整文件名、该调用在文件中的行号。FuncForPC返回一个表示调用栈标识符pc对应的调用栈的*Func;如果该调用栈标识符没有对应的调用栈,函数会返回nil。skip == 1,跳过当前函数栈,返回上层调用者调用当前函数时的PC,文件名,所在行。skip == 0,不跳过函数栈,返回当前函数PC,文件名,所在行。根据返回的调用栈标识符pc,我们可以获取对应的函数名。

2023-11-28 22:57:48 953

原创 Go中各种newreader和newbuffer的使用

1、使用的newbuffer,缓存区是用来存储内容的,并不能确定具体需要的内存大小,因此newbuffer的参数为不固定的[]byte{};2、使用的newreader,缓存区应该是有数值的,此时是用来读取其中的内容。

2023-11-20 23:33:35 865

转载 Go解析xml文件

【代码】Go解析xml文件。

2023-11-17 23:33:59 148

转载 SOAP-Golang对接WebService服务实战

SOAP(Simple Object Access Protocol )简单对象访问协议是在分散或分布式的环境中交换信息的简单的协议,是一个基于XML的协议,它包括四个部分:SOAP封装(envelop),封装定义了一个描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们的框架;SOAP编码规则(encoding rules),用于表示应用程序需要使用的数据类型的实例;SOAP RPC表示(RPC representation),表示远程过程调用和应答的协定;

2023-11-17 22:28:53 870

原创 Go解析soap数据和修改其中数据

【代码】Go解析soap数据和修改其中数据。

2023-11-17 22:23:50 677

转载 go编码处理-json、xml、gob、纯文本

如果XML元素包含一个子元素,其名称匹配格式为"a"或"a>b>c"的标签的前缀,反序列化会深入XML结构中寻找具有指定名称的元素,并将最后端的元素映射到该标签所在的结构体字段。如果XML元素的属性的名字匹配某个标签",attr"为字段的字段名,或者匹配某个标签为"name,attr"的字段的标签名,Unmarshal会将该属性的值写入该字段。​ Go语言内建对 JSON 的支持,使用内置的 encoding/json 标准库,开发人员可以轻松使用Go程序生成和解析 JSON 格式的数据。

2023-11-17 20:51:28 107

转载 Go将16进制(HEX)编码的字符串转换为16进制的值

Go将16进制(HEX)编码的字符串转换为16进制的数据由于项目中有对数据格式的要求,输入的数据为16进制的字符串,最终需要保持为16进制的数据,作为笔记来记录一下。经过查询,发现encoding/hex包中的func DecodeString(s string) ([]byte, error)和func EncodeToString(src []byte) string 函数可以进行相互转换,而且很容易实现此功能。

2023-11-15 20:28:29 699

转载 Go语言中一个fallthrough的使用问题

这时候,如果你使用vscode来开发,会提示一个红色的波浪线,这就表明代码是有问题的,我们看这个提示,fallthrough statement out of place,翻译过来就是fallthrough这个声明不合适,那和刚才的示例不一样了啊。相信学习Go语言的小伙伴对fallthrough这个关键词并不陌生,与Java、PHP等语言不同,Go语言的switch case语句不需要在每个case后面添加break语句,默认在执行完case之后,会自动break,从switch语句中转义出来。

2023-11-09 22:39:38 166

转载 xxd命令转换与回转16进制数据

【代码】xxd命令转换与回转16进制数据。

2023-11-09 22:35:28 318 1

原创 vim以16进制打开和编辑文件

修改十六进制内容是不会导致右侧字符改变;其实右侧的文本只是给你参考的,修改了再将十六进制转换回二进制,这些修改都会忽略。先用 vim 以二进制格式打开需要编辑或查看的文件,不采用 - b 参数有时会导致转换错误,详见分隔线后部分。现在就可以对待普通文本一样查看和编辑二进制文件了。然后用 xxd 把文件转换成十六进制格式。vim以16进制打开和编辑文件。只有十六进制的修改会生效。

2023-11-09 21:58:36 1285

转载 go语言网络编程TCP和UDP

UDP协议(User Datagram Protocol)中文名称是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联)参考模型中一种无连接的传输层协议,不需要建立连接就能直接进行数据发送和接收,是不可靠的、没有时序的通信,但是UDP协议的实时性比较好,通常用于视频直播等场景。一个TCP服务端可以同时连接很多个客户端,多个客户端可以同时像服务端发送消息,go语言中我们也可以使用线程来处理模拟多个客户端发送服务端处理请求。1 建立与服务端的链接。

2023-11-05 13:04:42 304

原创 【六、http】go的http的客户端重定向

客户浏览器发送http请求----》web服务器接受后发送302状态码响应及对应新的location给客户浏览器–》客户浏览器发现是302响应,则自动再发送一个新的http请求,请求url是新的location地址----》服务器根据此请求寻找资源并发送给客户。在这里location可以重定向到任意URL,既然是浏览器重新发出了请求,则就没有什么request传递的概念了。在客户浏览器路径栏显示的是其重定向的路径,客户可以观察到地址的变化的。重定向行为是浏览器做了至少两次的访问请求的。

2023-11-03 23:49:16 865

原创 【五、http】go的http的信息提交(表单,json,上传文件)

uploadfile1 中的内容为 abc。uploadfile2 中的内容为 abc。

2023-11-03 21:57:56 829

原创 【四、http】go的http的文件下载

修改main函数中的url地址,可以下载到本地。从后台可以看到图片的url地址。这里以一张图片为例子。

2023-11-03 21:02:45 1384

原创 【三、http】go的http的响应信息

可以看到具体的响应信息。

2023-11-03 20:26:46 451

原创 【二、http】go的http基本请求设置(设置查询参数、定制请求头)get和post类似

可以看到其中头部信息已经打印出自己增加的部分内容。

2023-11-03 20:13:36 1215

原创 【一、http】go的http基本请求方法

其中地址http://httpbin.org 是国外提供的一个验证http请求的网址,可以通过该网站进行测试。1、http的基本请求。

2023-11-03 20:01:58 1116

转载 Go 语言 multipart 库解析

这篇文章作为上一篇文章的实践篇,在掌握了基本的 HTTP 中的这种格式的请求之后,现在通过 Go 语言的官方multipart库来深入理解如何发送和处理格式的请求先来看一段客户端请求的代码和一段服务端处理请求的代码。

2023-10-31 21:29:54 651

原创 Linux curl命令最全详解

https://blog.csdn.net/angle_chen123/article/details/120675472

2023-10-30 22:18:27 386

原创 golang发送get请求的各种操作:自定义header请求头、带cookie请求、channel并发请求

/ 可以设置请求头 添加cookieif err!= nil {// 添加请求头// 添加cookie// 发送请求if err!= nil {}// 可以设置请求头 添加cookieif err!= nil {// 添加请求头// 添加cookie// 发送请求if err!= nil {接收文件–ioutil.WriteFile// ioutil.ReadAll(resp.Body) 先将所有的响应读出来放到内存中。

2023-10-30 22:16:11 636

转载 golang https的单向认证,双向认证

【代码】golang https的单向认证,双向认证。

2023-10-30 22:11:11 464

转载 Golang忽略HTTPS证书

通过设置TLSClientConfig: &tls.Config{InsecureSkipVerify: true},来取消对HTTPS的证书验证,以处理x509: certificate signed by unknown authority。

2023-10-30 22:04:46 414

空空如也

空空如也

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

TA关注的人

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