感谢阅读 每周分享 ,我会把每周看过值得分享的内容记录在这里。

文章

图解 Go 内存分配器

这是之前推过的一篇文章的中译版。文将从内存的基本知识入手,到一般的内存分配器,进而延伸到 Go 内存分配器,对其进行全方位深层次的讲解。

图解 TCMalloc

TCMalloc 是 Google 开发的内存分配器,在不少项目中都有使用,例如在 Golang 中就使用了类似的算法进行内存分配。它具有现代化内存分配器的基本特征:对抗内存碎片、在多核处理器能够 scale。

[英文]使用Rust构建类似于Wireshark过滤器那样的执行引擎

Lex

Cloudflare公司开源的用于解析Wireshark过滤器语法,并将它们编译器为可执行的IR。该库用于该公司提供的防火墙服务规则解析,所以使用Wireshark的过滤器语法作为DSL。

解析语法一般有三种方式:

  • 使用状态机、正则等按字符进行解析
  • 使用解析器组合器,比如nom或combine这种工具
  • 完全自动化的生成器,可以根据提供的语法自动生成一个解析器,比如pest

但是该库并没有用nom或pest,而是选了第一种解析方式。并且在文章里给出了一些提升解析器性能的经验:

他们认为Rust标准库提供的字符串API完全够用。 使用IndexMap替换了HashMap来进一步提升了两倍性能。 使用trait对象动态分发和闭包来避免实现JIT而带来的一些问题。动态分发的执行效率出乎他们的意料。 选择使用Rust语言实现,对于支持WASM提供了巨大的方便。 该库已经用于Cloudflare公司的生产项目。

MySQL 大表优化方案

当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考其中的步骤来优化

Leaf:美团分布式ID生成服务开源

Leaf:美团分布式ID生成服务开源

Leaf是美团基础研发平台推出的一个分布式ID生成服务,名字取自德国哲学家、数学家莱布尼茨的一句话:“There are no two identical leaves in the world.”Leaf具备高可靠、低延迟、全局唯一等特点。目前已经广泛应用于美团金融、美团外卖、美团酒旅等多个部门。

百度的春晚战事

无论悲喜,反正每个中国人都为春晚辟出了一块“专属记忆”。而从2015年开始,中国人的春晚记忆里被点上了一颗“红痣”。那就是——总有一家顶尖互联网公司面带羞赧地走上舞台,给十几亿人发红包。2019年,央视春晚红包招标时间很晚,距离除夕只有一个多月的时间。巨头们都觉得凶险异常,百度却高高举手:我来!我来!所有吃瓜群众都侧目,这种“情商低”的状态,还真是百度的风格。。。接下来中哥就告诉你,2019年2月4日除夕晚上,这片土地上究竟发生了什么。

虽难,但产业互联网的量,远大于消费互联网

过去几年,在互联网大军的强势竞争下,传统产业似乎遇到了很大的困境。然而,到了2018年,互联网人却纷纷曝出进军传统产业,一场由技术革新带来的变化可能正在颠覆你的认知。产业数字化栏目第一期《小镇:我们已经不一样了 》,我们一起走进小镇感受了那个越来越多企业同台竞逐的产业江湖。今天,我们继续探讨传统产业与互联网如何通过数字化实现平等对话、融合。

2019年,全球十大突破性技术

自 2001 年起,《麻省理工科技评论》每年都会评选出当年的“十大突破性技术”,这份在全球科技领域举足轻重的榜单曾精准预测了脑机接口、智能手表、癌症基因疗法、深度学习等诸多热门技术的崛起。

资源

awesome-compilers

编译器、解释器和运行时环境相关领域的学习资料、工具、框架、平台、技术和源代码项目资源大全新版。

【熟肉】Flutter 快速入门

Flutter 快速入门(从油管搬运到B站的),帮助开发者快速了解 Flutter,学起 Flutter 基本用法。 由于该教程发布时间较早,期间 Flutter 版本进行了多次更新迭代,所以在一些语法上会存在一些小区别,从个人的实践经验来看,区别并不大

工具

Motirx

Motirx

Motirx 是一款全能的下载工具,支持下载 HTTP、FTP、BT、磁力链、百度网盘等资源。

snapdrop.net

snapdrop

通过浏览器分享本地文件——灵感来自于苹果的 Airdrop

每日一图

一名登山者在喜马拉雅山脉的18,000英尺高的地方收拾营地,背景中耸立的则是世界第八高的马纳斯鲁山。

人是沟通的动物。他不仅依赖于食物,也同样依赖于新闻、信息和娱乐。

本文会同步更新到公众号(程序员私塾)中,欢迎订阅。