Deno 1.14 正式发布,引入新的 Web Crypto API
Deno 1.14 已发布,包括以下新特性和变更:
- 引入新的 Web Crypto API
- 增加针对
deno lint
和deno fmt
的自定义选项 - 引入 URLPattern
- 原生服务器端 WebSocket API 进入稳定状态
- worker 之间的零拷贝 ArrayBuffer 传输
- 引入 File locking API
- 对 OS signals API 的更改
- 在
fetch
中提供 Mutual TLS 支持 - 在
DENO_AUTH_TOKENS
中提供基本身份验证支持 - URL 解析速度提升了 3 倍
- 支持为子进程指定
gid
和uid
- 更快的
std/http
模块 - 更新 VSCode 扩展
- TypeScript 4.4
- V8 9.4
引入新的 Web Crypto API
此版本引入了许多新的 Web Crypto API:
crypto.subtle.exportKey()
:- HMAC 密钥现在支持以 JWK 和"raw"格式导出
- RSA 密钥现在支持以 pkcs#8 格式导出
crypto.subtle.importKey()
:- HMAC 密钥现在可以以 JWK 和"raw"格式导入
- 现在支持以 pkcs#8 格式导入 RSA 密钥
- PBKDF2 密钥现在支持以"raw"格式导入
crypto.subtle.generateKey()
:- 现在支持生成 RSA-OAEP 密钥
- 现在支持生成 ECDH 密钥
- 现在支持生成 AES 密钥
crypto.subtle.deriveBits()
:- 现在支持 PBKDF2 派生
- 现在支持 HKDF 派生
crypto.subtle.verify()
:- 现在支持 ECDSA 签名验证
crypto.subtle.encrypt()
:- 现在支持 RSA-OAEP 加密
crypto.subtle.decrypt()
:- 现在支持 RSA-OAEP 解密
引入 URLPattern
此版本引入了一个新的不稳定的 Web 平台 API,用于根据模式匹配 URL。URLPattern
是流行path-to-regexp
库的内置替代品 。
const pattern = new URLPattern({ pathname: "/books/:id" }); console.log(pattern.test("https://example.com/books/123")); // true console.log(pattern.test("https://example.com/books/123/456")); // false console.log(pattern.test("https://example.com/books")); // false console.log(pattern.exec("https://example.com/books/123").pathname); // { input: "/books/123", groups: { id: "123" } }
引入 File locking API
此版本引入了四个新的可用于文件锁定的不稳定 API:
Deno.flock
Deno.flockSync
Deno.funlock
Deno.funlockSync
这些 API 对于像sqlite
提供适当的数据库同步这种项目来说是必不可少的 。
更快的 std/http
模块
Deno 标准库 0.107.0 版本对http
模块进行了重大改进 。
在 v1.13 中原生 HTTP server API 到达稳定状态后,团队重写了http/server.ts
模块,并使用了新的稳定 API。最终实现了显著的性能提升,以及创建了对用户更友好的 API——主要用于处理 HTTP 服务器的问题,例如错误处理和连接的多路复用。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Zulip Server 4.6 发布,群组聊天软件
Zulip Server 4.6发布了。Zulip 是一个强大的开源群组聊天软件,采用 Python 编写,使用 Django 框架,支持通过会话流的私人消息和群聊。Zulip 还支持快速搜索、拖放文件上传、图像预览、组私人消息、可听通知、错过电子邮件消息提醒与桌面应用等。 具体更新内容包括: 已记录对 Debian 11 Bullseye 的官方支持,现在它已由 Debian 上游正式发布。 修复了在 Debian 10 Buster 上的安装。上游基础设施已经破坏了这个平台上的 Python virtualenv工具,在这个版本中解决了这个问题。 Zulip 版本现在从https://download.zulip.com/server/分发,取代了旧www.zulip.org服务器发布。 添加了对 LDAP 同步的is_realm_owner和is_moderator标志的支持。 upgrade-zulip-from-git现在使用git fetch --prune;这确保upgrade-zulip-from-git master返回错误而不是使用陈旧缓存版本的master分支,该...
- 下一篇
每日一博 | 别再用 if-else 了,用注解去代替他吧
本文来自谢英豪同学的投稿,希望大家读完能有所收获。 策略模式 经常在网上看到一些名为“别再if-else走天下了”,“教你干掉if-else”等之类的文章,大部分都会讲到用策略模式去代替if-else。策略模式实现的方式也大同小异。主要是定义统一行为(接口或抽象类),并实现不同策略下的处理逻辑(对应实现类)。客户端使用时自己选择相应的处理类,利用工厂或其他方式。 注解实现 本文要说的是用注解实现策略模式的方式,以及一些注意点。话不多说,还是以最常 见的订单处理为例。首先定义这样一个订单实体类: @DatapublicclassOrder{/***订单来源*/privateStringsource;/***支付方式*/privateStringpayMethod;/***订单编号*/privateStringcode;/***订单金额*/privateBigDecimalamount;//...其他的一些字段} 假如对于不同来源(pc端、移动端)的订单需要不同的逻辑处理。项目中一般会有OrderService这样一个类,如下,里面有一坨if-else的逻辑,目的是根据订单的来源的做不同的...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS关闭SELinux安全模块
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果