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

ECUG Con 邀您共议服务端开发最深度实践

![](http://ww4.sinaimg.cn/mw1024/7bb2bde1gw1f061fokhgpj20o00dd40x.jpg ) ECUG 全称为 Effective Cloud User Group (实效云计算用户组),由七牛云 CEO 许式伟于 2007 年发起,集结了一批具有高端视角并仍醉心于技术本身的同仁,共同关注云计算前沿技术的最新成果和分布式开发、运维的最佳实践。在过去的八年中, ECUG 社区每年都会组织一场全国性的 ECUG Con 大会,期间众多技术大神纷纷参与,他们或许在大众技术会议已经鲜少露面,但会在 ECUG Con 畅谈心得,共同奉献一场半公开的高规格技术分享盛会。 ECUG Con 发展历程 ![](http://cdn.huo...阅读全文

做区块链开发,德方智链怎么样?

全称:德方智链科技(深圳)有限公司成立时间:2018年5月8日招聘岗位:区块链开发工程师薪资待遇:30-50k招聘需求: 岗位职责 1. 负责基于HyperLedger Fabric的金融产品的设计和研发 2. 开发基于区块链的资产交易金融平台和基础框架 3. 跟踪金融领域相关技术变化,并应用于实际研发产品中。 任职资格: 1. 8年以上互联网及金融应用开发经验,或相关的工作经历; 2. 有2年以上Hyperledger Fabric商用项目的实际开发经验 3. 精通Hyperledger Fabric 和 它的底层架构 4. 熟悉共识算法或一致性算法者,如PoW、PBFT、PoS、DPos、RPCA、Raft熟悉各种数据结构和算法,对密码学,安全协议和加密算法有研究; 5. 熟悉 Linu...阅读全文

博文 2018-06-29 19:34:40 区块链产品官

记一次golang gc优化过程

我们使用golang编写的线上服务,通常会设置一个golang runtime指标监控,包括goroutine num、gc num、gc pause 等等。最近的一次上线,发现 gc 相关的指标出现异常,gc num 和 gc pause 大幅升高。由于 golang 的 gc 是 stop the world 来做, gc 过多会抢占程序的正常执行时间,甚至影响对外提供的服务,因此暂停了上线,准备先把 gc 的问题修复下。 出问题时的 gc 监控如下: image.png 其中蓝色曲线表示 gc num,黄色曲线表示 gc pause(单位ms),两个指标都是30s的累计数据。可以看到每30s的pause达到了秒级别。 登录到线上机器,通过 go tool pprof --alloc_o...阅读全文

博文 2017-09-25 12:34:48 zippera

自学前端开发,一个网站,就够了!

李南江,网名极客江南,知播渔创始人(知播渔教育科技有限公司),不仅仅是名师,更是一个对开发技术甚为执着的程序员,对移动Web开发和Golang开发有着独到的见解和深入的研究,有着多年的前后端开发及教学经验, 对NativeApp、HybridApp、WebApp、区块链开发有着深入研究和独到的见解。除此之外,李老师专业知识夯实广博,授课风格幽默风趣,善于结合实例教学,受到众多学员的喜爱。 知播渔官网学习免费注册地址:https://www.it666.com/sales?fid=218 李南江,毕业于计算机科学与技术专业(211硕士),在校期间就潜心研究各种开发技术,大学没毕业的时候创办了德亿3G工作室,并与知名日企达成战略联盟,开发了多款海内外的热门应用,如IPCamera、云浏览器、智能...阅读全文

使用 Go(Golang)实现 OAuth2.0

2018 年 7 月 1 日 OAuth2 是一种身份验证协议,用于使用其他服务提供商来对应用程序中的用户进行身份验证和授权。 本文将介绍如何构建 Go 应用程序  来实现 OAuth2 协议。 > 如果您想查看代码,可以在[此处](https://github.com/sohamkamani/go-oauth-example) 查看 ## OAuth2 流程 在我们开始实现之前,让我们简要介绍一下 OAuth 协议。如果您曾经见过类似这样的对话框,那么您可能对 OAuth 的含义有所了解: ![gitlab 使用 GitHub OAuth](https://raw.githubusercontent.com/studygolang/gctt-images/master/implement...阅读全文

博文 2019-01-01 19:36:11 lovechuck

2015年web开发的预测。。go语言

本文中,我们将一同看看当今 Web 开发的发展趋势,给大家分享我对 2015 年及未来的一些看法、观察和预测。我从 2000 年就开始做 Web 技术方面的工作,而近几年主要是做云架构解决方案。作为一名 Web 开发者,我曾在 .Net、Node.js 和 Go 技术栈上开发 Web 应用和 Web 服务。最近,我将 Web 技术和开发趋势作为整体研究了一遍,在这里分享一下我的想法和观察结果。首先,让我分享一些我所观察到的可用性和体系结构目前的趋势。可用性的趋势如今,用户体验变得比以往更重要,响应式网页设计(RWD)也成为了网站必备的特性。RWD 能让最终用户在不同尺寸的设备上访问网站,包括手机和平板浏览器。有了 RWD 取代移动网站,我们便无需为移动用户单独开发额外的网站。特别是当我们需要...阅读全文

博文 2015-03-08 04:00:02 蘑蘑茶

图解Golang的GC算法

虽然Golang的GC自打一开始,就被人所诟病,但是经过这么多年的发展,Golang的GC已经改善了非常多,变得非常优秀了。以下是Golang GC算法的里程碑:v1.1 STWv1.3 Mark STW, Sweep 并行v1.5 三色标记法v1.8 hybrid write barrier经典的GC算法有三种: 引用计数(reference counting)、 标记-清扫(mark&sweep)、 复制收集(CopyandCollection)。Golang的GC算法主要是基于 标记-清扫(markandsweep)算法,并在此基础上做了改进。因此,在此主要介绍一下标记-清扫(mark and sweep)算法,关于引用计数(reference counting)和复制收集(copy ...阅读全文

博文 2019-03-12 13:13:13 互联网技术窝

go和node.js的对比

go: Golang的诞生有着很强的目的性,所以根基显得非常的沉稳,语言未来针对高性能,高并发的优化也更得心应手。更主要Golang可以切实的解决实际问题,并在内存与CPU使用上大幅优于node。为此,针对有大量请求的服务端,Golang是个不错的选择。 从大型工程的角度来说,go 是完爆 Node 的。性能,内存开销,静态类型,对异步的处理,异常的处理,可调试性,系统稳定度,工具链的成熟度,等等,都是 go 占优。 Go的目标是希望提升现有编程语言对程序库等依赖性(dependency)的管理,这些软件元素会被应用程序反复调用。由于存在并行编程模式,因此这一语言也被设计用来解决多处理器的任务。使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。 Node.js No...阅读全文

博文 2016-05-24 18:00:00 qizhiqq

golang 第三方包的使用总结

21天精品区块链课程免费学习,深入实战行家带路,助力开发者轻松玩转区块链! >>> golang 第三方包的安装的方法: 1. go get 安装 # 比如要安装 "github.com/gin-gonic/gin" $ go get github.com/gin-gonic/gin 注意:执行go get 命令需要先安装git命令,并配置git全局变量。 2. 源码包安装 由于国内网络问题,很多时候go get命令并不能安装,所以就需要手动下载源码包,然后拷贝到$GOPATH/sr/ 目录下 # 比如要安装"github.com/golang/protobuf/proto" # 去github.com/golang/protobuf下载源码包, # 拷贝到 $GOPATH/src/gith...阅读全文

博文 2018-09-01 14:33:04 科陆李明

在 Go 中使用 Websockets 和 Socket.IO

> 注 - 本教程是使用 Go 1.9 版和 [googollee/go-socket.io](https://github.com/googollee/go-socket.io) 编写的 Websockets 我觉得非常有趣,在应用程序之间通信中使用标准 RESTful API 方案之外,它为我们提供了一个替代选项。使用套接字,我们可以做到成千上万个不同客户端之间的实时通信,而不必让每分钟数十万个 RESTful API 调用来轰炸我们的服务器。 ## 视频教程 [https://www.youtube.com/watch?v=ycgCMOWPgiw](https://www.youtube.com/watch?v=ycgCMOWPgiw) ## 真实生活的例子 用例子明晰一下 Webso...阅读全文

博文 2019-04-17 22:33:28 yhyddr

Golang lint简易使用方法

根据作者的说法: Golint is a linter for Go source code. Golint differs from gofmt. Gofmt reformats Go source code, whereas golint prints out style mistakes. Golint differs from govet. Govet is concerned with correctness, whereas golint is concerned with coding style. Golint is in use at Google, and it seeks to match the accepted style of the open source Go...阅读全文

博文 2015-05-12 20:00:06 dandan.fs

Go 摆脱了 C,又惹上了 Java?

talks.golang.org 前几天放出了 PPT《Go in Go》和 《The State of Go》讲解最近 Go 的开发动态和成果: 随着 Go 1.5 版本的开发,现在整个系统都是使用 Go 编写的(有一小部分汇编) C 已经成为过去时了。 Go 1.5 计划在 8 月份发布,将会尝试支持 iOS。(Go 1.4 已经正式支持 Android) 4月份进行的 NYJavaSIG 聚会上 Go 团队的技术主管经理分享了《Go for Java Programmers》,为 Java 程序员提供的 Go 入门指南,正式向 Java 领域进军了吗? 视频地址:https://www.youtube.com/watch?v=_c_tQ6_3cCg PPT 地址:http://talk...阅读全文

博文 2015-05-29 18:53:00 oschina

阿里云栖大会展示中国计算力量 吸引全球2万开发者参与

10月14日-15日,阿里云2015云栖大会Computing Conference在杭州召开。大会吸引了来自全球约2万名开发者参加。阿里云及其合作伙伴在大会上发布了一系列新的云计算技术,200多家云上企业展示了量子计算、人工智能等前沿科技。 大会由杭州市政府和阿里巴巴集团联合主办,阿里云承办,共设置两个主论坛、约30场分论坛和3场开发者大赛。浙江省省长李强、阿里巴巴集团董事局主席马云出席大会并发表主题演讲。 作为中美技术差距最小的行业之一,中国的计算力量已全面参与到全球的竞争中。云栖大会则是中国计算力量的一次集中展示。作为中国最大的云计算服务平台,阿里云重塑了开发者获取计算资源的方式,帮助创新创业者面向全球提供服务。 创业进入“快消时代” 契合与“互联网、创新、创业...阅读全文

libgo 2.0发布

libgo 是一个使用 C++ 编写的协作式调度的stackful协程库, 同时也是一个强大的并行编程库。 设计之初是为高并发分布式Linux服务端程序开发提供底层框架支持,可以让链接进程序的同步的第三方库变为异步库,不影响逻辑的前提下提升其性能。 目前支持两个平台: Linux (GCC4.8+) Windows (Win7、Win8、Win10 x86 and x64 使用VS2013/2015编译) 使用libgo编写并行程序,即可以像golang一样开发迅速且逻辑简洁,又有C++原生的性能优势。 1.提供golang一般功能强大协程,基于corontine编写代码,可以以同步的方式编写简单的代码,同时获得异步的性能 2.支持海量协程, 创建100万个协程只需使用2GB内存 3.允许用...阅读全文

博文 2016-01-27 03:00:00 yyzybb

使用 Go 语言开发 Android 程序

环境配置 安装 Go 1.5 以上版本,具体安装步骤见官网 https://golang.org/doc/install 安装 gomobile https://godoc.org/golang.org/x/mobile/cmd/gomobile执行以下命令,安装过程中可能需要翻墙 go get -v golang.org/x/mobile/cmd/gomobile gomobile init -v 在安装过程中可能会发生以下问题 提示 unrecognized import path 错误,通常翻墙后可解决 提示 import path does not begin with hostname 错误,如果设置了 GOROOT 的话取消该设置 提示 $GOPATH not set 错误,检查...阅读全文

博文 2017-03-20 05:34:12 bookislife

Go--包引用介绍

最近在学习Go编程,本文简单的叙述如何在Go编程中使用包(包管理)。 和其他大多数语言一样,Go也存在包,并使用package关键字定义一个包。首先介绍在程序中如何引入包,引入包有以下几种方式: 1. 最简单的方式引入一个包的方式是直接引入包,例如: import "fmt" import "os" 2. 也可以通过下面的方式将包一块引入,并写在括号内: inport ( "fmt" "os" ) 通过上面的方式,可以引入系统包或第三方的包,下面重点介绍如何引入自定义的包和函数: 一般我们将主程序放在src的mian文件夹下(主程序中包含main函数,并将主程序的包名写为package main),将其他模块放在相应的文件夹下,例如下图所示 主函数在main.go文件中,主函数名也可以为其他...阅读全文

博文 2015-11-02 03:00:01 sunshiming

「百度网盘」限速破解,它有限速政策/我有破解对策

哈喽,我是小黑,你们好呀~今天给大家分享的是 Pan-light (百度网盘下载神器),众所周知,现在最常用的网盘就是百度网盘,但是天下苦百度网盘久矣!不过,小黑又发现了一款和百度网盘“对着干”的下载神器。它是由 GitHub 网站的一位开发大神制作的一款基于golang+Qt5开发的不限速百度网盘客户端,支持多账号登录、快捷导航、断点续传、速度控制、在线播放器等功能。(软件适用于Windows,下载方式在文末~)。亲测试用该软件无需安装,将小黑提供的压缩包解压后,双击pan light 应用程序,即可打开软件,小伙伴们可以把应用程序快捷方式发送到桌面,方便下次使用。 亮点一:高速下载选择你想要下载的文件,鼠标右键文件,可以看到有vip通道下载和直接下载,目前vip通道下载会出现问题,这是因...阅读全文

go程序调试总结

首先需要注意的是:golang1.3之后的版本,对于支持gdb调试存在很大的问题。产生这个问题的原因是,golang的runtime没有完整的被gdb支持。 最新比较完整支持gdb调试的版本是golang 1.2.2,但是也有个别问题存在。 为什么会出现以上种种问题,golang官网给出的解释是: GDB does not understand Go programs well. The stack management, threading, and runtime contain aspects that differ enough from the execution model GDB expects that they can confuse the debugger, even ...阅读全文

博文 2015-04-24 12:14:21 华子

geohash算法以及求最邻近区域的点-golang

geohash算法以及求最邻近区域的点, 对这两个算法封装成了golang package, 写LBS服务程序的时候有用。https://github.com/gansidui/geohashhttps://github.com/gansidui/nearest package main import ( "fmt" "github.com/gansidui/geohash" ) func main() { latitude := 39.92324 longitude := 116.3906 precision := 5 hash, box := geohash.Encode(latitude, longitude, precision) fmt.Println(hash) fmt.Prin...阅读全文

博文 2014-12-30 13:00:01 bluezwt

阿里云基础认证(ACA)考试大纲及学习资料与学习方法介绍

​阿里云基础认证(ACA)考试大纲及学习资料与学习方法介绍:阿里云基础认证介绍阿里云基础认证(ACA- Alibaba cloud Certification associate)是面向使用阿里云基础产品的专业技术认证,主要涉及阿里云的计算、存储、网络、安全类的核心产品。通过该技术认证可以有效证明该认证人员具备以下能力:具备IT、云计算及网络安全相关从业的基础知识能够根据企业的业务需求,基于阿里云的产品快速实现业务上云能够使用和操作阿里云的云服务器ECS、负载均衡SLB、对象存储OSS、云盾及云监控产品能够诊断基于阿里云基础产品构建的业务系统在运行中岀现的常见问题阿里云云计算助理工程师认证(ACA)报名入口阿里云大数据助理工程师认证(ACA)报名入口阿里云云安全助理工程师认证(ACA)报名入...阅读全文

Golang信号处理和优雅退出守护进程

Golang中的信号处理 信号类型 个平台的信号定义或许有些不同。下面列出了POSIX中定义的信号。 Linux 使用34-64信号用作实时系统中。 命令 man signal 提供了官方的信号介绍。 在POSIX.1-1990标准中定义的信号列表 信号 值 动作 说明 SIGHUP 1 Term 终端控制进程结束(终端连接断开) SIGINT 2 Term 用户发送INTR字符(Ctrl+C)触发 SIGQUIT 3 Core 用户发送QUIT字符(Ctrl+/)触发 SIGILL 4 Core 非法指令(程序错误、试图执行数据段、栈溢出等) SIGABRT 6 Core 调用abort函数触发 SIGFPE 8 Core 算术运行错误(浮点运算错误、除数为零等) SIGKILL 9 Te...阅读全文

博文 2017-06-20 12:07:01 水滴穿石

对golang的Channel初始化的有缓存与无缓存解释

首先编程的时候遇到疑问,输出跟我所想预想不一样,后来查到了golang社区的帖子,其中一篇帖子 :健哥大人 做出了一些解释。 我摘抄重点过来: 无缓冲的与有缓冲channel有着重大差别,那就是一个是同步的 一个是非同步的。 比如 c1:=make(chan int) 无缓冲 c2:=make(chan int,1) 有缓冲 c1<-1 无缓冲: 不仅仅是向 c1 通道放 1,而是一直要等有别的携程 <-c1 接手了这个参数,那么c1<-1才会继续下去,要不然就一直阻塞着。 有缓冲: c2<-1 则不会阻塞,因为缓冲大小是1(其实是缓冲大小为0),只有当放第二个值的时候,第一个还没被人拿走,这时候才会阻塞。 我对以上做一些解释,首先确实得承认channel有缓存与无缓存确实差别巨大,缓存为1...阅读全文

博文 2015-06-17 20:05:13 paladinosment

Go程序到底需不需要docker?

我是Go的粉丝,而且我也对容器感兴趣。容器可以使得代码更容易部署也更容易扩展。 但并不是所有Go程序员都使用容器。 在本文中,我将探讨一些真正应该考虑使用Go和容器的原因 - 然后我们来看一些容器根本不会增加任何好处的情况。首先,我们要确保我们都在相同的起点上。什么是容器对于使用这些容器的人来说,可能有许多不同的定义。对于许多人来说,尽管容器比Docker开源项目或Docker公司要久远得多,“容器”一词与Docker是同义词。如果您是容器的新使用者,Docker可能是您的最佳起点,其提供对开发人员友好的命令行支持,但依然还有其他可用的实现:Linux容器 - 容器实现,包括LXC和LXD来自CoreOS的rkt-pod-native容器引擎runc - 按OCI规范运行容器Windows容...阅读全文

博文 2017-04-25 03:07:32 方圆

坐标深圳南山区科技园 鲸打卡 求GO开发

职位诱惑: 周末双休,产品驱动,老板好,氛围好 有爱氛围,周末双休,老板人好,产品驱动 【公司介绍】 耀京科技是一家以“产品技术革新推动教育行业发展”为愿景的初创公司,旗下产品“鲸打卡”是一款为教育行业机构、老师打造的作业互动小程序,解决了在线教育中师生互动、提交点评作业的难题。上线仅一个月,已有付费客户几十家,并且拿到了教育行业资深投资人天使投资。 【岗位职责】 1、负责系统后台的功能研发,通过实战一步步熟悉系统与提高研发能力; 2、负责相应模块的功能设计与研发,提供restful风格的API接口; 【工作要求】 1、1年以上工作经验,计算机相关专业本科及以上学历; 2、对数据库、系统结构、数据结构等基础课程掌握较好; 3、熟练掌握g...阅读全文

ECUG Con 邀您共议服务端开发最深度实践

ECUG 全称为 Effective Cloud User Group (实效云计算用户组),由七牛云 CEO 许式伟于 2007 年发起,集结了一批具有高端视角并仍醉心于技术本身的同仁,共同关注云计算前沿技术的最新成果和分布式开发、运维的最佳实践。在过去的八年中, ECUG 社区每年都会组织一场全国性的 ECUG Con 大会,期间众多技术大神纷纷参与,他们或许在大众技术会议已经鲜少露面,但会在 ECUG Con 畅谈心得,共同奉献一场半公开的高规格技术分享盛会。 ECUG Con 发展历程 ECUG Con 2015 将于 2016 年 1 月 22 ~ 23 日在新疆大厦举行,作为具有重要意义的第十期聚会,我们落地北京,同时首次面向所有技术人群公开报名。本届大会仍然以交流云计算产业的最...阅读全文

博文 2017-02-09 08:10:45 七牛云

常见规则引擎技术

什么是业务规则?在需求里面我们往往把约束,完整性,校验,分支流等都可以算到业务规则里面。在规则引擎里面谈的业务规则重点是谈当满足什么样的条件的时候,需要执行什么样的操作。因此一个完整的业务规则包括了条件和触发操作两部分内容。而引擎是事物内部的重要的运行机制,规则引擎即重点是解决规则如何描述,如何执行,如何监控等一系列问题。 对于快速软件开发平台往往会包括两个方面的内容,一个是可重用性,一个是可配置性。对于公用组件,公用基础类库,公用算法等往往是增加了可重用性;而对于对象模型,权限模型,工作流模型,规则引擎则是解决平台的高可配置性。 权限模型实现了用户岗位,角色和权限调整可配置。工作流引擎实现了在流程出现变化的时候可以灵活配置。规则引擎将业务决策也从程序代码从抽离出来,实现规则变化也可以灵活配...阅读全文

博文 2017-11-29 02:51:42 it_man

大型互联网公司招 数据分析工程师 — 会 Go 优先考虑

北京大型互联网公司招 数据分析工程师,要求懂编程,目前项目有用Go写一些服务,因此会Go语言的优先考虑; 工作职责: 1. 完成数据模型的ETL实施,参与团队ETL流程的优化以及相关技术问题的解决 2. 设计大规模实时系统,实现数据采集、分析和检索 3. 建立数据仓库,DPM 职位要求: 1. 计算机相关专业大学本科及以上学历,有扎实的计算机基础 2. 精通常用数据结构和算法 3. 精通PHP,熟悉Java/Python/Go/C等语言中的一种或几种 4. 精通SQL,掌握MySQL,熟悉Redis和MongoDB等DB的一种或者多种 5. 熟练掌握Hadoop/MR、Storm、Spark或其它并行计算架构 6. 熟悉Linux...阅读全文

阿里双11狂欢幕后:打造世界级计算引擎

2015天猫双11全球狂欢节拉开帷幕,阿里巴巴的工程师们又忙碌了起来。在力保全球“剁手党”顺畅购物的同时,他们还将在双11验证多项开创性技术,对全世界展示阿里巴巴的整体技术实力。 阿里巴巴双11技术总指挥刘振飞表示:“双11不仅是一场全球消费者的狂欢,也是对中国互联网技术体系的实力检验。一下子几千万人涌进来买买买, 这种真实的商业场景全世界一年也只有一次。阿里技术人能够用世界级的技术创新,支撑世界级的经济现象,是非常幸运的。” 异地多活:给1000公里外的飞机换引擎 去年双11,阿里巴巴在全球首创交易系统“异地双活”,而今年有了更大的突破:在支付宝这样高度复杂与严谨的金融系统中,实现1000公里以上的“异地多活”能力。 “异地多活”已经超越了两地三...阅读全文

GO语言LiteIDE的安装使用

这里以Windows7 64位为例,如果是32位环境需安装对应版本程序。 一、安装golang1.2.21.3及1.3.1编译生成的二进制文件,无法使用LiteIDE23.2携带的gdb7.7进行调试。二、安装及配置LiteIDE将liteidex23.2.windows.7z解压到D:\即完成安装。 2.1 设置编辑环境因为是64位环境,所以选择“win64”。查看->编辑环境变量,确认GOROOT变量与GO安装路径一致。 2.2 添加GOPATH查看->管理GOPATH...,创建新目录E:\Code_Repository\golang,并添加到“自定义目录”。2.3 新建项目选择上一步添加的GOPATH,模板为Go1 Command Project编辑源代码,添加几行代码,包括变量声明...阅读全文

博文 2015-12-10 02:01:30 u011225629

免费云服务器体验资源汇总

闲着无聊,特意汇总了下各大云计算厂商的免费体验活动,拿走不谢,记得给好评啊! 快云1元体验1个月云服务器 http://host.zzidc.com/ad.html 景安1元买一年主机 http://host.zzidc.com/tongji/vhost.html 阿里云免费体验馆 https://free.aliyun.com/ 尊云免费体验 http://www.zun.com/tiyan.html 金山云免费体验 https://activity.ksyun.com/1703/index.html 腾讯云免费体验 https://www.qcloud.com/act/free 华为云免费体验套餐 htt...阅读全文

滴滴出行内推 go研发工程师,大量坑位

#### 职位描述 1. 参与滴滴基础服务平台的设计、研发工作,提升滴滴产品稳定性; 2. 与产品经理尝试沟通产品需求; 3. 进行相关产品的技术文档编写,方案设计; 4. 学习研究业界先进技术,保持技术进步。 #### 任职要求 1. 本科及以上学历,计算机相关专业,两年以上服务端研发经验; 2. 深入理解计算机原理,有扎实的数据结构和算法基础; 3. 深入理解linux系统及其原理,熟悉TCP/IP、HTTP协议以及网络编程; 4. 良好的编码和文档习惯,对代码美感的追求孜孜不倦; 5. 精通Go/C/C++/Python等至少一门语言,有Go开发经验者优先; 6. 熟悉常用的sql、nosql数据库原理,阅读和理解优秀的开源系统代码; 7. 具有分布式系...阅读全文

golang 后端开发工程师(月薪20k~40k 按经验定薪资 坐标北京)

后端开发工程师(月薪20k~40k) 岗位职责: * 采用Go语言(Golang)开发稳健可扩展的后端程序; * 基于SOA架构,为各类项目需求设计架构,开发后端功能服务,同团队成员合作并积极提出建议和反馈; * 通过单元测试、自动化以及代码审查等提升优化代码质量; * 积极参与各种头脑风暴会议并对用到的技术、算法和产品功能提出意见和建议; * 同产品和设计团队协作,理解用户需求,归纳功能用例,并转化为高效的技术解决方案; * 重点及难点技术攻坚,并按时交付研究成果。 岗位要求: * 2-7年的实际项目开发经验; * 本科及以上学历,计算机相关专业,全面的计算机理论基础,综合能力较强者可降低学历要求; * 具备按时完成项目开发与交付的能力; * 工作认真负责有责...阅读全文

阿里云大学安全课程-阿里云首席安全研究员吴瀚清:WannaCry事件最“细思恐极“的一个事实是?

今天发生的一切,都说明我们做得还不够。但我相信总有一天,所有企业都只需要关注自己的业务,安全问题在云计算平台内部都已 经被解决。只有到那个时候,勒索病毒才会走向消亡。 ——阿里云首席安全研究员“道哥”吴翰清 2017年5月12日,WannaCry勒索病毒全球大爆发,该病毒至少波及150个国家、数十万用户,影响金融、能源、医疗、教育等众多领域,迄今已造成近百亿美元损失。这次事件除了打破人们对“内网隔离就安全”的迷信之外,更值得反思的是:我们未来应该如何做? 这一事件背后有哪些“细思恐极”的事情?未来互联网安全治理的方向是什么?来阿里云大学,听道哥面对面解读。点击下面的标题观 看课程: 【安全问道】系列:3分钟掌握一个互联网安全知识 课时1:吴翰清:Wann...阅读全文

Go 的依赖注入

过去几年里我一直使用 Java。最近,用 Go 建立了一个小项目,然而 Go 生态系统中依赖注入(DI)功能缺乏让我震惊。于是我决定尝试使用 Uber 的 [dig](https://github.com/uber-go/dig) 库来构建我的项目,期间感触颇深。 我发现 DI 帮助我解决了之前在 Go 应用程序中遇到的很多问题 - 过度使用 `init` 函数,滥用全局变量和复杂的应用程序设置等。 在这篇文章中,我将介绍 DI ,然后在使用 DI 框架(通过 `dig` 库)前后写一些例子做对比。 ## DI 的简要概述 依赖注入是指你的组件(通常在 Go 中是 struct )在创建时,就应该获取它们依赖关系的一种思想。这与那些组件在初始化过程中,就建立自身依赖关系的反关联模式不同 。我...阅读全文

博文 2018-09-15 18:00:58 polaris

互联网公司【招聘Go语言开发】【北京朝阳区大望路】【初、中、高级均可】

QQ:2022722910(Alice),简历投递邮箱:2022722910(Alice)。 Go语言开发工程师(初、中、高 2-4人) 岗位职责: 1、设计并开发公司基础平台服务相关系统,包括长连接服务、推送系统、消息队列等; 2、设计并实现核心业务逻辑; 3、对研发过程中的问题分析和总结,且不断通过技术革新、架构优化以提升研发效率 任职要求: 1、2年以上c/c++/golang经验(至少精通一门); 2、熟悉TCP/IP,Http,Https,UDP等网络协议; 3、熟悉主流Web框架,了解框架设计和实现原理 4、具有较强的学习能力、分析问题和解决问题能力、对技术有钻研精神和兴趣、有良好的业务意识; 补充说明:211、985 本科及以上 ,计算机...阅读全文

golang如何优雅处理退出

有时候我们想在Go程序中处理Signal信号,比如收到SIGTERM信号后优雅的关闭程序(参看下一节的应用)。Go信号通知机制可以通过往一个channel中发送os.Signal实现。首先我们创建一个os.Signal channel,然后使用signal.Notify注册要接收的信号。package main import "fmt" import "os" import "os/signal" import "syscall" func main() { // Go signal notification works by sending `os.Signal` // values on a channel. We'll create a channel to // receive th...阅读全文

博文 2016-10-08 14:00:02 e421083458

阿里云MaxCompute携手华大基因打造精准医疗应用云平台,十万基因组计算成本降低至1000美金以内

摘要:华大基因股份公司总监金鑫介绍了华大基因,并浅谈了与阿里云的情缘,包括Maxcompute等方面应用案例。一起来看下吧。 关于华大基因 华大基因是中国最领先的基因科技公司,华大基因为消除人类病痛、经济危机、国家灾难、濒危动物保护、缩小贫富差距等方面提供分子遗传层面的技术支持。 **原文地址:http://click.aliyun.com/m/43992/** 华大基因股份公司总监金鑫介绍了华大基因,并浅谈了与阿里云的情缘,包括Maxcompute等方面应用案例。一起来看下吧。 **关于华大基因** 华大基因是中国最领先的基因科技公司,华大基因为消除人类病痛、经济危机、国家灾难、濒危动物保护、缩小贫富差距等方面提供分子遗传层面的技术支持。目前,世界上只有两个国家...阅读全文

十年•杭研技术秀 | “网易云存储服务”从0到1发展之路

欢迎访问网易云社区,了解更多网易技术产品运营经验。2016年对于网易杭州研究院(以下简称“杭研”)而言是重要的 – 成立十周年之际,杭研正式推出了网易云。“十年•杭研技术秀”系列文章,由杭研研发团队倾情奉献,为您展示杭研那些有用、有趣的技术实践经验,涵盖云计算、大前端、信息安全、运维、QA、大数据、人工智能等领域,涉及前沿的分布式、容器、深度学习等技术。正是这些宝贵的实践经验,造就了今天高品质的网易云产品。本文的分享来自网易杭州研究院云计算平台产品部,翔实地描述了网易云存储系统从无到有以及一路披荆斩棘不断完善的历程。 一、从0诞生 2012年云计算在业界已经风起云涌,其为企业带来的价值为世界所认同,按需提供的计算、存储、网络等底层IaaS基础设施,以及丰富的PaaS和SaaS服务,为IT公司...阅读全文

博文 2018-11-23 01:34:43 yijian2595

Go基础学习记录之如何在Golang中使用Session

Session背后的基本原则是服务器维护每个客户端的信息,客户端依赖唯一的SessionID来访问此信息。当用户访问Web应用程序时,服务器将根据需要使用以下三个步骤创建新Session: 创建唯一的Session ID 打开数据存储空间:通常我们将Session保存在内存中,但如果系统意外中断,您将丢失所有Session数据。如果Web应用程序处理敏感数据(例如电子商务),这可能是一个非常严重的问题。为了解决此问题,您可以将Session数据保存在数据库或文件系统中。这使得数据持久性更加可靠,并且易于与其他应用程序共享,但需要权衡的是,读取和写入这些Session需要更多的服务器端IO。 将唯一SessionID发送到客户端。 这里的关键步骤是将唯一Session ID发送到客户端。在标准...阅读全文

博文 2018-10-26 22:34:42 DurbanZhang

十年•杭研技术秀 | “网易云存储服务”从0到1发展之路

本文由网易云 发布。网易杭州研究院(以下简称“杭研”) 成立十周年之际,杭研正式推出了网易云。“十年•杭研技术秀”系列文章,由杭研研发团队倾情奉献,为您展示杭研那些有用、有趣的技术实践经验,涵盖云计算、大前端、信息安全、运维、QA、大数据、人工智能等领域,涉及前沿的分布式、容器、深度学习等技术。正是这些宝贵的实践经验,造就了今天高品质的网易云产品。本文的分享来自网易杭州研究院云计算平台产品部,翔实地描述了网易云存储系统从无到有以及一路披荆斩棘不断完善的历程。一、从0诞生2012年云计算在业界已经风起云涌,其为企业带来的价值为世界所认同,按需提供的计算、存储、网络等底层IaaS基础设施,以及丰富的PaaS和SaaS服务,为IT公司产品的开发、运营和快速可持续发展提供了强有力的支撑。云计算犹如肥...阅读全文

博文 2018-07-25 17:35:06 网易云社区

优化网站性能必备的6种架构方案,你知道吗?

前言 一个成熟的大型网站(如淘宝、天猫、腾讯等)的系统架构并不是一开始设计时就具备完整的高性能、高可用、高伸缩等特性的,它是随着用户量的增加,业务功能的扩展逐渐演变完善的,在这个过程中,开发模式、技术架构、设计思想也发生了很大的变化,就连技术人员也从几个人发展到一个部门甚至一条产品线。所以成熟的系统架构是随着业务的扩展而逐步完善的,并不是一蹴而就;不同业务特征的系统,会有各自的侧重点,例如:淘宝,要解决海量的商品信息的搜索、下单、支付,例如腾讯,要解决数亿用户的实时消息传输,百度它要处理海量的搜索请求,他们都有各自的业务特性,系统架构也有所不同。尽管如此我们也可以从这些不同的网站背景下,找出其中共用优化的技术,这些优化技术和手段广泛运用在大型网站系统的架构中,下面让我们来认识这些优化性能的技...阅读全文

博文 2017-08-02 03:37:53 不思则罔_不学则殆

golang init函数

go语言中init函数用于包(package)的初始化,该函数是go语言的一个重要特性, 有下面的特征: 1 init函数是用于程序执行前做包的初始化的函数,比如初始化包里的变量等 2 每个包可以拥有多个init函数 3 包的每个源文件也可以拥有多个init函数 4 同一个包中多个init函数的执行顺序go语言没有明确的定义(说明) 5 不同包的init函数按照包导入的依赖关系决定该初始化函数的执行顺序 6 init函数不能被其他函数调用,而是在main函数执行之前,自动被调用 下面的两个go文件演示了: 1 一个package或者是go文件可以包含多个init函数, 2 init函数是在main函数之前执行的, 3 init函数被自动调用,不能在其他函数中调用,显式调用会报该函数未定义 g...阅读全文

博文 2018-12-05 12:34:42 stevenlife

golang 数组

声明数组 简单声明数组 //声明一个2个元素的数组,名字为shuzu1,因为是int型数组,所以初值为0,即[0,0] var shuzu1 [2]int //声明一个2个元素的数组,名字为shuzu2,并同时赋初值,{}里为空,说明没有赋初值,等同于上面 shuzu2 := [2]int{} 声明数组并同时赋初值 //声明一个2个元素的数组,名字为shuzu3, shuzu3_1, shuzu3_2,并同时赋初值,结果均为[1,2] shuzu3 := [2]int{1,2} //{}里的冒号左边是下标,右边是值 shuzu3_1 := [2]int{0:1,1:2} shuzu3_2 := [2]int{1:2,0:1} 声明数组并同时赋初值,并自动计算长度 //不指定数组长度,自动计算...阅读全文

golang日志处理

golang程序日志记录 package main import ( "flag" "fmt" "log" "os" "runtime" ) var ( logFileName = flag.String("log", "cServer.log", "Log file name") ) func main() { runtime.GOMAXPROCS(runtime.NumCPU()) flag.Parse() //set logfile Stdout logFile, logErr := os.OpenFile(*logFileName, os.O_CREATE|os.O_RDWR|os.O_APPEND, 0666) if logErr != nil { fmt.Println("Fai...阅读全文

博文 2014-10-04 19:26:52 liaojie

golang的协程原理

协程是应用层的线程。 应用层是相对于内核层而言,是操作系统的概念,对应的是cpu的运行级别。操作系统的核心代码运行的ring0级别,应用程序的代码运行在ring3级别。内核与应用层的级别设置保证了一些高权限的操作只有内核代码能做,应用程序要使用这些功能必须通过调用操作系统的API(linux上称为系统调用)来调用内核的代码。这个调用会导致cpu从ring3到ring0的上下文切换,这个切换是耗费一些cpu时间的。 线程是操作系统的内核对象,多线程编程时,如果线程数过多,就会导致频繁的上下文切换,这些cpu时间是一个额外的耗费。所以在一些高并发的网络服务器编程中,使用一个线程服务一个socket连接是很不明智的。于是操作系统提供了基于事件模式的异步编程模型。用少量的线程来服务大量的网络连接和I...阅读全文

博文 2017-03-15 15:00:43 徐学良