dotfiles盆栽記2: ghqとpecoでctrl+c押下時に現在のディレクトリに留まるようにする

タイトルが長い。

github.com

モチベーション

# ghq, peco
alias ghqcd='cd $(ghq list --full-path | peco)'

ghqとpecoを使って開発ディレクトリを行き来しているが、ctrl+cでキャンセルすると /Users/{USER_NAME} に遷移してしまう。キャンセル時はコマンド実行時のディレクトリに留まりたい。

こうした

# ghq, peco
alias ghqcd='`ghq list --full-path | peco`'

解説

前提として、autocdが有効になっていることを確認。ディレクトリ名だけでcdができる。

> setopt | grep autocd 
autocd

以下の感じで表題を解決できた。

# ghqでリスト表示 -> pecoでフィルタリング -> 標準出力
> ghq list --full-path | peco
/Users/{USER_NAME}/ghq/github.com/tokizuoh/dotfiles

# バッククォートで囲むことで上記の結果をコマンドとして実行
> `ghq list --full-path | peco`

> pwd
/Users/{USER_NAME}/ghq/github.com/tokizuoh/dotfiles

以前は明にcdを実行していたため、キャンセル時も遷移してしまっていた。変更したコマンドはディレクトリ名が選択されないとautocdが実行されないため遷移もしない。

参考

2022年8月を振り返る

まだ8月は数日残しているが気分的にもう8月は終わったので振り返り記事を書いた。また、今月から振り返り記事のテイストをちょっと変えてみた。分量が全体的に増えた。

生活

早いもので振り返り記事が今回で8つ目になる。転職を決意したタイミングでブログを開始して、そこから毎月書いている。月日が経つのは本当に早い。

買ってよかったもの

www.amazon.co.jp

水で溶かすタイプのルイボスティー。飲み物は結構固定しがちなのでたまには冒険、ということで買ってみたら気分転換に良かった。
同族のジャスミンティーも買って飲んだが自分には合わなかった。

神奈川県は江ノ島、海に行ってきた。泳ぐのは久方ぶりだったが大変気持ちよかった。流されかけて危なかったけど。プールのジムが近くにある土地に引っ越すのもありだなあと思ったり。引っ越しはめんどくさいので当分しなさそう。

隣の三尺

*1を読んでいて隣の三尺というフレーズを知った。雪かきや掃き掃除をするときは自分の敷地だけでなく隣の三尺までやろうという意味。相手に何か親切をはたらかせるときに過剰であってはいけない、お返しの時に変に気を遣わせてしまう恐れがあるためだ。自分はこのあたりのバランスのとり方が不器用で、過剰に親切心をはたらかせることもあれば全くしない時もある。三尺を抽象化していい塩梅を探っていきたい。

前回のTry

  • ✅ 暑いので運動は無理のない範囲で1回以上行う
    • 自転車とランニングそれぞれ一回ずつ、合計31km走った
  • ✅ タスクやるときは仮説を考えてから着手する
    • 定量的な評価としてスプリントの個人の消費ptを計測していて前月より改善が見られた
  • ✅ CircleCIのドキュメントを読むことを継続する
    • ❌ SwiftPM管理のパッケージのキャッシュ管理が完全に理解できていないので解決する

1項目未達。単純に今月は関心が離れてしまった。

Good

技術領域での考え方の変化

今までのブログの記事の傾向から読み取れるのだが、今まではインスタント(即席)なアウトプットが多かった。小手先のテクニックを増やすことに重きを置いていた。もちろん新技術や自分が知らない技術の継続的なキャッチアップは大事なのだが、そればっかりやっていると地力が伸びないし応用力がつかない。正直に言うと頭打ちを感じていて、でも社や世には自分よりできるエンジニアが多くいるのでもっとできるはず。社のメンターとの1on1や自分で考えて、本質的な理解に重きを置くことにした。早速走りとしてWWDCのセッション*2を見始めている。今までほとんど見てこなかったが日本語字幕もついていることだし見ていきたい。

オーナーシップを持てるようになってきた

今月は本当に狭い範囲だがオーナーシップを持って周りを巻き込んでタスクを行うことが出来た。自分は「でしゃばってしまっていないか」という心配に駆られて積極性にかけてしまうことが多い。中途採用の身なので尚の事である。なぜそういうはたらきが出来たか振り返ると、たまたま自分を含めたチームメンバーがあるタスクを忘れていたことを自分が気づいたことがきっかけだった。再現性は無さそうだが、自分から問題を見つけに行く、というスタイルは継続していきたい。

開発の暮らしの改善

tokizuoh.hatenablog.com

tokizuoh.hatenablog.com

開発環境周りの整備を意識的に行うようになった。今まで関心が無かったのだが、いざ始めて見ると開発が楽しくなって気持ちが良い。

Problem

運動不足

暑かったとはいえ、今月は2回しか運動しておらず運動不足で早死にしそう。来月はランニングだけでも10km以上走る目標を立てる。

兵卒ロールを十分にこなせていない

onk.hatenablog.jp

id:onk さんの記事を読んで自分の状況を見つめ直した。今の自分のロールとしてはガツガツ開発を進めることだと思う。ガツガツさが足りてない。ガツガツさとはスピーディ度合いと物量。まだ整理がついていないので継続的に解消を試みる。スプリントの個人の消費ptの計測を継続的にやっていけば良さそう。

Try

  • ランニングで10km以上走る
  • スプリント毎の個人の消費ptを増加させる(具体的な数値を社のドキュメントに書く)

おわりに

"コッペパン"と"音程感"で完全な母音一致ではないが韻が踏める。

dotfiles盆栽記1: zprofでプロファイリング

唐突なナンバリング記事。

github.com

モチベーション

dotfilesの盆栽は調べながらやっているのでメモ代わりとして記事を残していく。また、自分以外の方のdotfiles見るのは気合がいるので小出しで共有すると読みやすかったりするのではないか?なれば自分が小出しに共有しよう、という魂胆。

zprofでプロファイリング

zshの初回起動が遅い。PC起動後の初回起動はなんと25秒。それ以外の再起動だと0.15秒程度。「zsh 遅い」とかで検索するとzprofというワードが出てくる。zprofはzshをプロファイリングしてくれる。.zshrc の先頭に zmodload zsh/zprof 、末尾に zprof を追加して起動させてプロファイリングを行った。

num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)    1       31551.85 31551.85   99.53%  31442.63 31442.63   99.18%  (anon) [~/.oh-my-zsh/tools/check_for_upgrade.sh:126]
 2)    1         109.22   109.22    0.34%    109.22   109.22    0.34%  is_update_available
 3)    2          99.74    49.87    0.31%     99.74    49.87    0.31%  compaudit
...

正直見方はわからないが、明らかに実行時間がかかっている項目がある。どうやら oh-my-zsh まわりの処理のようだ。

.oh-my-zsh/tools/check_for_upgrade.sh

コード*1を見ると DISABLE_AUTO_UPDATE をtrueにしておけば起動毎に実行されなくなるみたいなので .zshrc に書いた。再起動したところ、PC起動後の初回起動は変わらず25秒前後だったが、それ以外の再起動は0.10秒程度だった。ちょっと改善されて嬉しいね。初回起動が遅い問題はこれからも探っていく。

参考