1.本周热题

1. 如何更好得设计一个函数

https://code.fineres.com/projects/CHART/repos/duchamp/pull-requests/2582/diff?commentId=973226#src/types/widget.d.ts?t=245

2. 培养好的编程习惯

用好 react 其实是要注意很多事情的
https://code.fineres.com/projects/CHART/repos/duchamp/pull-requests/2666/overview
https://code.fineres.com/projects/CHART/repos/fvs-cbb/pull-requests/10/overview?commentId=975339

2.组内分享

1.熟悉谷歌调试工具 @Alan(u1167164)

熟悉谷歌调试工具

2. 前端工程化专栏第二讲:《 ECMAScript 与 Babel》

了解一下ECMAScript发展史, 以及各个版本的 语法新特性 了解一下 Babel转换工具, 以及其使用方式

3.三维基础知识分享第四讲:片元着色器-光照模型篇

作为基础篇的最后一讲姗姗来迟, 主要讲一下传统的光照模型 LambertPhong 带大家了解一下三维世界中,是如何模拟光照渲染的. 整个三维基础知识系列的其他文章列表如下: 《开篇词: 用二维技术渲染一个”三维立方体”》 《第一讲: 渲染管线概述》 《第二讲: 变换与投影》 《第三讲: 片元着色器-基础》

3.好文推荐

1.如何在 Github Page 上部署 SQLite 数据库

SQLite 一般需要一个后端程序才能运行,但作者通过把 SQLite 移植到 WebAssembly 上,并且基于浏览器的内存,实现了一个虚拟的文件系统。将 SQLite 高效得运行在浏览器中,从而可以不依赖任何后端服务就可以拥有一个自己的数据库。

2.字节跳动工程师为 Chrome 浏览器加上 HEVC 支持

字节跳动工程师为 Chrome 浏览器加上 HEVC 支持,也就是支持 H.265 视频编码,该功能已经发布在最新的 Chrome 107。

3.菲利普·罗伯茨:到底什么是Event Loop呢? | 欧洲 JSConf 2014

https://www.youtube.com/watch?v=8aGhZQkoFbQ

4.实用工具

1.Tabby

20221024122018@2x.png

Tabby 是一个用 web 技术开发的现代化终端,可以在 Windows Mac 和 Linux 上运行,也有 web 在线版本。 其内置了 SSH 客户端和连接的管理工具,同时对 PowerShell WSL Git-Bash 等终端类型做了支持。

2. Stlite

20221024123126@2x.png

它是一个 Streamlit 的 serverless 版本,Streamlit 是一个通过使用 Python 编写 web 界面应用的框架。 Streamlit 本身的应用是通过 Python 搭建的,并且与各种 Python 生态中已有的数据处理和机器学习的模块都配合良好。这次的 stlite 项目这是将 Streamlit 整体得编译到 WebAssembly 上,从而使 Python 程序不再需要服务器来运行,而是直接运行在浏览器中。

3.TypeRunner

20221024123217@2x.png

使用 C++ 编写的 TypeScript 编译器,性能远超 TSC。

4 TurboPack

20221026104407@2x.png

Vercel 公司发布新一代打包器 Turbopack,号称比 Webpack 快700倍,比Vite快10倍。 而且,它还出自 Webpack 作者之手,Vercel 聘请了他来领导这个项目,看来 Webpack 真的要退出历史舞台了。

5. Awesome-JavaScript

一个涵盖内容非常广的 由JS编写的各种工具库集合, 特别适合收藏然后吃灰.

5. 行业前沿

1. 倾斜摄影技术构建图扑 WebGIS 智慧展馆

倾斜摄影就是无人机航拍建模 可以快速低成本的构建实景模型, 属于程序化建模的一种 缺点也有, 一是建模的体积比较大, 二是无人机拍摄距离比较远, 二维图像能捕捉到的细节有限, 因此建出来的模型一旦拉近看, 会有一些表面扭曲的现象. 但是, 随着技术的进步, 这些问题应该会被慢慢优化的, 值得关注一下.

2. 数字孪生是什么? | 万字图文讲解

关于数字孪生这个名词, 近些年一直被提及, 但是真的数字孪生概念是非常大的 以目前的理解, 以及硬件技术等限制, 最多只能做到数字可视化层 这也是我们FVS三维不对外宣称自己是数字孪生的原因(也可能我们做的确实一般,和竞品还有不小差距) 但是这一块的市场还是很大的, 而且在迅速的发展

6.每周金句

  • 不可胜在己,胜在彼。 —-孙子兵法
  • 函数应该做一件事。做好这件事。只能做这一件事。—-罗伯特·C.马丁(Robert C.Martin)
  • 软件设计有两种方式:一种方式是,使软件过于简单,明显没有缺陷;另一种方式是,使软件过于复杂,没有明显的缺陷。—— C.A.R. Hoare
  • 好代码本身就是最好的文档。当你需要添加一个注释时,你应该考虑如何修改代码才能不需要注释。 —— Steve McConnell,Code Complete 作者

7. 唉, 就是玩~

以下代码段打印的结果是什么:

  1. console.log(++[[]][+[]] + [+[]])

引申:为什么以下代码段打印的结果是:”nb”

  1. ([][[]] + [])[+!![]] + ([]+{})[+!![] + +!![]]

8 引申阅读

1. 科技爱好者周刊(第 228 期):人类和人生的意义

2. Web技术周刊: 2022.10.24