codedump的电报频道
4.43K subscribers
151 photos
4 videos
2 files
622 links
发布个人博客(主页 codedump.info)、想法、推荐等。RSS订阅地址:https://rsshub.app/telegram/channel/codedump_notes,过往汇总搜索可以到:https://app.shokichan.com/c/tg/codedump_notes。
Download Telegram
#书

每年的4.23是世界读书日,推荐一本过去一年在精读的技术书《Types and Programming Languages》(简称TAPL)。

我与这本书的缘分是这样的:

最开始,想要看懂databend里面的表达式系统代码,看迟先生的类型体操系列文章《用 Rust 做类型体操》,发现看不懂。

于是请教了负责表达式系统的同事,给我推荐了TAPL这本书。

开始阅读TAPL,但是发现里面很多符号看不懂,需要补一些数理逻辑和Lambda演算的基础。

补习了上述基础之后,继续看TAPL,能看懂部分了。第一刷TAPL花了半年多的时间(包括补习基础的时间)。

现在又重新整理了一下之前做的笔记,也看了部分EOPL(全称“Essentials of Programming Languages”)的内容,开始第二刷。在完善了前面的基础之后,第二刷就流畅很多了。

这个过程中有如下的收获:
1、体验到了数理逻辑形式化的美感。做工程的时候,经常会做工程上的trade-off,但是在类型系统这里,一个类型能否转换为另一个类型,需要严谨的推导,可以就是可以,不行就是不行,不存在trade-off。我特别喜欢这种符号形式化、确定性的美感。
2、重拾了对PL的兴趣。我接下来会把EOPL和TAPL刷完,打算接着学习一下OCaml,再看看能不能给Rust贡献一些代码。
3、后面会学习抽象代数和范畴论,学习范畴论是为了更好理解PL里面的一些理论。
4、Rust最开始吸引我的是它的内存安全特性,现在除此以外,还有它强大的类型系统,强类型系统的语言写起来放心、方便很多。我后续可能不太能接受用非强类型的语言来做为主力编程语言了。

为了纪念这个学习的过程,我前两个月趁着JD搞活动,花重金(大几百人民币)买了一本TAPL原版书,五一之后就能送到了。
🫡29👍52
#开源项目
对后台服务进行测试时,经常需要模拟一些异常情况看服务在这些异常情况下的表现,比如网络分区、延迟、硬盘IO延迟等,可以使用chaos-mesh项目来搭建环境模拟这类测试,非常强大且有完善的异常场景可供选择。
#杂
来一点网络正能量吧,前两天在微博看到的知乎回答《有什么软件官方已经停更了或者公司已经倒闭了,但是你还在用并且觉得很好用的?》,故事的主角是中国著名黑客sunwear(人称“日娃”)。
👍54
#算法
从零开始 ICPC》(国际大学生程序设计竞赛,旧称ACM竞赛)。

作者jiangshibiao用之前寸的OI 知识图,根据自己的理解标上了难度和注释,给从零开始学 ACM 的同学参考。难度分为了 1,2,3三层。

熟练应用难度1,leetcode 周赛题应该能乱杀了。
熟练应用难度1和2,差不多能和队友混个 acm 金牌了。
熟练应用难度3,应该能单挑拿 acm 金/组队出线 WF 了。
😢5
#系统设计
#游戏服务端开发
由「上线」产生的思考 》,作者在完整参与了一款游戏项目之后的总结,小十年前,作者刚出道时写过另外一篇文章《游戏服务端究竟解决了什么问题? 》,也是非常好的游戏服务端开发文档。
🔥2
#数据库
第一个开源的大规模并行数据库突然 404,国内数仓市场或迎大变动

Greenplum关闭Github项目仓库的事情,好像没看到有太多讨论(如知乎、微博)。不知道未来Pivotal(中国)团队何去何从,有了解的可以来留言。
#开源项目
#sqlite
WCDB,微信基于sqlite实现的嵌入式数据库(各类微信终端上的聊天记录应该都是用这个数据库存储的),在sqlite基础上做了不少功能的增强。

五年沉淀,微信全平台终端数据库WCDB迎来重大升级!
🔥8🌚5👍1
#sqlite
SQLite的文艺复兴》,文章里更吸引我的是后半部分,讲解sqlite在很多不同领域的扩展。
👏101
#Rust
#播客
Ep 47. 和 Yuchen 聊聊 Cloudflare 的新框架 Pingora

我写Rust两年多,之前十几年积累的调试、定位C、C++内存错误的技能,完全没有用武之地了。

我丝毫不怀疑,未来会有越来越多基础软件的新项目,会使用满足“强类型+内存安全”特性的语言来编写,即便这门语言不是Rust,也会是其它满足这两个特性的语言来承担这些工作。
❤‍🔥8👍5
#数据库
数据库内核工程师必读论文清单 》:挺全的,一致性算法、存储引擎、执行器、优化器,都有涉及。
👍7
#数据库
多款OLAP数据库大比拼

文章中的结论:“从上面的粗浅测试来看, 开源的DuckDB和Databend非常值得关注”。