Dylan 个人实用工具及踩坑记录

333 阅读1分钟

说明

本文是笔者的经验记录,主要留着自己看的,行文不易看懂,以下若无特殊说明默认为 Ubuntu 20.04 LTS 系统。

win10 WSL

听说 90% 的人都在 win10 下使用 ubuntu 子系统了!

实用网站

  1. npmtrends: Compare package download counts over time
  2. star-history: The missing star history graph of

国内镜像

apt-get 镜像源

blog.csdn.net/Evaristexu/…

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo vim /etc/apt/sources.list
# 输入国内镜像源
sudo apt-get update

中科大源

# 默认注释了源码仓库,如有需要可自行取消注释
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

Terminator + oh my zsh

blog.csdn.net/duke_ding2/…

sudo apt-get install terminator
sudo apt-get install zsh
chsh -s $(which zsh)
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# sh -c "$(curl -fsSL https://gitee.com/oh-my-shell/ohmyzsh/raw/master/tools/install.sh)"
# 隐藏主机名,文件最后添加
vim ~/.zshrc
# prompt_context() {}

GitHub

一般知名仓库在 gitee.com/ 都有每天同步,国内访问友好。有些需要运行安装脚本的,把地址替换成 https://gitee.com/mirrors/ 即可,如:

https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh => https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh

sudo vim /etc/hosts

# 不怎么好用
20.205.243.166 github.com
# 192.30.255.112 github.com
# 151.101.113.194 github.global.ssl.fastly.net
# 199.59.149.208 github.global.ssl.fastly.net

nvm

# 安装
# 源地址 https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh
curl -o- https://gitee.com/mirrors/nvm/raw/v0.39.1/install.sh | bash
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
# 镜像
nvm node_mirror: https://npmmirror.com/mirrors/node/
# 安装
nvm install --lts
# 设置默认
nvm alias default 8.0.0

因为 install.sh 脚本里也有下载 github 的代码,所以要做以下替换:

  • https://raw.githubusercontent.com/${NVM_GITHUB_REPO} => https://gitee.com/mirrors/nvm/raw
  • https://github.com/${NVM_GITHUB_REPO} => https://gitee.com/mirrors/nvm

npm 镜像源

npmmirror.com/

# .npmrc
registry = https://registry.npmmirror.com
engine-strict = true

# 全局设置 npm 源
npm config set registry https://registry.npmmirror.com

MongoDB

清华镜像:mirrors.tuna.tsinghua.edu.cn/help/mongod…

# 首先信任 MongoDB 的 GPG 公钥:
wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -
# Ubuntu 20.04 LTS
deb https://mirrors.tuna.tsinghua.edu.cn/mongodb/apt/ubuntu focal/mongodb-org/5.0 multiverse
# 安装
sudo apt-get update
sudo apt-get install -y mongodb-org
# 启动、查看、停止、重启
systemctl start/status/stop/restart mongod

官网:docs.mongodb.com/manual/tuto…

VS Code 插件

参考:前端 40+ 精选 VSCode 插件,总有几个你未拥有!

必备

  • Bracket Pair Colorizer 2
  • CSS Peek
  • ESLint
  • GitLens — Git supercharged
  • JavaScript (ES6) code snippets
  • Markdown All in One
  • open in browser
  • Prettier - Code formatter
  • TODO Hightlight
  • Turbo Console Log
  • WakaTime

常用

  • Code Runner
  • Increment Selection
  • Live Server
  • shell-format
  • Stylelint
  • Todo Tree
  • Vue Language Features (Volar)
  • Vim

偶尔

  • Material Icon Theme
  • Pangu-Markdown
  • Pangu-Markdown-VSCode
  • sneak mark
  • koroFileHeader
  • Tabnine AI Autocomplete for Javascript, Python, Typescript, PHP, Go, Java, Ruby & more
  • JSON to TS
  • REST Client
  • vscode-faker
  • Regex Previewer
  • Markdown PDF

常用网站

踩坑经验

Docker

去掉 sudo:

  1. 创建docker组(已经存在则不用创建),sudo groupadd docker
  2. 添加当前用户到docker组,sudo gpasswd -a ${USER} docker
  3. 重启 docker服务,sudo systemctl restart docker
  4. 切换到docker组,newgrp docker

www.cnblogs.com/FengZeng666…

MySQL

安装见:blog.csdn.net/Petergzc/ar… 注意:

  1. mysql 下的命令要加 ; 结尾;
  2. 注意文档中的 '

生成测试数据:github.com/datacharmer…

注意导入命令是 mysql -uroot -p < employees.sql

Antd Pro

运行失败时,清理 src/.umi 试试

Yapi

  1. nodejs 版本目前尝试成功的最高版本为 14.19.0,16.14.0 不成功;
  2. 要删除 package-lock.json 再安装,否则可能失败;
  3. 要将 config.json 中 db 的 usernamepassword 改为空;
  4. 为保证国内速度,git 仓库用了 gitee 的源,npm 用的淘宝源;
  5. 若 install-server 失败,尝试 mongo && use yapi && db.dropDatabase() 删除之前生成过的 yapi db。
mkdir yapi && cd yapi
git clone --depth=1 https://gitee.com/mirrors/YApi.git vendors && cp vendors/config_example.json ./config.json && cd vendors
rm package-lock.json && npm install --production --registry https://registry.npmmirror.com

vim ../config.json # 要将 config.json 中 db 的 username 和 password 改为空

npm run install-server

node server/app.js # pm2 start server/app.js --name yapi

config.json

  • 禁止注册 "closeRegister":true,
  • 默认密码(ymfe.org)
{
  "port": "3000",
  "adminAccount": "admin@admin.com",
  "closeRegister":true,
  "timeout":120000,
  "db": {
    "servername": "127.0.0.1",
    "DATABASE": "yapi",
    "port": 27017,
    "user": "",
    "pass": "",
    "authSource": ""
  },
  "mail": {
    "enable": true,
    "host": "smtp.163.com",
    "port": 465,
    "from": "***@163.com",
    "auth": {
      "user": "***@163.com",
      "pass": "*****"
    }
  }
}  

Hexo

.gitignore

.DS_Store
Thumbs.db
db.json
*.log
node_modules/
public/
.deploy*/
_multiconfig.yml

同时发布 2 个仓库

npm install hexo-deployer-git --save 之后,修改 _config.yml

deploy:
  type: git
  repo: 
    gitee: 
      url: https://gitee.com/username/username
      branch: gh-pages
    github: 
      url: https://github.com/username/username.github.io
      branch: gh-pages
  "scripts": { 
    "blog": "hexo clean && hexo deploy" 
  },

主题

github.com/fi3ework/he…

倍速

<audio id="audio" controls="controls" preload="none">
  <source id="mp3" src="linchao01-40.mp3" >
</audio>
<button onclick="document.getElementById('audio').playbackRate = 1">
  x1.0
</button>
<button onclick="document.getElementById('audio').playbackRate = 1.5">
  x1.5
</button>
<button onclick="document.getElementById('audio').playbackRate = 2">
  x2.0
</button>

访问控制

由于是私人博客,想做个简单访问控制的话,加个弹窗简单阻止一下小白。源代码如下:

(function () {
  var token = "xxxxxxx";
  if (localStorage.getItem("tokenValue") !== token) {
    var mask = document.createElement("div");
    mask.style.position = "fixed";
    mask.style.zIndex = 9999;
    mask.style.textAlign = "center";
    mask.style.paddingTop = "20%";
    mask.style.top = 0;
    mask.style.left = 0;
    mask.style.width = "100vw";
    mask.style.height = "100vh";
    mask.style.background = "#fff";
    var input = document.createElement("input");
    input.placeholder = "Code";
    input.type = "number";
    var btn = document.createElement("button");
    btn.innerText = "OK";
    mask.append(input);
    mask.append(btn);
    document.body.append(mask);
    btn.addEventListener("click", function () {
      if (input.value === token) {
        localStorage.setItem("tokenValue", token);
        document.body.removeChild(mask);
      } else {
        input.value = "";
      }
    });
  }
})();
  • 用工具压缩后,加入到 /themes/archer/source/scripts/main.js 文件中。
  • main.js 中搜索 window.addEventListener("load",找前面是各种 console 的那个。在它前面加上压缩后的代码即可。