#3 幸福的积分

Hi,您正在阅读的是《Codeep 半月刊》第 3 期,本期头图来源©虹线。在这张图中,横轴是时间,或者说是我们的年龄,纵轴是我们在每个时刻上的幸福值,受当时的经济因素影响但也有很多其他的影响要素。而我们一生的幸福总量,并非此时此刻我们所在的点,而是整条线段下方所覆盖的面积。
📍 学技术
JavaScript 可视化:Promise 执行
https://www.lydiahallie.com/blog/promise-execution
这是一篇带有图解和动画的文章,配以一个 8 分钟视频,深入介绍了 Promise 的工作方式以及其在后台的调度方式。鉴于 Promise 是 JavaScript 中异步函数的基础,对这些机制有一个良好的心智模型是很有用的。
📕 深阅读
幸福的积分
赤潮作者评论尸的年度年度叙事稿件,小 6 万字。
关于软件开发未来的思考
https://www.sheshbabu.com/posts/thoughts-on-the-future-of-software-development/
![]()
参考自动驾驶汽车提出的自动化水平分类,在 AI 驱动的软件开发中,我们也可以采用类似的分类方法,以评估 AI 在软件开发过程中的参与程度和自动化水平。
-
Level 0 (无 AI 参与):在这个阶段,工作中没有 AI 的参与。当然,我们有其他类型的自动化工具,提供代码补全、错误检测和代码建议等功能,但这些并不是 AI,而是人类编写的确定性自动化工具,这些工具可以帮助开发者提高效率,减少错误,但核心的开发工作仍然由人类完成。
-
Level 1 (辅助自动化):AI 工具开始辅助开发过程,例如开发人员通过使用 ChatGPT 或 GitHub Copilot 等工具来辅助工作,这些工具可以辅助开发人员编写测试、生成模板代码、进行重构、理解代码错误等。这就像是和一个能通过聊天提供帮助的开发人员交流,但是他们无法访问你的计算机,所以不能创建文件、执行构建命令或将软件部署到生产环境。
-
Level 2 (完全自动化):在这个阶段,AI 完全独立于人类,可以从头到尾自主完成软件开发的全过程。人类可以将项目的一部分或全部委托给“AI 编程师”,这些“AI 编程师”不仅能够编写和测试代码,还能够进行项目管理、需求分析和用户体验设计,并将最终产品部署到生产环境。
软件开发的核心在于管理复杂性,将业务问题从现实世界转化为数字模型。业务逻辑必须以准确无误的格式定义,这是编程语言的特点。即使未来的 AI 编程师能够根据对话指令生成软件产品,后台仍然需要一个正式的业务逻辑定义,这在本质上类似于“代码”。
总结来说,我相信在可预见的未来,软件开发人员仍将有其市场。即使 AI 在软件开发中能达到完全自动化的水平,依然需要开发人员进行监督。我们的工作性质将发生变化,使用的工具也可能与现在大相径庭。
✨新鲜货
Puter
https://github.com/HeyPuter/puter
![]()
Puter 是一个可以在浏览器中运行的互联网操作系统和桌面环境,拥有完整的操作系统桌面环境,它可以用于构建远程桌面环境,也可以作为云存储服务、远程服务器、Web 托管平台等的界面。
🍔 技术外
Node.js 起源故事
https://www.youtube.com/watch?v=LB8KwiiUGy0
![]()
Node.js 是开源的 JavaScript 运行环境,这是一部关于 Node.js 起源故事的纪录片 — 虽然时长一个小时,但这部纪录片特别详细地介绍了 Node.js 的历史。
早在 2008 年,大多数人都认为 JavaScript 只是一种客户端语言。但当 Google 的 V8 出现的时候,年轻的开发人员 Ryan Dahl 在非阻塞服务器、V8 和 JavaScript 之间建立了联系。也许 Ryan Dahl 选择 JavaScript 作为开发语言,只是因为 V8 的性能远超其他脚本语言,但是这却成为 Node.js 成功的重要因素。正是通过结合这些关键元素,他创建出了现在非常流行的 Node.js。
Ryan 在第一届 JSConf EU 进行了 Node.js 的展示后,Node.js 正式开始启动,很多人看到了这个演讲并参与其中。短短几年时间,Node.js 凭借 V8 的高性能֖和异步 I/O 将 JavaScript 推进服务端,而且性能还十分高效。
Node.js 是开源的项目,即使很多人使用,Ryan Dahl 也没有从中赚到钱。要想让一个开源项目走的更远,需要有人进行长期投入进行维护。而当时在硅谷有一家叫做 Joyent 的云计算服务公司,决定赞助 Ryan 来全职维护与更新 Node.js。
随着 Node.js 的迭代,Node.js 迎来一个新的里程碑,那就是支持在 Windows 操作系统运行。在 v0.6.0 版本发布时,Node.js 已经能直接在 Windows 上运行了。在支持 Windows 系统后,Node.js 的使用人数也迎来极大的增长。
在 Node.js 版本稳定后,激情被燃烧殆尽的 Ryan 决定把 Node.js 交接给 Issac(npm 作者),自己则转向一些研究项目。后来因为 Issac 要全心维护 npm,所以 Joyent 找來自家员工 TJ Fontaine 当 Node.js 的负责人。
但是社区和 Joyent 之间对于 Node.js 的发展出现了分歧,社群中开始酝酿出一个 fork 的版本 io.js,原先 Node.js 的核心开发者转向 io.js,这也许就是开源的美妙之处。
后来 Joyent 开始和社区和解,最终通过成立 Node.js 的基金会,让基金会来推进 Node.js 的发展,并持续到现在。
网页太臃肿严重影响浏览性能
https://danluu.com/slow-device/
![]()
Danluu.com 发布了一份长达 23 页的详尽分析/评论/宣言,内容涉及未优化的网页和 Web 应用程序性能的当前状态。通过测试多个流行网站在不同设备上的表现,发现仅加载网页甚至会使入门级设备陷入困境。
入门级智能手机 S8C 能以 40 FPS 的速度运行《绝地求生》手游,但却无法正常加载问答平台 Quora。作为 Web 开发者,更需要重视网站性能优化,并提高对低端设备用户的同理心,从而确保每个人都能公平地获取在线资源和服务。
本半月刊在本人博客首发,每月 15 号和月底更新,欢迎您关注、转发!
