2021-02-0x01
1.1. Articles¶
1.1.1. 一个人的年终总结¶
1.1.2. Chaos 工程 dns 数据¶
data:dns: https://chaos.projectdiscovery.io/#/
We actively collect and maintain internet-wide assets' data, this project is meant to enhance research and analyse changes around DNS for better insights.
1.1.3. 四行 Python 代码实现管道¶
1.1.4. 混沌工程原则¶
1.1.5. Github Aciton 的十个技巧¶
https://www.chenshaowen.com/blog/10-tips-of-github-action.html
1.2. Note¶
1.2.1. MDN¶
MDN(可选链操作符): https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/可选链
MDN(管道操作符): https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/管道操作符
MDN(Nullish_coalescing_operator?空值合并操作符): https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing_operator
1.2.2. npm ci¶
尝试用 npm clean install 代替 npm install
1.2.3. Github Action¶
GA: https://docs.github.com/cn/actions/learn-github-actions/introduction-to-github-actions
Github Action 官方介绍
使用 Github Action cache
GA: https://docs.github.com/cn/actions/guides/storing-workflow-data-as-artifacts
Github Action 之间传递数据
1.2.4. 过滤器模式备忘清单¶
您可以在路径、分支和标记过滤器中使用特殊字符。
: 匹配零个或多个字符,但不匹配 / 字符。 例如,Octo 匹配 Octocat。 **: 匹配零个或多个任何字符。 ?:匹配零个或一个字符。 例如 Octoc?t 匹配 Octocat。 +: 匹配一个或多个前置字符。 [] 匹配列在括号中或包含在范围内的一个字符。 范围只能包含 a-z、A-Z 和 0-9。 For example, the range[0-9a-z] matches any digit or lowercase letter. 例如,[CB]at 匹配 Cat 或 Bat,[1-2]00 匹配 100 和 200。 !:在模式开始时,它将否定以前的正模式。 如果不是第一个字符,它就没有特殊的意义。 字符 *、[ 和 ! 是 YAML 中的特殊字符。 如果模式以 *、[ 或 ! 开头,必须用引号括住模式
1.2.5. GraphQL¶
GraphQL schema
1.2.6. Chrome feature: Real search box¶
- 可以在
Chrome://flag
中开启 Real search box
Real search box in New Tab Page Enables a search box in the middle of the NTP that will accept input directly (i.e. not be a "fake" box). Search results will show below the non-fake input ("realbox"). – Mac, Windows, Linux, Chrome OS
1.2.7. gRPC¶
RESTfull HTTP JSON RESTfull 是一种资源状态转换的架构风格,也可以用来实现 RPC, 互联网对 HTTP 超广泛的支持,使得这相当简单,也是大多数情况下的首选。
通过 HTTP 协议来进行内容传输,Header 用来约定编码、body 大小等,彼此以\r\n来分割,Header 和 body 之间通过两个连续的\r\n来间隔,能很容易地区分不同的请求。
通过 Url 和对应参数来标示要调用的方法和参数。在 body 中用 JSON 对内容进行编码,极易跨语言,不需要约定特定的复杂编码格式和 Stub 文件。在版本兼容性上非常友好,扩展也很容易。
众多的优点使得这种方案广受欢迎。不过也有其无法避开的弱点:
HTTP 的 header 和 Json 的数据冗余和低压缩率使得传输性能差 JSON 难以表达复杂的参数类型,如结构体等
1.2.8. /missing-semester-cn¶
移动 多数时候你会在正常模式下,使用移动命令在缓存中导航。在 Vim 里面移动也被成为 「名词」, 因为它们指向文字块。
基本移动: hjkl (左, 下, 上, 右) 词: w (下一个词), b (词初), e (词尾) 行: 0 (行初), ^ (第一个非空格字符), $ (行尾) 屏幕: H (屏幕首行), M (屏幕中间), L (屏幕底部) 翻页: Ctrl-u (上翻), Ctrl-d (下翻) 文件: gg (文件头), G (文件尾) 行数: :{行数}
编辑 所有你需要用鼠标做的事, 你现在都可以用键盘:采用编辑命令和移动命令的组合来完成。 这就是 Vim 的界面开始看起来像一个程序语言的时候。Vim 的编辑命令也被称为 「动词」, 因为动词可以施动于名词。
i 进入插入模式 但是对于操纵/编辑文本,不单想用退格键完成 O / o 在之上/之下插入行 d{移动命令} 删除 {移动命令} 例如, dw 删除词, d$ 删除到行尾, d0 删除到行头。 c{移动命令} 改变 {移动命令} 例如, cw 改变词 比如 d{移动命令} 再 i x 删除字符 (等同于 dl) s 替换字符 (等同于 xi) 可视化模式 + 操作 选中文字, d 删除 或者 c 改变 u 撤销,
计数 你可以用一个计数来结合「名词」 和 「动词」, 这会执行指定操作若干次。
3w 向前移动三个词 5j 向下移动5行 7dw 删除7个词 修饰语 你可以用修饰语改变 「名词」 的意义。修饰语有 i, 表示 「内部」 或者 「在内「, 和 a, 表示 」周围「。
VIM
多窗口 用 :sp / :vsp 来分割窗口 同一个缓存可以在多个窗口中显示。
1.3. Share¶
1.3.1. Javascript 2020 年度调查问卷¶
Javascript 2020 年度调查问卷,介绍 Javascript 社区中各种框架及技术的使用情况,我们还可以了解到 Javascript 的发展趋势
1.3.2. React 官方介绍的 testing 实践¶
1.3.3. Gentoo linux 的安装介绍¶
https://wiki.gentoo.org/wiki/Handbook:AMD64/Full/Installation/zh-cn
1.3.4. WTF Javascript¶
Github: https://github.com/denysdovhan/wtfjs/blob/master/README-zh-cn.md
箭头函数不能作为构造器 考虑下面的例子:
let f = function() { this.a = 1; }; new f(); // -> { 'a': 1 } 现在,试着用箭头函数做同样的事情:
let f = () => { this.a = 1; }; new f(); //
1.3.5. Javascript 关于时间处理的库:momentjs¶
library: https://momentjs.com/
1.3.6. M1 homebrew cn 安装实践¶
1.3.7. 现代 CSS 库:stitches¶
创建日期: 2021-02-01