見出し画像

使ってて便利だと思ってるツール4選

この記事は マネーフォワード関西拠点 Advent Calendar 2021 - Adventar の11日目の記事です。株式会社マネーフォワード関西拠点 に所属するメンバーのテーマ自由なアドベントカレンダーです。

前置き

2021年2月にマネーフォワードに入社し気づけば半年以上が経過してました、エンジニアの辻です。

マネーフォワードに入社し開発を進めていく上で今までと一番変わった事と言えばモブプロの頻度である。今まで経験はしたことあるが数える程度だったモブプロが今やほぼ毎日と言っても過言ではないくらいやっております。

そのモブプロをやってて特にいいなと思うことは他人の環境を覗ける事。エディタであったりターミナルであったりshellの操作方法であったり人それぞれに個性が出ておりそれを見たり真似たりするのは仕事上での1つの楽しみだったり。

しかし、いざ自分の手元の操作を見られるというのは思ったより抵抗があったりするのも事実。shellの操作がおぼつかなかったり設定がデフォルトのままだったりすると恥ずかしいという気持ちが芽生えてしまう。
しかし、いざカスタマイズし出来るエンジニアを演出しようとしても、shellの設定も多岐に渡り、便利ツールも世の中には数え切れないくらいある。
その中で自分にあったものを探し利用し使い方を覚えるというのは案外骨が折れる作業である。
かく言う私も大した設定はしていないし、そもそも覚えれない。とにかくめんどくさいのだ。

そんなめんどくさがり屋で、大したツールを使ってるわけでも設定を凝ってわけでもない私ですら、これは便利と思って利用してるツールがあるので今日はこれらを紹介したい。

※ あくまでも独断と偏見であることと楽に導入でき且つ便利なものを選んでます

1. Zsh + Oh My Zsh

shellはいろんな種類がありどれを使うか悩ましい。しかし正直こだわりがない人からしたらどれでもいいと思ってしまうわけだ。
そんなこだわりはないけどなんかこうそれっぽい環境を使いたいという方には zsh + oh my zsh をおすすめする。特別な設定などなしになんかそれなりにかっこいい感じのshellを使えるようになる。

画像1

こんな感じで現在の階層を表示したり、git管理されているディレクトリなら現在のブランチ情報を出したりもできる。

shellの操作に慣れていなくてもこれだけ入れればなんかちょっとできるエンジニアっぽく魅せることができる。便利。かっこいい。

2. jq

JSONデータをパースして必要な要素を引っ張って来たり検索したり集計したりできる便利なやつ。

APIを利用した処理をshell scriptで書いたりするときにはよくお世話になるのはもちろん改行やスペースのない読みにくいAPIレスポンス等のJSONデータを読み込ませることで雑にフォーマッターとしても利用できる。

画像2

画像3

すごく読みやすくなる。

画像4

こんな感じでデータの検索もできるが構文を覚えるのがめんどくさいので興味があったら調べてみてほしい。慣れれば少し便利。

3. q

jqは結構使用されているイメージがあるがqはあまり利用されてるシーンを見ない。しかしこのツールはめちゃくちゃ便利なので是非おすすめしたい。
簡単に説明するとCSV,TSVファイルに対してSQL文を発行できるようにするツールである。

百聞は一見にしかず。
国勢調査のサイトから落としてきた年毎、都道府県毎の男女別人口のデータのCSVファイルを用意。このデータを元に京都府の人口が最も多い西暦を求めるとなった場合果たしてどうする?

画像5

エクセルで頑張って集計してもよいのだがqコマンドとSQLの知識があれば一瞬で終わってしまう。

画像6

オプションなど色々指定してるが単にカンマ区切りのデータである事とヘッダーを読み込むように指定してるだけなので詳しくは調べてほしい。

このツールの便利なところはshellなのでパイプを使えるところにもある。上記の例だと京都府という条件は下記の様に書き換え可能。

画像7

この他にもsed等も絡めて実行できるので、できることは非常に多い。
実は裏でSQLiteにデータを投げ入れてSQLを発行しているのでSQLiteで使える構文はすべて利用できる。ただ、メモリ上にデータを全部乗っけてしまうので容量の大きなファイルを読み込ませる場合は注意が必要。
とはいえやれることが多く非常に優秀なツール。これを使ってCSV集計をぱぱっと終わらせたら皆から羨望の眼差しで見られること間違いなしである。とっても便利。

4. peco + cool-peco

qもjqも便利なのは何となく分かるがコマンドの使い方を覚える必要がある。そもそもshellを使う上で一番面倒なことはこのコマンドの使い方やオプションを覚えることだと思う。なので最後にこいつを紹介したい。

pecoは与えられたデータをインタラクティブにフィルタリングしてくれるツールだ。

画像8

画像9

そして更にこのpecoを便利にしてくれたのがcool-pecoというツールだ。よく使うであろうコマンドを予め関数化してくれたものである。

特にその中の cool-peco-history はかなり強力で過去の実行コマンドをpecoによってフィルタリングしながら検索できるものである。

画像10

画像11

過去に一度でも打ったことがあるコマンドを簡単に検索できるようになるのでいちいちコマンドやオプションを覚えたり調べたりする必要がなくなる。前述したqやjqもcool-peco-historyさえあればオプションを覚えなくていいのである。
このコマンド(関数)を適当なキーにバインドし呼び出せるようにするだけでありとあらゆる操作が高速化する。
cool-peco-history 以外にも cool-peco-filename-search や cool-peco-git-log 等も便利だが cool-peco-history が圧倒的すぎるので cool-peco-history だけのために導入してもいいレベルである。
便利すぎるので使ったことがない人は是非使ってほしい。ただ、コマンドを覚える必要が無くなるということは自端末以外での操作が崩壊してしまうということでもあるのでそこは注意してほしい。


最後に

長々と失礼致しました。

社内外問わずshellの操作に自信がなく手元を見られるのが恥ずかしいという方は是非参考にしていただきたい。この辺りのツールがあればなんかそれっぽくできるのでちょっと出来るエンジニアっぽく魅せれます。

画像12

Money Forward 関西拠点 Advent Calendar 2021 - Adventar 、 明日は12日目、ookura keisukeさんです!

また、株式会社マネーフォワード 関西開発拠点では仲間を募集しております!


この記事が気に入ったらサポートをしてみませんか?