脳汁を出すことだけやりたい！(※ただの自分の開発環境の効率化の話です)

# はじめに 
欲を言えば、__プログラムを書くことだけ（脳汁を出すことだけ）をしたい！__
だけど、現実にはそれを拒む要素が多い。

元々私は体育会系で、一般的に言えばめんどくさいことでも、パワーと体力と鍛え抜かれた精神力だけで解決してきた。その結果、脳筋と言われるようになったが、それはITエンジニアの美学には反していることだ。ITエンジニアであれば、めんどくさい作業は効率化したり、自動化したりして、単純な作業は機械に任せるのが好ましい。これによって人間はより抽象的な仕事を行うようになる。これがDXだし、それによって働きがいとか、自己成長を感じられる機会が増えると思う。ただ、現実には効率化の対象が、エッジケースすぎて投資対効果が低かったり、アトミックすぎてなくせない作業（キーボード入力、画面の切り替え、ソフトウェアの起動）だったりで、効率化、自動化できないものがある。そういったものに対しては、__体験を向上させるという手段を考えてみたい。__

## この記事で書こうとしていること
脳汁を出すことだけをしたいけど、それを拒むブロッカー達と戦った記録を残します。
随時、気づいたストレスを気が向いたらストックして、時間があるときにちょっとずつ良くしていくみたいな感じです。
雑多に書いていくので、読みづらいと思います。時間があったらちょっとずつ推敲しようと思います。


# ブロッカーとの対戦記
## Raycastを導入
### 導入した背景
体験が良いと聞いたから。色々なことができて煩わしさから脱却できそうかつ、このツールだけで大抵のことは済ませることができそうだったから。

### 顕在課題
- 二つ以上コピーしておきたいものがあるときに、コピー元を行き来していたのでめんどくさい、、 -> clipboard history
- よく使うサイトを開く手間が面倒、、 -> Quicklink
- 何か検索するときは開発中のエディタを離れてgoogle chromeにカーソルをあて、検索しないといけない、、 -> Search Google
- 作業中に遊び心がない、、 -> confetti

### やったこと
1. Raycastを入れたことで私はMacのSpotlightがいらなくなったため、`⌘Command+Space`によってspotlightを開く代わりにRaycastを開くようにした。
    1. [spotlightのショートカットを無効化する](https://nabehiro.hatenablog.com/entry/20101230/1293738010)
    1. RayCastを起動して`⌘Command+,`で設定を開いて、Raycast Hotkeyを設定
![Screenshot 2023-01-15 at 15.31.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/385812/1c1bfcf5-616e-ae13-c0a8-f543db46bb7a.png)
2. confettiを`⌥Option`2回で出るようにした。
3. `gg`でgoogle searchができるようにした。
3. よく開くサイトはQuicklinkに登録した。
    3. githubとか、会社内に公開されているドキュメントとか
3. clipboard historyを`⌘Command+V`で開くようにした。

Raycastに関してはいろんなことができるのと、やり方が書いてある記事がたくさんあるので、興味がある方は調べてみると面白いと思います。
## iterm2を導入
### 導入した背景
体験が良いと聞いたから。痒いところにも手が届くと聞いたから。かっちょいいエンジニアはターミナルをカスタマイズしていたから。ターミナルの操作性が低かったりするから。
### 顕在課題例
- 毎回SSHコマンドを入力するのがめんどくさい、、
- ターミナルを開くことすらめんどくさい、、
- ターミナルの色が味気ない、、
- どの環境に接続しているのかわからなくなる、、
- 同じようなコマンドを打つのがめんどくさい、、

### やったこと
1. HotKeyの設定で、`^Control`2回でターミナルが開くようにした。
    1. iterm2の設定 -> Profile -> Keys -> Configure HotKey Window
![Screenshot 2023-01-15 at 15.23.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/385812/fee31cc3-678e-8bd8-573e-aac585de6a8f.png)
1. Scrollback lineをUnlimited scrollbackにした。
![Screenshot 2023-01-15 at 15.22.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/385812/e13ba000-6838-5754-ff47-5b02cdcfe950.png)
1. ターミナルを上にちょっとだけ出るようにした。
![Screenshot 2023-01-15 at 15.20.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/385812/72b464f2-c080-b564-ac61-7db055231ae1.png)
![Screenshot 2023-01-15 at 15.21.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/385812/01331aec-e039-e1a8-17cd-f63c0b67a84e.png)

1. [テーマの変更](https://qiita.com/ryamate/items/075c34fcf29d0889c15a)
1. ターミナル起動時にSSH接続
    1. プロファイルごとに例えば、DEV環境用、STG環境用、本番環境用のようにターミナルを分けておいて、ログイン用のSSHコマンドをターミナル起動時に自動で入力するようにした。また、事故が起きないように、接続する環境ごとに、Windowのバックグラウンドカラーを変更したのと、ターミナル上にバッジを設定して、PRODならPRODという文字列がターミナルの右上に表示されるようにした。
    1. [参考にしたサイト](https://dev.classmethod.jp/articles/iterm2-ssh-change-profile/)

## 作業場環境でやったこと
1. トリプルディスプレイにした
    1. 画面切り替えにとてもストレスがかかっていたため。
1. イスの下に敷く[マット](https://www.amazon.co.jp/gp/product/B08VJDVDVP/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&psc=1)を変えた
    1. マットがずれてストレスだったので、滑り止め付きのマットを購入した。
1. [配線をまとめる箱](https://www.amazon.co.jp/gp/product/B07Q2SK4JQ/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1)を導入
    1. 配線が絡んでしまったり、見た目が悪かったのでまとめる箱を購入し、上にティッシュ箱を置いた。
1. [良いイス](https://hermanmiller.co.jp/products/sayl-polished-chair?variant=41753821413548&gclid=CjwKCAiAwomeBhBWEiwAM43YIBzGiES2eHmUTqqmJvhDtQR6UsDXEpilZz4hchpxEkrw4k__qYhJhhoCm2gQAvD_BwE)を24回の分割払いで買った。
1. [昇降式デスク](https://item.rakuten.co.jp/loctek/e1-pr1206-all/?s-id=ph_pc_itemname)を買った。
1. [ブックオープナー](https://item.rakuten.co.jp/jgatto-2/cu22re002/?s-id=ph_pc_itemname)を買った

## gitコマンドの設定を見直した
### 導入した背景
### 顕在課題
- `git push`や`git pull`の時に毎回パスフレーズを求められる、、
- `git checkout`とか`git commit -m`とかを毎回打つのがだるい、、
- `git branch`コマンドで毎回qを押さないとpagerが閉じない、、
### やったこと
1. ssh-addしてパスフレーズを求められないようにした。
    1. https://qiita.com/blueray777/items/78eb5983997e4c94e590
1. gitコマンドにエイリアスを設定
    1. https://dev.classmethod.jp/articles/git-config-alias-19/
1. `git branch`コマンドでpagerになってしまう設定をなくす。
    1. qを押さないと閉じないことが意外とストレスなので
    1. `git config --global pager.branch false`

## その他
- 学習方法を変えた
    - 知らないことを知るのが楽しかったのでインプットベースの学習をしていたけど、本当に気持ちいのはアウトプットをして、それを世の中にデリバリして、自分の周りの世界がちょっとでも変わること。なのでアウトプットに必要な最小限のインプットをしていくようにした。
- 知識不足に対するアプローチを変えた
    - 知らないことがあると調べていたが、ある程度悩んでも答えが出なかったら、すぐ聞くことにした。時間をかけて体裁を守るよりも、ある程度体裁を犠牲にしても答えに辿り着く方がはるかに早く脳汁が出る。組織としても早く完了することにはメリットがあるし、間違っていたとしても軌道修正可能なので心配いらない気がする。

## 今後解決していきたいことや顕在化しているストレス
- 打刻の体験を向上させたい。
    - 今だと、スラックを開くか、勤怠管理ツールにログインして色々やる必要があるので、raycastかなんかを使って上手くできないかなぁ


### 退勤の打刻の体験向上
ヒルクライムの「[光](https://j-lyric.net/artist/a050e51/l020c8f.html)」という曲のサビに
>思いの丈を全部載せてまたwriting, writing, writing

という歌詞があるんですが、このライティンの部分を「退勤」に変えて打刻をおすという方法に切り替えました。

めっっっっっちゃ退勤打刻の満足度が向上しました。思いもよらない解決策にはなりましたが。