一个没有常识、活在自己世界中的中二病人(话痨)的自留地。

该频道不专注于 Daily 或 News,而是一个记录我当前关注和思考内容的地方。

1. 随机事项:每月为自己安排一些有趣的活动。(大概率🐦🤣
2. 同步内容:我会收集在其他平台上发布的内容。
3. 私人笔记:没经大脑的学习笔记以及一些个人随想。
4. ACG 内容:浓度高的部份还是挪到 另外一个频道 @tomoko_acg
5. 内容转发:在这个频道上转发的内容并不必然代表我个人的立场。
Node.js 纪录片感想(小抄)

1.
Ryan Dahl 创建 Node.js

当时流行的 Web 框架(如 Ruby on Rails)在处理高并发时效率不够高,特别是在处理 I/O 密集型任务时性能显得不足。虽然这些框架也支持异步 I/O,但用起来很别扭。

他也尝试过其他语言(如 Python、Lua、Haskell),但发现这些语言的运行时已经沉淀了多年,深受传统同步编程模型的限制,很难进行根本性的变革。

于是 Boy Meet Girl,算是终于让他看见了 Javascript 这个本身就在浏览器中天天需要处理异步场景的语言。(JavaScript 本身就依赖事件循环和异步操作来处理用户交互与网络请求。)

关键点是 easily build optimal server 以及 forcing them to only use async IO。也是 Node.js 的核心优势。

2.
Isaac Schlueter 加入 & npm 的诞生

这点倒是没什么好说的,pip 比它要早一点,08年 vs 10年。

想起我大二那年,被 pacman 什么都能下载给震撼住了。真的是,生在这种什么都有的年代真是被惯坏了。不过即使我在那个年代,也不会造出这样的轮子吧

3.
Joyent 买下 Node.js

这一阶段就是真的让 Node.js 成为一个企业级产品了,毕竟有公司去资助一批工程师去全职开发。

也是在这个阶段支持了 Windows,让用户量大大增加了。(通过实现 LibUV 库来处理 Windows 特有的 I/O 操作和事件循环,兼容了 linux 和 win 的操作)

4.
Ryan 退出 & 社区分裂

Ryan 在 Windows 版本出来之后就腻了,看来是那种喜欢写新功能而不想全天在修 BUG 的人?于是负责人从 Ryan -> Issac -> TJ Fontaine。

至于创始人离开之后,社区的贡献者自然就觉得给 Joyent 打白工非常无趣,于是就去 fork 了 io.js(确实,虽然 MySQL 是开源的,但谁会乐意无偿贡献代码给 Oracle 呢?)

5.
基金会成立

最后是双方妥协,Joyent 将 Node.js 的管理权交给了基金会, io.js 和 Node.js 最终合并。可喜可贺,可喜可贺。

不过这也是社区力量占主导才能强迫公司妥协,不然就变成现在的 MariaDB 了?

---

(仅仅是笔记,不一定对,需要勘误)
https://www.youtube.com/watch?v=LB8KwiiUGy0
#TIL #nodejs
这几天被 JS 的测试毒打了,几个 testcase 就能写一天,一开始是不知道如何 mock 对象的方法,后面是卡在了不知道如何用 vscode 来运行测试代码以及打断点。例如:

- 使用 sinon.stub 将对象的指定方法替换为自定义的函数。在运行时修改对象的方法指向,从而控制其行为
- vscode 的 launch 配置

此前开发主打一个狂野和粗暴。vscode 仅作编辑器、测试 API 用 curl 、dev 环境是 1:1 的线上环境、断点全靠自己 print 等等…… 而对于工作上的用到的技术,都是看简中圈子的 N 手资料。对于大而全的官方文档,总是巴不得能逃避就逃避,完全没有那种静下心来通读一遍的那种闲情。

这些官方文档粗略看一遍,很多很蠢的问题都能得到解答了。并且常常会有意想不到的惊喜,一些日常很难考虑到,但别人作为专家,方案可能就直接摆在这里了。

现在学还不晚吧? 要开始收集各种终极文档了。不过我也不敢说我能在这个周目解决这个问题。

#城市化进程 #TIL #Nodejs
 
 
Back to Top