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

lihuu's blog

正则表达式入门

元字符

特殊单字符

. 任意字符,不包括换行

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 编辑器的单词界定符。

Percona XtraBackup

介绍

Persona Xtrabackup 是 MySQL 中的一个免费的热备份工具。它针对 InnoDB 和 XtraDB 提供了无锁的热备份。它有如下几个特点:

  • 可靠的快速备份。
  • 备份时不中断事务处理。
  • 节省硬盘空间和网络带宽。
  • 自动的备份校验。
  • 快速的数据恢复。
  • 支持 InnoDB no-blocking 热备份。
  • 支持增量备份。
  • 支持压缩流式备份到另一台服务器
  • 在不同的服务器中在线迁移表。

前提

需要账号和密码连接服务器

xtrabackup --user=user --password=password --backup --target-dir=/data/backup 除此之外,--port可以指定端口,--socket指定使用 localhost 本地连接的 socket 文件的位置,--host指定 tcp/ip 链接的时候的地址。

MySQL备份方案

备份前准备

创建单独用于备份的用户,并授予相应的权限

create user db_backup@'localhost' identified by 'backup123';
grant select,lock tables,show view,trigger,event on backup_database.* to db_backup@'localhost';
grant reload,Replication client on *.* to db_backup@'localhost';

方案 1:全量逻辑备份(使用 mysqldump,方案 1)

备份

#!/bin/bash
backup_file_name=db_backup_`date '+%Y-%m-%d'`.sql.gz
mysqldump -udb_backup -pbackup123 --single-transaction --flush-logs --master-data=2 backup_database | gzip > $backup_file_name

if [ -e $backup_file_name ] ;then
   echo "Start to copy files"
#   scp $backup_file_name  lihu@ubuntu-vm-02:/home/lihu
else
   echo "No file to copy"
fi

额外的参数 --skip-add-drop-table:生成的备份文件中不要有 drop table 的语句,默认是有的。 --no-data:不导出数据,仅导出表结构 --no-create-info:不导出建表语句,仅导出数据

Powershell配置

Windows10 Powershell 设置

首先 Powershell 的用户配置在用户目录的Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1文件中。

美化需要安装一些插件,在 windows 平台上脚本的执行策略必须是RemoteSigned或者Unrestricted,可以使用Get-ExecutePolicy检查 powershell 脚本的执行策略。如果在安装的过程中出现脚本执行策略的问题,可以用Set-ExecutionPolicy设置脚本执行策略,例如 ,可以用如下命令 Set-ExecutionPolicy Unrestricted -Scope CurrentUser将当前用户的脚本执行策略设置为Unrestricted