日常番若有结局的话,那会是怎样

分类: 未分类 | 时间: 2020-08-14 | 评论: 暂无评论

我们都知道的
珈百璃离开凡间,重归天使的生活
坂本离开大家,去追寻自己的梦想
小埋离开哥哥,独自去面对社会
南家三姐妹离开不大却满载温暖的家,找到自己的生活
还有小林的墓前
泣不成声的托尔

我们都知道结局
却不愿看到结局

即便不是自己的世界
也不愿自己喜欢的人
和自己一样随时光逝去

日常番
它是如此的真实
又是如此的虚幻
那是我们永远也过不了的生活
即便时光流逝
大家也一如既往
永远可以在小小的房间
开心温暖地坐在一起
高谈大大的梦

对于现实中的我们而言
这样温暖的
永不结束的日常
可能是最虚幻
最难以得到的吧

日常番的魅力
或许就在永不完结的温暖日常中

【技术】 Deno 初探

分类: 技术 | 时间: 2020-08-02 | 评论: 暂无评论

很久很久很久没有写技术文章了,最近入职了字节跳动,整理了一些新技术,所以也在个人博客分享一下吧。

什么是Deno

Deno 和我们熟悉的Node.js类似,可以让开发者可以使用 JavaScript 语言开发后端服务
它的作者也是Ryan Dahl(Node.js 的作者)
官网描述其为“ 一个更安全的 JavaScript 和 TypeScript 运行时

运行时
运行时是一个运行环境,也叫运行平台,开发者可以使用指定的语言,基于这个环境开发应用。可以认为运行时就是一个舞台,能做什么事情,取决于舞台能提供什么道具。比如浏览器就是一个运行时,我们可以在浏览器上通过
JS 调用浏览器提供的 API 操作 DOM。

Deno的出现

既然已经有一个 Node.js,而且已经非常成功,为什么还要再搞一个 Deno呢 ?
2018年6月,Ryan Dahl 在德国柏林召开的 JSConf EU 会议上发表了名为 “10 Things I Regret About Node.js” 的演讲,在会上他回顾了在他认为当初开发 Node.js 时留下的10大遗憾,想要解决种种缺陷,但是 Node.js 已经广泛应用于各个领域,为保证兼容性,对 Node.js 底层进行大规模改造已经不现实。

Node.js的种种问题:
1.曾放弃原生支持 Promise: 造成了核心 API 的老化问题,得都一一更新成 Promise 版本才能解決。

2.没有谨慎思考安全性问题:使用 V8 的 Node.js 不需要“授权”,即可访问网络、档案系统,甚至是内存信息,在数据安全考量越来越重要的时代,会是 Node.js 被质疑的问题之一
3.Build System:在 Node 开发早期,Chrome V8 是以 GYP 构建系统,而 Node 也就沿用了 GYP,但不久后 Chrome 放弃 GYP 转而使用 GN,而 Node 已经无法挽回。因此 Node 成了目前在 V8 上唯一使用
GYP 的用戶,而 GN 速度比 GYP 快了将近 20 倍、文件可读性高且支持许多依赖。
4.Package.json 与 Npm 的集权问题
5.node_modules:node_modules 里的每一个 folder 并沒有标准,因此可以放置多余的版本或是任何其他档案和文件,这导致增加了模块解析复杂度。另外社区早已苦 node_modules
久已,嘲讽之是比黑洞更黑的存在:
6.index.js:若有了 package.json,其实就不需要默认加载 index.js,这让模块加载更加地复杂化。

所以 Ryan 宣布,他要开发一个全新的 JavaScript 运行时来解决存在的缺陷,这个项目就是 Deno了
Deno 的命名也很有趣,把 node(no de) 倒过来 deno(de no),意味着颠覆 Node

Deno 的特性

1.支持 TypeScript
2.支持ES Modules
3.默认采用沙箱模式运行代码,更安全
4.默认安全设置:除非显式开启,否则没有文件、网络权限,也不能访问运行环境
5.去中心化package:没有 node_modules 和 package.json,package 都通过 URL 来加载,加载时缓存到硬盘
6.脚本代码能被打包为一个单独的 JavaScript 文件
7.提供一套标准模块,确保与 Deno 兼容 deno.land/std
8.自带工具,如依赖检查器(deno info)和 代码格式化工具(deno fmt)
9.Top Level Await:不需要将 await 包裹在异步函数里
10.内置测试、浏览器兼容的API、执行Wasm二进制文件、Modern JS、ES Modules等等等……

与Node.js对比

12.png

如何使用Deno

既然这么nb,那么应该如何使用呢

- 阅读剩余部分 -