七牛云 GO 语言周报【七月第 2 期】

全世界有多少 Gopher?
上周的周报中,我们介绍了 Go 语言的排名已经进入到前十。那么世界上到底有多少 Gopher 呢?
作者列出了以下计算公式:
Gopher 数量 = 全世界的开发者数量 * 使用 Go 语言的软件占所有软件的比例
原文地址:https://research.swtch.com/gophercount
Go1.9 有哪些值得关注的变化
还有不到一个月,Go 1.9版本也要正式发布了(计划 8 月份发布),当前 Go 1.9 的最新版本是 go1.9 beta2,本篇的实验环境也是基于该版本的,估计与最终 go 1.9 版本不会有太大差异了。在今年的 GopherChina 大会上,作者曾提到:Go 已经演进到1.9,接下来是 Go 1.10 还是 Go 2? 现在答案已经揭晓:Go 1.10。
言归正传,我们还是来看看 Go 1.9 究竟有哪些值得我们关注的变化。

原文地址:Go 1.9中值得关注的几个变化
Go 窃取算法的调度器
Go 调度器的功能是分配多个 OS 线程,使其在一个或多个处理器上运行时能顺利使用 goroutine。 在多线程运算调度过程中,工作分享和工作窃取往往同时发生。从 Go 1.1 开始,Golang 核心开发者 Dmitry Vyukov 就已经上传了 Go 工作窃取算法的调度器。本文将进一步深度解释 Go 工作窃取算法调度器的原理,以及如何用 Go 语言实现调度器的功能。

原文地址:Go's work-stealing scheduler
Go 高级测试方式
本文作者 Mitchell Hashimoto ,是美国数据中心管理技术研发公司 HashiCorp 的联合创始人之一。他开发了 Vagrant, Packer, Terraform, Consul, Vault 等一系列实用的开发工具。
从 Go 1.0 开始,Mitchell就开始使用 Go 语言编程,逐渐地,他开始着迷于自动化的实现。作为 O’Reilly 的作者之一,他在 GitHub 上成为了拥有无数粉丝的核心用户。在 HashiCorp 公司的业务中,Go 语言无处不在,并在过去 5 年中成为了第一语言。
Mitchell Hashimoto 在本文中讲解了 Go 高级测试方式

Go 1.9 sync.Map 揭秘
在 Go 1.6 之前, 内置的 map 类型是部分 goroutine 安全的,并发的读没有问题,并发的写可能有问题。自 go 1.6 之后, 并发地读写 map 会报错,这在一些知名的开源库中都存在这个问题,所以 go 1.9 之前的解决方案是额外绑定一个锁,封装成一个新的struct或者单独使用锁都可以。
本文带你深入到 sync.Map 的具体实现中,看看为了增加一个功能,代码是如何变的复杂的,以及作者在实现 sync.Map 的一些思想。

原文地址:Go 1.9 sync.Map揭秘
推荐阅读:
- 七牛云 Go 语言周报七月第 1 期
- 【彩蛋】Go 中国(ID: golangchina)精选文章《比特币、区块链和 Go 开发》
- 想要成为技术大牛?欢迎添加 微信:chenzj1114 勾搭牛小七,拉你进群聊 GO
七牛云 GO 语言周报【七月第 2 期】的更多相关文章
- GO 语言周报【七月第 1 期】
TIOBE 七月排名 Go 进入前十 TIOBE 七月头条:Go 语言达到历史最高并进入前十.对于 Go 语言来说,这是一个里程碑时刻,我们可以更大胆地想象,它下一步的发展会达到怎样的高度.Go 是否 ...
- 七牛云赵之健:多维度融合赋能视频 AI 的实践
6 月 30 日下午,赵之健在七牛架构师实践日第二十九期进行了<多维度融合赋能视频 AI 的实践>为题的实战分享. 作者简介: 赵之健,七牛人工智能实验室资深算法工程师, 七 ...
- TOP100summit 2017 七牛云许式伟:不用JAVA和C语言,我为什么坚持Go语言
本文编辑:Cynthia 2009年,谷歌发布第二款开源编程语言,Go语言.8年过去了,很多初创公司早期使用Go进行开发,包括云计算巨头Docker.而Go语言在中国的普及程度还比不上JAVA和C语言 ...
- Go语言实战 - 网站性能优化第一弹“七牛云存储”
由于用户纷纷反应山坡网的打开速度比较慢,所以两天前我们决定把服务器从linode迁移到阿里云. 整个迁移过程非常平滑,基本上一个小时就完成了.而且阿里云的配套设施提供的也很不错,运行状态监控什么的都有 ...
- 【UEditor】远程上传图片到【七牛云存储】
杂谈:最近在玩一个第三方的微信开发平台,里面的图片都是上传到[七牛云存储]的,用了一下非常的好用,支持各种语言,SDK齐全.支持全分布式系统架构以及存储技术和数据加速,于是决定将网站的图片都存储到七牛 ...
- 厉害了,七牛云 CEO 来讲架构了!
说起许式伟,你应该不陌生,他是七牛云的CEO,ECUG 社区发起人,国内 Go 语言圈的领军人物,曾就职于金山.盛大,有超过 10 年的搜索和分布式存储相关技术的研发经验. 他的个人经历颇为传奇,大学 ...
- 七牛云 X 英语流利说:教育 3.0 时代的智能突破
美国当地时间 2018 年 9 月 27 日,国内领先的人工智能驱动的教育科技公司「英语流利说」正式挂牌纽交所,以其独创的教育 3.0 模式,成为中国「AI+ 教育」第一股. 教育 3.0 时代的智能 ...
- 成为七牛云 Contributor -如何贡献 logkit 代码
logkit 是 Pandora 开源的一个通用的日志收集工具,可以将不同数据源的数据方便的发送到 Pandora 进行数据分析.除了基本的数据发送功能,logkit 还有容错.并发.监控.删除等功能 ...
- 七牛云图床和Markdown使用
七牛云图床和Markdown使用 1.图床是什么? 图床一般是指储存图片的服务器,有国内和国外之分.国外的图床由于有空间距离等因素决定访问速度很慢影响图片显示速度.国内也分为单线空间.多线空间和cdn ...
随机推荐
- 493 Reverse Pairs 翻转对
给定一个数组 nums ,如果 i < j 且 nums[i] > 2*nums[j] 我们就将 (i, j) 称作一个重要翻转对.你需要返回给定数组中的重要翻转对的数量.示例 1:输入: ...
- 为RecyclerView打造通用Adapter 让RecyclerView更加好用
原文出处: 张鸿洋 (Granker,@鸿洋_ ) 一.概述 记得好久以前针对ListView类控件写过一篇打造万能的ListView GridView 适配器,如今RecyclerView异军突起, ...
- SASS @mixin 遇到的坑
@mixin borderTop($size:1px,$type:solid,$color:red){ border-top:$size $type $color; } .border_top{ @i ...
- Python 版本对比
python2 与 python3可认为代码不通用,你也可以点击Python2.x与3.x版本区别来查看两者的不同 python3.6以上支持f-string,一种很方便的变量替换方式 高版本可能 ...
- 前端之HTML样式
<!doctype html> h5的文档声明 <html> 网页的根标签(根元素 html)--所有的代码都放置在此内 <head> <meta chars ...
- js dom node.children与node.childNodes区别
不同点:node.children不会取到节点下面的TextNode但是node.childNodes会取到 共同点:两者都是集合类数组,可以通过索引的方式取到值也可以用for循环遍历
- JVM补充一
一.为什么废弃永久代(PermGen) 2.1 官方说明 参照JEP122:http://openjdk.java.net/jeps/122,原文截取: Motivation This is part ...
- Linux上用mvn安装node.js
Linux上用mvn安装node.js 上一篇blog简略的讲了ubuntu系统的安装,接下来讲讲Ubuntu上的基于node.js的web开发环境的搭建. Node在快速构建网络服务有着极大的优势, ...
- layer设置弹出全屏
//弹出即全屏 var index = layer.open({ type: , content: 'http://www.layui.com', area: ['300px', '195px'], ...
- liunx 常用的命令
常用命令 ======================输入模式=================== Ctrl+d 向前缩进 Ctrl+t 向后缩进 =====================光标模式 ...