跳到主要内容

Memorized Function

· 阅读需 4 分钟
Arthur Wang
Microsoft Sr. SDE, Web developer

记忆化

记忆化 Memorization(简写 memo),是一种提高程序执行速度的优化技术,简单来说就是把需要重复计算的结果缓存在内存中,下次要用时直接取出来就行,不用再计算一次,属于典型的空间换时间的优化方案,通常会用在有大计算量或者递归、循环应用等一些场景。

AI 结对编程:Github Copilot 探索实践

· 阅读需 4 分钟
Arthur Wang
Microsoft Sr. SDE, Web developer

最近,Github 联手 OpenAI 发布了 AI 编程神器Github Copilot预览版。它基于 GPT-3 自回归语言模型,我们只需要编写一个好的函数名或注释,它就会自动编写好细节代码。这并非简单的智能提示或代码片段,而是真正的代码逻辑!

比如你要编写一个从 URL 中获取查询参数的方法,通常我们就面向 Google 和 StackOverflow 编程了,而现在,你只需要写个好的函数名即可:

大仓实践录:Lerna/NPM/Yarn Workspace 方案组合和性能对比

· 阅读需 11 分钟
Arthur Wang
Microsoft Sr. SDE, Web developer

单仓和大仓

仓就是仓库(repository,简称 repo)。通常我们使用多个仓库(简称多仓,multi-repo)来管理项目代码,也就是每个仓库负责一个模块或包的编码、构建、测试和发布,代码规模相对较小,所以也称为小型规模仓库(简称小仓)。而单一(mono)仓库(简称单仓,mono-repo)是指在一个仓库中管理多个模块或包,当代码规模达到一定程度后可称为大型规模仓库(简称大仓),至于这个程度大小并没有明确定义,通常说的大仓可理解为就是单仓。

我们以一个通常的 Node JS 项目为例,简要说明这几种仓库管理方式,如下图:

Polyfill 和 Shim

· 阅读需 5 分钟
Arthur Wang
Microsoft Sr. SDE, Web developer

说实话,这两个术语名字取的,确实让人难以一下子理解。但理解了之后又不得不佩服这取名:妙啊。

摄影之魅:瞬间是一面"镜子"

· 阅读需 8 分钟
Arthur Wang
Microsoft Sr. SDE, Web developer
这是我 16 年读研一时“摄影艺术”课上的小论文,小作分享~

19 世纪 30 年代末期,达盖尔发明银版照相法,尼埃普斯拍摄了世界上第一张照片,影像开始可以被记录下来。卢米埃尔兄弟在《火车进站》中开启了 24 帧的艺术之旅——“电影”。如今,影像无处不在,传递着无穷无尽、千变万化的讯息。这一切都源于定格影像的瞬间——摄影术的独特魅力。