原文: Our Readers' Top Go Links of 2019。
匆匆又是一年。临近年关,让我们回顾一下Golang Weekly newsletter的数据。
Go新闻周讯吸引了2万九千个开发者阅读,让我们看看2019年他们点击量最多的文章。
原文: Our Readers' Top Go Links of 2019。
匆匆又是一年。临近年关,让我们回顾一下Golang Weekly newsletter的数据。
Go新闻周讯吸引了2万九千个开发者阅读,让我们看看2019年他们点击量最多的文章。
摘译自: Rust on Lambda, 其它参考: Cross-compiling a simple Rust web app、How to Cross-Compile from Mac to Linux on Rust、MUSL support for fully static binaries、Cross-compile and link a static binary on macOS for Linux with cargo and rust
目标是创建 x86_64-unknown-linux-musl 平台的应用程序,通过静态连接musl, 不再依赖glibc库。
这是一个关于Linux网络监控和调优系列文章的第二篇,详尽的介绍了网络知识的各个方面,得到了广泛的转发和称赞,也被翻译成了多个中文版。本文转载的是携程的ArthurChiao翻译的版本,翻译通顺,还很有心的加上了章节,更方便阅读。他还翻译很多有价值的文章,读者可以到他的网站上阅读。
英文原文: Monitoring and Tuning the Linux Networking Stack: Sending Data
这是一个关于Linux网络监控和调优系列文章的一篇,详尽的介绍了网络知识的各个方面,得到了广泛的转发和称赞,也被翻译成了多个中文版。本文转载的是携程的ArthurChiao翻译的版本,翻译通顺,还很有心的加上了章节,更方便阅读。他还翻译很多有价值的文章,读者可以到他的网站上阅读。
英文原文: Monitoring and Tuning the Linux Networking Stack: Receiving Data
中文翻译: [译] Linux 网络栈监控和调优:接收数据(2016)
这让我不禁想起前两年很火的话题: “当你在浏览器中访问一个网址的时候,背后发生了什么?”,有多种多样的回答,将细节掰的很细,但是我还没有看到一篇能将网络连接和传输介绍的像本文这么细的文章。
原文: How to Setup MySQL Master Master Replication by Andy Hayes。
MySQL 主-主 复制 (master master replication), 也叫做 mysql chained replication、multi master replication和mysql daisy chaining replication, 它是MySQL复制功能的扩展(普通复制功能见文章下半部分),允许创建多个主服务器,并且主服务器可以绑定多个从服务器。
本文介绍设置主-主复制的方法。
最近看到 yoko 翻译的一篇文章: [译] Go开源项目BigCache如何加速并发访问以及避免高额的GC开销, 翻译自 How BigCache avoids expensive GC cycles and speeds up concurrent access in Go, 应该是 Douglas Makey Mendez Molero 在阅读了 bigcache 的作者写的 bigcache设计文章Writing a very fast cache service with millions of entries in Go做的一些调研和总结。
我在刚读取这篇文档的时候,顺着连接把相关的文章都找出来细细读了一遍,结合bigcache的代码,仔细学习了相关的优化设计,感觉设计非常的精妙,所以特意根据自己的理解又总结了一篇。
bigcache的精妙的设计也吸引了fasthttp的作者Aliaksandr Valialkin,他在bigcache的基础上,结合自己的公司的使用场景,进一步的做了相应的优化, 也开源了这个项目fastcache, 本文在最后也做了介绍。
这是 Curtis Vermeeren 做的 Go模板技术的小抄,这是我非常喜欢的形式,可以以一个简短的总结把相关的技术介绍出来。 大家可以看我以前翻译的Go文件操作大全,也是统一风格的文章。我翻译了这篇文章,补充了遗漏的知识点。
Go标准库提供了几个package可以产生输出结果,而text/template 提供了基于模板输出文本内容的功能。html/template则是产生 安全的HTML格式的输出。这两个包使用相同的接口,但是我下面的例子主要面向HTML应用。
每周一个 rust 库的时间到了,今天要介绍的是matches库。
最近Patrick Walton分析了crates.io上的500个rust库,对这些库按照某个维度计算了分数进行排名,其中一个分数就是根据它的流行度和它的大小计算一个分数进行排名,用来挑选小而美的rust库,这些库可以移植到标准库中,或者可以汇总到一个大库中。这个指数叫做left-pad index, 这个排名文件可以在这里找到。
left-pad是2016年nodejs圈发生的一个非常著名的事件。left-pad是一个只有17行的npm代码库,却被很多的代码库所使用,包括 babel 这样的热门项目。作者 Azer 将其从npm删除后,所有直接或者间接依赖这个模块的 NPM 包就悲剧的挂掉了,影响广泛。 原因在于作者写了一个叫 kik 的工具和某个公司同名了,这天公司的律师要求其删掉这个模块,把 kik 这个名字“让”给他们,作者不答应,律师就直接找 NPM 了,而 NPM 未经作者同意就把包的权限转移给了这家公司。于是,Azer 一怒冲冠,将他所有的 NPM 包全部删掉了。
所以Patrick Walton分析了crates.io库,对于那些代码量很小但是全被广泛应用的库提出了讨论,这些库是不是应该移动到标准库中?
其中,排名第一的就是matches库。