representing zones time go

个人随笔 —— 基于 go 语言实现的轻量化 workflow 分布式引擎插件

# 背景 组内有很多项目都涉及复杂的任务流场景: * 集群创建、删除等生命周期管理 * k8s 资源申请销毁 * .... 这些场景都有几个共同的特点: 1. 流程耗时且步骤复杂,需要几十步操作,其中包含云资源申请、脚本执行、接口调用等,且相互存在依赖关系。 2. 任务量随着业务增长而快速迭代,比如 ......
分布式 插件 workflow 随笔 语言

GO语言配置管理神器-Viper中文教程

[Viper](https://github.com/spf13/viper)是适用于Go应用程序的完整配置解决方案。它被设计用于在应用程序中工作,并且可以处理所有类型的配置需求和格式。 # Viper [Viper](https://github.com/spf13/viper)是适用于Go应用程 ......
神器 语言 教程 Viper

go语言包管理

包 包由多个文件和目录组成 使用 package <包名> 来定义包名 包名一般都采用小写,符合标识符要求 当前目录名和 package <包名> 中的包名不需要一致,但最好保持一致 同级文件归属一个包,就是说每个包目录的当前目录中,只能统一使用同一个package的包名,否则编译出错 一般来说,开 ......
语言

go 结构体嵌套interface

package main import "fmt" //结构体嵌套接口,可以在结构体绑定的方法直接实现接口中的方法,直接调用接口中的方法 type aa interface{ a() b() } type world struct{ aa Age int } func(h world)a(){ fm ......
interface 结构 go

大白话讲讲 Go 语言的 sync.Map(二)

上一篇文章 [《大白话讲讲 Go 语言的 sync.Map(一)》](https://imlht.com/archives/234/) 讲到 entry 数据结构,原因是 Go 语言标准库的 map 不是线程安全的,通过加一层抽象回避这个问题。 当一个 key 被删除的时候,比如李四销户了,以前要撕 ......
大白话 大白 语言 sync Map

代码随想录 go语言

**Go的内存对齐:** 64位系统一般指的是寻址的大小,用2^64个地址,每个地址上面都有一个字大小的内存,一个字可以是1字节,2字节,4字节等等。CPU 始终以字长访问内存,如果一个变量存储在两个字中,那么CPU就需要寻址两次。所以内存对齐就是让变量尽量不要跨字存储。 ......
随想录 随想 语言 代码

go-2

1.对Go的理解 它是一种编译型,并发型,拥有GC的编程。它不是面向对象语言,不具备封装,继承和多态,但是可以实现,通过interfance{}接口来实现多态性。 没有做异常处理,不能像java一样try...catch...,但是可以通过panic,defer和recover来处理。 其他语言的函 ......
go

go通过docker sdk来对容器资源做限制

# 创建容器时 ```go package main import ( "context" "fmt" "os" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/container" "github.c ......
容器 docker 资源 sdk

go语言操作docker终止容器

代码部分 ```go package main import ( "context" "fmt" "os" "github.com/docker/docker/api/types/container" "github.com/docker/docker/client" ) func main() { ......
容器 语言 docker

go通过docker sdk将容器中的文件或者文件夹复制到本地

第一步:需要创建docker客户端 第二步:将文件复制出来,但是复制出来的文件无论文件还是文件夹都会是tar存档的形式 第三步:解包 ```go package main import ( "archive/tar" "context" "fmt" "io" "os" "path/filepath" ......
文件 容器 文件夹 docker sdk

time

time 统计给定命令所花费的总时间 ## 补充说明 `time` 命令是用来确定一个给定的命令需要运行多长时间。它对于测试你的脚本和命令的性能很有用。 例如,如果你有两个不同的脚本在做同样的工作,你想知道哪一个表现得更好,你可以用 Linux 的时间命令来确定每个脚本的执行时间。 该指令是 she ......
time

times

times 显示进程累计时间。 ## 主要用途 - 打印出shell及其子进程累计使用的用户时间和系统时间。 ## 返回值 总是返回成功。 ## 例子 ```shell # 执行命令 times # 返回结果 0m0.037s 0m0.009s 0m0.010s 0m0.024s # 根据times ......
times

go通过docker sdk访问复制文件到容器中

第一步:需要先判断容器中的文件夹是否存在 第二步:将需要拷贝的文件打包成tar存档 第三步:读取打包的tar存档,然后拷贝到容器中 ```go package main import ( "archive/tar" "context" "fmt" "io" "os" "path/filepath" ......
容器 文件 docker sdk

[LeetCode] 2323. Find Minimum Time to Finish All Jobs II

You are given two 0-indexed integer arrays jobs and workers of equal length, where jobs[i] is the amount of time needed to complete the ith job, and w ......
LeetCode Minimum Finish 2323 Find

cpp generate uuid via rand() and test speed which is 4 times+ faster than libuuid

// main.cpp #include <algorithm> #include <chrono> #include <cstdio> #include <cstdlib> #include <cstdint> #include <ctime> #include <fstream> #includ ......
generate libuuid faster speed times

go通过docker sdk操作镜像

# 获取所有镜像 ```go package main import ( "context" "fmt" "github.com/docker/docker/api/types" "github.com/docker/docker/client" ) func main() { // 设置远程Doc ......
镜像 docker sdk

Python的time和datetime模块详解

# 基础内容 [toc] ## 总览 > 全文阅读预计需要 25~30 分钟 本文将会带你彻底掌握 Python 中时间的用法,从字符串到时间戳到各种好用的内置数据类型,从 time 模块一路讲到 datetime,带你一起讲穿整个时间模块,让您也能成为时间操控大师 在 python 中时间的转换大 ......
模块 datetime Python time

GO 指针数据类型的使用

转载请注明出处: 在Go语言中,指针类型允许直接访问和修改某个变量的内存地址。通过使用指针,我们可以在函数之间共享数据或者在函数内部修改外部变量的值。 以下是关于Go语言指针类型的一些重要语法和示例: 定义指针变量: 使用*表示指针类型,并将其放置在变量类型前面。例如:var ptr *int声明了 ......
指针 类型 数据 GO

大白话讲讲 Go 语言的 sync.Map(一)

阅读本文大约需要 4.25 分钟。 程序是枯燥乏味的。 在讲 sync.Map 之前,我们先说说什么是 map(映射)。 我们每个人都有身份证号码,如果我需要从身份证号码查到对应的姓名,用 map 存储是非常合适的。 map[000...001] = 张三 map[000...002] = 李四 . ......
大白话 大白 语言 sync Map

debug go fuzz test

List all package go list ./... Run testcase dlv test --build-flags='api/tests/fuzz' -- -test.run ^FuzzGetNodes$ dlv test api/tests/fuzz -- -test.run F ......
debug fuzz test go

go基于docker sdk用dockerfile构建镜像

测试了好久,发现,单独读取dockerfile文件,然后上传,是无法构建成功的 构建的时候总会报无法找到dockerfile文件 `Error response from daemon: Cannot locate specified Dockerfile: Dockerfile` 查资料发现需要将 ......
dockerfile 镜像 docker sdk

go语言操作docker删除所有停止的容器

逻辑是通过过滤器,过滤掉,状态为exited的容器,然后再遍历删除 代码部分 ```go package main import ( "context" "fmt" "os" "github.com/docker/docker/api/types" "github.com/docker/docker ......
容器 语言 docker

go通过docker sdk进入容器执行命令

代码部分 ```go package main import ( "context" "fmt" "io" "os" "github.com/docker/docker/api/types" "github.com/docker/docker/client" ) func main() { // 设 ......
容器 命令 docker sdk

go语言操作docker重启容器

代码部分 ```go package main import ( "context" "fmt" "os" "github.com/docker/docker/api/types/container" "github.com/docker/docker/client" ) func main() { ......
容器 语言 docker

go语言操作docker删除容器

代码部分 ```go package main import ( "context" "fmt" "os" "github.com/docker/docker/api/types" "github.com/docker/docker/client" ) func main() { // 设置远程Do ......
容器 语言 docker

关于go语言常量的那些事

相对于变量,常量是恒定不变的值,多用于定义程序运行期间不会改变的那些值。 常量的声明和变量声明非常类似,只是把var换成了const,常量在定义的时候必须赋值。 const 常量名[数据类型] = value 项目实战常见场景 数据类型可以忽略不写,Golang 编译器会⾃动推断出数据类型。 在使⽤ ......
常量 语言

go语言操作docker创建容器

开启远程api的方式 https://www.cnblogs.com/guangdelw/p/17562539.html 代码部分 ```go package main import ( "context" "fmt" "os" "github.com/docker/docker/api/types ......
容器 语言 docker

go 单链表的增加,删除,翻转

package main import "fmt" //单链的数据结构 type Node struct { value int next *Node } type List struct { head *Node } //添加成有序的链表 //1.如果是空链表则插入链表第一个元素 //2.升序插入 ......
go

我是如何组织 Go 代码的(目录结构 依赖注入 wire)

## 背景 对于大多数 Gopher 来说,编写 Go 程序会直接在目录建立 main.go,xxx.go,yyy.go…… 不是说不好,对于小型工程来说,简单反而简洁明了,我也提倡小工程没必要整一些花里胡哨的东西。 毕竟 Go 语言作为现代微服务的开发新宠,各个方面都比较自由,没有很多约束。我想, ......
结构 代码 目录 wire Go

java.time包

|包名称|说明| |: :|: :| |java.time|The main API for dates, times, instants, and durations.| |java.time.chrono|Generic API for calendar systems other than t ......
java time