全世界有多少 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 高级测试方式

原文地址:Advanced Testing in 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 语言周报【七月第 2 期】的更多相关文章

  1. GO 语言周报【七月第 1 期】

    TIOBE 七月排名 Go 进入前十 TIOBE 七月头条:Go 语言达到历史最高并进入前十.对于 Go 语言来说,这是一个里程碑时刻,我们可以更大胆地想象,它下一步的发展会达到怎样的高度.Go 是否 ...

  2. 七牛云赵之健:多维度融合赋能视频 AI 的实践

    6 月 30 日下午,赵之健在七牛架构师实践日第二十九期进行了<多维度融合赋能视频 AI 的实践>为题的实战分享. 
 作者简介: 
  赵之健,七牛人工智能实验室资深算法工程师, 七 ...

  3. TOP100summit 2017 七牛云许式伟:不用JAVA和C语言,我为什么坚持Go语言

    本文编辑:Cynthia 2009年,谷歌发布第二款开源编程语言,Go语言.8年过去了,很多初创公司早期使用Go进行开发,包括云计算巨头Docker.而Go语言在中国的普及程度还比不上JAVA和C语言 ...

  4. Go语言实战 - 网站性能优化第一弹“七牛云存储”

    由于用户纷纷反应山坡网的打开速度比较慢,所以两天前我们决定把服务器从linode迁移到阿里云. 整个迁移过程非常平滑,基本上一个小时就完成了.而且阿里云的配套设施提供的也很不错,运行状态监控什么的都有 ...

  5. 【UEditor】远程上传图片到【七牛云存储】

    杂谈:最近在玩一个第三方的微信开发平台,里面的图片都是上传到[七牛云存储]的,用了一下非常的好用,支持各种语言,SDK齐全.支持全分布式系统架构以及存储技术和数据加速,于是决定将网站的图片都存储到七牛 ...

  6. 厉害了,七牛云 CEO 来讲架构了!

    说起许式伟,你应该不陌生,他是七牛云的CEO,ECUG 社区发起人,国内 Go 语言圈的领军人物,曾就职于金山.盛大,有超过 10 年的搜索和分布式存储相关技术的研发经验. 他的个人经历颇为传奇,大学 ...

  7. 七牛云 X 英语流利说:教育 3.0 时代的智能突破

    美国当地时间 2018 年 9 月 27 日,国内领先的人工智能驱动的教育科技公司「英语流利说」正式挂牌纽交所,以其独创的教育 3.0 模式,成为中国「AI+ 教育」第一股. 教育 3.0 时代的智能 ...

  8. 成为七牛云 Contributor -如何贡献 logkit 代码

    logkit 是 Pandora 开源的一个通用的日志收集工具,可以将不同数据源的数据方便的发送到 Pandora 进行数据分析.除了基本的数据发送功能,logkit 还有容错.并发.监控.删除等功能 ...

  9. 七牛云图床和Markdown使用

    七牛云图床和Markdown使用 1.图床是什么? 图床一般是指储存图片的服务器,有国内和国外之分.国外的图床由于有空间距离等因素决定访问速度很慢影响图片显示速度.国内也分为单线空间.多线空间和cdn ...

随机推荐

  1. 关于发布WP 8.1应用信息不匹配问题的解决办法

    错误提示:   与此更新关联的程序包标识符与已上传程序包中的标识符不匹配: The package identity associated with this update doesn't match ...

  2. AJPFX关于Swing组件的总结

    默认布局管理器是流式布局(FlowLayout) 按钮的建立: jb1=new JButton("香蕉") 面板的建立:jp1=new JPanel(); 设置JFrame的标题: ...

  3. JVM内存区域参数配置

    转自:https://www.jianshu.com/p/5946c0a414b5 需要提前了解的知识点: JVM内存模型 JVM垃圾回收算法 下图是JVM内存区域划分的逻辑图   JVM内存区域逻辑 ...

  4. JD IPO address by liuqiangdong

    Ladies and gentlemen, Good evening.I'd rather use english, not mandarin.Because during the road show ...

  5. spring中junit 提示Failed to load ApplicationContext

    错误提示: 1:java.lang.IllegalStateException: Failed to load ApplicationContext 2:Error creating bean wit ...

  6. laravel学习笔记(三)

    模型传值 路由: Route::get('/posts/{post}','\App\Http\Controllers\PostController@show'); 方法: public functio ...

  7. ubuntu4.04服务器添加虚拟主机

    buntu 14.04配置虚拟主机   虚拟主机常用于在一个单独的IP地址上提供多个域名的网站服务.如果有人想在单个VPS的单个IP地址运行多个网站,这是非常有用的.在这个教程中,让我告诉你如何设置在 ...

  8. HDU 5391 Zball in Tina Town (打表,水)

    题意: Tina有一个球,它的名字叫zball.zball很神奇,它会每天变大.在第一天的时候,它会变大1倍.在第二天的时候,它会变大2倍.在第n天的时候,它会变大n倍.zball原来的体积是1.Ti ...

  9. 洛谷 P2894 [USACO08FEB]酒店Hotel

    题目描述 The cows are journeying north to Thunder Bay in Canada to gain cultural enrichment and enjoy a ...

  10. asp.net mvc 5 微信接入VB版 - 接入认证

    微信接入官方文档是php的,网上被抄好几遍的代码是c#的,就是没vb的.今天我把这个坑填了,做vb版的接入认证. 首先是照着开发文档把微信接入的模型写好.在Models文件夹新建一个Model Pub ...