# 第 23 期 - 小炒黄牛肉

> 封面图是一张湖南小炒黄牛肉照片，好吃的有几个必备调料，葱姜蒜、蒜苗、红辣椒、香菜、芹菜杆，下次可以试试～

- Issue: 23
- 发布日期: 2021/04/27
- HTML: https://weekly.tw93.fun/posts/23
- JSON: https://weekly.tw93.fun/api/posts/23.json
- English translation: https://weekly.tw93.fun/en/posts/23.md

---

<img src="https://gw.alipayobjects.com/zos/k/ks/M59va6.jpg" width="800" />

<small>封面图是一张湖南小炒黄牛肉照片，好吃的有几个必备调料，葱姜蒜、蒜苗、红辣椒、香菜、芹菜杆，下次可以试试～</small>

> **记录每周看到的前端潮流技术，筛选后用接地气方式发布于此，关注此专栏可以及时收到更新~**

## 好文和学习

**内存管理设计精要**  
<https://draveness.me//system-design-memory-management>  
持久存储的磁盘在今天已经不是稀缺的资源了，但是 CPU 和内存仍然是相对比较昂贵的资源，作者在 调度系统设计精要 中曾经介绍操作系统和编程语言对 CPU 资源的调度策略和原理，本文将会介绍计算机中常见的另一个稀缺资源 — 内存，是如何管理的。

**TC39 2021 年 1 月会议提案进度汇总**  
<https://mp.weixin.qq.com/s/D3VdgiRRxeG6Un3HYU1Enw>  
TC39 1 月会议在 1 月 29 日如期结束，以下是这次会议中成功争取到了阶段性进展的提案的介绍、近期改动回顾等提案的进展总结。

**Useful DevTools Tips And Shortcuts(Chrome, Firefox, Edge)**  
<https://www.smashingmagazine.com/2021/02/useful-chrome-firefox-devtools-tips-shortcuts/#top>

**Interview with Ryan Dahl, Creator of Node.js**  
<https://evrone.com/ryan-dahl-interview>  
借此文来了解 Ryan Dahl 的 项目，做 Deno 过程中的挑战，以及他对 JavaScript 和 TypeScript 未来的想法...

**Vite 2.0 发布了**  
<https://zhuanlan.zhihu.com/p/351147547>  
Vite 1.0 虽然之前进入了 RC 阶段，但在发布之前我们决定进行一次彻底的重构来解决一些设计缺陷。所以 Vite 2.0 其实是 Vite 的第一个稳定版本。

## 开源和工具

**1s 使用“vscode”阅读 Github 的源码**  
<https://github.com/conwnet/github1s>  
在原有的 github 仓库地址中，对应的 github 后面加上 1s，就可以使用，如<https://github1s.com/microsoft/vscode>。  
<img src="https://cdn.tw93.fun/blog/upic/vOeQUf.gif" width="800" />

**Beaker Browser：一个实验性的点对点网络浏览器**  
<https://beakerbrowser.com/>  
<img src="https://cdn.tw93.fun/blog/upic/WBwYa4.gif" width="800" />

**json-schema-to-ts：从 JSON Schema 推断 TS 类型**  
<https://github.com/ThomasAribart/json-schema-to-ts>

```js
const dogSchema = {
  type: 'object',
  properties: {
    name: { type: 'string' },
    age: { type: 'integer' },
    hobbies: { type: 'array', items: { type: 'string' } },
    favoriteFood: { enum: ['pizza', 'taco', 'fries'] },
  },
  required: ['name', 'age'],
};

type Dog = {
  name: string,
  age: number,
  hobbies?: string[],
  favoriteFood?: 'pizza' | 'taco' | 'fries',
};
```

**Tidy.js：一个整理数据的工具库**  
<https://pbeshai.github.io/tidy/>  
可以当作 JS 中原生数组处理方法重的一个丰富的补充。  
<img src="https://cdn.tw93.fun/blog/upic/VP2Vrk.jpg" width="800" />

**Remotion：在 React 中以编程方式创建视频**  
<https://github.com/JonnyBurger/remotion>  
<img src="https://cdn.tw93.fun/blog/upic/3sigEi.png" width="800" />

**Supercookie：Browser fingerprinting via favicon**  
<https://github.com/jonasstrehle/supercookie>  
Supercokie 使用 favicons 为网站访问者分配一个唯一的标识符，与传统的跟踪方法不同，该 ID 几乎可以持久地存储，并且用户不容易清除。

## iOS 和跨端

**一款可以让大型 iOS 工程编译速度提升 50%的工具**  
<https://tech.meituan.com/2021/02/25/cocoapods-hmap-prebuilt.html>  
cocoapods-hmap-prebuilt 是美团平台迭代组自研的一款 cocoapods 插件，以 Header Map 技术 为基础，进一步提升代码的编译速度，完善头文件的搜索机制，可以借这篇文章来看看对应效果。

**图解 fishhook 原理**  
<https://mp.weixin.qq.com/s/dcQrR4knN0aGDPy2hsrgmg>  
虽然写 fishhook 原理的文章有很多，但是总觉得不够简单直观。大部分都是罗列大堆源码进行讲解，看得人云里雾里，因此，本文将完全抛开源码，旨在简单清晰，直击要害，带你彻底弄清 fishhook 的原理。

## 灵感和设计

**周小川：数字时代的中国支付体系现代化——DC/EP 与数字人民币**  
<https://www.chaindd.com/3498726.html>  
很专业值得一读。

**为什么今年（2021）春节档电影票这么贵？**  
<https://daily.zhihu.com/story/9733193>  
因为供不应求，知道你们初一会去看电影，还会满座。

**一文看懂区块链：一步一步发明比特币**  
<https://charlesliuyx.github.io/2017/09/24/%E4%B8%80%E6%96%87%E5%BC%84%E6%87%82%E5%8C%BA%E5%9D%97%E9%93%BE-%E4%BB%A5%E6%AF%94%E7%89%B9%E5%B8%81%E4%B8%BA%E4%BE%8B/>  
一篇 17 年的介绍区块链的文章，很是详细，适合对区块链或比特币的运行原理完全不了解的人。

**理解用户线索**  
<https://mp.weixin.qq.com/s/TQp13lY5olQ9gTgEnvqAPw>  
思路从用户线索的应用平台、定义展开，再由生命周期发散，加深对这个词汇的理解。
