ちなみに

火曜日の空は僕を押しつぶした。

週末日記

金曜日、やっている仕事が終わらない。最近こういうのばっかりで凹む。 晩ごはん食べたあとに活動しようと思ったけど眠すぎて寝落ちしてしまった。

土曜日、寝落ちして早くから寝ていたはずなのにしんどすぎて起きられない。 寝たり起きたりを繰り返して夕方ごろ動き出してコーヒーを飲みに行った。 少しまったりしたあと豆を買って帰った。 その後もしんどくて動けなくてすぐに寝てしまった。

日曜日、昼くらいから活動するも本調子じゃない。 夜にかけてだんだん調子が出てきたがと時既に遅しで思ったより進まなかった。

ログインシェルじゃないシェルをメインに使っているときにVSCodeに環境変数を伝える

VSCodeは起動時にいい感じに環境変数を持ってきてくれるのだけれど、これはログインシェルに対して行われる。 よって、ログインシェルを変更せずにターミナルの設定や、terminal.integrated.shell.${OS} を設定して運用していると PATH などがうまく引き継がれない。 (もちろん code コマンドを当該シェルから実行するとうまくいくが Alfred とかから開きたいですよね)

とにかく雑な方法でいいのであれば、ログインシェルの設定で使っているシェルの環境変数を引き継いで export してやるとなんとかなる。 必要そうなものだけホワイトリストで設定しているけどここに書き忘れると引き継がれない。

$ cat .zshrc 
export `fish -c 'env | grep -e PATH -e GOPATH -e RBENV -e NODENV -e EDITOR'`

なんかきっともっといい方法があると思う。

(zshに戻れば全部解決する)

Organizationのリポジトリをまとめてcloneする

生きているとGitHubのOrganizationのリポジトリをまとめてcloneしたくなることってありますよね。僕はあります。

1つずつちまちまcloneするのは大変だし、数が多いと物理的に難しい場合もあります。 しかし、近年では ghqgh のような便利なツールが揃っているの簡単に実現できます。

gh api を使うとGitHubREST API を簡単に叩けるので以下のようにしてリポジトリの一覧を取得します。 1度の取得で100リポジトリが上限なので数が多い場合はページングする必要があります。

gh api /orgs/{org}/repos

シェルスクリプトは得意ではないので、Rubyで雑なスクリプトを書いて対応してみました。jq も使っているのでこちらも用意しておきましょう。

gist.github.com

これでリポジトリの一覧が取得できたので、これを ghq に渡してcloneしていきます。 --parallel オプションをつけると並列して取得してくれるのでまとめて取得するときには付与すると良さそうです。 数が多いと時間がかかりすぎるのとディスク容量を大量に消費してしまうので --shallow もつけています。 必要に応じて各リポジトリfetch すると良いです。 またすでに clone しているリポジトリがあったときのことを考えて --update も付与しています。

詳しい使い方は ghq-book の get の章 が分かりやすいです。 ghqに詳しくなりたい人は ghq-book を買いましょう。

最終的に以下のような感じで目的を達成できました。

$ ruby collect_repositories.rb ORG | ghq get --update --shallow --parallel

他にも特定のユーザーのリポジトリ一覧とかにも応用出来るかと思います。(API Reference)

日記

水曜日、協力してもらってなんとかスプリント内に自分の仕事を片付ける。 しかかりがないのはさっぱりする。 新たに受け持ったタスクが思ったより大変なので今スプリントもがんがろう。 ここ数年古いものと付き合うことが多い気がする。 新しくなると気持ちがいいね。

日記

月曜日、最近眠りの質がめちゃくちゃ低い。 原因が分かってないけど困る。

昼間チームで開発をやって夜に自分のタスクを進めるという感じになっている。 やっている内容が一人で集中してやった方がいい系なのと趣味が混ざっているのでまあ。 しかし結構気を遣う感じなので疲れはする。

Discordだと声がちゃんと聞こえないみたいなことを言われていたのでマイクを導入した。 ちょうどこないだyatteiki.fmの「2020年の買っていき」を聞いていたので Blue Microphones の Yeti を買った。 スタンドもいいらしいのでセットになっている yeticaster にしておいた。 夜に設置してまだ使ってないので性能のほどは不明。

椅子にしているバランスボールももうちょっと大きいのが欲しくて買い替えた。 こちらは山崎実業が輸入してる Vivora ってやつにした。 直径が前のより大きいので椅子としての快適度が上がった。