自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 linux命令uname、lsof、netstat、ss使用教程

它可以列出当前系统中打开的文件、网络连接、进程等相关信息。是一个 Linux/Unix 系统中的命令,用于显示操作系统和内核相关的信息。这将显示当前系统中所有打开的文件的列表。使用 -p 选项,后跟进程 ID(PID),可以列出特定进程打开的文件。使用 -u 选项,后跟用户名,可以列出特定用户打开的文件。使用文件名作为参数,可以列出正在使用该文件的进程。使用 -i 选项,可以列出当前系统上的网络连接。使用 -c 选项,可以查看某个程序打开的文件。使用 +D 选项,可以显示目录下打开的文件。

2024-12-16 22:57:09 972

原创 容器的网络操作详解

Docker 的网络功能是其核心特性之一,允许容器之间以及容器与外部世界之间进行通信。Docker 提供了多种网络模式和驱动程序,以满足不同的应用需求。以下是 Docker 网络的基本概念和常用网络模式的详细介绍。每个 Docker 容器都有自己的网络命名空间,这意味着容器之间的网络是隔离的。容器可以有自己的 IP 地址、路由表和网络接口。Docker 为每个容器分配一个唯一的 IP 地址,容器可以通过这个 IP 地址进行通信。在同一网络中的容器可以通过容器名称或 IP 地址进行通信。

2024-11-06 11:37:17 306

原创 正则表达式使用指南(内容详细,通俗易懂)

非贪婪限定符(Non-greedy Quantifiers)是正则表达式中的一种特殊语法,用于控制匹配的方式。答: 在正则表达式中,没有直接的与运算符是因为正则表达式的匹配逻辑已经隐含了与运算的概念。默认情况下,这些限定符是贪婪的,即它们会尽可能多地匹配字符。等价于 [ \f\n\r\t\v]。非贪婪限定符在处理需要精确匹配的情况下特别有用,以避免匹配过多的字符。将只匹配尽可能少的字符,直到遇到下一个匹配项或字符串的结尾。匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。匹配前面的子表达式一次或多次。

2024-09-30 19:01:51 1494

原创 git使用方法详解(适合新手)

diff --git a/Markdown/git使用指南.md b/Markdown/git使用指南.md--- a/Markdown/git使用指南.md+++ b/Markdown/git使用指南.mddiff --git a/Markdown/git使用指南.md b/Markdown/git使用指南.md这一行表示在文件Markdown/git使用指南.md中有变更。文件在两个提交的路径相同(a/Markdown/git使用指南.md和b/Markdown/git使用指南.md。

2024-09-19 21:18:57 890 1

原创 使用kubekey快速搭建k8s集群

metadata:spec:hosts: #配置集群的所有node信息,name是node的主机名,会自动把节点主机名改为name的值,address是节点ip,internalAddress是节点内网ip,user和password是登陆节点的用户名和密码,如果配置了ssh密钥登陆,可以删除user和password字段。roleGroups: # 指定节点的身份etcd:- node1- node1worker:- node1- node2。

2024-08-19 21:11:13 1269 1

原创 下载文件(Go语言)

在 Go 语言中,可以使用标准库中的net/http包来下载文件。

2024-08-19 00:05:45 661

原创 获取操作系统的信息(Go语言)

runtime包:获取基本的操作系统类型和架构信息。os包:获取主机名、环境变量等系统信息。包:获取更详细的系统统计信息(如内存、CPU 信息)。

2024-08-18 23:59:39 676

原创 Kubernetes中CNI、CRI、OCI的定义

CNI负责容器的网络配置和管理,确保容器之间以及容器与外部网络之间的连接。CRI提供了 Kubernetes 与容器运行时之间的标准化接口,使得 Kubernetes 可以与不同的容器运行时兼容。OCI定义了容器镜像和运行时的标准,确保容器镜像和运行时工具之间的互操作性。这些接口和标准是 Kubernetes 容器生态系统的基础,确保了容器管理的灵活性、可扩展性和互操作性。

2024-08-18 23:33:46 640

原创 go语言设置定时任务

在 Go 语言中,可以使用time包来设置一个定时任务。下面是一个简单的示例,展示了如何在每天早上 9 点输出一条消息。

2024-08-16 17:05:05 753

原创 根据字符串的长度和字符值的大小来对字符串切片进行排序

在 Go 语言中,根据字符串的长度和字符值的大小来对字符串切片进行排序。示例如下:解释:自定义类型: 是一个基于 的自定义类型,用于实现排序接口。实现 接口:排序:在 函数中,使用 函数对字符串切片进行排序。运行这个程序后,可以看到字符串按长度排序,如果长度相同,则按字典顺序排序。例如:在这个例子中,“kiwi” 和 “pear” 都是四个字符长,“kiwi” 在字典顺序上先于 “pear”。“apple”、“grape”、“banana” 和 “orange” 按长度排列,然后根据字典顺

2024-08-16 15:30:17 266

原创 如何为服务器生成一个TLS证书

要生成 TLS 1.3 的证书,可以使用 OpenSSL 工具,它是一个广泛使用的开源工具,能够生成和管理 SSL/TLS 证书。以下是生成自签名 TLS 1.3 证书的详细步骤。

2024-08-09 16:14:34 1002

原创 gRPC使用教学

创建一个.proto文件,定义你的 gRPC 服务和消息类型。例如,创建//生成的路径,生成在当前路径的hello目录中,hell没有时会自动创建// 定义请求消息// 定义响应消息// 定义服务。

2024-08-09 14:50:48 387

原创 go语言项目架构示例

设计一个Go项目架构需要考虑代码的组织、依赖管理、错误处理和测试。遵循最佳实践和标准结构可以提高代码的可维护性和可扩展性。在Go语言中设计项目架构时,通常会考虑可维护性、可扩展性和可读性。使用协议缓冲区(Protocol Buffers)和gRPC进行API设计,确保高效、跨语言的通信。Go语言鼓励模块化设计,将不同功能拆分到独立的包中。通过接口来定义模块之间的依赖,方便替换实现和单元测试。编写单元测试来确保代码的正确性和稳定性。使用依赖注入模式来管理依赖关系,方便测试和扩展。目录来区分对内和对外的包。

2024-08-08 15:56:09 768

原创 go语言中map为什么不会自动初始化?

需要分配内存和设置相关的数据结构,这有一定的性能开销。将隐式地分配内存,这是Go语言设计者希望避免的。Go语言鼓励显式地初始化和分配内存,以便程序员对内存的使用有更明确的控制。:Go语言中的每种类型都有一个零值,例如整型的零值是0,布尔型的零值是false,指针的零值是nil。不会自动初始化是为了保持一致的零值设计原则,避免隐式的内存分配,并让程序员明确控制初始化时机和相关开销。变量但不初始化它时,这个变量的值是nil。类型,零值是nil。,必须显式地初始化它,通常使用内置的。总结起来,Go语言的。

2024-08-08 15:53:25 502

原创 go语言中的指针自动解引用

Go语言允许指针类型加不加星号都可以访问其字段,这是因为编译器会自动解引用指针。这种设计简化了代码,使得指针的使用更加直观和便捷,同时保持了一致性。开发者因此可以用更简洁的语法实现功能,而不需要频繁处理指针解引用的细节。

2024-08-08 15:51:31 590

原创 systemctl使用指南

它允许管理员启动、停止、重新加载、启用和禁用系统服务,以及检查服务的状态等。这条命令将显示 Apache HTTP 服务器的状态,包括是否正在运行、最后的日志条目等。这条命令将配置 Apache HTTP 服务器在系统启动时自动启动。这条命令将阻止 Apache HTTP 服务器在系统启动时自动启动。这条命令将重新加载 Apache HTTP 服务器的配置文件。命令可以重新加载服务的配置文件,而不需要停止服务。命令可以查看指定服务的当前状态。命令可以启动指定的服务。命令可以停止指定的服务。

2024-08-01 10:57:38 372

原创 Ansible学习指南

special_time #特殊的时间范围,参数: reboot(重启时),annually(每年),monthly(每月),weekly(每周),daily(每天),hourly(每小时)选项可以指定清单文件,不指定则使用默认的/etc/ansible/hosts文件,一般情况下,用户的家目录下也有一个.ansible目录。检查指定节点机器是否还能连通,用法很简单,不涉及参数,主机如果在线,则回复pong。该模块主要用于设置文件的属性,比如创建文件、创建链接文件、删除文件等。参数需要使用引号包围。

2024-07-26 21:15:22 310

原创 Linux知识点汇总

【代码】Linux知识点汇总。

2024-07-20 15:15:07 466

原创 docker使用教学

【代码】docker使用教学。

2024-07-15 17:50:49 445

原创 编写 Markdown 文档的详细指南

Markdown 是一种轻量级标记语言,用于使用纯文本格式编写格式化文档。它易于阅读和编写,并且可以转换为 HTML 等格式。以下是详细的 Markdown 编写指南,包括各种常用格式的用法示例。以下是一个示例 Markdown 文档,展示了上述各种元素的用法。可以直接在 Markdown 中嵌入 HTML 标签。的数量表示标题的级别(1 到 6 级)。段落之间需要一个空行分隔。包围文本表示斜体,使用。创建未完成的任务,使用。这是一个有脚注的文本。这是一个有脚注的文本。这是一个有脚注的文本。

2024-07-15 11:18:03 501

原创 使用go语言实现快速排序、归并排序、插入排序、冒泡排序、选择排序

【代码】使用go语言实现冒泡排序、选择排序和插入排序。

2024-07-04 19:48:18 593

原创 使用go语言高效解析json详解(含多个json库的对比)

encoding/json 是 Go 语言的标准库,易用性高且内置于 Go 语言中。然而,由于依赖于反射机制,它在高并发和大数据处理时性能较低。对于基本的应用场景,encoding/json 完全够用,但在追求高性能的应用中可能成为瓶颈。jsoniter 是一个高性能的 JSON 解析库,自称比标准库快三倍。它通过优化反射和内存分配机制,提高了解析速度。在大多数基准测试中,jsoniter 显示出比 encoding/json 更好的性能,特别是在处理大数据量和复杂 JSON 结构时。

2024-06-22 21:22:37 3091 1

原创 Mysql中常用的sql语句(适合萌新学习)

本人在学习mysql的过程中,踩过很多坑,走过很多弯路,这是我个人总结的一些常用的知识点,希望可以对大家有所帮助,与君共勉!

2024-06-17 20:05:29 962

原创 Mysql中的函数

CONCAT()作用:连接两个或多个字符串。示例:SELECT CONCAT('Hello', ' ', 'World!');返回 Hello World!作用:从字符串中提取子字符串。示例:SELECT SUBSTRING('Hello World!', 7, 5);返回 WorldREPLACE()作用:替换字符串中的子字符串。示例:SELECT REPLACE('Hello World!返回 Hello MySQL!LENGTH()作用:返回字符串的长度(字符数)。

2024-06-17 16:13:27 773

原创 Rocky Linux配置国内源

简介:RHEL 是由 Red Hat 公司开发和维护的企业级操作系统。它是基于开源社区的 Fedora 项目,但提供了商业支持和服务,面向企业用户。RHEL 提供了稳定、可靠和高性能的操作环境,广泛用于企业服务器和工作站。Rocky Linux 是一个社区驱动的开源项目,旨在作为 RHEL 的免费替代品。它是由 CentOS 项目联合创始人之一 Gregory Kurtzer 发起的。

2024-06-16 14:33:36 1299

原创 Rocky Linux安装Docker

简介:RHEL 是由 Red Hat 公司开发和维护的企业级操作系统。它是基于开源社区的 Fedora 项目,但提供了商业支持和服务,面向企业用户。RHEL 提供了稳定、可靠和高性能的操作环境,广泛用于企业服务器和工作站。Rocky Linux 是一个社区驱动的开源项目,旨在作为 RHEL 的免费替代品。它是由 CentOS 项目联合创始人之一 Gregory Kurtzer 发起的。

2024-06-16 14:29:57 1331

原创 使用管道解压url链接文件

【代码】使用管道解压url链接文件。

2024-06-03 19:54:09 247

原创 堆和栈的特点以及在golang中的应用

堆(Heap)和栈(Stack)是计算机内存管理中常见的两种数据结构,它们在内存分配和管理方面有着不同的特点:堆(Heap):堆是一块用于动态分配内存的区域,通常由操作系统管理。堆内存的分配和释放不是按照特定的顺序进行的,而是根据程序的需要动态地分配和释放。堆内存的生存期由程序员控制,需要手动分配和释放,如果没有正确释放堆内存,可能会导致内存泄漏。堆内存的访问速度相对较慢,因为它的分配和释放可能涉及到复杂的内存管理操作。

2024-05-27 23:19:49 391

原创 panic对defer语句的执行的影响

1.主线程中的panic会直接导致。

2024-05-25 00:13:58 273

原创 goto关键字的使用

1.声明一个标签,例如step1、step22.使用goto关键字跳转到标签处。

2024-05-24 23:51:43 243

原创 gc和gccgo编译器

编译器,因为它是默认的选择并且拥有良好的性能。但如果您需要对特定平台进行编译或者有特定的需求,也可以考虑使用 GCCGO 编译器。Go 语言有两个主要的编译器,分别是 Go 编译器(通常简称为 gc)和 GCCGO。总的来说,大多数用户会使用官方的。

2024-05-24 23:45:40 814

原创 如何在go语言中调用c语言代码

要使用cgo,需要安装c语言编译器gcc。

2024-05-24 23:38:28 704

原创 HTTP协议1.0、1.1、2.0版本之间的区别

这提高了性能,减少了延迟,特别是对于网页中包含大量资源(例如图像、样式表和脚本)的情况。在 HTTP/1.0 中,每个请求和响应的头部信息都需要完整地发送和接收,这可能会导致较大的网络开销。而在 HTTP/2.0 中,使用了头部压缩技术,将头部信息压缩,减少了数据传输量,提高了效率。HTTP/2.0 支持服务器推送,这意味着服务器可以在客户端请求之前将额外的资源推送给客户端。HTTP/2.0 支持流量控制,允许客户端和服务器之间的数据传输速率进行调整,以避免网络拥塞和资源浪费。

2024-05-23 00:40:30 452

原创 OSI七层模型和TCP/IP四层模型的区别

实现相邻节点之间比特流的透明传输,尽可能屏蔽传输介质带来的差异。典型设备:集线器(Hub)。

2024-05-23 00:31:46 583

原创 mysql聚簇索引知识点

优化数据物理的存储,减少磁盘 I/O 开销,减少磁盘碎片: 聚簇索引重新组织表的行,使得物理存储与索引的逻辑顺序一致。这样的优化可以减少磁盘 I/O 操作,提高数据检索速度。聚簇索引可以减少磁盘碎片,因为相关数据被组织在一起存储,而不是分散在不同的页面中。(聚簇索引可以减少磁盘碎片,也可能也会导致碎片的产生,特别是在频繁插入和删除记录的情况下。因为聚簇索引涉及到物理存储顺序的重新排列,所以在某些情况下,如非顺序的插入操作,可能会增加磁盘碎片。

2024-05-19 19:36:50 247

原创 redis知识点

字符串(String)底层数据结构:简单动态字符串(Simple Dynamic String, SDS)。SDS 是一个能够自动处理字符串大小和内存分配的抽象类型,它在内存中存储字符串的长度,从而快速获取字符串长度和追加操作。用途:存储文本或二进制数据,如缓存用户信息、会话令牌等。列表(List)底层数据结构:双向链表(LinkedList)或压缩列表(ziplist)。用途:实现队列或栈,如消息队列、文章的评论列表等。集合(Set)

2024-05-17 19:52:07 334

原创 聚簇索引和非聚簇索引的异同

性能考虑:虽然非聚簇索引能加速访问速度,但由于需要额外的查找步骤(先在索引中查找,然后通过指针访问数据行),它可能不如聚簇索引高效。性能优势:对于经常基于索引键进行范围查询的操作,聚簇索引能提供优越的性能,因为相关的数据在物理上是连续存储的,磁盘I/O操作较少。聚簇索引和非聚簇索引是数据库中两种主要的索引类型,它们在数据的存储和访问方式上有着根本的差异。查询效率:聚簇索引优化了范围查询的效率,而非聚簇索引更适合快速定位一个特定的数据项,尤其是当查询条件包含非主键列时。索引本身包含索引键和指向数据行的指针。

2024-05-15 22:43:28 251

原创 linux中top命令各字段的含义

因此,load average不仅仅反映CPU的负载情况,还间接地反映了系统I/O等资源的使用情况。其他时间大部分是空闲的(95.2%),没有显著的用户进程、调整优先级进程、I/O等待、硬中断、软中断和被虚拟机“偷走”的CPU时间。在你的例子中,0.0 ni 表示没有调整优先级的进程消耗CPU时间。在你的例子中,4.8 sy 表示有4.8%的CPU时间被内核态进程使用。多核系统中的load average:对于多核系统,假设有N个核,load=N表示所有的CPU核都在满负荷工作。

2024-05-15 21:01:44 493

原创 select、poll、epoll机制

使用事件通知机制,没有数量限制,在linux启动时使用epoll_create函数在内核申请一个b+树的文件系统,然后再返回epoll对象,每新建一个连接时会使用epoll_ctl函数更新epoll对象中的fd,并为fd绑定一个callback回调函数(回调函数用于在fd就绪后处理fd)。使用位图来表示文件描述符的就绪状态,有数量限制(一般是2048),使用轮询的方式检查文件描述符的就绪状态。使用链表来表示文件描述符的就绪状态,没有数量限制,使用轮询的方式检查文件描述符的就绪状态。

2024-05-13 23:31:24 401 1

原创 sed命令的使用方法

sed [选项] [正则表达式] [内置命令字符] [参数]e.g: sed -n '2,$p' text #输出文本text中第2行到最后一行(sed中的行是从第一行开始的)

2024-05-13 23:27:57 418 1

空空如也

空空如也

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

TA关注的人

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