TC39 Signals 提案[1]
一个早期提案:给 ECMAScript/JavaScript 带来一个新特性 signals,该提案从一系列流行的框架中引入了一些想法。提案解释 signals 是一种数据类型,它通过模拟状态单元和从其他状态/计算中派生的计算来实现单向数据流。状态和计算形成一个无环图,其中每个节点都有其他节点从其值派生状态(接收器)和/或为其值贡献状态(源)。
TC39 Signals 提案
1、Deno 1.42[2]
Deno 是有 Rust 编写的 Javascript 运行时环境,旨在提供更安全的运行环境,目前发布到了 1.42 版本。Deno 支持 引入 JSR 包,它类似于 npm 包,但是支持 TS类型、只支持 ESM模块,是npm包的一个超集。Deno v1.42提供了更健壮的依赖管理,包括 Deno 发布deno publish和 deno add命令,它们可以从 JSR 和 npm 发布和安装模块。
2、Babylon.js 7[3]
Babylon.js 旨在打造一款全球最强、最美、最简单、最开放的 web 渲染引擎,其 7.0 版本的发布带来了六项重大变更。
3、Node.js April 3 Security Releases
Node.js 18.x、20.x 和21.x 版本容易受到1个中等严重性问题[HTTP Request Smuggling via Content Length Obfuscation - (CVE-2024-27982) - (Medium)](https://nodejs.org/en/blog/vulnerability/april-2024-security-releases#http-request-smuggling-via-content-length-obfuscation---cve-2024-27982---medium "HTTP Request Smuggling via Content Length Obfuscation - (CVE-2024-27982) - (Medium)")和1个高严重性问题[Assertion failed in node::http2::Http2Session::~Http2Session() leads to HTTP/2 server crash (CVE-2024-27983) - (High)](https://nodejs.org/en/blog/vulnerability/april-2024-security-releases#assertion-failed-in-nodehttp2http2sessionhttp2session-leads-to-http2-server-crash-cve-2024-27983---high "Assertion failed in node::http2::Http2Session::~Http2Session() leads to HTTP/2 server crash (CVE-2024-27983) - (High)")的影响,上述安全问题分别在 18.20.1、20.12.1、21.7.2 版本修复。
Node.js April 3 Security Releases
4、Docusaurus 3.2[4]
Docusaurus 是一个将 markdown 转换为静态HTML网页的库,专注markdown编写即可构建个人知识库,支持使用 react组件来扩展网站样式和布局。其 3.2 版本优化了生产环境打包耗时,首次构建速度提升 30%,增加构建速度提升 60%。
5、gulp v5.0.0[5]
Gulp.js 是基于 Node.js 的自动化构建工具,其 5.0.0 版本更新了依赖的 Node.js 版本、默认流编码变更为UTF-8、对 glob 路径的标准化等内容。
JavaScript 引擎和 JavaScript 运行时之间的区别是什么?(英文)[6]
JavaScript 引擎和 JavaScript 运行时的关系,正如ECMAScript和JavaScript的关系,是相关的,但并不相同。
JavaScript 引擎实现 ECMA-262标准定义的 ECMAScript。ECMA-262定义了 JavaScript 的核心功能,对输入或输出没有任何支持。JavaScript 运行时是一个 ECMAScript 主机,它嵌入了一个 JavaScript 引擎,并为其增加了额外的输入和输出功能,以及运行时所需的任何其他功能。其他功能可能包括 Web 浏览器中的 DOM 或服务器端运行时中的文件系统访问。运行时没有义务遵循其他标准,并且能够根据需要定义自己的 API,这就是为什么 Node.js、 Deno 和 Bun 都有不同的文件系统 API。
The-Super-Tiny-Compiler[7](Star 27.3k、Fork 2.8k)
这是一个超简化 JavaScript 编译器示例,用不到1000行代码实现了现代编译器的主要部分的功能,通读代码将帮助您了解大多数编译器是如何工作的。
1、临时邮箱[8]
注册账号时,不想使用您的真实邮箱?可以使用这个网站提供的临时邮箱,不需要注册,邮箱持续24小时,比十分钟邮箱(10分钟)保持时间更长,可以任意设置邮箱名,随时更换邮箱。
2、无聊按钮[9]
当你感到无聊时,点击按钮,随机跳转一个奇思妙想的网站。
1、把玩CSS常量Infinity(英文)[10]
作者发现CSS常量Infinity,并尝试用在z-index、width、height、border-radius和动画上,实际上发现常量Infinity无穷大并不是真正的无穷大,取决于不同浏览器如何处理。
2、对 CSS ::backdrop 继承的更改(英文)[11]
::backdrop 是一项CSS实验中伪元素选择器,是在任何处于全屏模式的元素下的即刻渲染的盒子(并且在所有其他在堆中的层级更低的元素之上),比如说全屏播放视频元素下方的盒子。其由不继承任何元素改为:可从其原始元素继承任何可继承的属性。
对 CSS ::backdrop 继承的更改
CSS Animation 101[12]
《CSS 动画 101 指南》。这本书介绍了 CSS 的动画,涵盖了 CSS animation、transition 属性、如何制作复杂的动效,结合理论和实践课程。您将学习如何,以及为什么要将动画应用在您的网页
这里是松桑的前端后花园,目前坚持在写前端后花园周刊,专注前端基础领域,分享常见前端面试题、前端开源项目、工具库、前端最新动态,目前还一个前端菜鸟,和我一起打怪升级吧!这里是我精选的往期文章,希望对你有所帮助。
Node.js常用命令及学习资料
18个宝藏技术周刊,涵盖前端、产品、UX、AIGC、独立开发、科技(偷偷收藏)
为什么每个自媒体人都需要个人网站?(附十分钟快速建站教程)
我用 Nextjs 十分钟搭建了一个展示955公司网站
Gitbook 小书 - 快速创建你的个人专栏
参考资料
[1]TC39 Signals 提案:
https://eisenbergeffect.medium.com/a-tc39-proposal-for-signals-f0bedd37a335
[2]Deno 1.42: https://deno.com/blog/v1.42
[3]Babylon.js 7: https://www.babylonjs.com/
[4]Docusaurus 3.2: https://docusaurus.io/blog/releases/3.2
[5]gulp v5.0.0: https://github.com/gulpjs/gulp/releases/tag/v5.0.0
[6]JavaScript 引擎和 JavaScript 运行时之间的区别是什么?(英文):
https://humanwhocodes.com/blog/2024/03/javascript-engines-runtimes/
[7]The-Super-Tiny-Compiler: https://github.com/jamiebuilds/the-super-tiny-compiler
[8]临时邮箱: http://24mail.chacuo.net/
[9]无聊按钮:
https://www.boredbutton.com/
[10]把玩CSS常量Infinity(英文):
https://codersblock.com/blog/playing-with-infinity-in-css/?utm_source=fe-garden
[11]对 CSS ::backdrop 继承的更改(英文):
https://developer.chrome.com/blog/css-backdrop-inheritance?utm_source=fe-garden&hl=zh-cn
[12]CSS Animation 101: https://github.com/cssanimation/css-animation-101