#数据库
我司小伙伴的文章最近频繁上Hacker news热门区,这一次是 https://news.ycombinator.com/item?id=39176797
中文版:《当我谈查询优化器时,我谈些什么 (1)—— IR 设计》
英文版:《What I Talk About When I Talk About Query Optimizer (Part 1): IR Design》
我司小伙伴的文章最近频繁上Hacker news热门区,这一次是 https://news.ycombinator.com/item?id=39176797
中文版:《当我谈查询优化器时,我谈些什么 (1)—— IR 设计》
英文版:《What I Talk About When I Talk About Query Optimizer (Part 1): IR Design》
知乎专栏
当我谈查询优化器时,我谈些什么 (1)—— IR 设计
这几天和迟先生 (github@skyzh) 聊天时偶然聊到他最近在 CMU 做的 optd 项目(一个基于 Cascades 框架设计的查询优化器库),一起吐槽了各种数据库优化器的设计与实现。这时我突然意识到有些技术上的东西聊起来还…
👍11😁8❤1
#开源项目
#没啥用但是有趣
《generate.c:A random dungeon generator that fits on a business card 》:作者写了一个简单(但是混乱)的C程序,可以在命令行随机生成一个卡片式的迷宫。
作者还写了两本书:《Game Programming Patterns》和《Crafting Interpreters》。
#没啥用但是有趣
《generate.c:A random dungeon generator that fits on a business card 》:作者写了一个简单(但是混乱)的C程序,可以在命令行随机生成一个卡片式的迷宫。
作者还写了两本书:《Game Programming Patterns》和《Crafting Interpreters》。
Gist
A random dungeon generator that fits on a business card
A random dungeon generator that fits on a business card - generate.c
#纪录片
《何以中国》(B站,宣传片),偏考古向的纪录片,讲述史前到秦代文明的历史,追溯中华文明的根基、发源与早期形成和发展。由于这段历史很多部分是没有文字记载的,所以辅之以相应的考古发现,加上拟人化的场景还原。文本台词、摄影都很棒,制作很精美的历史纪录片,我感觉不输以前看过的《河西走廊》。
另外,夏朝的部分一笔带过,看来目前为止的考古发现还没有找到夏朝真实存在过的强有力证据。
《何以中国》(B站,宣传片),偏考古向的纪录片,讲述史前到秦代文明的历史,追溯中华文明的根基、发源与早期形成和发展。由于这段历史很多部分是没有文字记载的,所以辅之以相应的考古发现,加上拟人化的场景还原。文本台词、摄影都很棒,制作很精美的历史纪录片,我感觉不输以前看过的《河西走廊》。
另外,夏朝的部分一笔带过,看来目前为止的考古发现还没有找到夏朝真实存在过的强有力证据。
豆瓣
何以中国
纪录片依托中国百年考古的丰硕成果,以纵向时间为线索,追溯中华文明的根基、发源与早期形成和发展。纪录片由中国考古学泰斗严文明担任学术总顾问,近百位中国考古学家组成顾问专家团。
纪录片分《秦汉》、《摇篮》...
纪录片分《秦汉》、《摇篮》...
👍3👎2❤1
#独立开发
indie-hacker-tools:收录独立开发者出海技术栈和工具。对应的导航站点 :chuhai.tools
收录标准:
帮助独立开发者提升开发效率
帮助独立开发者降低成本
市场上足够流行
indie-hacker-tools:收录独立开发者出海技术栈和工具。对应的导航站点 :chuhai.tools
收录标准:
帮助独立开发者提升开发效率
帮助独立开发者降低成本
市场上足够流行
GitHub
GitHub - weijunext/indie-hacker-tools: 收录独立开发者出海技术栈和工具
收录独立开发者出海技术栈和工具. Contribute to weijunext/indie-hacker-tools development by creating an account on GitHub.
👍8
#方法论
现在特别喜欢工作里遇到不懂的问题,这意味着我当前的知识和问题之间,存在不少的gap点,我是这样“递归”来解决遇到的问题的:
1. 把遇到的问题一个个写下来,形成一个“问题列表”(list of problem),对问题的描述越具体越好;
2. 遍历第一步形成的“问题列表”,逐个解决。过程中记录、整理下来当前知识到解决这个问题之间,需要新增的知识点;
3. 第2步解决问题时如果同样遇到了问题,同样按照第一步的流程,把解决这个问题时遇到的子问题添加到“问题列表”里;
4. 重复以上三步,直到清空“问题列表”中的所有问题。
(附图中是这个流程的伪代码,但是不够准确,修改后的伪代码见评论)
四步下来之后,基本就完成了当前知识到问题之间,所有问题点的清理,以及新增知识点的整理。
知识点整理,需要落到具体的(文件)存储中,而不能仅仅局限于自己脑子里的“内存记忆”,而落到存储中需要有以下的要求:
* 条理化、结构化;
* 如果有可能,尽量增加图形化描述;
* 时常回顾,确保每次回顾都能看懂以前的表述,如果没有就修改或者润色。
整个流程的重点是:
* 把大的问题,划分成一个个的子问题,划分的标准是:是否能够解决这个子问题,如果不能就接着划分,让大的不能直接解决的问题“越具体越好”。
* 解决问题的过程中,把缺失的知识点整理补上,这样以后遇到类似的问题就能直接解决了。将原有的知识和新增的知识连接起来。
现在特别喜欢工作里遇到不懂的问题,这意味着我当前的知识和问题之间,存在不少的gap点,我是这样“递归”来解决遇到的问题的:
1. 把遇到的问题一个个写下来,形成一个“问题列表”(list of problem),对问题的描述越具体越好;
2. 遍历第一步形成的“问题列表”,逐个解决。过程中记录、整理下来当前知识到解决这个问题之间,需要新增的知识点;
3. 第2步解决问题时如果同样遇到了问题,同样按照第一步的流程,把解决这个问题时遇到的子问题添加到“问题列表”里;
4. 重复以上三步,直到清空“问题列表”中的所有问题。
(附图中是这个流程的伪代码,但是不够准确,修改后的伪代码见评论)
四步下来之后,基本就完成了当前知识到问题之间,所有问题点的清理,以及新增知识点的整理。
知识点整理,需要落到具体的(文件)存储中,而不能仅仅局限于自己脑子里的“内存记忆”,而落到存储中需要有以下的要求:
* 条理化、结构化;
* 如果有可能,尽量增加图形化描述;
* 时常回顾,确保每次回顾都能看懂以前的表述,如果没有就修改或者润色。
整个流程的重点是:
* 把大的问题,划分成一个个的子问题,划分的标准是:是否能够解决这个子问题,如果不能就接着划分,让大的不能直接解决的问题“越具体越好”。
* 解决问题的过程中,把缺失的知识点整理补上,这样以后遇到类似的问题就能直接解决了。将原有的知识和新增的知识连接起来。
👍24
#开源项目
去年Cloudflare在其官方博客介绍了使用Rust重写的代理层Pingora,如今这个项目开源了。不过跟我预想的有点不一样,看起来这个项目是一个库(library),而不是类似Nginx那样的独立二进制文件。
C\C++过往在互联网领域的主要阵地,就是写基础设施类(infrastructure)的软件,比如数据库、网关等类型的项目,互联网时代成长起来的经典基础软件Nginx、Redis都是这样的作品。我也曾经用C\C++写过多年基础设施,丝毫不怀疑这块阵地后面会更多被Rust侵蚀,尤其是新开的项目,会再选择用C\C++的会更少了。
去年Cloudflare在其官方博客介绍了使用Rust重写的代理层Pingora,如今这个项目开源了。不过跟我预想的有点不一样,看起来这个项目是一个库(library),而不是类似Nginx那样的独立二进制文件。
C\C++过往在互联网领域的主要阵地,就是写基础设施类(infrastructure)的软件,比如数据库、网关等类型的项目,互联网时代成长起来的经典基础软件Nginx、Redis都是这样的作品。我也曾经用C\C++写过多年基础设施,丝毫不怀疑这块阵地后面会更多被Rust侵蚀,尤其是新开的项目,会再选择用C\C++的会更少了。
GitHub
GitHub - cloudflare/pingora: A library for building fast, reliable and evolvable network services.
A library for building fast, reliable and evolvable network services. - cloudflare/pingora
❤2
#人工智能
#开源项目
#播客
“可能吧”博主阿禅是一位知名的中文博客和公众号作者和互联网创业者,去年他依靠ChatGPT,在只有不多的程序设计经验基础上开发了ipcheck这个产品,项目代码在GitHub开源,还曾经登上了热榜。
播客:《一年,用ChatGPT,阿禅从离职躺平到登上Github全球热榜》
文章:《那么,我是如何使用 ChatGPT 的?》
Github:MyIP
这是我目前为止看到为数不多的:利用新一代的人工智能工具,成功跨界开发落地产品的案例。
#开源项目
#播客
“可能吧”博主阿禅是一位知名的中文博客和公众号作者和互联网创业者,去年他依靠ChatGPT,在只有不多的程序设计经验基础上开发了ipcheck这个产品,项目代码在GitHub开源,还曾经登上了热榜。
播客:《一年,用ChatGPT,阿禅从离职躺平到登上Github全球热榜》
文章:《那么,我是如何使用 ChatGPT 的?》
Github:MyIP
这是我目前为止看到为数不多的:利用新一代的人工智能工具,成功跨界开发落地产品的案例。
Kenengba
可能吧
多人供稿的分享计算机技巧,关于互联网、搜索引擎,趣味信息以及心情随笔的原创博客。
👍11
#开源项目
ioredis是一款流行的NodeJS Redis客户端,前段时间被redis官方收购,github项目地址也从原先的github.com/luin/ioredis改成了https://github.com/redis/ioredis。
附图是作者在2年前在微博上庆祝自己写了七年的redis客户端成为Node.js 最流行的 Redis 客户端。换言之,从项目开始到被收购,前前后后有九年的时间,无心摘花却收获了丰厚的果实。
我最开始知道这位作者,也是因为一篇redis 客户端相关的文章《写一个开源的 macOS 程序可以赚多少钱?》。
ioredis是一款流行的NodeJS Redis客户端,前段时间被redis官方收购,github项目地址也从原先的github.com/luin/ioredis改成了https://github.com/redis/ioredis。
附图是作者在2年前在微博上庆祝自己写了七年的redis客户端成为Node.js 最流行的 Redis 客户端。换言之,从项目开始到被收购,前前后后有九年的时间,无心摘花却收获了丰厚的果实。
我最开始知道这位作者,也是因为一篇redis 客户端相关的文章《写一个开源的 macOS 程序可以赚多少钱?》。
🤔6🥴1
#开源项目
telegram的Mac原生版本的客户端,更新地非常频繁,在多次更新之后,不再在Channel的统计信息里显示被分享到其它公开频道的次数及频道信息。
还好telegram还有另一款开源的QT编写的客户端,这里面保留了这些统计信息。对比起原生客户端,UI体验稍微差一点,但是也可以忍受了。
telegram的Mac原生版本的客户端,更新地非常频繁,在多次更新之后,不再在Channel的统计信息里显示被分享到其它公开频道的次数及频道信息。
还好telegram还有另一款开源的QT编写的客户端,这里面保留了这些统计信息。对比起原生客户端,UI体验稍微差一点,但是也可以忍受了。
🥱3❤2