推特开源项目。
blog
文章相关,tweet 推荐算法,描述了如何推荐个人的时间线。大致分三步:
- 从你 follow 的人中获得百分之五十的 Tweets,从你没 follow 的人中获得百分之五十的 Tweets。
- Rank,对这些 Tweets 进行排序,这就需要知道怎么样的 Tweets 是你最感兴趣的(如 何判断感兴趣呢?根据浏览行为?评论行为?因为我们看到很多引战的 Tweets,他推给很多人,很多博主还是故意引战的,比如问一些 vue vs react, 建政,这类文章也算是活跃度高的文章 )。
- filter。过滤安全条例的,过滤各种血腥暴力等等吧。过滤你看过的,过滤你 block mute 的。
数据库存储
关于大公司的,量大情况下的各种问题,数据库存储问题。如何在巨大数据量的情况在,还能保持高效的查询。是用 vitess 分片、副本,geo 等等。我从来没遇到过,没遇到这些规模,经典的计算机科学领域的问题咯。
硬件管理
硬件足够多,竟然也需要管理,他们的服务器,他们做监控,自动化修复等工作。
他们的很多开源项目都是 scala 语言,我不清楚这语言的优点。
开源项目中,star 最多的是一个 rpc 项目。不清楚为什么会有那么多 rpc 框架,
前几天看到 Joel Spolsky 博客,说程序员让编程变得困难,从始至终都是,他们只知道添加,而不知道删除。同一个作用的函数,随着时间的发展会变得越来越多。这让人们感到疑惑。因此他创立 stackoverflow,他解决了很多问题。
关于版本,如果是一个 app,升级新版本,我们可以直接把老入口直接删掉。为什么对于代码来讲,升级版本,为什么不可以直接把老函数删掉,我们为何要做那么多兼容呢?
Joel Spolsky 最近创建了一个新公司,Hash,这个公司,他要将我们平时的各种上网记录结构化,这些数据结构化之后,才能应用于 AI,才能是用 AI 为我们做预测。
总结:
- 推荐算法系统的实践
- scala 实践
- 大型系统解决方案,比如数据库、硬件管理、Hadoop 等