goioc 介绍 goioc 是一个基于 GO 语言编写的依赖注入框架,基于反射进行编写。 支持泛型; 简单易用的 API; 简易版本的对象生命周期管理,作用域内对象具有生命; 延迟加载,在需要的时候才会实例化对象; 支持结构体字段注入,多层注入; 对象实例化线程安全,作用域内只会被执行一次。 [......] 继续阅读

2022年11月27日 0条评论 1108点热度 0人点赞 痴者工良 阅读全文

建立链路 SDK 官方仓库地址: https://github.com/open-telemetry/opentelemetry-go 设计一个这样的执行流程: Run 先后执行 Run1、Run2: a.Run1(newCtx) a.Run2(newCtx) Run1 中,还执行[......] 继续阅读

2022年11月20日 0条评论 2574点热度 1人点赞 痴者工良 阅读全文

使用示例: package main import ( "fmt" "os" "os/signal" ) func main() { // Set up channel on which to send signal notifications. // W[......]继续阅读

2022年11月20日 0条评论 3518点热度 1人点赞 痴者工良 阅读全文

使用 Go 中常用的 log 方法: Print/Printf/Println : 打印日志信息 Panic/Panicf/Panicln : 打印日志信息后,以拼装好的字符串为参数调用 Panic Fatal/Fatalf/Fatalln : 打印日志信息后,os.Exit(1) 退出程序 New[......] 继续阅读

2022年11月20日 0条评论 1513点热度 0人点赞 痴者工良 阅读全文

package main import ( "context" "fmt" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" "k8s.io/client-go/t[......]继续阅读

2022年11月13日 0条评论 974点热度 0人点赞 痴者工良 阅读全文

[TOC] 背景 其实,规划这篇文章有一段时间了,但是比较懒,所以一直拖着没写。 最近时总更新太快了,太卷了,所以借着 .NET 7 正式版发布,熬夜写完这篇文章,希望能够追上时总的一点距离。 本文主要介绍如何在 .NET 和 Go 语言中如何生成系统(Windows)动态链接库,又如何从代码中引用[......] 继续阅读

2022年11月10日 0条评论 1226点热度 1人点赞 痴者工良 阅读全文

基础 Go Web 的表单类型有三种: r.Form r.PostForm r.MultipartForm PostForm 支持 form-data 和 x-www-form-urlencoded 两种请求体,但是不支持上传文件。 MultipartForm 只支持 for[......] 继续阅读

2022年5月29日 1条评论 2306点热度 1人点赞 痴者工良 阅读全文

scanme.nmap.org 是要扫描的域名或 IP 地址。 package main import ( "fmt" "net" "sort" ) func main() { ports := make(chan int, 100) results :=[......]继续阅读

2021年11月17日 0条评论 1636点热度 0人点赞 痴者工良 阅读全文

reflect.Type.Elem() 可以返回元素的类型,例如指针类型,返回不带指针的类型。 reflect.Value.Elem() 是获取指向值的引用。 type name struct { } func (n name) Print(str string) { } func main([......]继续阅读

2021年11月16日 0条评论 1816点热度 0人点赞 痴者工良 阅读全文

以 Linux 为例,在 Go 中调用一个命令行程序,其代码示例如下: package main import ( "log" "os" "os/exec" ) func main() { cmd := exec.Command("top") cmd.S[......]继续阅读

2021年10月5日 0条评论 2279点热度 2人点赞 痴者工良 阅读全文

本篇介绍利用 kubernetes 的命令行工具,快速创建集群实例,完成 hello world 实践。 上一篇试用 minikube 去搭建集群,这一篇将介绍通过 kubeadm 去操作。 命令行工具 主要有三个工具,命令行工具使用 kube 前缀命名。 kubeadm:用来初始化集群的指令。 [......] 继续阅读

2021年4月20日 0条评论 3848点热度 1人点赞 痴者工良 阅读全文

Minikube 打开 https://github.com/kubernetes/minikube/releases/tag/v1.19.0 下载最新版本的二进制软件包(deb、rpm包),再使用 apt 或 yum 安装。 PS:买台香港的服务器吧,或者白嫖 Google 、Azure 的试用额[......] 继续阅读

2021年4月18日 0条评论 2703点热度 0人点赞 痴者工良 阅读全文

从何说起 Jaeger 部署 Jaeger 从示例了解 Jaeger Client Go 了解 trace、span tracer 配置 Sampler 配置 Reporter 配置 分布式系统与span 怎么调、怎么传 HTTP,跨进程追踪 客户端 Web 服务端 Tag 、 Log 和 R[......] 继续阅读

2021年3月30日 0条评论 2763点热度 0人点赞 痴者工良 阅读全文

Go GRPC 入门 Go GRPC 入门 1,安装包 2,gRPC 服务端 3,gRPC 客户端 4,编译运行 5,其它 GRPC Protobuf buffer 字段类型 字段规则 Protobuf gRPC 四种服务方法 编译 proto 1,安装包 grpc gola[......] 继续阅读

2021年3月28日 0条评论 2225点热度 0人点赞 痴者工良 阅读全文

在 Go 语言中,当我们需要引入一个包时,可以使用 import: import ( "io" ) 对于标准库,如 bufio、time、net 等,只需要一个名字即可引入,就像 C 语言的 #include 。 如果我们要引入自己编写的包或第三方源码,则会有些细节需要留[......] 继续阅读

2021年3月27日 0条评论 3876点热度 2人点赞 痴者工良 阅读全文