---
title: 我在看什么 · 6月
created: 2022-07-15
summary: Vue / 网页性能优化 / npm ……
tags:
  - 我在看什么
image: /2022-07-15-reading-6/june.png
---

## 编程相关

### 前端

1. [Learn Debounce And Throttle In 16 Minutes](https://www.youtube.com/watch?v=cjIswDCKgu0)

   讲得挺好的一个视频。
   节流（debounce）和防抖（Throttle）是优化高频率执行代码的一种手段[^1] 如果把执行代码比喻成下楼拿快递的话:

   - 不做任何处理时就是快递来了就下楼拿。
   - 节流是不管快递来没来，每隔 10 分钟下一次楼。
   - 防抖则是第一个快递来了，等上 10 分钟，要是在这个 10 分钟内第二个快递来了，就继续等 10 分钟看有没有第三个快递，如果 10 分钟内下一个快递没来就下楼拿前面的快递。

2. [基于 Vue 实现一个简易 MVVM](https://juejin.cn/post/6844904099704471559)
3. [Websocket 原理及具体使用（ws+socket.io）](https://juejin.cn/post/6857716625764777991)
4. [String.prototype.localeCompare()](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare)

   - 一个用来比较字符串的方法，可以结合 sort 方法对字符串进行排序，因为 sort 方法是按 ASCII 值来排序的，很多时候使用表现并不好，结合`localeCompare`可以做到按大小写排序、对带有重音符号的字符排序……
   - `localeCompare`接受三个参数：compareString、locales、options，其中 compareString（即用来比较的字符串）是必选的，其他为可选。
   - `localeCompare`的返回值有三种，负数、正数、0，其中如果引用字符存在于比较字符之前则为负数; 如果引用字符存在于比较字符之后则为正数; 相等的时候返回 0 。

5. Pinia 和 Optional API 的结合使用

   - [Access Pinia State in the Options API](https://vueschool.io/lessons/access-pinia-state-in-the-options-api)
   - [Usage without setup()](https://pinia.vuejs.org/cookbook/options-api.html)

6. [How to Migrate from Vue CLI to Vite](https://vueschool.io/articles/vuejs-tutorials/how-to-migrate-from-vue-cli-to-vite/)
7. [使用 pnpm 替换 npm 优化项目开发](https://juejin.cn/post/7067801337076908068)
8. [剪贴板操作 Clipboard API 教程](https://www.ruanyifeng.com/blog/2021/01/clipboard-api.html)
9. [如何做前端单元测试](https://juejin.cn/post/7039108357554176037)
10. [Vue-测试](https://staging-cn.vuejs.org/guide/scaling-up/testing.html)
11. [前后端加密（一）：前端请求加密封装](https://www.hsmus.top/202011210.html)
12. [深入浅出 npm & yarn & pnpm 包管理机制](https://mp.weixin.qq.com/s/ZTI-8RI0l314Ki9oBxqRWw)
    > 很多人认为 npm 是 node package manager 的缩写，其实不是，而且 npm 根本也不是任何短语的缩写。
    > 它的前身其实是名为 pm（pkgmakeinst） 的 bash 工具，它可以在各种平台上安装各种东西。
    > 硬要说缩写的话，也应该是 node pm 或者 new pm。
13. [过度使用懒加载对 Web 性能的影响](https://juejin.cn/post/7074759905197948935)
14. [Vue 项目性能优化 — 实践指南（网上最全 / 详细）](https://juejin.cn/post/6844903913410314247)
15. [Vue 打包 chunk-vendors.js 文件过大解决方案（compression-webpack-plugin）](https://blog.csdn.net/zz00008888/article/details/119893222)
16. [解决 NPM 安装应用出现 ERESOLVE 错误](https://blog.alanwei.com/blog/2021/03/30/npm-install-eresulve-error/)
17. [Web 性能优化：FOUC](https://mp.weixin.qq.com/s/gCn_QwuhiT4aSKZB6bDs6g)
18. [傻傻分不清之 Cookie、Session、Token、JWT](https://juejin.cn/post/6844904034181070861)
19. [[译文]为什么 Angular 比 React 更适合企业级应用程序](https://juejin.cn/post/7060399592298250270)

### 后端

1. [Docker 从入门到实践](https://yeasy.gitbook.io/docker_practice/)
2. [Ubuntu 安装新版本 nodejs 的 5 种姿势](https://uzykj.com/_posts/javascript/nodejs/basic/2021-08-17-ubuntu-install-nodejs.html#%E5%A7%BF%E5%8A%BFa-%E6%BA%90%E7%A0%81%E7%BC%96%E8%AF%91%E5%AE%89%E8%A3%85)
3. [npm does not support Node.js v10.19.0](https://askubuntu.com/questions/1382565/npm-does-not-support-node-js-v10-19-0)

## 其他

1. [详细的全自动追番教程：Sonarr+Jackett+qBittorrent+Jellyfin](https://www.dnlab.net/archives/65/)
2. [Open Source Alternative to](https://www.opensourcealternative.to/)
3. [在 GitHub 公开仓库中隐藏自己的私人邮箱地址](https://blog.walterlv.com/post/remove-personal-emails-from-public-repos.html)
4. [各种开发者文档的以往版本](https://devdocs.io/)
5. [Github 删除某个文件的所有提交记录](https://cloud.tencent.com/developer/article/1665810)

## 互联网哲学

1. [Who Actually Owns Your Device?](https://chuck.is/root/)
   > What it means to truly own your device is having the power and ability to modify it at a system level should you choose to – even if you don’t know what you’re doing, you should have the right.
2. [Information forest](https://tyler.cafe/information_forest)

   在产品沉思录周刊看到的推荐

   > What should the browser of the 2020s be?
   >
   > What will a browser built for research, analysis, rabbit-hole exploration, messy thinking, and collaboration look like? These features are listed in the order I thought of them in, not necessarily by importance.
   >
   > 1. Graph visualization and mind mapping.
   > 2. Interactive history and version control.
   > 3. Predictive search paths.
   > 4. Super Command-F (Superf).
   > 5. Collaboration
   > 6. Automatic scraping and clusterin
   > 7. Built in word processing.
   > 8. Backlinks.
   > 9. An infinitely zoomable interface (ZUI)

   相关阅读：[Next Browser](https://mp.weixin.qq.com/s/6vKJxVhXXqLvBqf_V1KCwQ)

[^1]: [什么是防抖和节流？有什么区别？如何实现？](https://vue3js.cn/interview/JavaScript/debounce_throttle.html#%E4%B8%80%E3%80%81%E6%98%AF%E4%BB%80%E4%B9%88)
