首页 文章 精选 留言 我的

精选列表

搜索[编写],共10000篇文章
优秀的个人博客,低调大师

Bun v1.0.3 发布,Zig 编写的 JavaScript 运行时

Bun 发布了其最新版本 v1.0.3,这是一个集 JavaScript 运行时、打包器、转译器和包管理器于一体的工具。这次的更新不仅修复了众多已知的问题,还引入了一系列令人期待的新功能。 首先,Bun 在这个版本中增加了对 TypeScript 的emitDecoratorMetadata的支持,这意味着开发者现在可以在 Bun 中无缝地使用 Nest.js 这样的框架。Nest.js 是 Node.js 生态系统中的一个受欢迎的框架,而 Bun 对其的支持无疑将进一步扩大其在开发者社区中的影响力。 此外,Bun 还引入了对module.parent的支持。这是 Node.js 中的一个特性,允许开发者确定一个模块是直接运行还是被另一个模块所需。这个功能的引入进一步增强了 Bun 与 Node.js 的兼容性。 在私有 npm 仓库的支持方面,Bun 也做了大量的工作。现在,它已经与 Azure Artifacts 和 JFrog Artifactory 这样的私有 npm 仓库实现了更好的兼容性。用户可以使用bunfig.toml文件来配置这些私有仓库,这为开发者提供了更大的灵活性。 值得一提的是,应广大用户的反馈,Bun 决定默认关闭[0.5ms] env loaded消息。这是一个小改动,但它反映了 Bun 对用户反馈的重视。 在与 Node.js 的兼容性方面,Bun 也做了大量的工作。这次的更新中,Bun 实现了console.Console构造函数,并修复了环境变量处理中的问题。这些改进都是为了确保 Bun 能够为开发者提供与 Node.js 一致的开发体验。 import { Console } from "console"; import { createWriteStream } from "fs"; const writer = new Console({ stdout: createWriteStream("log.txt") }); writer.log("hello"); writer.log("world", { x: 2 }); 此外,Bun 还修复了一系列已知的问题。其中包括request.json()中的一个问题,以及与bun pm rm cache命令相关的一个问题。这些修复都是为了确保 Bun 能够为开发者提供一个稳定和可靠的开发环境。

优秀的个人博客,低调大师

Bun v1.0.2 发布,Zig 编写的 JavaScript 运行时

Bun 上周发布了 1.0 正式版,标志着这个由前 Facebook 工程师创建的项目正式进入稳定生产可用阶段。 在过去的一周里,开发团队积极修复错误,现在已经发布了第 2 个补丁更新:Bun v1.0.2。 此版本修复了许多错误,以及提升bun --watch速度。 其他变化 修复 bunx @latest cache 错误 针对 Bun.serve(), node:stream, node:readline, node:tty, transpiller 的错误修复 修复 bun run 错误 修复 fastify 错误 Concurrent node:fs v8 date parser urlSearchParams.size, URL.canParse 详情

优秀的个人博客,低调大师

Gleam v0.29 发布,Rust 编写的函数式编程语言

Gleam 是一种类型安全且可扩展的编程语言,可用于 Erlang 虚拟机和 JavaScript 运行时。 最新发布的 0.29 包含以下变化: 改进语言服务器 (Language Server):支持自动补全 此版本为语言服务器带来了期待已久的功能的第一个版本:自动补全 (autocompletion)。为在当前模块中导入或定义的模块函数 (module functions)、类型和常量提供自动补全功能。 在未来的版本中,开发团队将继续完善自动补全功能,为本地定义的变量、记录字段等提供建议。 gleam run --module支持选择 target gleam run --module命令可用于从给定模块运行main函数,包括那些在依赖包中定义的模块。该命令有许多用途,例如,Web 框架可以使用它来提供代码生成: $ gleam run -m framework/generate user name:string age:int Gleam 支持两个编译 target:Erlang 和 JavaScript。每个 runtime 都有完全不同的并发和 IO 方法,因此设计用于在某个 runtime 运行的 Gleam 程序可能无法在不修改的情况下在另一个上运行。如果依赖模块打算在特定目标上运行而不是使用项目的默认值,那么您需要在运行命令时指定--target erlang或--target javascript。 在此版本中,将检测并自动设置依赖模块的预期目标,不再需要指定--target。 更精确的缓存失效策略 Gleam 代码编译速度非常快!一方面是因为编译器的性能,另一方面是因为它支持增量编译以避免编译不需要重新编译的代码。 以前,当添加或删除新的依赖项时,构建工具在决定需要从缓存中删除什么时会比较保守,从而删除依赖项的所有构建缓存。使用版本会更精确,只删除必须为新配置重建的依赖项的缓存。 改进标准库 详情查看发布公告。

优秀的个人博客,低调大师

Bun v0.6.0 发布,Zig 编写的 JavaScript 运行时

根据官方说法,Bun 0.6.0 版本是迄今为止 Bun 最大的一个更新版本。 最新版本的 Bun 现在有一个内置的 JavaScript 和 TypeScript 捆绑器和简化器,可以用它来捆绑前端应用程序或将你的代码捆绑成一个独立的可执行文件。 Bun 0.6.0 也一直在忙着提高性能和修复 bug:writeFile()在 Linux 上的速度提高了 20%、对Node.js 兼容性和 Web API 兼容性进行了大量的 bug 修复、支持 TypeScript 5.0 语法,并对bun install进行了各种修复。 新的 JavaScript bundler & minifier 这个版本的重点是 Bun 的新 JavaScript Bundler(捆绑器),但捆绑器只是一个更大项目的开始。在接下来的几个月里,Bun 将发布Bun.App—— 一个 "超级 API",将 Bun 的 native-speed 捆绑器、HTTP 服务器和文件系统路由缝合成一个整体。 可以使用bun build CLI 命令或新的Bun.build() JavaScript API 来使用。 JavaScript Bun.build({ entrypoints: ["./src/index.tsx"], outdir: "./build", minify: true, // ... }); CLI bun build ./src/index.tsx --outdir ./build --minify 独立的可执行文件 现在你可以用bun build来创建独立的可执行文件。 bun build --compile ./foo.ts 这让你可以将你的应用程序作为一个可执行文件发布,而不需要用户安装 Bun。 你也可以将其缩小,以提高大型应用程序的启动性能: bun build --minify --compile ./three.ts [32ms] minify -123 KB (estimate) [50ms] bundle 456 modules [107ms] compile three 这是由 Bun 的新 JavaScript 捆绑器和简化器提供的。 import.meta.main 现在你可以使用import.meta.main来检查当前文件是否是启动 Bun 的入口点。这对 CLI 很有用,可以确定当前文件是否是启动应用程序的。 例如,如果你有一个名为index.ts的文件: index.ts console.log(import.meta.main); 然后你运行它: $ bun ./index.ts true 但如果你导入它: import "./index.ts"; 并运行它: $ bun ./other.ts false 对bun test的改进 bun test现在报告运行测试的时间 describe.skip已经实现 实现了expect().toBeEven()和expect().toBeOdd() 在 Linux 上实现更快的 fs.writeFile fs.writeFile 在 Linux 上处理大文件的速度提高了 20% 转译器改进 这个版本还引入了许多对转译器的改进。以下是其中的一些亮点: 解析器支持 TypeScript 5.0。 解析器支持导入属性。 一些 npm 包出现了 ReferenceError: Cannot access uninitialized variable 的错误,这是由于 Bun 的转译器中存在循环导入的错误。这一点已被修复。 支持// @jsx、// @jsxImportSource和// @jsxFragment注释 …… 更多详情可查看:https://bun.sh/blog/bun-v0.6.0

优秀的个人博客,低调大师

Gleam v0.27 发布,Rust 编写的函数式编程语言

Gleam 是一种类型安全且可扩展的编程语言,可用于 Erlang 虚拟机和 JavaScript 运行时。 最新发布的 0.27 包含以下变化: 支持在use表达式(useexpressions)中使用模式 Gleamv0.25引入了use表达式,该功能有助于避免 Gleam 程序中的“回调地狱 (callback hell)”。它非常强大,可用于模拟其他语言中的许多功能,例如提前返回、列表推导 (list comprehensions)、async/await、monadic do 语法等等! pub fn handle(req: Request) -> Response { // Return an error for non-post requests use <- when(req.method != Post, return: method_not_allowed) // Parse the request body or return an error use json <- require_json_body(req) // Open a database connection, closing it when we're done use conn <- database.with_connection case database.insert(conn, json) { Ok(record) -> created_response(record) Error(err) -> bad_request_response(err) } } 表达式的一个限制use是模式不能用于它们的赋值,只能用于裸变量。这意味着您不能用它们解构元组或其他数据结构。从这个版本开始,表达式中现在支持模式use,以满足所有解构需求。 use #(first, second) <- some_tuple_function() 引入panic关键字 case this_should_never_fail() { Ok(value) -> continue(value) // Oh no! Something went horribly wrong! Error(_) -> panic } 优化断言 Gleam 的assert关键字用于确保数据匹配给定的模式,如果不匹配则程序崩溃。这很有用,但是用于assert此功能意味无法拥有assert与布尔表达式一起使用的功能,而这在其他语言中很常见。 为了解决这个问题,模式匹配功能已移至let assert语法。现有assert关键字已被弃用,稍后将用于更传统的断言功能,成为基于改进测试 Gleam 代码的人体工程学的更大 Gleam 里程碑的一部分。 let assert Ok(value) = this_should_never_fail() 详情查看发布公告。

优秀的个人博客,低调大师

Gleam v0.26 发布,Rust 编写的函数式编程语言

Gleam 是一种类型安全且可扩展的编程语言,可用于 Erlang 虚拟机和 JavaScript 运行时。 最近发布的 0.26 版本引入了增量编译。该项特性改进了构建工具,仅在必要的情况下编译所需模块,而不是整个包,从而显著提升 Gleam 编译器性能。 下面是官方提供的性能测试数据,参照对象上一个版本的 Gleam。 Erlang Benchmark 1: v0.25 Time (mean ± σ): 18.443 s ± 0.949 s [User: 18.458 s, System: 2.995 s] Range (min … max): 17.102 s … 19.968 s 10 runs Benchmark 2: v0.26 Time (mean ± σ): 140.8 ms ± 3.9 ms [User: 92.5 ms, System: 46.4 ms] Range (min … max): 138.0 ms … 156.1 ms 20 runs Summary 'v0.26' ran 130.99 ± 7.67 times faster than 'v0.25' JavaScript Benchmark 1: v0.25 Time (mean ± σ): 1.861 s ± 0.026 s [User: 1.543 s, System: 0.299 s] Range (min … max): 1.833 s … 1.927 s 10 runs Benchmark 2: v0.26 Time (mean ± σ): 145.3 ms ± 2.9 ms [User: 92.9 ms, System: 50.8 ms] Range (min … max): 141.4 ms … 154.3 ms 20 runs Summary 'v0.26' ran 12.81 ± 0.31 times faster than 'v0.25' Gleam 团队表示,下一步将继续改进编译器 IR 的效率、实现更精确的缓存失效策略、以及多线程编译。 此版本另一项值得关注的变化是支持在 Deno 运行时上运行。团队表示,Deno 在许多方面与 Node.js 相似,但它更符合 Web 标准 API,具有更好的安全性和流畅的开发者体验。 name = "my_project" version = "1.0.0" [javascript] runtime = "deno" 详情查看发布公告。

优秀的个人博客,低调大师

Gleam v0.25 发布,Rust 编写的函数式编程语言

Gleam 是一种类型安全且可扩展的编程语言,可用于 Erlang 虚拟机和 JavaScript 运行时。 最近发布的 0.25 版本引入了一项期待已久的新特性:use表达式(useexpressions)。 官方介绍称,use表达式是一种语法糖,它将所有后续表达式转换为一个匿名函数,该函数作为附加参数传递给函数调用。 例如,假设有一个待调用的函数with_file,它会打开一个文件,将打开的文件传递给给定的函数,以便它可以读取或写入它,然后关闭文件。 // Define the function pub fn with_file(path, handler) { let file = open(path) handler(file) close(file) } // Use it pub fn main() { with_file("pokemon.txt", fn(file) { write(file, "Oddish\n") write(file, "Farfetch'd\n") }) } 通过使用use,此函数可以在没有额外缩进的情况下调用。下面使用use的示例会编译成与上面完全相同的代码。 pub fn main() { use file <- with_file("pokemon.txt") write(file, "Oddish\n") write(file, "Farfetch'd\n") } 而且它不仅限于单个参数,还可以使用任何参数的函数,包括不接受任何参数的函数。 发布公告 | Release Notes

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册