布隆过滤器简介

在日常写码中,我们经常能遇到判断一个元素是否在一个给定的集合中的需求。听起来这种问题很简单,用哈希集合就能轻松搞定,用 Python 表示的话,不难写出如下的代码, 并且我们知道在集合中查询的时间复杂度是常数级。然而,如果集合上了规模,我们就不得不考虑这样…

Read More »

记一次 Airflow 性能调优

本文基于运行在 Google Cloud Composer 上的 Airflow 1.10.15 。 TL;DR 复制一份参数计算表格,填入 Airflow 集群的配置,将最下方给出的参数结果应用到自己的集群上,稍等片刻。 问题产生 Airflow 用得久…

Read More »

我的 2020

谈笑风生又一年 又到一年年底了, 2020 对所有人来说都是不平凡的一年,从年初的美国刺杀苏莱曼尼、科比坠机,到年底的特朗普下台、中欧投资协定谈判的完成,贯穿其中的则是人类的公敌——新冠病毒。至于其他的事件诸如加州山火都是小事。 但既然题目叫『我的 202…

Read More »

八皇后问题

最近 Netflix 又出品了一部新剧,并在豆瓣上获得了 9.0 的高分,叫《后翼弃兵》。讲的是从小在孤儿院长大的主角拥有着不凡的国际象棋天赋,在她的天赋被发现挖掘之后一路走到了国际象棋世界冠军的故事。说到国际象棋,作为一名程序员,自然而然就想到了计算机的…

Read More »

调度场算法

调度场算法由 Edsger W. Dijkstra 发明,用于将中缀表达式转换成后缀表达式,即逆波兰表达式。写过程序的同行都了解,对于计算机来说,一个后缀表达式更容易被理解和计算,所以当处理我们看起来更习惯的中缀表达式时,例如 (3 + 4) * 5 – …

Read More »

将微博同步至 Twitter

本文需要一定的 Python 编程基础以及 AWS 使用经验。 因为同时拥有微博和推特账号,所以很多时候同一条内容既想发到两个平台上,又不想两个平台之间来回复制粘贴,之前尝试用 IFTTT 来做内容同步,即把一条新微博同步到推特上去,但效果不是很理想,比如…

Read More »

Bitcask 学习笔记

Bitcask 是 Basho 公司 设计研发的一款高性能键值数据库,基于日志文件的形式来管理数据,在设计文档中,他们声称实现了数据存储查询的『多快好省』,并且也有许多实践中的案例证明他们确实做到了这一点,例如,豆瓣自主研发的 BeansDB 也在很大程度…

Read More »

要成为野兽,首先要有经济基础

最近和家里领导一起刷完了日剧《无法成为野兽的我们》,作为社畜大军一员,这部剧的每一集都让我产生了无比大的触动。看这部电视剧,关注的重点不应该是剧里演出来的那一部分,而是没有说的部分。最后的结局看似喜剧,但每个人都无法逃离。 剧中唯一能被称之为『野兽』的大概…

Read More »

如何实现 git 命令行的联想功能

码农生涯离不开 git ,无论是编码开发,版本控制,还是持续集成,代码审查, git 无疑是有效跟踪项目进展的利器,而 git 命令行更是必不可少的工具。我之前也尝试过一些带界面的 git 工具,然而都没有命令行来的顺手,按钮太多,界面太复杂,反而容易搞不…

Read More »

利用最近的闲暇,重新上线了 MPAA 电影分级插件

两年前开发了一款名为《 MPAA 电影分级》的插件,但当时忙着跳槽,加上新公司的各种事情,需要快速上手并有所产出,一度非常忙碌,于是渐渐疏忽了插件的维护工作,后来觉得实在力不从心,每个月服务器又在烧钱,干脆关停了一阵子。最近因为疫情,加州全体居家搬砖,省出…

Read More »