BytePower 技术周刊 - 015
文章
如何设计一个牛逼的 API 接口 ☞(中文)
在日常开发中,总会接触到各种接口。前后端数据传输接口,第三方业务平台接口。一个平台的前后端数据传输接口一般都会在内网环境下通信,而且会使用安全框架,所以安全性可以得到很好的保护。这篇文章重点讨论一下提供给第三方平台的业务接口应当如何设计?我们应该考虑哪些问题?
基于 Flink+ClickHouse 打造轻量级点击流实时数仓 ☞(中文)
Flink 和 ClickHouse 分别是实时计算和(近实时)OLAP 领域的翘楚,也是近些年非常火爆的开源框架,很多大厂都在将两者结合使用来构建各种用途的实时平台,效果很好。关于两者的优点就不再赘述,本文来简单介绍笔者团队在点击流实时数仓方面的一点实践经验。
一次近乎完美的 PostgreSQL 版本大升级实践 ☞(英文)
本文介绍了对 GitLab 上的 Postgres 集群进行版本大更新的过程,从 9.6 版本升级到 11 版本。升级全部在维护窗口内运行,没有丝毫差错;更新中所有涉及的内容、计划、测试,以及全流程自动化,全部进行拆包,只为实现一次近乎完美的 PostgreSQL 升级。
优秀程序员,如何提高架构能力? ☞(中文)
本文从多个角度阐述了成为一名有架构能力的优秀程序员应该怎么去调整思路和心态,刻意练习。
白话 Go 语言内存管理--内存分配原理 ☞(中文)
现代高级编程语言管理内存的方式分为两种:自动和手动,像 C、C++ 等编程语言使用手动管理内存的方式,工程师编写代码过程中需要主动申请或者释放内存;而 PHP、Java 和 Go 等语言使用自动的内存管理系统,有内存分配器和垃圾收集器来代为分配和回收内存。这篇文章会结合图示用每个人都能听懂的大白话解释清楚 Go 的内存分配原理。关于 Go 的内存分配在 Go 语言里,从内存的分配到不再使用后内存的回收等等这些内容。
用 4 个经典的设计模型,告诉你需求是怎么来的 ☞(中文)
本篇文章介绍设计前的任务,用方法论和项目流程结合,来解释需求是怎么来的。
工具和资源
Authing ☞
Authing 就是一个第三方登录的云服务,帮你搞定所有的登录和身份管理细节,特别为企业级应用量身定做。 它给自己的定位就是"身份云"(ID as a service,简称 IDaaS)。
playwright-python ☞
微软推出的浏览器自动化工具,特点是浏览器的控制脚本用 Python 来写。
漫游者的压缩知识指南 ☞
一个面向初学者的英文的简单教程,介绍数据压缩知识,了解压缩算法。
有趣的东西
1 分钟将 vscode 撸成小霸王 ☞
在 vscode 的扩展应用市场内搜索「小霸王」,你会打开一个旧世界……
wei.zhuo: 我就在外面看看,不进去。 10 seconds later wei.zhuo: 真香
遇到被骗、手机丢失等情况,你该如何保护个人财物及信息安全? ☞
上周我分享了一篇 一部手机失窃引发的战争 给大家,今天看看我们从手机的软硬件层面怎么应对这些情况。
美国科学家发现,菠菜可以充当燃料电池的催化剂。催化剂需要铁元素和氮元素的化合物,人工很难合成,但是菠菜却富含这两种元素,而且成本极低。