https://avatars.githubusercontent.com/u/18242685

lihuu's blog

Perttier 使用

Perttier 使用

官网

What is Prettier? · Prettier

安装

# 全局安装
npm install -g prettier
# or
yarn global add pretter

# 项目中安装
npm install --save-dev --save-exact prettier
#or
yarn add prettier --dev --exact

配置

配置的位置

  • package.json 中的 perttier 字段

  • JSON 或者 YAML 格式的 .prettierrc

  • .prettierrc.json, .prettierrc.yml , .prettierrc.yaml, .prettierrc.json5

  • .prettierrc.js , .prettierrc.cjs ,prettierrc.config.js,prettierrc.config.cjs

{
  "tabWidth": 2, // tab缩进大小,默认为2
  "useTabs": true, // 使用tab缩进,默认false
  "semi": false, // 使用分号, 默认true
  "singleQuote": true, // 使用单引号, 默认false(在jsx中配置无效, 默认都是双引号)
  "TrailingCooma": "none", // 行尾逗号,默认none,可选 none|es5|all,es5 包括es5中的数组、对象,all 包括函数对象等所有可选
  "bracketSpacing": true, // 对象中的空格 默认true
  "jsxBracketSameLine": false, // JSX标签闭合位置 默认false
  "arrowParens": "avoid", // 箭头函数参数括号,默认avoid 可选 avoid| always,avoid 能省略括号的时候就省略 例如x => x,always 总是有括号
  "htmlWhitespaceSensitivity": "strict" //html空格严格程度,可选<css|strict|ignore>
}

配置文件的位置从被格式化的文件的位置找起,然后沿着文件系统向上寻找。注意,prettier 没有全局的配置文件。

Kubernetes集群安装

安装

我们只是搭建一个 mini 的类似于真实的 kubernetes 环境,用来自己学习,我们也可以选择安装 minikube

安装前的准备工作

  1. 修改 hostname,因为 kubernetes 使用 hostname 来区分集群

    sudo vim /etc/hostname
  2. 使用 docker 作为容器运行时,kubernetes 支持多种容器运行时,使用 docker 比较方便。

    cat <<EOF | sudo tee /etc/docker/daemon.json
    {
      "exec-opts": ["native.cgroupdriver=systemd"],
      "log-driver": "json-file",
      "log-opts": {
        "max-size": "100m"
      },
      "storage-driver": "overlay2"
    }
    EOF
    
    sudo systemctl enable docker
    sudo systemctl daemon-reload
    sudo systemctl restart docker
  3. 修改 iptables 的配置,启用"br_netfilter"

Zabbix 入门

安装

https://blog-img-1259526442.cos.ap-nanjing.myqcloud.com/202304111723534.png

这里选用了如上的配置

1. 安装 Zabbix repository

wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-1+ubuntu20.04_all.deb
sudo dpkg -i zabbix-release_6.0-1+ubuntu20.04_all.deb
sudo apt update

2. 安装 Zabbix server,Web 前端,agent

apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent

3. 创建初始数据库

create database zabbix character set utf8mb4 collate utf8mb4_bin;
create user zabbix@localhost identified by 'password';
grant all privileges on zabbix.* to zabbix@localhost;

4. 导入初始架构和数据

zcat /usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix

5. 配置数据库

编辑配置文件 /etc/zabbix/zabbix_server.conf

正则表达式入门

元字符

特殊单字符

. 任意字符,不包括换行

https://blog-img-1259526442.cos.ap-nanjing.myqcloud.com/202305121437456.png

\d 任意的数字

https://blog-img-1259526442.cos.ap-nanjing.myqcloud.com/202305121439070.png

\D 任意的非数字

https://blog-img-1259526442.cos.ap-nanjing.myqcloud.com/202305121439355.png

\w 任意的字母、数字、下划线

https://blog-img-1259526442.cos.ap-nanjing.myqcloud.com/202305121441651.png

\W 非字母、数字、下划线

https://blog-img-1259526442.cos.ap-nanjing.myqcloud.com/202305121442574.png

\s 空白符号

https://blog-img-1259526442.cos.ap-nanjing.myqcloud.com/202305121443512.png

\S 非空白符号

https://blog-img-1259526442.cos.ap-nanjing.myqcloud.com/202305121443352.png

空白符号

  • \r 回车

  • \n 换行

  • \f 换页

  • \t 制表符

  • \v 垂直制表符

  • \s 任意空白符 \s 能匹配上各种空白符号,也可以匹配上空格。换行有专门的表示方式,在正则中,空格就是用普通的字符英文的空格来表示。

Docker入门

安装

安装以 Ubuntu 系统为例,其他的系统可以参考官方文使用文档

卸载旧的版本

sudo apt remove docker docker-engine docker.io

设置 docker 的仓库

  1. 更新 apt 目录

    sudo apt update

  2. 安装使用 Https 仓库所必须的包

    sudo apt install apt-transport-https ca-certificates curl software-properties-common

  3. 添加 Docker 的官方的 GPG key

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

  4. 添加 Docker 的仓库

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

安装 Docker CE

这里安装的是社区版的 Docker

sudo apt update

sudo apt-get install docker-ce docker-ce-cli containerd.io

Javascript 宏任务和微任务

宏任务

由宿主发起的任务称为宏观任务。 例如setTimeout函数创建的就是宏任务,当前的脚本执行也是宏任务。

setTimeout(() => {
  console.log("Hello");
}, 100);

微任务

由 JavaScript 引擎发起的任务称为微任务。 微任务的主要来源是Promise。 在 JavaScript 的事件循环中,当期宏任务执行完或者如果调用栈为空的时候,会检查微任务队列,如果队列不为空,会执行微任务队列中的任务。

Vim使用技巧

使用 vim 编辑器去除文件中的^M

set fileformat=unix

vim 编辑器使用 16 进制打开文件

以十六进制显示文件:%!xxd,换回二进制:%!xxd -r

vim 编辑器比较优秀的配置文件

https://github.com/spf13/spf13-vim

界定单词的边界

我们在定义模式时,如果能指定单词从哪里开始到哪里结束的话,将会非常有用,可以使用 vim 编辑器的单词界定符。