链路jaeger client go
go后台管理系统
先说一下运行环境。 go version:go version go1.19.5 framework:gin 1.9 mysql版本:5.7 redis版本:redis 6.0.6 里面的代码由于是初学go写的,会有瑕疵,还有很多优化空间。仅供参考。 代码在github上面也有,地址是:https: ......
vSphere Web Client 添加主机进VSAN集群时报错“SAN 主机移至目标群集: vSAN 群集的 UUID 不匹配”
案例描述 vSphere Web Client 添加主机进VSAN集群时,报“无法将 vSAN 主机移至目标群集: vSAN 群集的 UUID 不匹配 (主机: 5223a6c9-cf94-f978-1abb-9906506626be,目标: 523ae663-623b-e2fc-39e3-43b1 ......
(微服务)服务治理:熔断器介绍以及hystrix-go的使用
一、什么是熔断器 要理解熔断器,可以先看看电路中使用的保险丝。 保险丝(fuse)也被称为电流保险丝,IEC127 标准将它定义为“熔断体(fuse-link)”。保险丝是一种保证电路安全运行的电子元器件,作用就是在电流异常升高到一定的高度和热度的时候,自身熔断切断电流,这样可以保护电路安全运行。 ......
【go语言】错误处理
1. sentinel error 预定义的特定错误,我们叫为 sentinel error,这个名字来源于计算机编程中使用一个特定值来表示不可能进行进一步处理的做法。所以对于 Go,我们使用特定的值来表示错误。if err == ErrSomething { … }类似的 io.EOF,更底层的 ......
go struct结构体之间的转换
原文链接:https://www.zhoubotong.site/post/94.html 说下背景吧,大家在开发中可能在不同的目录(package)下定义了相同的struct(属性参数完全一样如名字、个数和类型),在方法调用传参数的时候,可能是用到了其中某一个struct的引用。 那么这里就牵扯到 ......
【迭代器设计模式详解】C/Java/JS/Go/Python/TS不同语言实现
简介 迭代器模式(Iterator Pattern),是一种结构型设计模式。给数据对象构建一套按顺序访问集合对象元素的方式,而不需要知道数据对象的底层表示。 迭代器模式是与集合共存的,我们只要实现一个集合,就需要同时提供这个集合的迭代器,就像Java中的Collection,List、Set、Map ......
go-JWT
JWT Cookie-Session认证模式 在Web应用发展的初期,大部分采用的是基于Cookie-Session的会话管理模式 客户端使用用户名、密码进行认证 服务端验证用户名、密码正确后生成并存储在Session中,将SessionID用过Cookie返回给客户端 客户端访问需要认证的接口时在 ......
Go基础语法(一)
GO(一) go mod init test go mod tidy 快速生成代码片段 pkgm main包+main主函数 ff fmt.Printf("",var) for for i:=0;i<count;i++{} fmain func main(){} a.print! fmt.Print ......
Go基础语法(三)
GO(三) Go语言切片(Slice) slice 并不是数组或数组指针。它通过内部指针和相关属性引用数组片段,以实现变长方案。 Go 语言切片是对数组的抽象。 Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go 中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片 ......
Go语言多线程
Go语言多线程 (转) 大多数语言使用线程+并发同步访问控制作为并发模型,而 Go 的并发模型由 goroutine 和 channel 组成。线程类似于 goroutine,而并发同步访问控制则类似于 mutex。 Go 并发的理念是:简单,尽量使用 channel,尽情使用 goroutine。 ......
高德Go生态的服务稳定性建设|性能优化的实战总结
目前go语言不仅在阿里集团内部,在整个互联网行业内也越来越流行,本文把高德过去go服务开发中的性能调优经验进行总结和沉淀,希望能为正在使用go语言的同学在性能优化方面带来一些参考价值。 ......
go embed (2)
Go 1.16新特性:embed包及其使用详解 embed是什么 embed是在Go 1.16中新加包。它通过//go:embed指令,可以在编译阶段将静态资源文件打包进编译好的程序中,并提供访问这些文件的能力。 为什么需要embed包 部署过程更简单。传统部署要么需要将静态资源与已编译程序打包在一 ......
go embed
go在1.16之后引入了一个新包 embed,它使我们访问工程内的代码变的相对容易 概览 它支持讲内部文件转换为 string, []byte和一个embed像是的fs结构。 用法如下 import _ "embed" //go:embed hello.txt var s string print( ......
Go 语言环境安装
转载自:https://www.runoob.com/go/go-environment.html Go 语言支持以下系统: Linux FreeBSD Mac OS X(也称为 Darwin) Windows 安装包下载地址为:https://golang.org/dl/。 如果打不开可以使用这个 ......
Go 每日一库之 fsnotify
上一篇文章Go 每日一库之 viper中,我们介绍了 viper 可以监听文件修改进而自动重新加载。其内部使用的就是fsnotify这个库,它是跨平台的。今天我们就来介绍一下它。 快速使用 先安装: $ go get github.com/fsnotify/fsnotify 后使用: package ......
go test main包报错
前言 先提出问题, 再说明原因. 有如下一段代码: 当执行go test测试时, 会报如下错误: main.test /var/folders/55/47pl3jxx6rg7m0r6xvn4f7wr0000gn/T/go-build2769402238/b001/_testmain.go:13:8: ......
【计算机网络-数据链路层】广域网(WAN)
1 广域网的概念 广域网(Wide Area Network,WAN),又称外网、公网。是连接不同地区局域网或城域网计算机通信的远程网。通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个地区、城市和国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络。广域网的通信子网主要使 ......
Go笔记(七):Map
map是一种key:value键值对的数据结构容器,通过key检索value,是引用类型。map内部实现是哈希表。 1、Map的声明 1.1、显示声明 1、语法 /* 声明变量,默认 map 是 nil */ var map_variable map[key_data_type]value_data ......
Go For Web:Golang http 包详解(源码剖析)
前言: 本文作为解决如何通过 Golang 来编写 Web 应用这个问题的前瞻,对 Golang 中的 Web 基础部分进行一个简单的介绍。目前 Go 拥有成熟的 Http 处理包,所以我们去编写一个做任何事情的动态 Web 程序应该是很轻松的,接下来我们就去学习了解一些关于 Web 的相关基础,了 ......
OpenSSL s_client测试子命令
载第三方的最新的PEM(privacy-enhanced mail)格式的可信证书库 wget --no-check-certificate https://curl.haxx.se/ca/cacert.pem openssl s_client -CAfile cacert.pem -connect ......
使用cups + ipp 协议client 进行网络打印处理
实际上日常中我们已经使用了网络打印了(比如公司内部使用的共享打印机),现在大家会有使用基于部分厂商开发的的网络打印进行资料打印从技术实现上基本都是基于网络打印技术,然后通过控制程序对于打印机进行操作,然后平台会按照不同的打印模式收取不同的费用,用户可以自己去固定网点去取资料 参考图 简单说明:以上是 ......
用 Go 剑指 Offer 56 - I. 数组中数字出现的次数
一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。 示例 1: 输入:nums = [4,1,4,6] 输出:[1,6] 或 [6,1] 示例 2: 输入:nums = [1,2,10,4,1,4,3, ......
用 Go 剑指 Offer 31. 栈的压入、弹出序列 (辅助栈)
输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列,但 {4,3,5,1,2} 就不可能是该压栈序列的弹出序列。 示例 1 ......
linux中systemctl管理go服务 (gin)git部署
go安装 下载 https://golang.google.cn/dl/ 解压至指定目录,一般到/usr/local sudo tar -C /usr/local -xzf go**.linux-amd64.tar.gz 设置环境变量 # 修改~/.bashrc 文件 $ sudo gedit ~/ ......
Go For Web:一篇文章带你用 Go 搭建一个最简单的 Web 服务、了解 Golang 运行 web 的原理
前言: 本文作为解决如何通过 Golang 来编写 Web 应用这个问题的前瞻,对 Golang 中的 Web 基础部分进行一个简单的介绍。目前 Go 拥有成熟的 Http 处理包,所以我们去编写一个做任何事情的动态 Web 程序应该是很轻松的,接下来我们就去学习了解一些关于 Web 的相关基础,了 ......
Go语言使用TensorFlow
Go编程语言可以与TensorFlow一起使用。TensorFlow是由Google开发的流行的开源机器学习框架,提供了各种库和工具来构建和训练机器学习模型。TensorFlow支持多种编程语言,包括Python、C++、Java和Go。 要在Go中使用TensorFlow,可以使用TensorFl ......
【计算机网络-数据链路层】流量控制与可靠传输机制
自动重传请求(Automatic Repeat reQuest,ARQ)通过接收方请求发送方重传出错的数据帧来恢复出错的的帧。 1 停止-等待协议 为讨论问题方便,设发送方为 A,接收方为 B。 1.1 无差错情况 A 发送数据帧 DATA0,发完就暂停发送,启动超时计时器,等待 B 的确认。 B ......
Go笔记(六):切片
切片是对数组的拓展,在Go中数组的长度一旦定义无法被修改,切片的长度是不固定的,可以理解为切片是一个可变长度数组,是一个有相同类型元素的可变长度序列。 1、声明切片 1.1、显示声明切片 1、语法 声明切片语法如下: var sclicename []type 2、示例代码 1 package ma ......
Go For Web:踏入Web大门的第一步——Web 的工作方式
前言: 本文作为解决如何通过 Golang 来编写 Web 应用这个问题的前瞻,对 Golang 中的 Web 基础部分进行一个简单的介绍。目前 Go 拥有成熟的 Http 处理包,所以我们去编写一个做任何事情的动态 Web 程序应该是很轻松的,接下来我们就去学习了解一些关于 Web 的相关基础,了 ......