0%

vuex4现状

Vue.js于2020-09-18发布3.0版本。Vuex于2020-03-15发布4.0-alpha.1版本,至2021-06-17发布4.0.2版本,Vuex已经有好几个月没有发新版了。我从2020年下旬开始在公司中尝试使用一整套Vue3生态 + TypeScript开发项目,算是比较早的使用者了,简单说下我的使用感受。

阅读全文 »

what and why

打开Homebrew官网,映入眼帘的第一句话是:

The Missing Package Manager for macOS (or Linux)

即,Homebrew是macOS上缺失的包管理器,就像Linux中的yum、apt等。它让你能用命令行的方式集中的管理你的软件包,而不需要在AppStore和各种软件官网之间反复横跳。搜索、安装、卸载、更新等操作都可以通过命令行来统一完成。

阅读全文 »

偶然间看到下面这道题,是考察async...await机制的,我觉得还挺有意思的。你可以试试不借助控制台自己在心里推算一下运行结果。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
const Err = async () => {
throw new Error(42);
};

const Obj = {
async A (){
try {
return Err();
} catch {
console.log('A');
}
},
async B (){
try {
await Err();
} catch {
console.log('B');
}
},
async C (){
try {
Err();
} catch {
console.log('C');
}
},
};

( async () => {
for( const key in Obj )
{
try {
await Obj[key]();
} catch {
console.log('D');
}
}
} )();
阅读全文 »

外观数列是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。

1
2
3
4
5
6
7
8
9
10
1       
11
21
1211
111221
第一项是数字 1
描述前一项,这个数是 1 即 “ 一 个 1 ”,记作 "11"
描述前一项,这个数是 11 即 “ 二 个 1 ” ,记作 "21"
描述前一项,这个数是 21 即 “ 一 个 2 + 一 个 1 ” ,记作 "1211"
描述前一项,这个数是 1211 即 “ 一 个 1 + 一 个 2 + 二 个 1 ” ,记作 "111221"

外观数列前5项枚举如下:,下面的文字比较清晰的解释了什么是外观数列。这同时也是leetcode的第38题。题目要求给定一个正整数 n ,输出外观数列的第 n 项。官网给出了如下的解题思路,我将按照这个解题思路逐步拆解实现这个算法:

阅读全文 »

vue3的<script setup>提案处于实验阶段已经几个月了,当我们用vite的vue模板时终端会提示我们这仍是一个实验性提案,并且建议我们如果使用这个写法要锁vue版本以避免breakage。所以之前我只是对这个提案做了个了解,并没有在工作中使用这个写法。终于我们在2021年6月29日上午迎来了他的Finalization,下面简单梳理下这个定稿的内容。

阅读全文 »

我在ts项目中声明了一个全局type,在使用这个type的时候,可以获得类型提示,但是eslint的no-undef规则无法校验通过

1
2
3
declare global {
type IdLike = number | string | null
}

全局type声明
eslint no-undef

查阅eslint官方文档得知,需要配置eslint配置文件(.eslintrc.*文件或package.json文件的eslintConfig字段)里的globals字段:

1
2
3
4
5
{
globals: {
IdLike: true
}
}

声明了几个全局type就要配置几个,还挺麻烦的,但是目前没找到更好的解决方案。

我这里是用作了全局type,globals更常见的用法是设置全局变量,值可以是writablereadonly,很好理解就是字面意思,由于历史包袱这两个值分别有两个备选项,效果一致。

1
2
3
4
5
6
{
"globals": {
"var1": "writable", // 或"writeable" 或 true
"var2": "readonly" // 或"off" 或 false
}
}

更多参考官方文档:

你可能和我一样有过这样的苦恼:一台电脑上已经全局配置了公司的git账号管理公司项目代码,同时自己平时的一些开源代码又想同步至自己的github上。如果要提交或拉代码的时候再临时修改配置,不仅操作成本很高,而且容易出错。今天就来记录下一次性配置的方法。

阅读全文 »

缘起

摸鱼的时候经常能看到
有些文章的开头会放一张纯色背景搭配一个单词的图片,用来大致说明这篇文章的主题,就像上面这样。我就想这样简单的图片是不是可以通过一些工具来快捷的生成呢?我知道canvas可以快捷的绘制文本并且生成图片,需求很好实现。那么通过什么工具承载呢?命令行似乎是个不错的选择,接收用户输入的单词,通过一些额外的参数来控制图片样式,生成图片后下载到用户的硬盘上。一番实践后发现效果还不错,于是就有了这篇文章,详细地说明下如何从零开始编写一个Node命令行工具。

阅读全文 »