对话系统-101
今年 6 月底,由于工作需要,花了两周时间调研对话系统,并在公司内部做了一次调研报告。本文意在将此报告整理成文字版,算是对这段时间付出的一个交代。
今年 6 月底,由于工作需要,花了两周时间调研对话系统,并在公司内部做了一次调研报告。本文意在将此报告整理成文字版,算是对这段时间付出的一个交代。
因为之前在 Youtube 和 B 站上零星地看了一些 Trevor Noah 的 stand-up 和 Daily Show,加上最近在伴鱼 App 上与来自南非的老师学英语,我在大约四月中旬决定读一读「Born a Crime」这本书,书的内容本来并不多,但个人时间安排原因使得这个过程变得很长,直到昨天终于读完。
本文将调用链追踪系统的设计维度归结于以下 5 个:调用链数据模型、元数据结构、因果关系、采样策略以及数据可视化。我们可以把这 5 个维度当作一个分析框架,用它帮助我们在理论上解构市面上任意一个调用链追踪系统,在实践中根据使用场景进行技术选型和系统设计。如果你对调研相关系统很感兴趣,也欢迎参与到 Database of Tracing Systems 项目中,一起调研市面上的项目,建立起调用链追踪系统的数据库。
本文主要介绍一篇关于调用链追踪系统设计的论文。行文会尊从原论文的结构,但不是逐字翻译,以意译和加入个人理解的转述为主。
造一辆能跑在路上的车并非难事,但要这辆车能在各种路况、气候和突发事件下安全行驶,事情就不再简单。如果把写程序比喻成造车,构建程序的主要功能就是让车跑起来,而处理好错误就是让车安全地跑。错误是程序的重要组成部分,能否在程序中处理好错误决定了软件的质量上限。在这篇博客中,我将介绍个人在 Golang 项目中错误处理的思考。
最近在阅读 TiDB 源码 util/chunk package 的过程中,看到了 Apache Arrow 这个项目 (下文简称 Arrow):
1 | // Chunk stores multiple rows of data in Apache Arrow format. |
心里自然而然会产生疑问:为什么要使用这个项目规定的数据存储格式?于是在阅读完 TiDB 相关源码和单测后,顺便搜寻并浏览一些有趣的资料 (见文末参考部分),现在将这次调研的收获小结在这篇博客中。
最近因为工作的关系接触 ElasticSearch,发现搜索引擎也是计算机应用的一个有意思的分支。于是通过 Freiburg 的 Information Retrieval 公开课开始系统地了解信息检索这个领域,感觉收获颇丰。周末一时兴起,上 Google Research 找到了 Google 的开山之作,近距离地感受一下 19800+ 引用量、造就如今 Google 万亿市值的这篇文章。