#书
每年的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原版书,五一之后就能送到了。
每年的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👍5❤2
#开源项目
对后台服务进行测试时,经常需要模拟一些异常情况看服务在这些异常情况下的表现,比如网络分区、延迟、硬盘IO延迟等,可以使用chaos-mesh项目来搭建环境模拟这类测试,非常强大且有完善的异常场景可供选择。
对后台服务进行测试时,经常需要模拟一些异常情况看服务在这些异常情况下的表现,比如网络分区、延迟、硬盘IO延迟等,可以使用chaos-mesh项目来搭建环境模拟这类测试,非常强大且有完善的异常场景可供选择。
chaos-mesh.org
强大的混沌工程平台 | Chaos Mesh®
👍5❤4
#系统设计
#游戏服务端开发
《由「上线」产生的思考 》,作者在完整参与了一款游戏项目之后的总结,小十年前,作者刚出道时写过另外一篇文章《游戏服务端究竟解决了什么问题? 》,也是非常好的游戏服务端开发文档。
#游戏服务端开发
《由「上线」产生的思考 》,作者在完整参与了一款游戏项目之后的总结,小十年前,作者刚出道时写过另外一篇文章《游戏服务端究竟解决了什么问题? 》,也是非常好的游戏服务端开发文档。
🔥2
#数据库
《第一个开源的大规模并行数据库突然 404,国内数仓市场或迎大变动 》
Greenplum关闭Github项目仓库的事情,好像没看到有太多讨论(如知乎、微博)。不知道未来Pivotal(中国)团队何去何从,有了解的可以来留言。
《第一个开源的大规模并行数据库突然 404,国内数仓市场或迎大变动 》
Greenplum关闭Github项目仓库的事情,好像没看到有太多讨论(如知乎、微博)。不知道未来Pivotal(中国)团队何去何从,有了解的可以来留言。
#开源项目
#sqlite
WCDB,微信基于sqlite实现的嵌入式数据库(各类微信终端上的聊天记录应该都是用这个数据库存储的),在sqlite基础上做了不少功能的增强。
《五年沉淀,微信全平台终端数据库WCDB迎来重大升级! 》
#sqlite
WCDB,微信基于sqlite实现的嵌入式数据库(各类微信终端上的聊天记录应该都是用这个数据库存储的),在sqlite基础上做了不少功能的增强。
《五年沉淀,微信全平台终端数据库WCDB迎来重大升级! 》
GitHub
GitHub - Tencent/wcdb: WCDB is a cross-platform database framework developed by WeChat.
WCDB is a cross-platform database framework developed by WeChat. - Tencent/wcdb
🔥8🌚5👍1
#字体
#开源项目
#Latex
《思源字体背后的中国公司- 造福亿万国人,默默无闻 40 载,让中国字体走向世界》
对应知乎问题:《参与思源黑体项目的常州华文(Changzhou SinoType)是一家怎样的公司?》
BTW:我自己最近把浏览器、Latex使用的字体切换为开源的霞鹜文楷,目前感觉良好。
#开源项目
#Latex
《思源字体背后的中国公司- 造福亿万国人,默默无闻 40 载,让中国字体走向世界》
对应知乎问题:《参与思源黑体项目的常州华文(Changzhou SinoType)是一家怎样的公司?》
BTW:我自己最近把浏览器、Latex使用的字体切换为开源的霞鹜文楷,目前感觉良好。
👍10❤2
#Rust
#播客
《Ep 47. 和 Yuchen 聊聊 Cloudflare 的新框架 Pingora》
我写Rust两年多,之前十几年积累的调试、定位C、C++内存错误的技能,完全没有用武之地了。
我丝毫不怀疑,未来会有越来越多基础软件的新项目,会使用满足“强类型+内存安全”特性的语言来编写,即便这门语言不是Rust,也会是其它满足这两个特性的语言来承担这些工作。
#播客
《Ep 47. 和 Yuchen 聊聊 Cloudflare 的新框架 Pingora》
我写Rust两年多,之前十几年积累的调试、定位C、C++内存错误的技能,完全没有用武之地了。
我丝毫不怀疑,未来会有越来越多基础软件的新项目,会使用满足“强类型+内存安全”特性的语言来编写,即便这门语言不是Rust,也会是其它满足这两个特性的语言来承担这些工作。
捕蛇者说
Ep 47. 和 Yuchen 聊聊 Cloudflare 的新框架 Pingora
本期节目我们请到了继续和 Yuchen 聊聊 Cloudflare,以及他主导并开源网络框架 Pingora Pingora 是一个使用 Rust 开发的框架,可以让开发人员在上面实现自定义服务器。Pingora 的开发是基于 Cloudf...
❤🔥8👍5
#播客
#独立开发
《他飘了、碎了、开悟了,然后做出了付费榜第3 的AI 应用|对谈赵纯想》:写小说、当编剧、做产品经理、讲老子哲学,自学编程做出独立应用,对世界有强烈的表达欲,重要的是还有很强的动手能力。
#独立开发
《他飘了、碎了、开悟了,然后做出了付费榜第3 的AI 应用|对谈赵纯想》:写小说、当编剧、做产品经理、讲老子哲学,自学编程做出独立应用,对世界有强烈的表达欲,重要的是还有很强的动手能力。
Xiaoyuzhoufm
他飘了、碎了、开悟了,然后做出了付费榜第 3 的 AI 应用|对谈赵纯想:「胃之书」创始人
听《十字路口Crossing》上小宇宙。 AI 正在给各行各业带来改变,我们在「十字路口」关注变革与机会,寻找、访谈和凝聚 AI 时代的「积极行动者」,和他们一起,探索和拥抱新变化、新的可能性。
「十字路口」是乔布斯对苹果公司的一个比喻,形容它站在科技与人文的十字路口,伟大的产品往往诞生在这里。
「十字路口」是乔布斯对苹果公司的一个比喻,形容它站在科技与人文的十字路口,伟大的产品往往诞生在这里。
🤩2