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.三维基础知识分享第四讲:片元着色器-光照模型篇
作为基础篇的最后一讲姗姗来迟, 主要讲一下传统的光照模型
Lambert
与Phong
带大家了解一下三维世界中,是如何模拟光照渲染的. 整个三维基础知识系列的其他文章列表如下: 《开篇词: 用二维技术渲染一个”三维立方体”》 《第一讲: 渲染管线概述》 《第二讲: 变换与投影》 《第三讲: 片元着色器-基础》
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
Tabby 是一个用 web 技术开发的现代化终端,可以在 Windows Mac 和 Linux 上运行,也有 web 在线版本。 其内置了 SSH 客户端和连接的管理工具,同时对 PowerShell WSL Git-Bash 等终端类型做了支持。
2. Stlite
它是一个 Streamlit 的 serverless 版本,Streamlit 是一个通过使用 Python 编写 web 界面应用的框架。 Streamlit 本身的应用是通过 Python 搭建的,并且与各种 Python 生态中已有的数据处理和机器学习的模块都配合良好。这次的 stlite 项目这是将 Streamlit 整体得编译到 WebAssembly 上,从而使 Python 程序不再需要服务器来运行,而是直接运行在浏览器中。
3.TypeRunner
使用 C++ 编写的 TypeScript 编译器,性能远超 TSC。
4 TurboPack
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. 唉, 就是玩~
以下代码段打印的结果是什么:
console.log(++[[]][+[]] + [+[]])
引申:为什么以下代码段打印的结果是:”nb”
([][[]] + [])[+!![]] + ([]+{})[+!![] + +!![]]