楽して構築するアナリティクスエンジニア向けターミナル環境整備【Zsh】
AI要約
データアナリストをアナリティクスエンジニアに転身させる際のスキルギャップを埋めるため、Zshプラグイン群によるターミナル環境構築手順をコピペで完結する形で提供する記事。
対象読者
- dbtなどを触っている/触ろうとしているデータアナリスト
- 作業効率を上げたいアナリティクスエンジニア
はじめに
アナリティクスエンジニアを採用するのは難しい。アナリティクスエンジニアの概念を確立したdbtが日本で広まってからまだそんなに年がたっていないのが原因かもしれない。分析用にテーブルを作る人は昔もいたのだろうけど、dbtがあるのとないのとでは「テーブルを作る」の意味が全く違う(と会社のデータ分析基盤を移行して思った)
でもデータアナリストは一定数いる。なので、社内にdbtを使える人が欲しい場合、データアナリストとして採用してからdbtの使い方を伝授するのが現実的になるだろう。
しかし、「データアナリスト」と「アナリティクスエンジニア」の間のスキル・ギャップは大きい。以下のようなスキルはアナリティクスエンジニアには必須だが、データアナリストで持っている人は珍しいと思う。
-
Gitの操作
- 単純なコマンド
cherry-pickなど単純ではなさそうなコマンド- GitHub, GitLabなどのリモートレポジトリ特有の操作
- レビューに適したコミットメッセージの書き方
-
UNIX系シェルコマンド操作
cd,ls, …
-
ローカルでのパッケージ管理、バージョン管理
- 「あれ、このコマンド動かない」「
pip showしてバージョン教えてください」「pip install --upgradeすると動くと思いますよ」
- 「あれ、このコマンド動かない」「
などなど。上記のようなスキルがないと業務としてのアナリティクスエンジニアリングは難しいが、データアナリストをアナリティクスエンジニアに転身させるうえでは深めの溝になりがちで、ここを超える手段を提供しないといけないな、と思うようになってきた。
そういうわけなので、とりあえず始めやすいターミナル環境の構築から始めようと思う。社内でよく聞かれるのでブログとしてまとめて「あとはこれ読んでおいてね」で終わらせたい。
前提
-
VSCodeの統合ターミナルで利用する
- ギークらしく、iTerm2などのシェル用のアプリケーションを別ウィンドウで立ち上げたりはしない
- ギークっぽい環境構築ガイドはしない
-
MacでZshを利用する
- Windowsの場合、WSLでlinux用Homebrewを入れて、zshをインストールしてから下記の動作を実行すれば環境が構築できると思う
-
コマンドをコピペすれば動くようにする
- 細かいコマンドの解説はしない
やること
- デフォルトのシェルを
zshに設定する - zsh-autosuggestionsを導入する
- oh-my-zshを導入する
- zsh-autocompleteを導入する
- zsh-syntax-highlightingを入れる
やってみよう!
一つ一つ動作を確認しながらやっていくのがお勧め
デフォルトのシェルをzshに設定する
chsh -s $(which zsh)
echo $SHELL
# /bin/zsh もしくは /usr/bin/zshと出てくればOK
# 出てこなければターミナルかPC本体を再起動してみよう。
zsh-autosuggestionsを導入する
Repositorygithub.comzsh-users/zsh-autosuggestionsFish-like autosuggestions for zsh
過去に打ったコマンドが自動でサジェストしてくれるようになる。同じコマンドを少し変えて何度も打ち直すような用途は結構あるので、便利。公式レポジトリにある動画を見ればイメージがわきそう。
実際に導入してみよう。
brew install zsh-autosuggestions
echo source $(brew --prefix)/share/zsh-autosuggestions/zsh-autosuggestions.zsh >> ~/.zshrc
source ~/.zshrc
oh-my-zshを導入する
External Linkohmyz.shOh My Zsh - a delightful & open source framework for Zshohmyz.sh
zshを使う上ではとても便利なフレームワーク
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
こういう感じになっていれば成功
![]()
oh-my-zsh導入後のターミナル
デフォルトのターミナル環境だと、今自分がどのブランチになるのか迷ったりする場合があるが、そういうのを防いでくれる。もちろん、便利なプラグイン機能やテーマ機能があるが、この場では割愛します。詳しくは「oh-my-zsh 活用」などでググるといろいろ出てきます。
zsh-autocompleteを導入する
自動で補完してくれるようになります。超便利。
git clone --depth 1 -- https://github.com/marlonrichert/zsh-autocomplete.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autocomplete
echo source ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autocomplete/zsh-autocomplete.plugin.zsh >> ~/.zshrc
source ~/.zshrc
zsh-syntax-highlightingを導入する
Repositorygithub.comzsh-users/zsh-syntax-highlightingFish shell like syntax highlighting for Zsh.
ターミナル内でもシンタックスハイライトが効くようになってすごく便利。
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
sed -i 's/plugins=(git)/plugins=(git zsh-syntax-highlighting)/g' ~/.zshrc
source ~/.zshrc
終わりに
- シェル環境を整えておくとdbtの操作をするときなどにすごく便利だし、もちろんそれ以外にも用途はあるので、何かと整備しておくといいことがあります
- エイリアスの設定とかもしておくといいかも