链路jaeger client go

go语言调度gmp原理(2)

go语言调度gmp原理(2) 创建goroutine 通过runtime.newproc函数调用,runtime.newproc的入参是参数大小和表示函数的指针funcval,它会获取goroutine以及调用方的程序计数器,然后调用runtime.newproc1函数获取新的goroutine、结 ......
原理 语言 gmp

go语言调度gmp原理(3)

go语言调度gmp原理(3) 调度循环 调度器启动之后,go语言运行时会调用runtime.mstart和runtime.mstart1,前者会初始化g0的stackguard0和stackguard1字段,后者会初始化线程并调用runtime.schedule进入调度循环 func schedul ......
原理 语言 gmp

【Go新手起步01】5步完成 vscode的go插件安装跟激活。

首先下载vscode,进行两个插件安装,如图所示 然后下载go语言,在官网https://go.dev/doc/install下载 cmd打开,输入go version验证下载是否成功。 在dos页面输入 go env -w GO111MODULE=on go env -w GOPROXY=http ......
激活 插件 新手 vscode

Go语言中的GC

Go的垃圾回收机制 垃圾回收(GC)是在后台运行一个守护线程,它的作用是在监控各个对象的状态,识别并且丢弃不再使用的对象来释放和重用资源。 简单的说,垃圾回收的核心就是标记出哪些内存还在使用中(即被引用到),哪些内存不再使用了(即未被引用),把未被引用的内存回收掉,以供后续内存分配时使用。 垃圾回收 ......
语言

c-for-go cgo 绑定自动生成工具

c-for-go 可以快速的生成cgo 绑定代码的工具,目前有不少golang 项目使用了此工具,比如cloudflare/ipvs 也使用了此工具 参考处理 参考使用 这个是libvpx 的一个项目 yaml 定义文件 GENERATOR: PackageName: vpx PackageDesc ......
自动生成 c-for-go 工具 for cgo

Linux网络编程:socket & fork实现clients/server通信

一、问题引入 Linux网络编程:socket实现client/server通信 随笔简单介绍了TCP Server服务单客户端的socket通信,但是并未涉及多客户端通信。 对于网络编程肯定涉及到多客户端通信和并发编程 (指在同时有大量的客户链接到同一服务器),故本随笔补充这部分知识。 而且并发并 ......
网络编程 clients socket server Linux

chatgpt帮我创建一个由go+mysql+jwt+gorm搭建的restapi

好的,下面是一个简单的由go+mysql+jwt+gorm搭建的REST API示例: 首先,你需要创建一个新的Go模块。你可以使用如下命令来创建一个名为example的新模块: go mod init example 接下来,你需要安装需要的依赖库,使用以下命令进行安装: go get githu ......
chatgpt restapi mysql gorm jwt

下篇:使用jenkins发布go项目到k8s,接上篇的手工体验改造为自动化发布

写在开篇 关于上篇 本篇在 《上篇:带你手工体验从写代码、编译、打包镜像、部署到K8S的全过程》 的基础上,将手动的过程通过jenkins工具将其改造成自动化。 环境准备 我的环境说明: | 组件 | 安装方式 | 访问IP | 访问端口 | | | | | | | jenkins | docker ......
下篇 上篇 手工 jenkins 项目

创建一个由go+pgsql+jwt+gorm搭建的restapi

步骤如下:1. 创建数据库首先安装并启动Postgresql,然后使用pgAdmin或psql命令行创建一个数据库。例如,我们创建一个名为"testdb"的数据库:```CREATE DATABASE testdb;```2. 安装Go和相关库安装Go和相关的库,包括jwt-go和gorm:```g ......
restapi pgsql gorm jwt go

WM_大促之前的全链路压测监控篇(下)后面包含skywalking 细节 一般有用 看1

大促之前全链路压监控篇 1. skywalking服务监控 1.1 skywalking简介 Skywalking 是一个APM系统,即应用性能监控系统,为微服务架构和云原生架构系统设计 它通过探针自动收集所需的指标,并进行分布式追踪,通过这些调用链路以及指标,Skywalking APM会感知应用 ......
链路 skywalking 有用 细节 WM

go移动重名名文件夹

package utilsimport ( "os" "path/filepath" "reflect" "strings")//@author: [songzhibin97](https://github.com/songzhibin97)//@function: FileMove//@descr ......
文件夹 文件

go添加一个定时任务

package timerimport ( "sync" "github.com/robfig/cron/v3")type Timer interface { AddTaskByFunc(taskName string, spec string, task func(), option ...cro ......
任务

go语言中的“var”与“:=”的区别

首先两者都可以进行变量的声明,但是也有区别: := 只能在函数内部使用,也就是说只能用来声明局部变量, var 在函数内部或者外部都可以使用,因此通常使用var来声明全局变量 := 在声明指针变量时,会在分配内存空间,并赋值,var 声明指针变量时,不分配内存空间,零值为 nil。因此在声明之后,需 ......
语言 var

基于java和go-cqhttp实现QQ机器人

@TOC yh-qqrobot机器人简介 yh-qqrobot是一个基于若依框和go-cqhttp集成的系统,一开始我只是揣着好奇的心态接触了一下go-cqhttp,想玩下机器人,然后发现挺好玩的,就去找了一下java的实现代码,却发现基本都是python的,而且使用java实现的功能也不是特别完善 ......
机器人 go-cqhttp 机器 cqhttp java

链路追踪系统Skywalking接入说明

应用修改 引入依赖 目的是实现手动获取链路信息、链路信息日志记录等扩展功能。 <properties> <skywalking.version>8.14.0</skywalking.version> </properties> <dependencies> <!-- 省略其他依赖 --> <depe ......
链路 Skywalking 系统

Go源码阅读——github.com/medcl/esm —— file.go

esm(An Elasticsearch Migration Tool)—— file.go https://github.com/medcl/esm release: 8.7.1 通过阅读好的源代码,细致思考,理性分析并借鉴优秀实践经验,提高 zuoyang 的编程水平,所谓 "他山之石,可以攻玉 ......
源码 github medcl file com

python与go的对接

python与go的对接 在项目中遇到的问题,go写的程序需要被python调用,要将项目打包成.so文件 首先要确保go build能编译出可执行文件,再打包成.so文件,因为原理与go build是一样的 编译 用测试项目来记录解决过程 测试环境:windows64 源码目录结构: test | ......
python

想打印k8s资源YAML结果搞懂了Client-Side & Server-Side Apply

前言 由于查看k8s资源YAML时常看到沉长的YAML与手写的格式,相差甚远不利于阅读,经过探索官方文档,才理解什么是Client-Side & Server-Side Apply。 先看一下我用client-go在生成Deployment的YAML格式,核心代码如下: k8sDeployment, ......
Side Client-Side Server-Side 结果 Client

Go源码阅读——github.com/medcl/esm —— esapi.go

esm(An Elasticsearch Migration Tool)—— esapi.go https://github.com/medcl/esm release: 8.7.1 通过阅读好的源代码,细致思考,理性分析并借鉴优秀实践经验,提高 zuoyang 的编程水平,所谓 "他山之石,可以攻 ......
源码 github esapi medcl com

第三章数据链路层

1.数据链路层的概述 1.0地位 数据链路层在网络体系结构中所处的地位 链路(Link)就是从一个结点到相邻结点的一段物理线路,而中间没有任何其他的交换结点。 数据链路(Data Link)是指把实现通信协议的硬件和软件加到链路上,就构成了数据链路。 数据链路层以帧为单位传输和处理数据。 1.1数据 ......
链路 第三章 数据

websocket.go

package main import ( "encoding/json" "fmt" "net/http" "github.com/gorilla/websocket" ) var UP = websocket.Upgrader{ ReadBufferSize: 1024, WriteBuffer ......
websocket go

全景剖析阿里云容器网络数据链路(三)—— Terway ENIIP

来源 https://help.aliyun.com/practice_detail/602821 本系列联合作者 容器服务 @谢石 前言 近几年,企业基础设施云原生化的趋势越来越强烈,从最开始的IaaS化到现在的微服务化,客户的颗粒度精细化和可观测性的需求更加强烈。容器网络为了满足客户更高性能和更 ......
链路 容器 数据 Terway ENIIP

Go源码阅读——github.com/medcl/esm —— bulk.go

esm(An Elasticsearch Migration Tool)—— bulk.go https://github.com/medcl/esm release: 8.7.1 通过阅读好的源代码,细致思考,理性分析并借鉴优秀实践经验,提高 zuoyang 的编程水平,所谓 "他山之石,可以攻玉 ......
源码 github medcl bulk com

mac版本GoLand2023 永久激活码:用于开发 Go,MacBook程序员必备

GoLand 2023 for Mac 是一款功能强大的集成开发环境(IDE),特别为 Go 语言开发者设计。它提供了广泛的功能和工具,以帮助开发者更快、更高效地编写高质量的 Go 代码。 mac软件下载:https://mac.macsc.com/mac/4119.html?id=MzI1OTY2 ......
程序员 激活 MacBook 版本 程序

Go源码阅读——github.com/medcl/esm —— buffer.go

esm(An Elasticsearch Migration Tool)—— buffer.go https://github.com/medcl/esm release: 8.7.1 通过阅读好的源代码,细致思考,理性分析并借鉴优秀实践经验,提高 zuoyang 的编程水平,所谓 "他山之石,可以 ......
源码 github buffer medcl com

Go源码阅读——github.com/medcl/esm —— domain.go

esm(An Elasticsearch Migration Tool)—— domain.go https://github.com/medcl/esm release: 8.7.1 通过阅读好的源代码,细致思考,理性分析并借鉴优秀实践经验,提高 zuoyang 的编程水平,所谓 "他山之石,可以 ......
源码 github domain medcl com

Go函数基础

在Go语言中,函数是一种基本的代码组织方式。函数能够接受输入参数并返回结果。Go语言中的函数有以下特点: 函数定义使用关键字func,后跟函数名、参数列表和返回值类型。 如果函数有返回值,则在函数定义中必须指定返回值的类型。 如果函数有多个返回值,则它们用逗号分隔。 Go语言中的函数可以有任意数量的 ......
函数 基础

论文阅读 | Déjà Vu? Client-Side Fingerprinting and Version Detection of Web Application Software 似曾相识? Web应用软件的客户端指纹识别与版本检测

https://ieeexplore.ieee.org/abstract/document/9524885 Introduction 在这项工作中,我们提出了一种新颖的方法,该方法能够使用被动扫描技术为不同的 Web 应用程序自动构建指纹。除了资产文件的哈希值,我们还建议在指纹识别过程中使用 XPa ......

go面试 (一)

面试 http的三次握手四次挥手 HTTP的三次握手 三次握手(Three-way Handshake)其实就是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。进行三次握手的主要作用就是为了确认双方的接收能力和发送能力是否正常、指定自己的初始化序列号为后面的可靠性传送做准备。实质上其实就是 ......

Go语言的type func()用法

golang通过type定义函数类型 在 Go 语言中,type 可以定义任何自定义的类型 比如熟悉的:type dog struct{},type myInt int 等等 所以 func 也是可以作为类型自定义的,type myFunc func(int) int,意思是自定义了一个叫 myFu ......
语言 type func