codedump的电报频道
4.43K subscribers
151 photos
4 videos
2 files
623 links
发布个人博客(主页 codedump.info)、想法、推荐等。RSS订阅地址:https://rsshub.app/telegram/channel/codedump_notes,过往汇总搜索可以到:https://app.shokichan.com/c/tg/codedump_notes。
Download Telegram
#数据库
《Let's build a distributed Postgres proof of concept》

https://notes.eatonphil.com/distributed-postgres.html
👍2
#项目
该项目意图回答“当你在浏览器中输入 google.com 并且按下回车之后发生了什么”这个问题,可能对面试会有一点帮助?

(我对这类问题的吐槽是,如果面试官非要从上到下每个细节都很清楚,不知道能不能接受面试者的反问,比如这个问题别只问到OS那一层了,问到机器码、汇编这一层面试官能不能自己解答出来?所以感觉这些问题挺没意思的。)

英文:https://github.com/alex/what-happens-when
中文:https://github.com/skyline75489/what-happens-when-zh_CN
👍5
#杂

非常完美的(倒)二叉树了:平衡、分布均匀。

https://twitter.com/MrAhmadAwais/status/1526722046037741572
#博客

周刊(第16期):图解ARIES论文(下)

引言:ARIES(Algorithm for Recovery and Isolation Exploiting Semantics的简称)是论文《ARIES: A Transaction Recovery Method Supporting Fine-Franularity Locking and Partial Rollbacks Using Write-Ahead Logging》中提到的一种存储引擎中数据恢复的算法。这篇论文可以说是存储引擎数据恢复领域必读的一篇论文,这两期的周刊就是对这篇论文的图解,这是其中的下篇。

博客:https://www.codedump.info/post/20220521-weekly-16/
公众号:https://mp.weixin.qq.com/s/LVcjbHoehkX1p1lUbVrrww
邮件订阅:https://www.getrevue.co/profile/lichuang
#存储
这两周的周刊花了两期介绍ARIES论文:

https://www.codedump.info/post/20220514-weekly-15/
https://www.codedump.info/post/20220521-weekly-16/

巧得很,就在昨晚发现这个前端展示ARIES原理的页面:
https://mwhittaker.github.io/aries/

项目的开源地址:
https://github.com/mwhittaker/aries

我觉得,结合我博客的论文解读,加上这个演示页面,对于理解这个算法很有帮助了。
👍1
#文章
xuanwo关于开源项目贡献相关的两篇文章。

《如何为开源项目撰写 RFC》

https://xuanwo.io/reports/2022-19/

《如何贡献复杂的项目》

https://xuanwo.io/reports/2022-18/
👍9
#文章
singularity创始人的这篇文章,解释了为何将项目从C++改成Rust,题目是《Building a Cloud Database from Scratch: Why We Moved from C++ to Rust》
https://singularity-data.com/blog/building-a-cloud-database-from-scratch-why-we-moved-from-cpp-to-rust/


到了Infoq的编辑手里,为了吸引眼球,题目就变成了《初创数据库公司的疯狂行为:删掉花7个月开发的27万行C++代码,用Rust全部重写一遍》
https://mp.weixin.qq.com/s/AZZ72kq_2eQeVClpAkAqwg

我想静静。

从我自己的经历来看,用C系写的软件,至少在内存错误的处理上是不如Rust的,预估也会比使用Rust会多更多的时间达到稳定。也不是S家一家出于这个原因使用Rust,PingCAP也是如此。所以这个更换在我看来还算及时和正确,见之前的周刊:
https://www.codedump.info/post/20220227-weekly-7/
👍2👏1😁1
#文章
《Let's build a distributed Postgres proof of concept》

https://notes.eatonphil.com/distributed-postgres.html
#其它
虎哥和来自TiDB的另外一位嘉宾,明天分享一下云原生数据库的设计:

https://mp.weixin.qq.com/s/RNrX48irBuQsBR5msSRTig

我之前的一个推:
“随着cloud成为新的基础设施,原来在OS上打造的infra(DB、DFS、MQ)会在新的CLOUD这一层再被打造一遍。

已知的有snowflake(db)、databend(db,开源,兼容mysql、CK协议)、juicefs(dfs),未来还会有更多。

环境变化了,物种对应的也会发生变化,甚至于原先的infra也要进化到cloud这一层上来工作了。”

在很多基础软件都会慢慢进化到必须有一个cloud版本的时候,不妨了解一下这些基础软件都是怎么在云上打造的。原推见:

https://twitter.com/lichuang/status/1526786255807201281
😁4
#杂
看了央视新闻的推送,才知道5.28是辛弃疾的诞辰,这里列出了一批辛弃疾的词来:

https://mp.weixin.qq.com/s/mEFCFKrYDKGwgqXUzYHmuQ

这才发现里面很多词都有听过,有点像现在一些很红的歌,多少都听过那么几句的。

比如:
“少年不识愁滋味”
“众里寻他千百度,蓦然回首,那人却在,灯火阑珊处”
“醉里挑灯看剑,梦回吹角连营”
“稻花香里说丰年,听取蛙声一片”
....

在为数不多知道他的诗词里,最喜欢的还是那句:“我见青山多妩媚,料青山见我应如是”。

另一位网友的总结:“我觉得他是宋词集大成者,既能写最喜小儿无赖,又能写沙场秋点兵,不滞于豪放或婉约,当真信手拈来。再加上他前承岳武穆,后接文天祥,这三人的精神都值得我敬佩”

https://twitter.com/frostming90/status/1530570915653754883
🥰7
#系统设计
好的系统设计面试应该是怎样的?原图来源见:

https://twitter.com/lidingchatroom/status/1530344260829970432
👍17
#杂
最近都在讨论教材问题,孔夫子网就顺势出了一篇文章回忆不同版本的教材。

https://mp.weixin.qq.com/s/oNignsnvGO8MM_LNw_mOUw

我当年的中学英语教材是这一套,不知道最后李磊和韩梅梅有没有走到一起?
👍6
#博客
《周刊(第17期):Read-Write Quorum System及在Raft中的实践》

引言:在Paxos、Raft这类一致性算法的描述里,经常会看到Majority、Quorum这两个词,在以前我以为都是表达“半数以上”的含义,最近才发现两者有不小的区别。本文介绍这两者的区别,以及在Raft中实践中的问题。有了Quorum的视角,能更好得理解一致性算法。

博客:https://www.codedump.info/post/20220528-weekly-17/
公众号:https://mp.weixin.qq.com/s/jsaPpEcuKmvNTesSQx9uQw
邮件订阅:https://www.getrevue.co/profile/lichuang
👍1
#杂
豆瓣上看到的一段话:

“#戴锦华谈论战#
我一生原则不多,其中一个重要的原则就是不参与论战。

一旦论战开始,你就以驳倒对方为目的,而当你以驳倒对方为目的的时候,你的所有观点都参照对方的观点而设置。成了它的某一种镜子。

第一我不喜欢以获胜为目的的讨论,第二我永远避免被我的敌手反过来定义。”


“避免被对手反过来定义”,这个视角倒是挺新鲜的。

https://www.douban.com/people/ourdookbook/status/3886453497/?_i=404910772q0918
👍10
#编程

作者从Json和YAML的两种格式的优缺点,展开的一系列讨论。其中讨论到的一个有意思的观点:

“看到有人说json的问题是写错一个逗号就报错,yaml就用户友好,随便搞。
跟你们讲,大约97%的情况下,尝试给错误的输入返回正确的结果是万恶之源。”

原推

进而,作者又做了一个总结:

“与“尝试给错误的输入返回正确的结果”有些类似的,“为低效的输入高效地返回结果”大家尽量别碰,比如编译器优化、数据库SQL优化,其特点是随着你做的越来越好,你得到的输入就会越来差,所以这是一条无尽之路。”

原推

我感觉“尝试给错误的输入返回正确的结果是万恶之源”,这个总结挺对的。从这个意义上来说,Erlang的“fail fast”设计哲学就挺好:既然都不知道怎么处理了,不如就报错退出,让用户自己来处理。
👍6👏3
👏25