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

十年磨一剑,阿里巴巴企业级数据管理平台:iDB

摘要: 阿里巴巴企业级数据库管理平台iDB面向云时代推出数据管理DMS企业版,是业界首创的数据库DevOps解决方案,形成了云时代企业数据管理的最佳实践。 十年间,阿里巴巴的研发人员也增长了十倍,为了解决DBA的服务效率问题,十年前我们开始iDB的研发,完成手工变更的在线化,成为了DBA能力产品化的载体。在最新的4.0版本中,iDB面向云时代推出数据管理DMS企业版,是业界首创的数据库DevOps解决方案,形成了云时代企业数据管理的最佳实践。 一、 为了效率与安全而生 在阿里巴巴,数据库团队是数据的守护者,保障着数据库安全、稳定、高效的运行。在早期,DBA除了负责数据库的基础运维,对于研发流程中的数据库变更也都由DBA负责,包括线上库表设计、结构变更发布、数据变更、SQL审...阅读全文

<转载>借助 Docker 企业版大幅节省 IT 预算

摘要: 我们最近启动了一项针对系统管理员和 IT 专业人员的系列学习内容,称之为“IT 人员的 Docker 入门”。我们此前已经介绍了一些基础知识,包括容器技术以及面向企业的 Docker 解决方案。 今天,我们讨论一个重要的问题:您投入时间和公司的资金来进一步探索 Docker 企业版(EE),是否值得? 对这个问题的明确回答是:肯定。已经采用 Docker 的 IT 团队发现,部署和维护应用程序的速度更快、更轻松,而且可以更好地利用基础设施,而无需触及底层代码。开发团队也正在体验生产力的大幅提升,新的开发人员能够更快上手,从开发到生产的周期大幅缩短,以及消除了应用程序对机器的依赖性("它在我的机器上可以正常工作")所带来的困扰。 640_090404_jpeg 您可...阅读全文

golang辅助包介绍

本文章持续更新 1. gopm 解决因为被墙,go get 无法下载问题 go get github.com/gpmgo/gopm 下载下来可通过gopm get [下载地址]方式下载 2. goimport 自动添加缺失的import 行, 自动删除多余的import行 gopm get -v golang.org/x/tools/cmd/goimports 3. dep 包依赖管理工具,如果自己的项目依赖的包很多,又不想加入到版本库中,可使用此工具进行批量下载 go get -v github.com/golang/dep 4. protobuf 解决json、xml文件信息过大问题,方便信息更快传输 如果文件想在项目中进行编辑则不合适,因为protobuf产生的是二进制 此工具使用稍微...阅读全文

博文 2018-12-05 16:34:56 __simple

govendor包管理工具的使用

govendor简介 golang工程的依赖包经常使用go get命令来获取,例如:go get github.com/kardianos/govendor ,会将依赖包下载到GOPATH的路径下。 常用的依赖包管理工具有godep,govendor等,在Golang1.5之后,Go提供了GO15VENDOREXPERIMENT 环境变量(Go 1.6版本默认开启该环境变量),用于将go build时的应用路径搜索调整成为 当前项目目录/vendor 目录方式。通过这种形式,我们可以实现类似于 godep 方式的项目依赖管理。 2.安装与使用 2.1. 安装 go get -u -v github.com/kardianos/govendor 2.2. 使用 进入到项目目录 cd /home...阅读全文

博文 2019-02-01 11:34:48 小蹦蹦28号

Go依赖管理工具dep

安装: Mac:brew install dep Linux curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh 验证 终端输入dep ➜ ~ dep Dep is a tool for managing dependencies for Go projects Usage: "dep [command]" Commands: init Set up a new Go project, or migrate an existing one status Report the status of the project's dependencies ensure Ensure a dependency...阅读全文

博文 2019-11-17 02:32:42 更多精彩内容有,总比没有要好:Go依赖管理工具depfreelanggolang 官方依赖管理工具 dep 使用和持续集成木猫尾巴时间NAV辞典旅游心得:我在旅行途中,你在哪?污大师2018.5.11囧man

go web编程——session管理机制设计与实现

生Go语言没有实现session管理机制,所以如果使用原生Go语言进行web编程,我们需要自己进行session管理机制的设计与实现,本文将就此进行详细介绍,并实现一个简单的session管理机制。session信息可以使用内存、文件或数据库等方式进行存储,考虑到对不同存储方式的兼容,我们设计的session管理机制应该能很方便的在不同存储方式之间进行切换。所以,session管理机制可以分为两部分内容:session管理器和session存储器,session管理器主要负责多种存储方式的共同操作部分,例如,cookie的读取与设置、session ID的生成,以及一些共同需要的参数设置等等。session管理器结构可设置如下://session管理器 type SessionManager...阅读全文

博文 2019-12-19 23:21:56 JetWu

1.安装Ontology

成功编译ontology需要以下准备: Golang版本在1.9及以上 安装第三方包管理工具glide 正确的Go语言开发环境 Golang所支持的操作系统 部署|获取ontology 从源码获取 克隆ontology仓库到 $GOPATH/src/github.com/ontio 目录 $ git clone https://github.com/ontio/ontology.git 或者 $ go get github.com/ontio/ontology 用第三方包管理工具glide拉取依赖库 $ cd $GOPATH/src/github.com/ontio/ontology $ glide install 用make编译源码 $ make 成功编译后会生成两个可以执行程序 onto...阅读全文

博文 2018-06-22 11:34:40 stevenlife

Golang包管理工具之govendor的使用

本文个人博客地址为:http://www.huweihuang.com/article/golang/govendor-usage/ 本文个人博客地址为:https://huweihuang.net/article/golang/govendor-usage/ 更多golang包管理工具参考 golang包管理工具之glide的使用1. govendor简介golang工程的依赖包经常使用go get命令来获取,例如:go get github.com/kardianos/govendor ,会将依赖包下载到GOPATH的路径下。常用的依赖包管理工具有godep,govendor等,在Golang1.5之后,Go提供了 GO15VENDOREXPERIMENT 环境变量(Go 1.6版本默认...阅读全文

Go依赖包管理工具,3分钟掌握govendor

网上写govendor的博文不少,但从安装到介绍,总看上去有些沉重,下面奉上一篇简单的教程,3分钟入门。 第1部分 简明教程 2步走,3分钟轻松搞定Go项目的依赖。 第1步 安装 go get -u github.com/kardianos/govendor 第2步 为项目增加依赖 进入到项目目录 使用govendor init命令初始化项目的依赖 运行govendor fetch命令增加依赖 打开./vendor/vendor.json查看依赖的包 步骤: cd path/to/project govendor init govendor fetch project_url_with_out_http cat vendor/vendor.json 举个例子:项目awesome依赖githu...阅读全文

博文 2018-11-17 01:34:39 大彬

进程管理工具 Supervisor

要想在终端后台常驻进程,首先想到的是在命令后加 & 符号,来达到隐藏程序在后台的目的,尽管看起来进程已经在后台运行了,实际上终端会话关闭时进程还是会被 kill 掉,这种问题一般是采用搭配 nohup 命令来解决的,nohup 作用是忽略 SIGHUP 信号,而会话关闭时正好发送了该信号给会话内所有运行程序,简而言之,nohup 命令搭配 & 不仅可以在后台运行,还不受会话关闭的影响。 $ nohup /bin/cat & 那么问题来了,虽然做到了后台运行,也避免了挂断操作带来的影响,但是它避免不了常驻进程自己出现问题,一旦它因自身异常终止了进程,这对黄金搭档就无力回天了。那怎么才能把挂了的常驻进程拉起来呢?这就是我们要讲的主题 Supervisor。 Supervisor 介绍 Super...阅读全文

Snake勒索软件正在威胁全球的企业网络

一种针对企业网络的新型勒索软件出现了,Snake。Snake是一种新的勒索软件,它正和最流行的勒索软件家族(如Ryuk,Maze,Sodinokibi,LockerGoga,BitPaymer,DoppelPaymer,MegaCortex和LockerGoga)一起威胁着全球。而让人担心的正是,这些犯罪组织为了让利润最大化,针对的不是单个用户而是企业。上周,MalwareHunterTeam的研究人员首先发现了Snake勒索软件,并在恶意软件分析师Vitali Kremez的支持下对其进行了分析。Snake勒索软件是用Golang编写的,将整个网络作为目标,并且存在大量混淆。其中,包含了一种常规混淆,这种混淆在以前并不常见,通常是与目标方法结合使用。与其他勒索软件一样,Snake在执行时会...阅读全文

博文 2020-01-13 21:32:45 UCloud云主机

Golang包管理工具govendor的使用

1. govendor简介 golang工程的依赖包经常使用go get命令来获取,例如:go get github.com/kardianos/govendor ,会将依赖包下载到GOPATH的路径下。 常用的依赖包管理工具有godep,govendor等,在Golang1.5之后,Go提供了 GO15VENDOREXPERIMENT 环境变量(Go 1.6版本默认开启该环境变量),用于将go build时的应用路径搜索调整成为 当前项目目录/vendor 目录方式。通过这种形式,我们可以实现类似于 godep 方式的项目依赖管理。 2. 安装与使用 2.1. 安装 go get -u -v github.com/kardianos/govendor 2.2 使用 #进入到项目目录 cd ...阅读全文

go 代码依赖管理工具mod使用

什么是go mod Go.mod是Golang1.11版本新引入的官方包管理工具用于解决之前没有地方记录依赖包具体版本的问题,方便依赖包的管理。类似于php的composer,java的maven; Go.mod其实就是一个Modules,关于Modules的官方定义为: Modules是相关Go包的集合,是源代码交换和版本控制的单元。go命令直接支持使用Modules,包括记录和解析对其他模块的依赖性。Modules替换旧的基于GOPATH的方法,来指定使用哪些源文件。 Modules和传统的GOPATH不同,不需要包含例如src,bin这样的子目录,一个源代码目录甚至是空目录都可以作为Modules,只要其中包含有go.mod文件。 如何使用 开启go mod export GO111M...阅读全文

怎样创建一个RPM包(译文)

文 [how to build RPM](https://access.redhat.com/sites/default/files/attachments/rpm_building_howto.pdf) Author: Chris Negus Editor: Allison Pranger Date: 09/16/2011 译文: #概览 您已经创建了一些要安装在Red Hat Enterprise Linux系统上的软件。现在的问题是,“软件完成后,如何打包该软件以使其他人易于安装和管理?” 答案是将其打包成RPM安装包。 尽管有其他方式,可以将软件打包成特定格式的压缩包(通过压缩包或其他类型的存档文件)通过解压缩的方式安装到Linux 系统,但是将Linux软件打包为RPM,可以为您带...阅读全文

博文 2020-01-12 18:30:58 guoapeng

软件技术-零基础编写响应式登录页面

欢迎关注我的专栏( つ•̀ω•́)つ【人工智能通识】 让网页自动适应电脑、手机等不同屏幕宽度,一套代码多重效果。 上一篇文章:软件技术-零基础Golang编写文件服务器 页面基础 我们改进login.html文件,使用Go Live按钮启动实时预览。 可能需要从Preference-Settings修改"liveServer.settings.root":"/web/",使适合你的$GOPATH下的web文件夹路径。 修改代码为: 阅读全文

Go的包管理工具(一)

在前面转载了系列文章:Golang 需要避免踩的 50 个坑,总得来说阅读量都挺大。今天这篇文章,咱们一起聊聊Go的依赖包管理工具。 背景 每一门语言都有其依赖的生态,当我们使用Java语言的时候,使用Maven或者Gradle管理包依赖。早期的Go被很多开发者所诟病的一个问题就是依赖包的管理。Golang 1.5 release版本的发布之前,只能通过设置多个GOPATH的方式来解决这个问题,例如:我两个工程都依赖了Beego,但A工程依赖的是Beego 1.1,B工程依赖的是Beego 1.7,我必须设置两个GOPATH来区分,并且在切换工程的时候GOPATH也得切换,无比痛苦。在Golang 1.5 release 开始支持除了GOROOT和GOPATH之外的依赖管理:vender,官...阅读全文

Golang包管理工具之govendor的使用

1. 安装 go get -u -v github.com/kardianos/govendor 使用 #进入到项目目录 cd /home/gopath/src/mytool #初始化vendor目录 govendor init #查看vendor目录 [root@CC54425A mytool]# ls commands main.go vendor mytool_test.sh #将GOPATH中本工程使用到的依赖包自动移动到vendor目录中 #说明:如果本地GOPATH没有依赖包,先go get相应的依赖包 govendor add +external 或使用缩写: govendor add +e #Go 1.6以上版本默认开启 GO15VENDOREXPERIMENT 环境变量,可...阅读全文

博文 2018-11-29 13:34:44 莫夏_b560

如何用ACM简化你的Spring Cloud微服务环境配置管理

摘要: 本文我们就如何使用阿里云ACM这样的配置管理产品在Spring Cloud中替代Spring Cloud Config帮助简化环境配置管理做一个简单的示例,帮助你理解基于ACM来简化微服务环境配置管理的方案,并会简单比较一下ACM与Spring Cloud Config方案的优劣。 **点此查看原文:http://click.aliyun.com/m/41595/** **配置的环境属性** 毫无疑问,在系统持续交付的过程中,系统最终运行环境的多样性及复杂性毫无疑问增加了我们在配置管理工作上的负担,有时候,甚至不夸张的说,配置就是因环境而生. 这在Eugen Paraschiv的博文 [Configuration Must Be Environment Spe...阅读全文

【闪电网络】安装 LND

步骤(使用环境是macOS,但是其他环境也差不多): 安装 go 语言 brew install go@1.11 # brew是 macOS 下的软件管理工具 设置shell 环境变量,我用的是 fish,在~/.config/fish/config.fish末尾添加: export GOPATH="$HOME/go" set PATH $PATH $GOPATH/bin bash/zsh的配置文件则分别位于 ~/.bashrc, ~/.zshrc,语法和fish有不同,请自行设置。 设置终端的代理 使用 go 安装工具时会向golang.org域名进行HTTPS请求,golang.org域名会转发到google.com的子域名golang-consa.l.google.com,无法访问。需...阅读全文

Golang的学习心得1

对于一个的使用多个php 传统MVC框架的人来说 Beego 使用起来很简单。golang 的多赋值特性,有需要注意的地方:package main import "fmt" func main(){ x := []int{1,2,3} i := 0 i,x[i] =2,i fmt.Println(i,x)//输出的是 2 【0 2 3】 } go 有项目的管理工具,类似于PHP的Composer。go 原始的import 包会去 %GOPATH% 写的src 找,就很容易的把工程的代码包混淆,不容易管理,同时如果要上传整个项目的代码,还要额外去上传src下被引用的包,这就很麻烦了。当然,dep解决的不止这个问题,Golang 也不止dep这个第三方项目管理工具,但是dep听说比较官方。De...阅读全文

go 语言进阶学习笔记(二)

go语言Mac安装Go有多种安装方式: Go源码安装:这是一种标准的软件安装方式。对于经常使用Unix类系统的用户,尤其对于开发者来说,从源码安装可以自己定制。 Go标准包安装:Go提供了方便的安装包,支持Windows、Linux、Mac等系统。这种方式适合快速安装,可根据自己的系统位数下载好相应的安装包,一路next就可以轻松安装了。推荐这种方式 第三方工具安装:目前有很多方便的第三方软件包工具,例如Ubuntu的apt-get和wget、Mac的homebrew等。这种安装方式适合那些熟悉相应系统的用户。 我们这里只介绍 homebrew 的安装方式,我感觉这种最为简单。Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一...阅读全文

博文 2018-11-13 13:34:39 曹帅_前端工程师

图解kubernetes控制器StatefulSet核心实现原理

StatefulSet是k8s中有状态应用管理的标准实现,今天就一起来了解下其背后设计的场景与原理,从而了解其适用范围与场景 1. 基础概念 首先介绍有状态应用里面的需要考虑的一些基础的事情,然后在下一章我们再去看statefulSet的关键实现 1.1 有状态与无状态 在日常开发的应用中,通常可以分为两大类:有状态与无状态,比如web服务通常都是无状态的,web应用数据主要来自后端存储、缓存等中间件,而本身并不保存数; 而诸如redis、es等其数据也是应用自身的一部分,由此可以看出有状态应用本身会包含两部分:应用与数据 1.2 一致性与数据 一致性是分布式系统中很常见的问题,上面提到有状态应用包含数据部分,那数据和一致性是不是一个东西呢?答案是并不一定,在诸如zookeeper等应用中,...阅读全文

博文 2020-03-29 11:32:44 仔仔

Go 包依赖管理工具 —— govendor

govendor 是一个基于 vendor 机制实现的 Go 包依赖管理命令行工具。与原生 vendor 无侵入性融合,也支持从其他依赖管理工具迁移,可以很方便的实现同一个包在不同项目中不同版本、以及无相互侵入的开发和管理。 vendor 特性 最开始的时候,Go 并没有提供较为妥当的包管理工具。从 1.5 版本开始提供了 vendor 特性,但需要手动设置环境变量 GO15VENDOREXPERIMENT=1。 在执行 go build 或 go run 命令时,会按照以下顺序去查找包: 当前包下的 vendor 目录 向上级目录查找,直到找到 src 下的 vendor 目录 在 GOROOT 目录下查找 在 GOPATH 下面查找依赖包 在发布 1.6 版本时,该环境变量的值已经默认设...阅读全文

前端工程师吐后端工程师(第五讲)——包管理工具NPM和Go get

在我们做前端时候,很少会有人做需求的时候上去就什么脚手架都不用直接裸写,基本都会找个所谓的框架,比如三大框架:Angular、Vue、React。所以在做Go的时候我们也不会裸写,需要选个Go的框架。 对比了一下,现在盛行的Go框架,选择了Gin。Gin是一个golang的微框架,API比较友好,源码注释文档非常优秀,具有快速灵活,容错方便等特点。其实对于go而言,web框架的依赖要远比Python,Java、PHP要小。自身的net/http足够简单,性能也非常不错。支持命名路径参数和通配符、支持路由分组、支持数据渲染器。 但是在使用这里之前我需要先把Gin框架下载下来,这就涉及到一门语言的另一个重要功能——包管理工具。我们可以把他理解为前端Nodejs的npm,与Nodejs不同的是,N...阅读全文

Go起步

准备 下载Go安装 安装依赖管理 brew install dep 安装dep同时也会安装依赖Go 配置环境变量 vim ~/.zshrc # go export GOPATH=$HOME/Workspace/go export GOBIN=$HOME/Workspace/go/bin export PATH=$PATH:$GOBIN . ~/.zshrc 示例 mkdir -p ~/Workspace/go/src/gin-basic && cd ~/Workspace/go/src/gin-basic dep init curl https://raw.githubusercontent.com/gin-gonic/gin/master/examples/basic/main.go > ...阅读全文

博文 2018-12-15 00:34:43 诺之林

go modules 的一些细节

前言 在一些Java的项目中,有 Maven等这些版本管理工具,可以很好的管理各种版本依赖关系,但是在 Golang 的项目中,之前官方并没有提供版本管理工具,以前都是用 go get 进行安装, 随着项目的变大, 就处理这种依赖关系就变得很麻烦, 原文。 如果你对Go感兴趣, 可以关注我的公众号: GoGuider vendor 机制 为了解决版本依赖问题, 官方出了一个 vendor 机制,将项目依赖的包都放在该目录中,但这也并没有很好地管理依赖的版本。 因为vendor 机制有几个大的问题: 1、需要将外部库放到项目中, 导致项目体积变得很大 2、项目版本很难指定和控制 go dep 和 go modules 之后官方出了一个准官方版本管理工具 go dep,这也算是 go modul...阅读全文

博文 2019-10-20 23:34:25 easyhappy

19年第36周:Go语言 包管理和Go工具

一、Go包管理简介 当你工作目录不在 $GOPATH/src 里面,并且工作目录或者工作目录的任意级父目录中含有 go.mod 文件,go 命令行工具会启用模块机制; Go mod能够,①将当前目录设置为模块。②在代码中导入不存在的包时,go命令行工具会帮你自动安装第三方包。 二、如何更好更方便的使用Go包 创建(增): go mod init 创建了一个新的模块,初始化 go.mod 文件并且生成相应的描述 go get xxx添加一个新的依赖项 go get xxx@v1.3.1显式地指定了 @v1.3.1,表示获取这个版本。没有则等价于@latest go build, go test, go run 和其它构建代码包的命令,会在需要的时候在 go.mod 文件中添加新的依赖项 删除(...阅读全文

博文 2019-10-07 19:32:43 aside section ._1OhGeD

如何借助配置中心ACM加速企业IT服务快速迭代

摘要: 在5月29日召开的第二届研发效能嘉年华中,云效邀请了阿里云产品团队的伏羿和来自阿里巴巴中间件技术部的彦林带来了“如何借助配置中心ACM加速企业IT服务快速迭代”的主题分享。 分别对配置中心ACM和ACM技术进行了讲解,并且对ACM的主要应用场景进行了介绍,并进行了Demo环节。 在5月29日召开的第二届研发效能嘉年华中,云效邀请了阿里云产品团队的伏羿和来自阿里巴巴中间件技术部的彦林带来了“如何借助配置中心ACM加速企业IT服务快速迭代”的主题分享。 分别对配置中心ACM和ACM技术进行了讲解,并且对ACM的主要应用场景进行了介绍,并进行了Demo环节。 精彩视频请点击 PPT下载请点击 以下为精彩内容整理: 配置中心基本形态介绍 有了配置中心以后,用户或者管理员不...阅读全文

Golang包管理工具Glide,你值得拥有

预览目录 glide.yml文件 版本和范围 基本 连字符- 通配符x,X,* 波浪号~(Patch) 插入符^(Major) “依赖地狱”是每个程序员在成长之路上都会面临的情况,首先我们通过语义化版本来控制软件的版本,然后在我们的项目里通过指定软件版本来达到控制依赖的目的。 如:你的项目A依赖多个项目B1,B2,B3,而B1,B2,B3又依赖着其它项目C1,C2…。一个项目依赖这多个项目,当项目C1修复BUG版本发生变化,如果A依旧使用旧版本,势必引起未知的问题。所以,你需要意识到包依赖管理的重要性。 在Go语言中,我比较推荐大家使用Glide作为包管理器。它能够自动识别Godeps的包管理,十足的很方便。本节介绍glide.yml的语义说明以及版本指定的格式。 glide.yml文件 g...阅读全文

博文 2017-08-27 17:51:36 Deepzz's Blog

能源管理系统在能源管理体系中的作用和意义

能源管理体系就是从体系的全过程出发,遵循系统管理原理, 通过实施一套完整的标准、规范,在组织内建立起一个完整有效的、形成文件的能源管理体系,注重建立和实施过程的控制,使组织的活动、过程及其要素不断优化,通过例行节能监测、能源审计、能效对标、内部审核、组织能耗计量与测试、组织能量平衡统计、管理评审、自我评价、节能技改、节能考核等措施,不断提高能源管理体系持续改进的有效性,实现能源管理方针和承诺并达到预期的能源消耗或使用目标。 (一)能源管理体系概念的产生及背景 能源管理体系概念的产生源于对能源问题的关注。发展的需求和能源制约的矛盾唤醒和强化了人们的能源危机意识,而且人们意识到单纯开发节能技术和装备仅是节能工作的一个 方面。人开始关注工业节能、建筑节能等系统节能问题。研究采用低成本、无成本的方法...阅读全文

[系列] - 使用 go modules 包管理工具(一)

概述 我想实现一个开箱即用的 API 框架的轮子,这个轮子是基于 Gin 基础上开发的。 为什么是开箱即用,它会集成哪些功能? 以上功能点,都是常用的,后期可能还会增加。 废话不多说,咱们开始吧。 创建一个项目,咱们首先要考虑一个依赖包的管理工具。 常见的包管理有,dep、go vendor、glide、go modules 等。 最开始,使用过 dep,当时被朋友 diss 了,推荐我使用 go modules 。 现在来说一下 go modules ,这个是随着 Go 1.11 的发布和我们见面的,这是官方提倡的新的包管理。 说一个环境变量:GO111MODULE,默认值为 auto 。 当项目中有 go.mod 时,使用 go modules 管理,反之使用 旧的 GOPATH 和 v...阅读全文

博文 2019-08-27 11:34:29 訢亮

码极系列 | Jump Jump & Reborn

Jump Jump & Reborn 嘿!好久没更新码极系列了,从这次分享开始,后续还会有若干篇码极系列的分享会和大家见面! 今天为大家带来两个我自己开发的开源项目,我绝对不是来骗 star 的! Jump Jump 开箱即用,Go 语言开发的一个功能完善的短链接系统。 开源地址 Github | 码云 很高兴被码云评为推荐项目,虽然现在只有可怜的几十个 star。 近期 Jump Jump 已经经过一次重写,现在已更新到 v1.1.1 版本,v1.2.0 也正在慢慢开发当中。 你可以通过点击这里访问到管理后台,体验账号/密码均为 guest。 Reborn Go 语言开发的,基于 Redis 存储的配置库,简单配置,易于使用。 开源地址 Github | 码云 很高兴被码云评为推荐项目,虽...阅读全文

博文 2020-04-26 20:34:23 安木鸡

最简单的教程:在Ubuntu操作系统里安装Docker

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。 今天这篇文章咱们就来将Docker安装到Ubuntu上。 1. 由于Ubuntu里apt官方库里的docker版本可能比较低,因此先用下面的命令行卸载旧版本(如果有的话) sudo apt-get remove docker docker-engine docker-ce docker.io 2. 更新apt包索引: sudo apt-get update 3. 执行下列命令行,使apt可以通过HTTPS协议去使用存储库: sudo apt-get install -y apt-tran...阅读全文

博文 2018-10-27 14:34:38 JerryWangSAP

DockOne技术分享(四):AppC和Docker的对比

【编者的话】 现在一说到“容器”,几乎所有人首先想到的就是Docker。Docker作为目前最主流的容器标准,掩盖了许多前辈和后续者的光辉。事实上,Docker既不是第一个容器类产品(OpenVZ、Lxc等都远远早于它),也不会是最后一个。今天我们来聊一个最近有点火的新容器标准:AppC。 AppC是 CoreOS 公司在2014年12月发起的社区项目,旨在设计一种新式的跨平台容器在镜像格式、运行方式和服务发现机制等方面的标准。 从官方的表态说,这个项目最初诞生的原因是,主流容器工具 Docker 正在从一个单纯的容器工具成为自成一体的生态圈。而 Docker 的中心式管理方式(由每个主机上的 Docker -d 后台进程统一控制)对于 Systemd 以及第三方的任务编排工具并不友好(具体...阅读全文

9 Go盒子:包及包管理

一、Go的包设计理念 1.代码盒子 在Go程序中,包是代码模块组织的单位,为项目代码组织结构,提高代码的可读性、重用性及可维护性。它就是一个代码盒子,把可共同维护的相关功能组织在一起,为外部提供功能实现。理解包可以更好的编写高可维护代码。 2.包结构 2.1 main包与main()函数 main()函数是程序的唯一入口,它放置于main包中。 main()函数无参数无返回值 //声明包名 package main //导入其它包 import "fmt" //程序的入口函数 func main(){ //使用fmt官方标准包,用于打印输出 fmt.Println("Hello World!") } 2.2 init()函数 init()函数基于包级别定义,主要用于: 初始化那些不能被初始化...阅读全文

博文 2019-07-05 21:32:40 GoFuncChan

golang版本工具GVM 和包管理工具go mod原理讲解

一句话简介 GVM(Go Version Manager) 下载多版本golang到本地缓存,通过切换环境变量指向不同的Golang版本 Go mod 对 go modules 的依赖管理,使得不同项目中依赖不同版本的同一个库更简单。 进一步介绍 GVM配置环境变量的原理 gvm配置路径 $ cat /Users/name/.gvm/scripts/gvm export GVM_ROOT=/Users/name/.gvm . $GVM_ROOT/scripts/gvm-default gvm配置后的 golang 环境变量 $go env GO111MODULE="" GOARCH="amd64" GOBIN="" GOCACHE="/Users/name/Library/Caches/go...阅读全文

golang简单应用

学习的golang的练习,推荐学习golang。https://www.liwenzhou.com mian.go 文件 package main import ( "fmt" "os" ) func showAction() { fmt.Println("学生管理系统!") fmt.Println("1. 添加学生信息") fmt.Println("2. 编辑学生信息") fmt.Println("3. 显示学生信息") fmt.Println("4. 退出学生管理系统") } //getInput 获取输入信息 func getInput() *Student { var ( name string id int ages int ) fmt.Println("输入信息") fmt.Pr...阅读全文

Go的包管理工具(二):glide

在上一篇文章中介绍了 Go 的环境配置和包管理的几种方式。Go 的包管理是一直是为人诟病之处,从 Go 1.5 引入的 vendor 机制、准官方工具dep,到 Go 1.5 的 go modules,目前为止还没一个简便的解决方案。本文将会介绍 glide glide 是在 vendor 之后出来的。glide 的依赖包信息在 glide.yaml 和 glide.lock 中,前者记录了所有依赖的包,后者记录了依赖包的版本信息 工作原理 Glide 扫描应用程序或库的源代码以确定所需的依赖项。要确定版本和位置(例如forks的别名),Glide会使用规则读取 glide.yaml 文件。有了这些信息,Glide将检索所需的依赖项。 遇到依赖包时,会扫描其导入以确定依赖关系的依赖关系(传递...阅读全文

博文 2019-03-06 21:34:40 aoho

Linux有什么不一样?Linux技术学习

Linux的广泛应用,使得更多人来学习Linux这一操作系统,而为什么Linux这么的与众不同呢?是什么让它在发展迅速的互联网行业中大放异彩? Linux 是一款免费的操作系统,也就是说,不论何时何地,只要有需要,相较于其他操作系统,Linux操作系统都是容易安装的。而且不用受购买授权的约束,对所有类型的组装机器和服务器配置的测试也就变的直接了。 Linux 可以实现多用户操作系统,它具有很好的私密性和稳定性,整个团队可以同时从本地或远程登录进行工作,使得团队合作更加和谐和便捷。而且Linux 的构建采用了一些与 UNIX 操作系统相同的技术,而且带有大多数与深度成熟的 UNIX 操作系统相一致的工具,也大大的增加了Linux操作系统的稳定性与安全性。此外,Linux 的发行版还提供了复杂的...阅读全文

博文 2019-11-13 16:31:51 zhouzhou2018

【每日笔记】【Go学习笔记】2019-01-02 Codis笔记

作者:施洪宝 一. go 基础 go通过锁或者原子操作解决协程之间的竞争问题, 本文主要介绍锁 go通过通道(有缓冲和无缓冲)解决协程之间的通信问题, 一个协程可能同时与多个其他协程通信, 此时可以通过select进行处理 1.1 锁 mutex mutex即是一般的互斥锁, 只有一个协程可以获取锁, 其他协程获取时会被阻塞 rwmutex rwmutex为读写锁, 某一时刻可能存在多个读锁或者一个写锁 lock可以获取写锁, 该调用会一直阻塞直到其他协程释放锁, 写锁的优先级高于读锁; unlock释放写锁 rlock获取读锁, 当只有读锁或者没有锁时可以成功获取锁, 否则被阻塞; runlock释放读锁 1.2 select select{ case communication clau...阅读全文

博文 2019-01-07 10:34:46 LNMPR源码研究

Go的包管理工具(三):Go Modules

在前面的文章,我们先是介绍了Go 的几种包管理方式,然后具体介绍了一种包管理的工具: glide。随着 Go 1.11 的发布,官方的包管理工具 Go Modules 变得流行起来。在发布不久的 Go 1.12 版本中,增强了对 Go Modules 的支持。本文将会介绍如何在项目中安装和使用 Go Modules 。 安装和激活 Modules 的支持 前置条件 如本文开头所说,从 Go 1.11 版本才支持 Go Modules。所以,默认 Go 的版本为 >= 1.11。 $ go version go version go1.12 darwin/amd64 笔者安装了最新的 1.12 版本。 激活使用 安装后,我们可以通过以下两种方式之一激活模块支持: 在$GOPATH/src 之外...阅读全文

在 Fefora 上开启 Go 语言之旅

Go 编程语言于 2009 年首次公开发布,此后被广泛使用。特别是,Go 已经成为云基础设施领域的一种代表性语言,例如 Kubernetes、OpenShift 或 Terraform 等大型项目都使用了 Go。 Go 越来越受欢迎的原因是性能好、易于编写高并发的程序、语法简单和编译快。 让我们来看看如何在 Fedora 上开始 Go 语言编程吧。 在 Fedora 上安装 Go Fedora 可以通过官方库简单快速地安装 Go 语言。 $ sudo dnf install -y golang $ go version go version go1.12.7 linux/amd64 复制代码既然装好了 Go ,让我们来写个简单的程序,编译并运行。 第一个 Go 程序 让我们来用 Go 语言写...阅读全文

博文 2019-09-02 23:34:37 Linux中国

Go 包依赖管理工具 —— govendor

govendor 是一个基于 vendor 机制实现的 Go 包依赖管理命令行工具。与原生 vendor 无侵入性融合,也支持从其他依赖管理工具迁移,可以很方便的实现同一个包在不同项目中不同版本、以及无相互侵入的开发和管理。 vendor 特性 最开始的时候,Go 并没有提供较为妥当的包管理工具。从 1.5 版本开始提供了 vendor 特性,但需要手动设置环境变量 GO15VENDOREXPERIMENT=1。 在执行 go build 或 go run 命令时,会按照以下顺序去查找包: 当前包下的 vendor 目录 向上级目录查找,直到找到 src 下的 vendor 目录 在 GOROOT 目录下查找 在 GOPATH 下面查找依赖包 在发布 1.6 版本时,该环境变量的值已经默认设...阅读全文

博文 2019-03-25 18:34:39 Jioby

Go的包管理 - go modules

一、go modules使用 前言 Go的依赖包管理是被大家诟病最多的一个地方,先后出现了glide、godep、dep等包管理工具,但是Go的包管理一直没有一个统一的方法,不同的项目可能会使用不同的管理工具。go modules是go 1.11之后推出的一种新的包管理工具,解决了之前的包管理中存在的一些问题。 项目不必放在GOPATH/src下 可以自动下载依赖包 版本控制功能 go modules介绍 Go 1.11和1.12包含了对modules的初步支持。modules是Go的新的依赖管理系统,能够使依赖项的版本信息更加清晰并且更加容易管理。这篇文章介绍了使用modules的基本操作。 module是Go的包的集合,以文件树的形式存储在顶层目录的go.mod文件中。go.mod文件定...阅读全文

博文 2019-09-29 14:02:38 朝阳区群众

Python之上下文管理器

1.引入 我们时常会看到网上很多人写文件读写的代码的时候,常常是这么写的: with open('test.txt', 'r') as f: print(f.read()) # 其它操作 这个with有什么用呢? 我们来看看不用这种写法我们怎么写。 假如我们直接这么写: f = open('test.txt', 'r') print(f.read()) # 其它操作 f.close() 这种写法有什么问题呢? 假如在做其它操作的时候,出错了,程序终止,f.close()不会执行,则f这个句柄会一直得不到释放,要是并发操作,这个就很严重了。 所以我们通常会这么写: try: f = open('test.txt', 'r') except Exception: pass finally: f....阅读全文

博文 2019-10-11 18:32:50 aside section ._1OhGeD

初学Python需要安装那些软件?

初学Python需要安装的软件 Python解释器 IDE pip代理 虚拟环境 Python解释器的安装 1.首先我们移步官网,下载最新版本的python-3.6 Python官网:https://www.python.org/ 在这里插入图片描述 选择要下载的文件: 在这里插入图片描述 可以根据你自己本身的Windows电脑位数选择下载。 下载好安装包之后,就和你平常安装QQ一样点击下一步就可以了! 在这里插入图片描述 也是有需要特别注意的!! 记得勾选 Add Python 3.6 to PATH。 1、 按 Win+R 键,输入 cmd 调出命令提示符,输入 python: 在这里插入图片描述 也可以在开始菜单中搜索 IDLE: 在这里插入图片描述 对于初学者而言用Windows系统...阅读全文

博文 2019-09-27 13:32:51 aside section ._1OhGeD

golang 包依赖管理 godep 使用

介绍:godep是解决包依赖的管理工具,目前最主流的一种,原理是扫描记录版本控制的信息,并在go命令前加壳来做到依赖管理。 1.安装:go get github.com/tools/godep 2.编译和运行项目用godep管理后,要编译和运行项目的时候再用 go run 和 go build 显然就不行了,因为go命令是直接到GOPATH目录下去找第三方库。而使用godep下载的依赖库放到Godeps/workspace目录下的; `godep go run main.gogodep go buildgodep go installgodep go test` godep中的go命令,就是将原先的go命令加了一层壳,执行godep go的时候,会将当前项目的workspace目录加入GOP...阅读全文

博文 2019-11-04 10:33:53 风云

您需要了解的有关Kubernetes服务质量(QoS)

服务质量(QoS)类是Kubernetes的概念,它确定Pod的调度和驱逐优先级。 Kubernetes调度程序使用QoS类来做出有关将Pod调度到节点上的决策。 Kubelet使用它来管理驱逐pod的顺序,以及使用高级CPU管理策略允许更复杂的pod调度决策。 QoS类由Kubernetes本身分配给Pod。但是,DevOps可以通过处理Pod内各个容器的资源请求和限制来控制分配给容器的QoS类。 在kubernetes 中存在三种QoS类: Guaranteed Burstable BestEffort 让我们看一下不同的QoS类,看看它们如何与Kubernetes Scheduler和Kubelet一起工作。 Guaranteed 如何分配Pod的QoS Guaranteed 等级? ...阅读全文