手を動かすスピードアップ!  for IT入門者

運用が主な業務なので、
普段から手を動かすスピードを上げられないかと考えています。
よく利用するもので、導入が簡単なものを書きました。

一覧化するのが目的なので、説明はかなり省いていますがご了承下さい。

何か他にあったらご教示下さいm(_ _)m

# テキスト整形をスピードアップ
### 正規表現
正規表現エディタを使用して、テキストスピードを上げよう

正規表現とは
> 文字列のパターンを表現する表記法

- これだけ覚えればある程度戦える表現一覧
    - 行の先頭を表現
        - ```^```
    - 行の最後尾の表現
        - ```$```
    - タブを表現
        - ```\t```
    - xxで始まる□□をxx抜き
        - barがあるfoo(barは含まない)に一致
        - ```(?<=bar)foo```
    - 任意の1文字を表現
        - ```.```
    - 任意の複数文字を表現
        - ```.*```


### 矩形選択
矩形選択が出来ないエディタもあるので注意です。
![矩形選択.gif](https://qiita-image-store.s3.amazonaws.com/0/110482/d8777ee8-1310-f77b-cc5b-031cc85fab9b.gif)


# 単純作業のスピードアップ
### スニペット
プログラミング言語の中で簡単に切り貼りして再利用できる部分
(特定の単語を入力するとスニペットを利用出来るツールを使用しています)
![スニペット.gif](https://qiita-image-store.s3.amazonaws.com/0/110482/24588665-1270-f094-3be8-205b96e7a0fa.gif)
    
### 動的スニペット
```{date} bizwind```を```2017/10/20 bizwind```に置き換えてくれる

### クリップボードツール
- 省略

### finderとターミナルを行ったり来たりすること
![行き来.gif](https://qiita-image-store.s3.amazonaws.com/0/110482/797152d3-bf34-b4f7-5ae0-889917ac33b9.gif)


# webブラウザ操作のスピードアップ
### ブックマークレット
- ブラウザのブックマークにjsの処理を登録して使用
- ヘビーユースしているブックマークレット
    - https://qiita.com/shingo-nakanishi/items/129188bd3885d22d9477

### vimnium
- [Vimium - Chrome ウェブストア](https://chrome.google.com/webstore/detail/vimium/dbepggeogbaibhgnhhndojpepiihcmeb)
- chromeをvimのkeymapで操作出来る
- 覚えて起きたいkey
    - gg
        - ページの最上部へ移動
    - G
        - ページの最下部へ移動
    - j
        - 下へスクロール
    - k
        - 上へクロール

# 確認作業に集中力を奪われない
### テキストの差分
   - shコマンド```diff -u -s```
       - -uでgitと同様の差分表示形式 
   - 一文字単位のdiff確認(コマンド)
       - [icdiff/README.md at master · jeffkaufman/icdiff](https://github.com/jeffkaufman/icdiff/blob/master/README.md)
   - 一文字単位のdiff(ツール)
       - [split-diff](https://atom.io/packages/split-diff)

### 画像の差分
- 画像もdiffがとれます
- [2枚の画像のdiff（差分）を超簡単に調べる方法 - 昼メシ物語](http://blog.mirakui.com/entry/20110326/1301111196)

### ウェブページの差分
リリース前後でviewが変更された箇所の確認に便利

```
 1:01AM  curl https://bizwind.co.jp >> before.txt                                                                                                                                                  [~]
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 18726  100 18726    0     0   103k      0 --:--:-- --:--:-- --:--:--  104k
 1:02AM  curl https://bizwind.co.jp >> after.txt                                                                                                                                                   [~]
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 18726  100 18726    0     0  75103      0 --:--:-- --:--:-- --:--:-- 75204
 1:02AM  diff -u -s before.txt after.txt
```

# ツールに色を付けて可読性を高めよう
- terminal
     - [zsh-syntax-highlightingを使ってターミナルを見やすくする - Qiita](https://qiita.com/KazIgu/items/6aa66560c4137ede25a1)
- ブラウザ
    - [Stylish - ウェブサイト用カスタムテーマ - Chrome ウェブストア](https://chrome.google.com/webstore/detail/stylish-custom-themes-for/fjnbnpbmkenffdnngjfgmeleoegfcffe?hl=ja)
- テキストエディタ
    - 省略

# 手順書作成に便利なshコマンド
### ```tree -L 2```
ディレクトリ構造を現在位置から2階層分再帰的に表示するコマンド

```
 2:45AM  tree / -L 1 -N                                                                                                                                                                            [~]
/
├── Applications
├── Library
├── Network
├── System
├── Users
├── Volumes
├── bin
├── cores
├── dev
├── etc -> private/etc
├── home
├── installer.failurerequests
├── local
├── net
├── opt
├── private
├── sbin
├── tmp -> private/tmp
├── usr
├── var -> private/var
```

### ```cat << EOS```
手順書をshコマンドを使って動的に変えたいときなど

```
 3:00AM  camp1_start_date=`date +'%Y%m%d' -d 20171010`                                                                                                                                             [~]
 3:00AM  date_before_camp_start=$(date +'%Y%m%d' -d "$(date +'%Y%m%d' -d $camp1_start_date) 1 day ago")                                                                                            [~]
 3:00AM                                                                                                                                                                                            [~]
 3:00AM  cat << EOS                                                                                                                                                                                [~]
heredoc> キャンペンのスタート日は${camp1_start_date}
heredoc> キャンペンのスタート前日は${date_before_camp_start}
heredoc> EOS
キャンペンのスタート日は20171010
キャンペンのスタート前日は20171009
```

以上です。