Go语言中文网 为您找到相关结果 215

你的DevOps中有完善的持续交付体系么?

背景:DevOps已经成为软件开发领域一个炙手可热的名词。敏捷开发、持续交付、CI/CD,K8s…这些主流的开发理念、工具无一例外都与DevOps有着很强的联系。这种环境影响下,传统的运维团队均开始向DevOps进行转型。一时之间运维开发、SRE、工程效能工程师需求量大增,无论公司大小,都会开始着手DevOps的从0到1的建设。我们开始搭建工具链、部署流水线、集成自动化测试工具、开发自动化发布系统……一切的一切都是为了完善我们自动化体系,从而提高开发效率,优化产品质量。那么问题来了,你团队所建设的DevOps体系,已经是完善的DevOps了么?正文:我们如何去评估目前DevOps中持续交付的建设情况呢,这里笔者总结了一些我们在DevOps初期应该进行的一些工作,这些工作大多数属于工具链的集成...阅读全文

博文 2020-03-06 19:17:38 JFrogChina

安全组规则批量添加授权对象

摘要: 安全组规则如何批量开通常用端口?如何批量对网段授权?本篇将向您介绍ECS控制台中,针对日常维护安全组规则这个典型场景进行的优化改动。 背景 在日常维护安全组时,常见的场景有以下2种: 1.对某个端口范围批量授权多个网段,如:(如:22端口对10.0.0.1/32,10.0.0.2/32,10.0.0.3/32三个网段授权)。 2.对某个网段,批量开通多个端口,如:对10.x.x.xx/16 网段开通22、80、443等端口)。 ECS控制台针对这两个场景,分别提供了两个功能,【添加安全组规则】,解决场景1的问题;【快速创建规则】,解决场景2的问题。之所以没有将两个功能合并,是考虑到在一次操作中同时批量开通多个端口,并对多个网段进行授权,创建出的安全组规则会是一个m ...阅读全文

提升Python编程效率的几种方法

前言我们知道Python这门语言在运行速度上已经败给了许多别的语言(比如C, C++, Java, Golang....).但从一个开发者的角度来看Python是我最喜欢的语言,很大一部分原因在于其语法简单(其实是我比较懒),还有很多很sao的操作,可以大大提高我们的敲代码的效率.我们通常叫这种sao操作为pythonic.Python的sao操作很多,这里先介绍几种,以后慢慢更.1.交换两个变量传统写法: pythonic: 2.枚举enumerate设想一个场景,有一个列表["老胡", "老王", "老李", "老赵"],现在要求你创建一个字典,其中字典的每一项key为列表的元素,value为对应元素的下标,该怎么做?这并不是枚举的最佳使用场景,这里只是一个例子,告诉你们枚举其实很好用....阅读全文

博文 2019-07-04 17:34:26 我爱学python

带你学够浪:Go语言基础系列 - 8分钟学控制流语句

文章每周持续更新,原创不易,「三连」让更多人看到是对我最大的肯定。可以微信搜索公众号「 后端技术学堂 」第一时间阅读(一般比博客早更新一到两篇) 对于一般的语言使用者来说 ,20% 的语言特性就能够满足 80% 的使用需求,剩下在使用中掌握。基于这一理论,Go 基础系列的文章不会刻意追求面面俱到,但该有知识点都会覆盖,目的是带你快跑赶上 Golang 这趟新车。 Hurry up , Let's go ! 控制语句是程序的灵魂,有了它们程序才能完成各种逻辑,今天我们就来学习 Go 中的各种控制语句。 通过本文的学习你将掌握以下知识: if 条件语句 for 循环语句 switch 语句 defer 延迟调用 if 条件语句 与大多数编程语言一样,if 用于条件判断,当条件表达式 expr 为...阅读全文

博文 2020-06-03 00:32:44 柠檬橙1024

golang-101-hacks(20)——接口

接口是由若干方法组成的引用类型,包含了接口的所有方法的类型被认为自动实现了该接口类。通过接口,您可以更加体会到面向对象编程。如下所示: package main import "fmt" type Foo interface { foo() } type A struct { } func (a A) foo() { fmt.Println("A foo") } func (a A) bar() { fmt.Println("A bar") } func callFoo(f Foo) { f.foo() } func main() { var a A callFoo(a) } 运行结果如下 A foo 让我们具体分析一下代码 type Foo interface { foo() } 上面的接...阅读全文

博文 2019-06-21 23:32:44 羊羽shine

GoLang 学习笔记 - 循环语句

GoLang 中的循环语句只有 for 循环,没有像 C 语言中那样的 while 、do ...while 循环,但是可以改变写法实现 do ...while 循环。   GoLang 循环语句的语法: // 和 C 语言的 for 一样 for init; condition; post { // .... } init: 一般为赋值表达式,给控制变量赋初值; condition: 关系表达式或逻辑表达式,循环控制条件; post: 一般为赋值表达式,给控制变量增量或减量。 for 语句执行过程如下:   1. 执行 init 赋值表达式.   2. 检查控制变量是否满足 condition 的条件,若其值为 true ,则执行循环体内语句,然后执行 post,进入下一次循环,再检查 c...阅读全文

go项目结构怎样?学习go语言怎么样?

都说go语言比较火,都开始学习go语言编程,那么go语言项目结构是怎样的?我们在学go语言时应该注意什么呢? 在进行Go语言开发的时候,我们的代码总是会保存在$GOPATH/src目录下。在工程经过go build、go install或go get等指令后,会将下载的第三方包源代码文件放在$GOPATH/src目录下,产生的二进制可执行文件放在$GOPATH/bin目录下,生成的中间缓存文件会被保存在$GOPATH/pkg 下。 如果我们使用版本管理工具(Version Control System,VCS,常用如Git)来管理我们的项目代码时,我们只需要添加$GOPATH/src目录的源代码即可。bin 和pkg 目录的内容无需版本控制。 Go语言中也是通过包来组织代码文件,我们可以引用...阅读全文

博文 2019-11-12 17:31:42 zhouzhou2018

[译] Go 语言概览

文地址:A bird's eye view of Go 原文作者:Axel Wagner 译文出自:掘金翻译计划 本文永久链接:github.com/xitu/gold-m… 译者:JackEggie 校对者:40m41h42t, JalanJiang Go 语言概览 本文摘要:本文非常笼统地总结了 Go 语言的定义、生态系统和实现方式,也尽力给出了与不同的需求所对应的参考文档,详情参见本文末尾。 每当我们说起“Go 语言”的时候,可能会因为场景的不同聊到很多完全不同的东西。因此,我尝试着对 Go 语言和其生态系统做一个概述,并在各部分内容中都列出相关的文档(这可能有点像是大杂烩,其中还包含了我最近实际遇到的许多问题)。让我们开始吧: Go 编程语言 Go 语言是一种编程语言。作为一种权威,...阅读全文

博文 2019-07-25 02:04:28 JackEggie

Golang之控制语句

if条件判断 package main //if 条件判断 import "fmt" func main (){ age := 19 if age > 18{ fmt.Printf("澳门线上赌场开业啦") }else if age<18 && age>0{ fmt.Printf("快去上网课吧!!") }else{ fmt.Printf("error!") } } 复制代码for循环 在Go语言中,只有for循环,没有C语言中的while循环。 break 和continue可以改变控制流, break表示从当前循环跳出,结束循环。 continue表示跳过此次循环,进行下一次循环。 for循环包括两种: ​ 1.类似C语言中的循环 需要注意的是,必须将{与for循环的末尾放在同一行。否则...阅读全文

博文 2020-04-09 11:34:57 南风古灶

CentOS7开启SSH并且安装Docker与oh-my-zsh

开启SSH 修改SSH配置文件/etc/ssh/sshd_config vi /etc/ssh/sshd_config 修改38行PermitRootLogin和65行PasswordAuthentication为yes 设置密码, 输入命令 passwd 重启SSH服务使修改生效 service sshd restart ##centos 7 安装zsh配置oh-my-zsh 安装: yum install -y zsh 设置默认shell: chsh -s /bin/zsh 安装Git: yum install -y git 安装oh-my-zsh(自动) -- 网络问题可能会报错 -- curl: (7) Failed connect to raw.githubusercontent....阅读全文

博文 2020-04-23 10:32:51 Ozixue

Golang之go module开发系列二--使用伪版本和GoCenter

Go模块已经为Go开发带来了秩序,但也存在一些潜在的混乱。管理模块尤其是伪版本可能很困难,尤其是在要进行一些最新更改的情况下。 JFrog GoCenter是一个免费的版本话棋模块仓库,现在它包含了一些重要的更新,可以帮助你坚持这个最佳实践。首先让我们看看伪版本是如何工作的,以及您可以期望从这些更改中得到什么。我们还提供了一些指导,让您在升级到1.13或更高版本时保持Go的构建工作。 Go 的模块版本化 对Go模块进行版本化是一个关键特性,它为开发人员提供了一种方法来确保他们的应用程序使用他们想要的依赖项。在对模块进行版本控制时,应用程序可以指定依赖的模块版本,因为我们知道模块版本与其他组件运行时兼容问题。 Go模块版本是通过在底层源存储库中标记其修订来分配的。go命令使用标准形式vX.Y....阅读全文

博文 2020-04-25 04:33:13 JFrog中国

Golang之go module开发系列二--使用伪版本和GoCenter

Go模块已经为Go开发带来了秩序,但也存在一些潜在的混乱。管理模块尤其是伪版本可能很困难,尤其是在要进行一些最新更改的情况下。JFrog GoCenter是一个免费的版本话棋模块仓库,现在它包含了一些重要的更新,可以帮助你坚持这个最佳实践。首先让我们看看伪版本是如何工作的,以及您可以期望从这些更改中得到什么。我们还提供了一些指导,让您在升级到1.13或更高版本时保持Go的构建工作。Go 的模块版本化对Go模块进行版本化是一个关键特性,它为开发人员提供了一种方法来确保他们的应用程序使用他们想要的依赖项。在对模块进行版本控制时,应用程序可以指定依赖的模块版本,因为我们知道模块版本与其他组件运行时兼容问题。Go模块版本是通过在底层源存储库中标记其修订来分配的。go命令使用标准形式vX.Y.Z的语义...阅读全文

博文 2020-04-25 01:32:56 JFrog杰蛙科技

带你学够浪:Go语言基础系列 - 8分钟学控制流语句

★ 文章每周持续更新,原创不易,「三连」让更多人看到是对我最大的肯定。可以微信搜索公众号「 后端技术学堂 」第一时间阅读(一般比博客早更新一到两篇) ” 对于一般的语言使用者来说 ,20% 的语言特性就能够满足 80% 的使用需求,剩下在使用中掌握。基于这一理论,Go 基础系列的文章不会刻意追求面面俱到,但该有知识点都会覆盖,目的是带你快跑赶上 Golang 这趟新车。 Hurry up , Let's go ! 控制语句是程序的灵魂,有了它们程序才能完成各种逻辑,今天我们就来学习 Go 中的各种控制语句。 通过本文的学习你将掌握以下知识: if 条件语句for 循环语句switch 语句defer 延迟调用 if 条件语句 与大多数编程语言一样,if 用于条件判断,当条件表达式 expr ...阅读全文

博文 2020-06-03 01:34:22 柠檬橙

golang控制结构

go中只有一种循环控制结构, for。 没有do或while循环。 Go的循环有三种形式,只有其中的一种使用分号 for init; condition;post { } //普通的循环 sum := 0 for i := 0; i < 10; i++ { sum += i } for condition {} //和while一样 for {} //死循环 break和continue break可提前退出循环,终止当前的循环, 也可在break后指定标签, 用标签决定哪个循环被终止 //break可提前退出循环,终止当前的循环 for i := 0 ; i < 10 ; i++ { i f i > 5 { break 终止这个循环,只打印 0 到 5 } println(i) } //当...阅读全文

博文 2019-12-30 16:32:45 程序小白菜

图解kubernetes批处理Job控制器的关键设计

K8s中的批处理任务模块主要是由Job控制器完成,今天我们就来关注下其底层的关键设计,包括完成状态、并行模式、并行策略等关键机制 1. 基础概念 在聊k8s的任务模块的实现的时候,我们先看一下传统的任务系统的设计与实现,然后聊下基于k8s的基础的概念 1.1 传统的任务系统设计 传统的任务系统设计主要可以分为master(任务分配/故障感知/负载均衡)、Worker(任务执行/任务监控/任务管理)、分布式协调(etcd等存储元数据)、任务仓库(存储任务的实现比如类或者接口)等几部分, 从大的部分又可以切分为两个部分管控端(分布式协调/master/仓库)、执行端(Worker),传统的任务系统大概就是这样 通常复杂的就是如何在master如何做任务的负载均衡、任务的快速完成、依赖等管控功能,...阅读全文