lihuu's blog

Eslint 使用

ESLint

ESLint 是一种静态代码分析工具,用于识别 JavaScript 代码中存在的有问题的模式,可以帮助我们写出语法正确,风格统一的代码。

安装以及使用 ESLint

  1. 我们可以使用 npm 来安装 ESLint,运行npm install eslint --save-dev命令安装 ESlint。
  2. 在项目根目录运行./node_modules/.bin/eslint --init命令进行初始化操作,初始化的时候根据命令的提示输入一些基本的设置,确认后会在项目的根目录下面生成一个名字为.eslintrc.*(这个在初始化的时候可以选择不同的文件格式,json 或者 yaml 都是可以的)的配置文件。如下图所示
    /img/1566699279433.webp
  3. 安装配置完成之后就可以直接使用了,可以在任何的文件目录或者文件上运行 ./node_modules/.bin/eslint yourfile.js

上述的使用只是在本地安装了 eslint,当然我们完全可以把这货安装成全局的,使用npm install -g eslint,但是呢,全局安装的 eslit 在执行的时候,使用的插件和配置文件还是优先读取本地的,如果在~/目录中存在配置文件,只有在 eslint 没有读取到任何的配置文件的时候才会去读取这里的文件。

Ubuntu 输入法:从搜狗迁移到 Rime

Ubuntu 上的中文输入法一直是痛点。搜狗输入法曾经是主流选择,但存在隐私和稳定性问题。本文推荐迁移到 Rime(中州韻)——一个开源、高度可定制的输入法引擎。

为什么不推荐搜狗输入法

问题 说明
闭源 代码不透明,无法审计数据收集行为
隐私风险 有联网上传输入内容的嫌疑
稳定性差 fcitx4 框架下经常崩溃,需要手动重启进程
维护滞后 Linux 版更新缓慢,长期停留在 fcitx4
依赖封闭生态 词库格式不通用,迁移成本高

如果之前使用搜狗,以下是之前的安装方式(仅作存档参考):

简单的shell脚本

1.第一个 shell 脚本

#!/bin/bash
#This is my first shell script
date
who

这是我们的第一个 shell 脚本,它的功能是打印系统的当前时间和当前用户,我们使用#号来表示注释。但是 shell 脚本的第一行是一个例外,#!告诉 shell 用哪个 shell 来运行脚本,此处我们是使用 bash shell

2.编写一个脚本来获取当前用户环境变量

#!/bin/bash
#dispaay user information from the system
echo "User info for userid: $USER"
echo UID :$UID
echo HOME:$HOME

3. 编写一个脚本来使用用户变量

#!/bin/bash
#testing varibles
days=10
guest="Katie"
echo "$guest checked in $days days ago"

4.脚本中的反引号的使用

反引号中的内容表示命令本身,反引号允许你将 shell 命令的输出复制给变量。

Linux使用

一、ssh 服务

安装
  • 查看 ssh 是否安装 输入命令:rpm -qa|grep ssh 如果没有安装 SSH 则可以输入:yum install openssh-server
  • 启动 SSH 服 n 务 service sshd start
  • 设置 ssh 为开机启动 输入命令chkconfig sshd on 即可。 注:若是chkconfig sshd off则禁止 SSH 开机启动。 也可以使用systemctl来开启自启动, systemctl enable sshd
配置
  • 修改端口号:修改/etc/ssh/sshd_config文件,找到 port 修改即可
简单的使用
  • 连接服务器ssh -p [port] user@host
  • 使用 scp scp -P port src des(user@host:path)

三、让程序在后台启动

思路:当用户注销或者断开网络的时候,终端会收到 HU(hangup)信号从而关闭其所有的子进程。因此解决方案就有两种,要么让进程忽略 HUP 信号,要么让进程运行在新的会话里面从而成为不属于此终端的子进程。

SSH 免密登录配置指南

SSH(Secure Shell)是 Linux 下最常用的远程连接协议。默认方式需要每次输入密码,通过配置密钥认证可以实现免密登录,提升效率和安全性。

生成密钥对

直接运行 ssh-keygen -t rsa

/img/1483281597856.webp

这样会在用户的 .ssh 文件夹中生成密钥文件:

/img/1483281609815.webp

  • id_rsa:私钥,保留在本地,不可泄露
  • id_rsa.pub:公钥,需要复制到远程服务器

复制公钥到远程服务器

只需要将其中的 id_rsa.pub 文件复制到目标机器就可以实现无密码访问目的机器了

Npm 包管理

设置使用国内的镜像源

我们可以使用淘宝的镜像源: npm config set registry https://registry.npm.taobao.org

检查依赖包是否有更新

这个工具可以帮助我们很方便地检查项目依赖包是否有更新。 npm install -g npm-check

使用的时候用npm-check命令就可以了。

package.json 中的版本号

{
  "dependencies": {
    "react": "^16.8.6",
    "react-router": "~5.0.0"
  }
}
  • 以~开头的:更新的时候会更新到 minor version (中间的数字表示)中的最新版本,以例子中的 react-router 为例,更新的时候,只会匹配 5.0.x 的版本。
  • 以^开头的:以例子中的 react 为例,更新的时候只会匹配 17.x.x 的版本,如果有 17.x.x 的版本,它不会自动升级。
  • latest:更新到最新的版本。