go

Go modules: checksum mismatch

匆匆过客 提交于 2021-02-18 10:13:32
问题 I recently started using modules in Go, but I frequently encounter issues where everything works fine on one machine, but a checksum mismatch is encountered when building the codebase on another machine. The issue always concerns the same third party dependency (github.com/ericlagergren/decimal): go: verifying github.com/ericlagergren/decimal@v0.0.0-20181231230500-73749d4874d5: checksum mismatch downloaded: h1:HQGCJNlqt1dUs/BhtEKmqWd6LWS+DWYVxi9+Jo4r0jE= go.sum: h1:x4oNpFLLl+8l

pkg.go.dev的2020展望

若如初见. 提交于 2021-02-18 05:28:28
在2019年,Go官方启动了名为 go.dev ( https://go.dev)的新域名,这是面向Go开发人员的新Hub。 作为该站点的一部分,还启动了 pkg.go.dev ,这是有关Go package和module的文档中心,旨在取代 godoc.org。在新的一年里,Go team将不断优化pkg.go.dev的体验,以提升开发者的开发效率。 一分钟速读 1. 将godoc.org请求重定向到pkg.go.dev ,并向社区开发者征求反馈意见 2. 回答了开发者比较关心的几个问题: 1. 在迁移过程中,如果 package没有显示在pkg.go.dev 上, 可以通过从proxy.golang.org获取对应版本的module来添加; 2. 开发者的package突然出现 不明的许可证限制 ,不要慌,后面会优化证书检测算法; 3. pkg.go.dev是否会开源?很多公司想搭建自己的代码文档中心,目前这个需求在征求意见可填官方的调查问卷: https://google.qualtrics.com/jfe/form/SV_6FHmaLveae6d8Bn 以下是正文部分 将godoc.org请求重定向到pkg.go.dev 为了减少在过渡的过程中对用户的打扰,我们计划在今年晚些时候将流量从godoc.org重定向到pkg.go.dev上。同时我们需要您的及时意见反馈

VS Code can't install the Go tools

风流意气都作罢 提交于 2021-02-18 03:17:46
问题 I try to start using Go in VSCode. I've installed Go as well as Git and created a project in Code, containing a single .go file. When I type something, VSCode warns me that tools like golint are missing and prompts me to install them. I click on "Install all". Then the console shows this : Installing 10 tools gocode gopkgs go-outline go-symbols guru gorename godef goreturns golint gotests Installing gocode SUCCEEDED Installing gopkgs SUCCEEDED Installing go-outline SUCCEEDED Installing go

Vue框架(四)——路由跳转、路由传参、cookies、axios、跨域问题、element-ui模块

为君一笑 提交于 2021-02-18 02:18:47
路由跳转 三种方式: $router.push / $router.go / router-link to this.$router.push( ' /course ' ); this.$router.push({name: course}); //这个name是router.js里面设置的name this.$router.go( -1 ); //页面后退 this.$router.go( 1 ); //前进 <router-link to= " /course " >课程页</router-link> <router-link :to= " {name: 'course'} " >课程页</router-link> 路由传参 第一种: router.js设置 routes: [ // ... { path: ' /course/:id/detail ' , // :id接收参数 name: ' course-detail ' , component: CourseDetail }, ] 跳转 .vue <template> <router-link :to= " ` /course/${course.id}/detail ` " >{{ course.name }}</router-link> </template> <script> // ... goDetail() {

Kubernetes集群调度器原理剖析及思考

巧了我就是萌 提交于 2021-02-18 00:59:00
简述 云环境或者计算仓库级别(将整个数据中心当做单个计算池)的集群管理系统通常会定义出工作负载的规范,并使用调度器将工作负载放置到集群恰当的位置。好的调度器可以让集群的工作处理更高效,同时提高资源利用率,节省能源开销。 通用调度器,如Kubernetes原生调度器Scheduler实现了根据特定的调度算法和策略将pod调度到指定的计算节点(Node)上。但实际上设计大规模共享集群的调度器并不是一件容易的事情。调度器不仅要了解集群资源的使用和分布情况,还要兼顾任务分配速度和执行效率。过度设计的调度器屏蔽了太多的技术实现,以至于无法按照预期完成调度任务,或导致异常情况的发生,不恰当的调度器的选择同样会降低工作效率,或导致调度任务无法完成。 本文主要从设计原理、代码实现两个层面介绍Kubernetes的调度器以及社区对其的补充加强,同时对业界常用调度器的设计实现进行比较分析。通过本文,读者可了解调度器的来龙去脉,从而为选择甚至设计实现适合实际场景的调度器打下基础。 注明:本文中代码基于v1.11版本Kubernetes进行分析,如有不当之处,欢迎指正! 一、调度器的基本知识 1.1 调度器的定义 通用调度[1]的定义是指基于某种方法将某项任务分配到特定资源以完成相关工作,其中任务可以是虚拟计算元素,如线程、进程或数据流,特定资源一般是指处理器、网络、磁盘等

Docker容器技术

半城伤御伤魂 提交于 2021-02-17 22:17:18
Docker是什么    Docker使用Google公司推出的Go语言进行开发实现,基于Linux内核的cgroup、namespace、以及AUFS类的UnionFS等技术,对进程进行封装隔离,属于操作系统层面   的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离进程,因此也称其为容器。   Docker在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等等,极大的简化了容器的创建和维护。使得Docker技术比虚拟机技术更为轻便、快捷。 Docker技术与虚拟机技术   1、传统虚拟机技术      传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程。   2、Docker技术      容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。   3、Docker优势 更高效的利用系统资源(占用内存一般为MB级别,单机上支持上千个容器) 更快速的启动时间(秒级启动) 一致的运行环境 持续交付和部署 更轻松的迁移 更轻松的维护和扩展  Docker基本概念   Docker包括三个基本概念:  镜像(Image)  容器(Container)  仓库(Repository) 来源: oschina 链接: https://my.oschina.net/u

Golang YAML reading with map of maps

旧城冷巷雨未停 提交于 2021-02-17 21:30:20
问题 Here is my YAML file. description: fruits are delicious fruits: apple: - red - sweet lemon: - yellow - sour I can read a flatter version of this with the gopkg.in/yaml.v1 package but I'm stuck trying to figure out how to read this YAML file when it's got what seems like a map of maps. package main import ( "fmt" "gopkg.in/yaml.v1" "io/ioutil" "path/filepath" ) type Config struct { Description string Fruits []Fruit } type Fruit struct { Name string Properties []string } func main() { filename,

go的sync.Map

五迷三道 提交于 2021-02-17 20:44:24
  sync.Map这个数据结构是线程安全的(基本类型Map结构体在并发读写时会panic严重错误),它填补了Map线程不安全的缺陷,不过最好只在需要的情况下使用。它一般用于并发模型中对同一类map结构体的读写,或其他适用于sync.Map的情况。 关于sync.Map的源码解析文章: Go 1.9 sync.Map揭秘 它主要五个方法及其功能简介: 1、Store 存 key,value 2、LoadOrStore 取&存-具体看代码 3、Load 取key对应的value 4、Range 遍历所有的key,value 5、Delete 删除key,及其value package main import ( " fmt " " sync " ) func main() { var m sync.Map // Store m.Store( 1 , " a " ) m.Store( 2 , " b " ) // LoadOrStore // 若key不存在,则存入key和value,返回false和输入的value v,ok := m.LoadOrStore( " 1 " , " aaa " ) fmt.Println(ok,v) // false aaa // 若key已存在,则返回true和key对应的value,不会修改原来的value v,ok = m.LoadOrStore

Printing output to a command window when golang application is compiled with -ldflags -H=windowsgui

╄→гoц情女王★ 提交于 2021-02-17 19:09:29
问题 I have an application that usually runs silent in the background, so I compile it with go build -ldflags -H=windowsgui <gofile> To check the version at the command line, I wanted to pass a -V flag to the command line to get the string holding the version to be printed to the command prompt then have the application exit. I added the flag package and code. When I test it with go run <gofile> -V ...it prints the version fine. When I compile the exe, it just exits, printing nothing. I suspect it

一文带你快速入门etcd(万字长文)

≯℡__Kan透↙ 提交于 2021-02-17 19:01:44
2018年12月 etcd 作为孵化项目 CNCF(云原生计算基金会),几天前 CNCF 宣布 etcd 正式毕业,成为 CNCF 顶级项目。CNCF 官方表示 etcd 项目的采用率持续增加,也有稳定的治理流程,功能已达一定成熟度。 etcd 已经被许多公司用于实际生产,其中包括亚马逊、百度、思科、EMC、谷歌、阿里、华为、IBM、Red Hat、Uber、Verizon 等;而且其身影也出现在包括 Kubernetes、CoreDNS、M3、Rook 以及 TiKV 等项目当中。 前面的系列 etcd 文章已经部分介绍了 etcd。本文将会做一个快速入门的介绍,带领大家十分钟快速入门云原生存储组件 etcd,主要内容如下(本文较长,建议收藏): etcd 简介,以及其应用场景 etcd 的多种安装模式及高可用运维 etcd v3 的架构解析 etcdctl 的实践应用 1 etcd 介绍 2013 年 6 月,CoreOS 发起了 etcd 项目。etcd 使用 Go 语言实现,是分布式系统中重要的基础组件,目前最新版本为 V3.4.9。etcd 可以用来构建高可用的分布式键值数据库,根据官网介绍,总结来说有如下的特点: 简单:etcd 的安装简单,且为用户提供了 HTTP API,用户使用起来也很简单 存储:etcd 的基本功能,数据分层存储在文件目录中