乐趣区

关于前端:湖中剑-前端周刊-6-20210830

周刊收集包含前端(但不限于前端)的文章、新闻、开源我的项目、工具等等,每周一更新。

📰 News

TypeScript 公布 4.4 版本

次要变更:

  • 提供针对 Aliased Conditions 的控制流剖析 (Control Flow Analysis)
  • Catch 变量中默认应用 unknown 类型
  • 新增 Exact Optional Property 类型
  • Class static Blocks
  • 针对 tsc –help 的降级和改良
  • 性能改良
  • 增加针对 JavaScript 的拼写倡议
  • 等等

残缺信息能够查看:

https://devblogs.microsoft.com/typescript/announcing-typescript-4-4/

另外 TypeScript 有了新的主页:

https://www.typescriptlang.org/

npm registry 正在弃用 TLS 1.0 和 TLS 1.1

npm 发布公告称,从 2021 年 10 月 4 日开始,所有与 npm 网站和 npm registry 的连贯(包含软件包的装置),都必须应用 TLS 1.2 或更高版本。

Linux 诞生三十周年

1991 年 8 月 25 日,Linus Torvalds 在 Usenet 新闻组 comp.os.minix 上发表了 Linux 的诞生。他过后对新操作系统并不抱太高的冀望,他在邮件中说,“我正在为 386(486)AT clones 写一个(自在的)操作系统(只是喜好而已,不会和 GNU 一样成为宽泛且业余的操作系统)。”

30 年后的明天,Linux 曾经无处不在。世界上简直所有的次要网站,包含谷歌、Facebook 以及维基百科,都运行在 Linux 之上。云也是一样,即便是在微软本人的 Azure 当中,最受欢迎的操作系统依然是 Linux。寰球五百强超级计算机全副采纳 Linux。另外,得益于 Android 给力的市场体现,Linux 也成为最受欢迎的终端用户操作系统。

延展浏览:《Linus 坚守 30 年,扭转了世界》

Go 1.17 公布,说好的反对泛型又推延

Go 团队公布 Go 1.17,此版本为编译器带来了额定的改良,即传递函数参数和后果的新办法。这一变动表明,Go 程序的性能进步了约 5%,amd64 平台的二进制文件大小缩小了约 2%。将来版本将反对更多平台。

Go 团队原本预计在 Go 1.17 中增加泛型,但很遗憾通知大家,又要推延了。对于推延的泛型提案,Go Team 也在其官网博客示意,大家很期待泛型,因而他们始终在致力,为可投入使用做各种细节的打磨,2021 年这块会是重点。指标是 2021 年底,在 Go1.18 的 Beta 中让大家体验,因而不出意外泛型会在 Go1.18 实现,大家可刮目相待。

📖 文章

如何避免别人歹意调试你的 web 程序

https://juejin.cn/post/7000784414858805256

⭐️ 随机不只是 Math.random —— 前端噪声利用

在理解噪声之前,我对随机的意识,仅仅停留在 Math.random。它很有用,比方 H5 里的简略抽奖程序,或者随机选取一张卡片 … 而最近工作中须要实现一些的随机图像成果,让我发现这个函数能做的事非常无限。之后我偶尔理解到噪声这一种随机模式,它很完满的解决了我的问题。于是我想写这一篇文章,心愿能够让一些前端同学,特地是工作上波及较多成果还原的前端同学理解噪声,或者在这之后,你会对设计师设计稿上这些随便元素,有更多的想法。

https://mp.weixin.qq.com/s/cAAv2Bt5QsxlYXzEGvdNvA

⭐️ 奇思妙想 CSS 3D 动画 | 仅应用 CSS 能制作出多惊艳的动画?

本文将从比拟多的方面具体论述如何利用 CSS 3D 的个性,实现各类乏味、酷炫的动画成果。认真读完,你将会播种到:

  • 理解 CSS 3D 的各种用处
  • 激发你新的灵感,感触动画之美
  • 对于晋升 CSS 动画制作程度会有所帮忙

https://mp.weixin.qq.com/s/yXkfV6ucKZocxxON-jZLIQ

如何应用 React 构建一个搜寻框

搜寻框是一种常见的组件形式,本文介绍了对于搜寻框的实现以及测试形式。

https://www.emgoto.com/react-search-bar/

应用 Electron 和 Create React App 构建桌面利用

https://mmazzarolo.com/blog/2021-08-12-building-an-electron-application-using-create-react-app/

深刻解析基于 Flutter 的 Web 渲染引擎「北海 Kraken」技术原理

https://mp.weixin.qq.com/s/EI7loHgtQLG-cqRQVM6mZQ

浅聊 WebRTC 视频通话

https://juejin.cn/post/7000205126719766565

⭐️ npm 发包 — tag 重要性

如果你还没公布过 npm 包,你应该看下。

如果你公布过 npm 包,你就更应该看下。

npm 公布机制太过于简陋,本人手动操作以及应用不常见的性能时肯定要留神了。

https://www.yuque.com/docs/share/620c0da0-3e12-4473-b2e7-51ee52cf3e66

CSS 为什么这么难学?

CSS 为什么这么难学?肯定是你的办法不对。

https://mp.weixin.qq.com/s/_B9DAl6yTnxm5VN3zX_ljQ

⭐️ 精读《用 Babel 发明自定义 JS 语法》

https://mp.weixin.qq.com/s/QrdJAnwwGwv2iZjc9Ye7qg

微信跨平台硬件直播组件

微信视频号已提供跨平台硬件直播组件,反对挪动平台 (iOS/Android)、PC 平台(Windows/macOS) 和嵌入式平台(以 Raspberrypi 为例)。文章简要介绍了其解决的问题以及实现的计划。相比传统的挪动平台,宽广云厂商早已推出了各自的成套解决方案,微信视频号这次应该是奔着相干直播硬件而来,只是不知会擦出怎么的火花。有嵌入式硬件需要,或者在设计直播组件的同学都能够认真看看。

https://mp.weixin.qq.com/s/qK73om3ueP_S6i8qp8hgHQ

技巧

jsc:不须要 node 即可执行 js 代码

$ echo "print(1+2);" | jsc
3

如果你是 macOS 用户,其实不须要装置 Node 或 Deno 就能够在终端里运行 JavaScript,就像下面的代码👆。

jsc 是 JavaScriptCore 的一部分,位于:

/System/Library/Frameworks/JavaScriptCore.framework/Versions/Current/Helpers/jsc

尝试 jsc 之前,你须要创立软链接或者把门路退出到环境变量中。

https://furbo.org/2021/08/25/jsc-my-new-best-friend/

SolidJs 框架介绍

Solid 也是一款响应式框架,然而并没有应用虚构 DOM,相同,在编译时,将状态更新编译为独立的 DOm 操作方法。

https://css-tricks.com/introduction-to-the-solid-javascript-library/

怎么应用 Promise.any()

Promise.any() 接管一个 Promise 可迭代对象,只有其中的一个 promise 胜利,就返回那个曾经胜利的 promise。

然而如果承受的 promise 都是 rejected 或者传入的数组是空的,那是什么后果呢?

https://dmitripavlutin.com/promise-any/

async/await 优雅的错误处理办法

帮忙你从泛滥的 try cath 中释放出来。

https://juejin.cn/post/6844903767129718791

🛠 工具、软件

reaflow

reaflow 是一款反对工作流编辑、流程图的 React 工具库。

https://github.com/reaviz/reaflow

linaria

一个零运行时的 CSS-in-JS 库。

  • 将 CSS 纳入到 JS 体系中,并且这种反对是零老本的!CSS 相干代码会在编译期被抽出到 CSS 文件中
  • 类 Sass 的 CSS 的语法
  • 通过应用 CSS 变量,Linaria 反对疾速创立动静属性的 React 款式组件
  • 应用 CSS sourcemaps 易于定位款式地位
  • 反对 stylint
  • 不再须要预处理器,能够应用 JavaScript 管制 CSS 的逻辑
  • 然而反对应用预处理器,比方 Sass 或 PostCSS

https://linaria.dev/

react-webcam

React 里的摄像头调用组件。

https://github.com/mozmorris/react-webcam

ls-lint

疾速的文件名、目录名校验工具。

只须要一个配置文件 .ls-lint.yml 就能主动校验。

https://ls-lint.org/

simplex-noise

噪声算法在前端里的利用。

什么是噪声算法?

噪声是游戏编程的常见技术,广泛应用于地形生成,图形学等多方面。

那么为什么要引入噪声这个概念呢?在程序中,咱们常常应用间接应用最简略的 rand()生成随机值,但它的问题在于生成的随机值太“随机”了,失去的值往往总是参差不齐。

https://github.com/jwagner/simplex-noise.js

扩大浏览:游戏开发中的噪声算法

https://www.cnblogs.com/KillerAery/p/10765897.html

iOS App 主动砸壳平台

iOS 中所有 APP 上传到 APP Store 后都会被加上一层爱护壳,如果咱们想拿到 IPA 进行钻研剖析,须要对 IPA 进行脱壳。这个平台能够实现导出全网 IPA 进行主动脱壳性能,不过有些性能须要付费能力体验。

https://www.dumpapp.com/

tedious

通过 tedious 能够在 node 中连贯 SQL Server 数据库。

https://github.com/tediousjs/tedious


周刊首发于 GitHub,欢送订阅:

我的周刊

退出移动版