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

go module 使用教程

如果你还在使用 GOPATH 模式来开发Golang程序,那么你可以参考本文来告别 GOPATH,并带给你一个方便的包管理工具。 关于 go mod 的说明和简单使用,可以参考: 1、Go1.1.1新功能module的介绍及使用请添加链接描述 2、Introduction to Go Modules请添加链接描述 3、Go 1.11 Modules 官方说明文档请添加链接描述 go Modules—Modules是Go 1.11中新增的实验性功能,是一种新型的包管理工具。具体操作:首先要把go升级到1.11 升级后,可以设置通过一个环境变量GO111MODULE来激活modules: export GO111MODULE=on //此时go会使用modules,而不会去GOPATH目录下查找...阅读全文

博文 2020-03-17 23:33:20 chymingyan

设计模式-命令模式(Go语言描述)

在上一篇博客设计模式-单例模式(Go语言描述)中我们介绍了在golang中如何去实现单例模式,在文章的最后我们也介绍到了golang独有的一种实现单例的方式-sync.Once.Do(),可以让golang轻松的实现可以应对并发请求的单利.今天我们继续探索设计模式,来介绍一下命令模式的实现. 说起命令,大家第一反应可能就是我们平时敲的各种命令,啪啪啪几行命令下去就可以完成一些功能,在看到命令模式这个词后,可能大家也会和我一样认为这里的命令就是执行一些简单任务的功能,然而并不是,这里的命令更多的像是我们发出的请求或者电视遥控器的按键.这样吧,咱们先来看看命令模式的定义,然后再从生活中找实际的例子对比一下. 命令模式是将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化;对请求排队...阅读全文

博文 2016-03-06 12:00:00 qibin0506

Golang实现大数乘法

大数乘法,简单的说,就是把小学学的列竖式计算的方法进行了实现。这其实也就是个乘法分配率的变形。 5 * 12 = 5 * (2 + 10) = 5 * 2 + 5 * 10 所以第二行竖式,12的十位1与5相乘的时候,需要再最后空一位,其实是在最后省略了一个0。十位就是省略一个0,也就是左移一位,那么百位就是左移两位。以此类推。 通过代码实现,相乘的两个数就不能用整形表示了,因为存不了很大的整数。需要用字符串表示。按位相乘,最后把结果错位相加就行。乘法的结果等于乘数的位数,所以可以申请一个和乘数位数相同的数组,然后错位相加即可。但是这样太麻烦了。 乘法是从个位开始,但是遍历字符串是从最高为开始的,所以要首先将输入字符串反转。用i表示被乘数的遍历索引,j表示乘数的索引。前面说了左移的位数和乘数...阅读全文

用GO实现的改进的观察者模式

废话不说。上代码: Publisher.go: package main import ( "container/list" ) type Handler interface {//这里主要参考了Go里HTTP包的实现 Serve(int) } type HandlerFunc func(args int) func (f HandlerFunc) Serve(args int) {//是不是很熟悉的代码? f(args) } type Publish struct { HandlerFuncs *list.List Value int } func NewPublisher() *Publish { p := new(Publish) p.HandlerFuncs = list.New()...阅读全文

博文 2015-06-18 09:02:16 zha_stef

golang中使用kafka

golang中比较好用的kafka client有 sarama confluent-kafka-go go_kafka_client optiopay-kafka siesta 其中 sarama的使用者应该是最多的, 然后还有一个sarama的cluster版本sarama-cluster 本文简单描述下sarama的一些简单使用 生产者接口 func producer_test() { fmt.Printf("producer_test\n") config := sarama.NewConfig() config.Producer.RequiredAcks = sarama.WaitForAll config.Producer.Partitioner = sarama.NewRand...阅读全文

博文 2018-09-29 18:34:37 yandaren

Vendor 包管理器 Go Glide

Glide 是 Golang 的 Vendor 包管理器,方便你管理 vendor 和 verdor 包。 主要特性: * 简单管理依赖 * 支持 **versioning packages**,包括 [Semantic Versioning 2.0.0](http://semver.org/) 支持 * 支持 **aliasing packages** (e.g. for working with github forks) * Remove the need for munging import statements * 支持所有 `go` 工具 * 支持 VCS 工具和 Go 支持: * git * bzr * hg * svn 支持定制本地和全局插件 (se...阅读全文

开源项目 2015-11-04 16:00:00 Masterminds

studygolang中秋送福利!扫码领阿里云代金券30元

![我是彩蛋-30元代金券-322-426_副本.jpg](http://studygolang.qiniudn.com/150923/bf9e6602d7f747ff255eab406e8e6205.jpg) 扫完码马上去体验阿里云服务器: http://click.aliyun.com/m/1821/ 阿里云服务器基础配置只要28.8/月,年付仅需花10个月的钱。 140万用户上云的第一选择、6年技术沉淀、完全管理权限、快速备份、自定义镜像、API接口、IO性能提速20倍,速度超乎你的想象。更重要的是,现在还有30块钱代金券! 你只需要打开手机,对准二维码,扫...阅读全文

七牛---关于GO SDK的各种Demo

具体可以参考七牛GO SDK的源码以及官网使用文档,以下Demo针对V7版本的SDK: https://github.com/qiniu/go http://developer.qiniu.com/code/v7/sdk/go.html 文件上传 简单上传 package main import ( "github.com/qiniu/api.v7/kodo" "qiniupkg.com/api.v7/conf" "qiniupkg.com/api.v7/kodocli" "fmt" ) var ( //设置上传到的空间 bucket = "yourbucket" ) //构造返回值字段 type PutRet struct { Hash string `json:"hash"` Key s...阅读全文

博文 2016-03-24 14:00:01 netdxy

golang: facebookgo之inject测试用例

依赖注入(Dependency Injection)和控制反转(Inversion of Control)是同一个概念。在传统的程序设计过程中,调用者是自己来决定使用哪些被调用者实现的。但是在依赖注入模式中,创建被调用者的工作不再由调用者来完成,因此称为控制反转;创建被调用者实例的工作通常由注入器来完成,然后注入调用者,因此也称为依赖注入。 下面是facebookgo/inject 包的测试用例, 需要的自取。 https://github.com/e421083458/injec...阅读全文

golang并发编程实践 -- 简单生产者消费者(with lock)

上一篇文章用golang中的channel实现了简单的消费者模型,下面的版本是用传统的锁技术实现的版本,相对比会发现golang提供的channel更好用。而且golang的channel可以完成很多在别的语言里需要很多代码才能实现的功能。以后陆续解答。 package main import ( "fmt" "sync" "time" ) type Queue struct { Elem []int Capacity int Front int Rear int Lock sync.Locker Cond *sync.Cond } func New() *Queue { theQueue := &Queue{} theQueue.Capacity = 10 theQueue.Elem = ...阅读全文

博文 2014-10-04 19:26:11 aura521521

Golang的值类型receiver和指针类型receiver

Golang的值类型和指针类型receiver一直让我比较混淆,在此做几个试验备忘 先看指针类型的receiver: package main import ( "fmt" ) type BasicEvent struct { EventId int } func (ev *BasicEvent) updateEventID(id int) { ev.EventId = id } func main() { ev1 := &BasicEvent{EventId: 1} fmt.Printf("before update id = %d\n", ev1.EventId) ev1.updateEventID(2) fmt.Printf("After update id = %d\n", ev1....阅读全文

博文 2015-04-23 15:00:01 miros

惊喜 Christmas,七牛携明星客户送大礼~

![720X400-1.jpg](http://studygolang.qiniudn.com/151224/dbacf5b8b5f25b6b71083b482aba959d.jpg) 2015 年,七牛云迎来了第 40 万用户, 每天 750 亿的请求, 为客户安全托管 1600 亿份文件, 快速稳定地处理 12 亿在线数据, 我们,一直在努力! 2015 年,这一年被称作寒冬之年, 据说,收到牛小七与明星客户送的圣诞礼物, 寒冬很快就会过去哦! ![720X400-2.jpg](http://studygolang.qiniudn.com/151224/0e1370677318cc65de62c50391a1ec92.jpg) ...阅读全文

Go负载均衡

负载均衡 请求者向均衡服务发送请求type Request struct { fn func() int // The operation to perform. c chan int // The channel to return the result. } 注意这返回的通道是放在请求内部的。通道是first-class值 能很好的模拟一个请求者,一个负载产生者func requester(work chan<- Request) { c := make(chan int) for { // Kill some time (fake load). Sleep(rand.Int63n(nWorker * 2 * Second)) work <- Request{workFn, c} // ...阅读全文

博文 2017-03-05 19:45:34 紫若丹枫

Golang分布式设计模式之-----星型拓扑分形设计

Golang分布式设计模式之-----星型拓扑分形设计 上一篇分层设计中,利用了简单的流水线原理,实现了简单的状态转移的设计。如下 这一篇我们将考虑另外一种情况。例如,linux内核中的进程管理。所有的进程都有一个父进程。当子进程正常运行时候,与父进程基本无通信。但当子进程死亡时,要通知其父进程,让父进程进行资源回收。当父进程死亡时,两种情况,子进程随着父进程一起死亡,或者将子进程交由父进程的父进程管理。类似于下图 其中每个进程都有自己的父进程,也有可能会有自己的子进程。 在这种管理中,父子关系,或者说是管理者与被管理者的关系。被管理者,可以独自运行,但要将其的一些状态告知管理者,或者管理者,可以定期获取被管理者的状态。 下面以一个p2p下载器为例: 一、职能划分,形成管理者与被管理者 1)...阅读全文

博文 2015-01-21 09:17:51 screscent

一份来自阿里云引擎ACE的求职信,你收到了吗?

尊敬的企业领导,个人站长、开发者们: 如果有个员工,可以把企业把70%运维的工作都干了,你们再也不用操心对操作系统、运行环境、应用中间件的安装、配置、优化、监控、升级等一系列繁杂的维护工作,可以专注精力在业务运营上,您是否会考虑录用他? 下图就是阿里云引擎ACE求职信,敬请查收! 详细了解ACE:http://www.aliyun.com/product/ace !![1111111.jpg](http://studygolang.qiniudn.com/151126/487be9e31756e7b913347e4f645e3023.png) 详细了解ACE:http://www.aliyun.com/product/ace...阅读全文

Golang实现的红黑树

红黑树是一种基于二叉查找树的数据结构,它具有如下性质: (1) 二叉查找树的性质它都有 (2) 每个节点都有一个颜色属性,每个节点或是红的或是黑的 (3) 根节点必须是黑的 (4) 每个叶子节点(nil节点)为黑 (5) 如果一个节点为红的,那么它的两个孩子都是黑的 (6) 每个节点到它子孙叶子节点的路径上的黑色节点个数是相同的 相比二叉查找树,红黑树在添加或删除元素的同时还需要调整树的深度,所以需要用到对树结构的一些旋转操作,下面的实例代码给的非常详尽了,可以看看LeftRotate()和RightRotate()函数式如何实现旋转的。如果有人发现了BUG请在留言中发表~ 这个代码是在之前的"Golang以OO的方式实现二叉查找树"里的代码加工实现的,因为本人技术不到位。。。出了好几次BU...阅读全文

博文 2015-06-17 20:03:52 u011774512

Go Modules使用教程

引入 https://talks.godoc.org/github.com/myitcv/talks/2018-08-15-glug-modules/main.slide#1 Go Modules介绍 Modules是Go 1.11中新增的实验性功能,基于vgo演变而来,是一个新型的包管理工具。 常见的包管理工具 govendor dep glide godep 这些包管理工具都是基于GOPATH或者vendor目录,并不能很好的解决不同版本依赖问题。Modules是在GOPATH之外一套新的包管理方式。 如何激活Modules 首先要把go升级到1.11。 升级后,可以设置通过一个环境变量GO111MODULE来激活modules: GO111MODULE=off,go命令行将不会支持mo...阅读全文

博文 2018-10-16 17:34:40 andyidea

Go模块简明教程(Go语言依赖包管理工具)

Go模块是Go语言的依赖包管理工具。 Go模块的使用 1、Go1.11及以后版本才能使用。 2、Go1.11需要设置环境变量 GO111MODULE 为 on(新特性开关,按照Go语言惯例,mod首次在go1.11版本中使用,go1.12及以后版本这个设置应该不会用了)。 mod是模块英文modules的简写。 列举一些常用的命令行: go help mod查看帮助。 go mod init <项目模块名称>初始化模块,会在项目根目录下生成 go.mod 文件。参数<项目模块名称>是非必写的,但如果你的项目还没有代码编写,这个参数能快速初始化模块。如果之前使用其它依赖管理工具(比如dep,glide等),mod会自动接管原来依赖关系。 go mod tidy根据go.mod文件来处理依赖关系...阅读全文

博文 2018-08-25 14:34:57 wuyumin

Linux 平台下的漏洞扫描器Vuls

Vuls 是一款适用于 Linux / FreeBSD 的漏洞扫描程序,无代理,采用 golang 编写。 对于系统管理员来说,每天必须执行安全漏洞分析和软件更新都是一个负担。为避免生产环境宕机,系统管理员通常选择不使用软件包管理器提供的自动更新选项,而是手动执行更新。这会导致以下问题: 系统管理员必须不断注意NVD(National Vulnerability Database)或类似数据库中的新漏洞。 如果服务器中安装了大量软件,系统管理员可能无法监视所有软件。 执行分析以确定受新漏洞影响的服务器是昂贵的。在分析过程中可能会忽略服务器或两台服务器。 Vuls 是为解决上述问题而创建的工具。它具有以下特点: 通知用户与系统相关的漏洞。 通知受影响的服务器的用户。 自动执...阅读全文

godep 包管理工具

godep是解决包依赖的管理工具 安装 go get github.com/tools/godep 成功安装后,在GOPATH的bin目录下会有一个godep可执行的二进制文件,后面执行的命令都是用这个,间隔这个目录加入到PATH目录中。 编译和运行 项目用godep管理后,要编译和运行项目的时候再用go run和go build显然就不行了,因为go命令是直接到GOPATH目录下去找第三方库。 而使用godep下载的依赖库放到Godeps/workspace目录下的; godep go build XXX godep中的go命令,就是将原先的go命令加了一层壳,执行godep go的时候,会将当前项目的workspace目录加入GOPATH变量中; godep save godep sav...阅读全文

博文 2016-05-26 10:00:05 me115

Go依赖管理工具 - dep

Go依赖管理工具 Go dependency management tool 环境要求 Golang >= 1.9 Dep 目前版本: dep: version : devel build date : git hash : go version : go1.10 go compiler : gc platform : linux/amd64 Latest release为v0.4.1 安装 go get -u github.com/golang/dep/cmd/dep 若$GOPATH/bin不在PATH下,则需要将生成的dep文件从$GOPATH/bin移动至$GOBIAN下 验证 $ dep Dep is a tool for managing dependencies for Go ...阅读全文

博文 2018-03-06 22:34:41 煎鱼

Go 多返回值

Go语言革命性地在静态开发语言阵营中率先提供了多返回值功能。这个特性让开发者可以从原来用各种比较别扭的方式返回多个值的痛苦中解脱出来,既不用再区分参数列表中哪几个用于输入,哪几个用于输出,也不用再只为了返回多个值而专门定义一个数据结构。 package main import "fmt" func vals() (int, int) { return 3, 7 } func main() { a, b := vals() fmt.Println(a) fmt.Println(b) _, c := vals() fmt.Println(c) } 123456789101112131415 package mainimport "fmt" func vals() (int, int) { ret...阅读全文

开源邮件代理服务Exim被爆RCE和DoS漏洞,建议赶紧升级!

影响范围 4.88和4.89 开源邮件传输代理Exim简介 Exim是由剑桥大学Philip Hazel开发的邮件传输代理,负责邮件的路由,转发和投递。它可运行在绝大多数的类Unix系统上,包括Solaris、AIX、Linux、macOS等。相比其他MTA,Exim配置更灵活,支持String Expansion技术,能执行诸如条件判断,字符转换等功能。 Exim漏洞提交至BugTracker 一名安全研究员发现并公开披露了流行互联网邮件信息传输代理Exim中的两个紧急漏洞,其中一个能导致远程攻击者在目标服务器上执行恶意代码。 最开始漏洞是由Phil Ponnock在黑五(11月25日)没有任何预告发布在这里的,提交到了该项目的BugTracker。 漏洞详情 第一个漏洞是使用后释放漏洞C...阅读全文

博文 2017-11-30 01:53:04 www.dbsec.cn

aurora: Beanstalk 消息队列服务器管理工具

![aurora](https://raw.githubusercontent.com/Luxurioust/aurora/master/aurora.png) GitHub: [github.com/Luxurioust/aurora](https://github.com/Luxurioust/aurora) ### 简介 aurora 是一个 Golang 编写的基于 Web 的 Beanstalk 消息队列服务器管理工具,单文件无需依赖其他组件,支持管理本地和远程多个队列服务器。 ### 特点 - 跨平台支持 macOS/Linux/Windows 32/64-bit - 单文件简单易部署 - 不依赖其他组件 - 支持读取配置文件方式启动 + 登陆...阅读全文

老司机带你用 Go 语言实现 Raft 分布式一致性协议

老司机带你用 Go 语言实现 Raft 分布式一致性协议   随着大型网站的各种高并发访问、海量数据处理等场景越来越多,如何实现网站的高可用、易伸缩、可扩展、安全等目标就显得越来越重要。   为了解决这样一系列问题,大型网站的架构也在不断发展。提高大型网站的高可用架构,不得不提的就是分布式。任何一个分布式系统都无法同时满足 Consistency(一致性),Availability(可用性),Partition tolerance(分区容错性)这三个基本需求,最多只能满足其中两项。 但是,一个分布式系统无论在 CAP 三者之间如何权衡,都无法彻底放弃一致性(Consistency),如果真的放弃一致性,那么就说明这个系统中的数据根本不可信,数据也就没有意义,那么这个系统也就没有任何价值可言。...阅读全文

博文 2017-02-09 06:00:24 chauncy

Golang学习笔记之方法(method)

如果对与结构体还有什么疑问的可以看一下Golang学习笔记之结构体 ⽅法总是绑定对象实例,并隐式将实例作为第⼀实参 (receiver)。 • 只能为当前包内命名类型定义⽅法。 • 参数 receiver 可任意命名。如⽅法中未曾使⽤,可省略参数名。 • 参数 receiver 类型可以是 T 或 *T。基类型 T 不能是接⼝或指针。 • 不⽀持⽅法重载, receiver 只是参数签名的组成部分。 • 可⽤实例 value 或 pointer 调⽤全部⽅法,编译器⾃动转换。 • Go 不允许同名函数,但是同名方法可以定义在不同的类型上 • method和receiver必须在同一个包里定义 • 作为函数参数,值类型就是值类型,指针类型就是指针类型 • 方法有一个值类型和指针类型的接受者时,...阅读全文

博文 2018-12-06 19:34:54 学生黄哲

Darma Cash简介

基础DMC 是在XMR基础上整合树图、DDPOS 、智能合约、预言机、及时通信等技术的区块链项目。一、创新 1、 创新采用树图结构并结合POW + DDPOS 共识模型,保证了币分发的公平性,又能保证币流通的安全性。 通过引入树图协议,让DMC在去中心化且POW条件下实现高TPS和协议层杜绝双花;而DDPOS (不限制节点的去中心化委托权益证明)进一步加强了网络的安全性,树图结构+POW +DDPOS 三者的融合让DMC在性能、安全、去中心化三角中实现了最优解。2、 在XMR基础上原创基于Omni Layer协议的隐私TOKEN,具有比ERC20 更安全、可靠、且完美继承XMR 全部的隐私特性的优点。3、支持golang语言的DVM虚拟机DMC原创并集成了一个基于WASM 优化的轻量级、图灵...阅读全文

博文 2020-03-05 03:32:40 DarmaCash

一人耗时 2 年,收集 2000 多万数据,创建了一个提供免费翻译搜索的网站

> 作为小微开发者,难以支付高昂的翻译费用,在线翻译又难以满足精度,所以想通过复用高质量的翻译实例进行软件内容翻译,我花了两年时间收集了2000 多万条移动 app 的翻译数据,将它们做成了一个搜索网站,期望能帮助小微开发者以更低的成本更好的质量完成软件或者网页的国际化。 #### i18n 多语言语料搜索引擎 - 网址:[https://i18ns.com](https://i18ns.com/) - 功能:支持 11 国语言搜索,包括:中文、英文、西班牙文、葡萄牙文等语言。有一千多种语言数据,超 2000 多万条数据,免费提供搜索服务。 - 详细介绍: <https://i18ns.com/help.html> - 中文搜索地址:[http...阅读全文

golangxApi Manager-哆啦接口管理平台

#### XAPI MANAGER -专业实用的开源接口管理平台,为程序开发者提供一个灵活,方便,快捷的API管理工具,让API管理变的更加清晰、明朗。 基于golang开发的V3版本已上线,欢迎大家使用,也欢迎大家加入QQ交流群(623709829),< atarget="_blank" href="//shang.qq.com/wpa/qunwpa?idkey=d83394f78622527ea525d1d1bc5dca2e6aa8292ca2f05a04c46d172ac2180f29">xApi Manager阅读全文

C,Go,Rust,Nim 4语回文数大战!仅供娱乐参考!

联想笔记本 inter i7,2.4GHz,16G,win10 C语言(应该是全C,vs2015编译) #include #include #include bool ishuiwen(int n) { int sn = 0; sn = n; int tn = 0; while (sn != 0) { tn = tn * 10 + sn % 10; sn = sn / 10; } if (tn == n) return true; return false; } int hw1() { int tx = 0; int x = 0; for (x = 0; x <= 10000000; x++) { if (ishuiwen(x) == t...阅读全文

博文 2015-09-25 09:00:00 捍卫机密

cannot call pointer method on xxx literal 错误❌原因

因: 指针不能作为接收者, 需要需要定义变量来接送地址​type myTreeNode struct{ node *tree.TreeNode } func (mynode *myTreeNode) postOrader(){ if mynode==nil || mynode.node==nil{ return } //错误的写法 myTreeNode{mynode.node.Left}.postOrader() right := myTreeNode{mynode.node.Right}.postOrader() mynode.node.Print() //正确的写法 left := myTreeNode{mynode.node.Left} left.postOrader() right ...阅读全文

博文 2018-08-27 21:44:48 zhangyangbest

机器学习入门:概念原理及常用算法

课程介绍 本课程主要讲解机器学习的概念、原理和应用场景,以及机器学习的常用算法,比如有监督学习、无监督学习、线性回归等。 讲师介绍: 西亭,蚂蚁金服大规模机器学习高级算法专家 学习入口:[请点击这里](http://click.aliyun.com/m/27941/) 课程目标 掌握机器学习的概念、原理和算法 适合人群 大数据开发者 机器学习开发者 阿里云大学官网(阿里云大学 - 官方网站,云生态下的创新人才工场) ...阅读全文

语义导入版本控制

本文译自 Semantic Import Versioning, Go & Versioning 的第 3 部分, 版权@归原文所有. 如何将不兼容的更改部署到现有软件包 ? 这是任何包管理系统中的根本挑战和决断. 问题的答案决定了所产生的系统的复杂性, 它决定了如何轻松或难以使用包管理. (它还决定如何轻松或难以实现包管理, 但用户体验更重要.) 为了回答这个问题, 这篇文章首先介绍了 Go 的导入兼容性规则: 如果旧包和新包具有相同的导入路径, 新软件包必须向后兼容旧软件包. 我们从 Go 一开始就主张这个原则, 但我们没有给它一个名字或者这样一个直接的陈述. 导入兼容性规则大大简化了使用不兼容版本的软件包的体验. 当每个不同版本具有不同的导入路径时, 关于给定导入语句的预期语义没有歧义...阅读全文

mac 下 vim+golang 开发环境搭建

o语言在开发效率和运行效率中的优势让很多人青睐,所以有倾向打算转向go语言的开发。 下面介绍在Mac OS X中golang的开发环境配置。 1.安装brew brew是一个mac下的由ruby开发的包管理系统,其官网是http://brew.sh。你只要在你的终端中执行 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)” 便可将其安装完成。 安装完之后输入命令 brew update 即可获得更新并切换到速度最快的源上 2.安装go brew install go 3.安装分布式管理工具hg brew install hg 4.建立go的环境变量文件夹 cd $H...阅读全文

博文 2016-10-18 15:00:05 linspire

马士兵:从零到年薪百万,写给浮躁的程序员

做老师这么多年,最高兴的就是听到学生说:“老师,我找到工作了!” “老师,我又涨薪水了”。听到这些,我由衷的替他们感到高兴,与此同时,也有作为老师参与到他们的人生发展中的那种自豪。但是,更多的是那些刚刚入行的人,他们感受到最多的,是迷茫,是无助。“老师,我怎么这么倒霉,刚毕业就赶上互联网寒冬,听说京东裁员了,听说阿里关闭招聘了,听说腾讯提高标准了,听说头条通过率只有.....”,“老师,这条路我还走下去吗?”作为一个骨灰级的“老人”,所谓的寒冬,我已经经历过多次。和其他行业一样,IT业也有自己的浮浮沉沉,每当行业低谷期,一群群在十字路口徘徊的人哪,都在不停的问:“我到底该何去何从?”我能建议的,是沉下心来学习。八年前,简晓敏以大专生的身份入职阿里,前几天,他说:“老师,您知道吗,我终于翻越百...阅读全文

博文 2019-05-09 03:35:01 马士兵

如此,用dep获取私有库

如此,用dep获取私有库 介绍 dep是一个依赖管理工具。它需要1.9或更新的Golang版本才能编译 dep已经能够在生产环节安全使用,但还在官方的试验阶段,也就是还不在go tool中。但我想是迟早的事 :=) 指南和参考资料,请参阅文档 获取私有库 我们常用的git方式有两种,第一种是通过ssh,第二种是https 本文中我们以gitlab.com为案例,创建一个private的私有仓库 通过ssh方式 首先我们需要在本机上生成ssh-key,若没有生成过可右拐传送门 得到需要使用的ssh-key后,我们打开我们的gitlab.com,复制粘贴入我们的Settings -> SSH Keys中 添加成功后,我们直接在Gopkg.toml里配置好我们的参数 [[constraint]] ...阅读全文

博文 2018-03-01 00:40:52 EDDYCJY

关于golang编写的kafka客户端消费者创建的问题

本人刚刚接触go语言,在用go语言写kafka消费者的时候遇到了如下问题:panic: kafka server: Offset's topic has not yet been created.可以确定是有这个topic的,而且用kafka-console-consumer.sh也是可以正常消费。go语言代码如下: brokers := []string{"xxxxxxx:9092","xxxxxxx:9092","xxxxxxx:9092"} topics := []string{"test"} config := cluster.NewConfig() config.Consumer.Return.Errors = true config.Consumer.Offsets.Commit...阅读全文

博文 2018-11-05 17:06:44 Eric_Gao

PostgreSQL 管理工具Stolon

Stolon是一个cloud native的PostgreSQL高可用管理工具。它之所以是cloud native的是因为它可以在为容器内部的PostgreSQL提供高可用(Kubernetes 集成),而且还支持其他种类的基础设施(比如:cloud IaaS,旧风格的基础设施等) ![image](https://static.oschina.net/uploads/space/2017/0314/175929_Rxas_2903254.png)、 Stolon 是由3个部分组成的: keeper:他负责管理PostgreSQL的实例汇聚到由sentinel(s)提供的clusterview。 sentinel:it负责发现并且监控keeper,并且计算最理想的clustervie...阅读全文

【十问十答】对话Go语言开发团队

Go是谷歌推出的一门编程语言。熟悉Go语言的开发者都知道其弥补了C语言的不足并且保持了C的极简主义。使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程(使用Go语言的12个理由)。一些主流的项目包括Docker、Heroku's Force.com以及Cloud Foundry's (Go)Router都是基于Go语言编写而来。有人说,Go为云而生,也正是由于其拥有并发性的操作系统以及完美的架构,使其备受开发者的青睐。 本文摘译自dotGo,文中采访了Go语言的开发团队,一起来聆听大神们谈Go语言的依赖关系、语言设计及Android平台上的一些新特性。 译文如下: Go语言开发团队成员:Francesc Campoy Flores、Andrew Gerrand、Bra...阅读全文

博文 2014-10-21 10:59:34 mengyidan1988