自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(80)
  • 问答 (2)
  • 收藏
  • 关注

原创 openssl 生成自签名证书

1、openssl。

2023-09-01 18:20:17 1229 2

原创 Init、break、continue等语法的使用

init函数:每个包中可以包涵任意多个init函数,这些函数会在程序执行开始的时候被调用,init函数会在main函数、设置包、初始化变量或者其它要在程序运行前优先完成的引导工作。程序编译时,优先执行导入包里的所有init函数,再执行本包内的init函数。for循环:go的for循环中不支持以逗号为间隔的多个赋值语句,必须使用平行赋值的方式来初始化变量。init初始赋值表达式只执行一遍,循环控制条件、post(给控制变量增量或者减量)每循环一次,都要执行一次。...

2021-06-09 16:31:48 282

原创 快速安装mysql 5.7 服务步骤(包含clinet)及常见问题

1.2.进入yum.repos.d目录,安装mysql-server1.3.出现mysql-community-common-5.7.42-1.el7.x86_64.rpm的公钥尚未安装的错误例如:"Public key for mysql-community-server-5.7.44-1.el7.x86_64.rpm is not installed"1.4.启动MySQL并获取登录密码1.5.登录MySQL1.6.修改mysql的用户root的密码并配置mysql。

2024-03-13 00:00:15 295

原创 在Linux操作系统上安装 kafka

在启动Kafka broker之前,您需要先启动Zookeeper实例。您可以从官方网站(https://kafka.apache.org/downloads)上下载最新版本的Kafka。其中,your_host_name是您计算机的主机名,这将是Kafka broker公开的地址。Kafka是一个分布式的流处理平台,它可以处理数据管道中的实时数据流。以下是在Linux操作系统上安装Kafka的步骤。注意:为了避免内存问题,不要在单个计算机上运行多个Kafka broker实例。在Kafka目录中,找到。

2023-09-07 16:20:44 835

原创 日志记录一

我们知道,当注释掉配置环境变量 export ……之后,需要source;之后,修改内容才能生效。例如:将export的Java环境变量注释掉或者删除掉后,source /etc/profile 使之生效;但是,执行env命令后依然发现JAVA_HOME。

2023-09-02 06:00:00 245

原创 程序员笔记:安装包类型、go语言编译约束

原文链接:https://blog.csdn.net/u012206617/article/details/97759325。二进制包,已编译好的可直接使用的程序,解压缩后,点击bin目录下的.sh或者.bat执行文件即可使用。如上标注:只能在unix下编译;windows系统则无法编译;源代码包,需要经过计算机编译才能执行安装。安装程序,执行exe文件即可以安装。

2023-06-22 00:15:00 84

翻译 ​.dockerignore 文件 怎么用?

在 docker CLI 将上下文发送到 docker 守护程序之前,它看起来 在上下文的根目录中命名的文件。如果此文件存在,CLI 将修改上下文以排除文件和 与其中的模式匹配的目录。例如,模式和两者都排除在 git 的子目录或根目录中命名的文件或目录 存储库位于。例如,将排除在所有目录中找到的所有以 结尾的文件,包括构建上下文的根目录。例外规则的放置会影响行为:最后一个 与特定文件匹配的行确定 是否包括或排除。如果文件中的一行以第 1 列开头,则此行为 被视为注释,在 CLI 解释之前被忽略。

2023-05-25 15:05:51 427

原创 linux 修改主机名称

命令会删除/etc/hostname文件中的主机名,然后替换为新的主机名,和第一种方法一样,两种方法本质是一样的。把旧的主机名删除,替换为新的主机名,保存文件就行了。不过,修改配置文件的方法,需要重启后生效,即reboot。hostnamectl set-hostname 主机名。只需重新打开session终端,就能生效,重新开启终端就可以看到新的主机名了。重启计算机后会回到旧的主机名。

2023-04-14 15:36:35 2384

转载 MQTT协议解析之QoS Level

比如在同一个子网内部的服务间的消息交互往往选用QoS0;QoS2使用的场景相对少一些,能想到的如国防武器,医疗设备等应用场景。MQTT发布消息QoS保证不是端到端的,是客户端与服务器之间的。订阅者收到MQTT消息的QoS级别,最终取决于发布消息的QoS和主题订阅的QoS。QoS级别越高,流程越复杂,系统资源消耗越大。QoS1是中间级别,保证消息至少送达一次。模式,发送者发送完数据之后,不关心消息是否已经投递到了接收者那边。既然QoS是发送者和接收者之间的质量协定,在MQTT协议的。...

2022-07-28 14:02:22 1551 1

原创 linux ifconfig 命令安装

安装ifconfig1、发现没有ifconfig命令 [root@PC3 ~]# ifconfig bash: ifconfig: command not found...2、查找安装包 [root@PC3 ~]# yum list | grep net-tool* net-tools.x86_64 2.0-0.17.20131004git.el7 rhel73、安装 yum install -y net-tools.x86

2022-06-13 00:00:00 1495 1

原创 fatal error: librdkafka/rdkafka.h: No such file or directory

go build编译go项目时,报错:../github.com/confluentinc/confluent-kafka-go/kafka/config.go:28:32: fatal error: librdkafka/rdkafka.h: No such file or directory#include <librdkafka/rdkafka.h>解决:只需安装librdkafkayum install -y librdkafka依然报上面的错误,然后:..

2022-05-10 19:30:42 2906 2

原创 VMware上的linux虚拟机磁盘空间满了,如何扩充磁盘空间?

1、查看哪个磁盘空间不够了df -h如下图:由于测试虚拟机磁盘空间都够用,咱拿/var目录所在磁盘/dev/mapper/centos-var做扩充实验,目前该磁盘空间3G,使用了49%,还剩1.6G可以用;咱扩充1G,扩充到4G;也就是“/dev/mapper/centos-var磁盘空间不够了”,咱加1G,扩充至4G;2、在VMware上添加新硬盘2.1、先 ls /dev/sd* 查看虚拟机上原有的sd系统硬盘:(注:sda表示sd系列的第一块硬盘)...

2022-04-22 15:04:49 17801 2

原创 linux环境安装docker

1、检查内核版本检查内核版本,返回的值大于3.10即可,如:3.10.0-1160.el7.x86_64uname -r2、确保yum是最新的更新yum: yum update3、卸载旧的docker卸载linux系统中的docker(如果系统已经安装docker,但版本不对,或者需要重新安装时)sudo yum remove docker4、安装所需资源包sudo yum install -y yum-utilsyum-config-manager --add-

2022-04-21 06:00:00 265

原创 Go语言 linux安装

​​​​​1、下载go安装包载go的linux安装包,比如:go1.15.6.linux-amd64.tar.gz2、解压解压至/usr/local下,命令:tar -zxvf go1.15.6.linux-amd64.tar.gz解压之后,查看版本:/usr/local/go/bin/go version3、创建go工作目录在/home目录下新建go目录,在go目录下分别新建3个子目录: src—里面每一个子目录,就是一个包,包内是Go的源码文件...

2022-04-20 18:17:19 4152

原创 Go语言获取当天、昨天、明天、某天0点时间戳以及格式化时间

获取当前时间 到 明天0点整的时间差的秒级时间戳的字符串形式func GetTimeDifference() string { nowTime := time.Now() // 当天秒级时间戳 nowTimeStamp := nowTime.Unix() nowTimeStr := nowTime.Format("2006-01-02") //使用Parse 默认获取为UTC时区 需要获取本地时区 所以使用ParseInLocation t2, _ := time.ParseInLoc

2022-04-15 11:45:09 12199

原创 Go 语言 switch 语句 获取interface变量的实际Type类型

1、可以被用于 type-switch 来判断某个 interface 变量中实际存储的变量类型。x.(type)相当于变量x的Type类型,即:reflect.TypeOf(x).Name()注意区别x的Kind类型;type BaseController struct {}func main() { var x interface{} x = BaseController{} switch i := x.(type) { case nil: fmt.Printf(" x

2022-04-06 19:08:56 2442

转载 Go语言中的继承与组合

package main// 父结构体type BaseController struct {}// 父结构体的方法func (c *BaseController) ReturnJson() {}// 继承type UserController struct { BaseController}// 组合type OtherController struct { userController UserController}func main() { // 调用 user.

2022-04-06 13:44:23 267

原创 Go uint64 转换 byte,大端字节序列化

b := make([]byte, 8) binary.BigEndian.PutUint64(b, uint64(265)) fmt.Println(b) // [0 0 0 0 0 0 1 9] i := int64(binary.BigEndian.Uint64(b)) fmt.Println(i) // 265 a := make([]byte, 8) binary.LittleEndian.PutUint64(a, uint64(265)) fmt.Println(a)..

2022-04-02 10:58:17 2495

原创 常见办公文件转换,在线免费(收藏)

PDF转WORD_PDF在线转换 - 转易侠PDF在线转换

2022-02-25 18:34:44 150

原创 linux ifconfig命令不能使用

linux ifconfig命令不能使用https://www.cnblogs.com/chenxi-hxl/p/12360320.html问题:想查询本机IP地址,使用ifconfig命令时不能正常操作问题排查:  1,ping百度是否可以正常ping通ping www.baidu.com  2,是否能够获取IP地址,确定网卡是否启用ip addr  3,查看文件/etc/sysconfig/network-scripts/ifcfg-ens33中NOBOOT=yes问题排

2022-01-27 15:56:17 2568

转载 Go 指针声明后赋值,出现 panic: runtime error: invalid memory address or nil pointer dereference

Go 指针声明后赋值,出现 panic: runtime error: invalid memory address or nil pointer dereference这种是内存地址错误。首先我们要了解指针,指针地址在 Go 中 * 代表取指针地址中存的值,& 代表取一个值的地址对于指针,我们一定要明白指针储存的是一个值的地址,但本身这个指针也需要地址来储存错误示例 123456789101112 package main

2021-12-28 20:53:19 513

原创 Go语言 时间相关的转化:纳秒转 毫秒 转 英文时间格式 中文格式化

func TestTime(t *testing.T) { nowTime := time.Now() fmt.Println(nowTime) //单位:time.Time, 打印当前时间: 2021-12-17 16:00:41.5627986 +0800 CST m=+0.009973601 timeStr := nowTime.Format("2006-01-02 15:04:05") //当前时间的字符串,2006-01-02 15:04:05据说是golang的诞生时间,固定写法 f.

2021-12-17 16:21:03 1147

原创 Go连接redis代码记录

// Get Redis String Valuefunc GetRedisString(key string) (string, error) { redis_conn := rediswrapper.GetRedisPool().Get() if redis_conn.Err() != nil { logs.ERRORLOG("GetRedisPool Failed:%s", redis_conn.Err().Error()) return "", p.

2021-12-03 15:53:27 338

原创 Golang:实现断点续传(http单线程下载文件)

package breakpointContinuationimport ( "fmt" "io" "io/ioutil" "net/http" "os" "strconv" "strings" "testing")const ( // 断点续传下载正常响应码 NormalRespCode = "206 Partial Content" // 断点续传下载,偏移量值超文件最大值长度错误响应码 ErrRespCode = "416 Requested Range Not S.

2021-11-19 11:16:37 2911

原创 Go代码笔记,各字节单位

func main() { TBytes := 1 << 10 << 10 << 10 << 10 GBytes := 1 << 10 << 10 << 10 MBytes := 1 << 10 << 10 KBytes := 1 << 10 fmt.Println(TBytes) // 1099511627776 fmt.Println(GBytes) // 107374.

2021-10-19 14:11:56 159

原创 windows远程ssh连接linux服务器,sftp创建、读、写、删除linux路径、文件

import ( "github.com/pkg/sftp" "golang.org/x/crypto/ssh")func main() { sftpClient, err := SftpConnect("root", "mima", "192.168.xx.xx", 22) if err != nil { log.Info("creat sftpClient fail!") return } remoteFilePath := "/root/mqtt_benchmark.

2021-10-13 18:22:47 657

原创 Go 结构体(struct)实现接口(interface)以及赋值、强转

type Hobby interface { Sing()}type Chinese struct { Name string}func (c *Chinese) Sing() { fmt.Printf("%s am singing <<北京欢迎你!>> \n", c.Name)}type American struct { Name string Age int}func (a American) Sing() { fmt.Printf("%.

2021-09-08 10:44:13 5534

原创 Go Linux x86_64 安装

本次安装Go1.15.6 版本包下载地址:https://gomirrors.org/下载好 go1.15.6.linux-amd64.tar.gz解压到/usr/local/go配置环境变量:# 打开vim /etc/profile# 添加export GOROOT=/usr/local/goexport GOPATH=/root/skyableexport PATH=$PATH:$GOROOT/bin:$GOPATH/bin# 编译source /e.

2021-08-27 16:18:39 530 3

转载 Golang是如何读取文件

据需求选择:如果需要一次性读取,用ioutil.ReadFile和ioutil.ReadAll方便;如果需要分块或分行,用bufio的Read、ReadString或者ReadLine更加方便;如果是大文件读写的话,用bufio。https://www.jb51.net/article/187533.htmhttps://www.cnblogs.com/wangqianlove/p/12579994.htmlhttps://www.jianshu.com/p/62ae46556206一、一次

2021-08-01 01:06:03 315

转载 Golang简单写文件操作的四种方法

package mainimport ( "bufio" //缓存IO "fmt" "io" "io/ioutil" //io 工具包 "os")func check(e error) { if e != nil { panic(e) }}/** * 判断文件是否存在 存在返回 true 不存在返回false */func checkFileIsExist(filename string) bool { var exist = true if _, err :.

2021-07-31 20:22:52 3505

原创 Golang:实现断点续传(复制文件)

1、将文件pic_src.jpg复制到pic_des.jpg文件;2、读写过程中断时,读写的中断位置会记录在“pic_des.jpgtemp.txt”文件里;3、下次再启动程序时,程序会接着“pic_des.jpgtemp.txt”文件里记录的中断位置,继续读、写文件,直到完成传输;具体代码实现,如下:package mainimport ( "fmt" "os" "strconv" "io" "log" //"time")func main() { /* 断点续

2021-07-31 20:07:53 774

原创 Go语言用法搜集

1、 strings.Join:将字符串数组中的所有元素拼接起来;比遍历字符串数组用“+”号拼接字符串的话,实现简单,且执行效率高多了少量拼接字符串时候用+便可,当数量大于3,或者字符串来自切片的时候,用strings.Join更好。func main() { list := []string{"ab", "cd","e"} test2 := strings.Join(list, "+") fmt.Println(test2) // ab+cd+e}...

2021-07-29 23:00:55 65

原创 chan应用:

go实现主线程等待子线程都运行完再退出方式1:package mainimport ( "fmt")func main() { ch := make(chan struct{}) count := 2 // count 表示活动的协程个数 go func() { fmt.Println("Goroutine 1") ch <- struct{}{} // 协程结束,发出信号 }() go func() { fmt.Println("Goroutine 2")

2021-07-29 22:51:39 122

转载 Golang Socket原理

网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。建立网络通信连接至少要一对端口号(socket)。socket本质是编程接口(API),对TCP/IP的封装;TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口;HTTP是轿车,提供了封装或者显示数据的具体形式;Socket是发动机,提供了网络通信的能力。用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。每种服务都打开一个Socket,并绑

2021-07-27 20:57:23 903

原创 Git命令

git merge A:将A分支merge到当前分支;1、如果A分支包含了当前分支的所有历史记录,那么可以快速合并成功。2、如果A分支没有包含当前分支的所有历史记录,那就就有可能产生冲突,merger失败:解决:(1):get diff 冲突文件,找到冲突的地方,编辑冲突文件,删除冲突标志,解决和同事商量冲突代码。git commit直接提交(注意:git commit 后面不要带文件),就可以解决merge冲突,完成merge合并。...

2021-07-27 19:03:46 59

转载 Go语言reflect.TypeOf()和reflect.Type(通过反射获取类型信息)

reflect.TypeOf 函数的唯一参数的类型为 interface{},reflect.TypeOf 函数将总是返回一个表示着此唯一接口参数值的动态类型的 reflect.Type 值。使用 reflect.TypeOf() 函数可以获得任意值的类型对象(reflect.Type),程序通过类型对象可以访问任意值的类型信息。func main() { //var a int //a = 88 a := make(map[string]string) typeOfA := reflec

2021-07-27 18:04:15 1653

转载 Mysql基础(1)

1、正常查询:SELECTcolumn_name,column_nameFROMtable_name;SELECT * FROMtable_name;2、去重查询:SELECT DISTINCTcolumn_nameFROMtable_name;selectdistinctID,AA,BBfromtName与selectdistinctIDfromtName有什么区别??有区别,前面的会选择唯一的一行。后面的选择唯一列。前一种只要三个字段都不重复...

2021-07-27 02:11:04 1076

原创 Go下载第三方包、git下载包:常见问题汇总

1、go get google.golang.org/grpc 提示网络不通,如下图:解决方法:https://blog.csdn.net/weixin_46124208/article/details/1061236212、git操作时,提示“OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443”错误,如下图:解决方法:参考https://blog.csdn.net/weixin_42125310/ar

2021-07-22 23:45:26 1967

转载 RPC、GRPC与Http

常见的远程调用方式有以下几种:1、RPC:Remote Produce Call远程过程调用,自定义数据格式,基于原生TCP通信,速度快,效率高。早期的webservice,现在热门的dubbo,都是RPC的典型。类似的还有RMI(Remote Methods Invoke 远程方法调用,是JAVA中的概念,是JAVA十三大技术之一)2、Http:http其实是一种网络传输协议,基于TCP,规定了数据传输的格式。现在客户端浏览器与服务端通信基本都是采用Http协议。也可以用来进行远程服务

2021-07-22 22:25:56 3361

转载 数据结构-树

树是一种一对多的数据结构。树又有很多子集,比如:二叉树、二叉搜索树、2-3树、红黑树等等。树的特征:1.没有父结点的结点叫根(根结点),一个数有且只有一个根;2.每个结点有0个或多个子结点;3.一颗树里也可拥有子树,且子树不能相交;度: 每个结点拥有的子树数量称为该结点的度(直接子节点,不能间接),简单的说结点的子节点个数就是它的度。二叉树先序遍历二叉树先序遍历的实现思想是:访问根节点; 访问当前节点的左子树; 若当前节点无左子树,则访问当前节点的右子树;前序遍历,

2021-07-22 01:14:34 209

空空如也

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

TA关注的人

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