七牛云 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 ...
随机推荐
- json字符串和字典类型的相互转换
在开发过程中,有时候需要将json字符串转为字典类型,反之亦然,通常采用.Net的开源类库Newtonsoft.Json进行序列化,这里我也是采用这个,不过我更喜欢写扩展方法方便在项目的调用. 首先新 ...
- Java断点续传(基于socket与RandomAccessFile的简单实现)
Java断点续传(基于socket与RandomAccessFile的简单实现) 这是一个简单的C/S架构,基本实现思路是将服务器注册至某个空闲端口用来监视并处理每个客户端的传输请求. 客户端先获得用 ...
- 在idea启动tomcat出现The JAVA_HOME environment variable is not defined correctly的解决
情况:某套代码是用jdk 1.6编译,然后电脑的JAVA_HOME系统变量配的是jdk1.7的,在tomcat启动时报错 The JAVA_HOME environment variable is n ...
- 【java基础】Java锁机制
在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类.介绍的内容如下: 公平锁/非公平锁 可重入锁 独享锁/共享锁(广义) 互斥锁/读写锁(独享锁/共享锁的实现) 乐观锁 ...
- RHEL6.4上Samba/NFS服务器简单配置
近期在RHEL6.4上尝试搭建一个NAS,底层使用XFS文件系统,对外主要提供samba协议和NFS协议共享,这里把主要步骤记录下来. 环境:RHEL6.4,IP:192.168.50.117 1.关 ...
- Linux 使用常见问题
1. 如何查看软件安装到什么位置 [Ubuntu] 今天安装了Lxc-docker,想看一下文件都安装到哪里了,首先找到这个包的ersion zhouh1@uhome:~$ dpkg -s lxc-d ...
- [Python筆記] 將 Pandas 的 Dataframe 寫入 Sqlite3
使用 pandas.io 寫入 Sqlite import sqlite3 as lite from pandas.io import sql import pandas as pd 依照 if_ex ...
- (转)Spring的三种实例化Bean的方式
http://blog.csdn.net/yerenyuan_pku/article/details/52832793 Spring提供了三种实例化Bean的方式. 使用类构造器实例化. <be ...
- axios 里面 then 默认写的function里面没有this,改成箭头函数后就可以用this了
,methods:{ loadJson:function(){ //this.jsonTest = "jjj" this.$http.get('http://localhost:3 ...
- 717. 1-bit and 2-bit Characters@python
We have two special characters. The first character can be represented by one bit 0. The second char ...