🧑‍💻

Productivity Weekly (2021-08-25号)

2021/08/29に公開

こんにちは。サイボウズ株式会社 生産性向上チームの平木場です。

僕たち生産性向上チームは毎週水曜日に Productivity Weekly という「1 週間の間に発見された開発者の生産性向上に関するネタを共有する会」を社内で開催しています。
本記事はその時のネタをまとめたものです。

今回が第 40 回目です。過去の記事はこちら

news 📺

GitHub CLI 2.0 includes extensions! | The GitHub Blog

https://github.blog/2021-08-24-github-cli-2-0-includes-extensions/

GitHub CLI(gh コマンド) 2.0 がリリースされ、拡張機能(extensions)を使えるようになりました。拡張機能は自身で作成するだけでなく、他人が作った拡張機能の利用もできます。

既にブランチの切り替えに便利な gh-branch やコントリビューションしやすい Issue を探すのに便利な gh-contribute といった実用的な拡張機能が公開されており、すぐに利用できます。gh extension install <OWNER>/<REPO> でインストールできます。作成する際は、gh extension create <EXTENSION-NAME> を叩くと雛形をすぐに用意できます。

僕もさっそく拡張機能を試してみました。気になる人は参考にしてください。

また、ログインユーザが Star したリポジトリ一覧を取得する拡張機能も作ってみました。
https://github.com/korosuke613/gh-user-stars

gh コマンドが持つ権限を使って API を叩けるため、パーソナルアクセストークンを別途払い出す必要がありません。簡単に GitHub の権限が必要な API を叩くようなスクリプトを配布できるのがいいですね。

GitHub Actions: Reduce duplication with action composition | GitHub Changelog

https://github.blog/changelog/2021-08-25-github-actions-reduce-duplication-with-action-composition/

GitHub Actions の composite action(複合実行アクション)uses が使えるようになりました。

composite action はワークフローの複数のステップをまとめたアクションです。頻出する一連の処理を関数化することで、ワークフローの記述量、変更にかかるコストを減らすことができます。しかし、これまで composite action では uses を使って他のアクションを呼び出すということができませんでした。そのため結局複数ワークフローに同じような処理が直書きされている状況のリポジトリは多かったかと思います。

これからは composite action 内で uses が使えます。記事では docker/setup-buildx-action@v1docker/login-action@v1docker/build-push-action@v2 を組み合わせて、Docker イメージのビルドからプッシュまでを楽に行えるようにした例が載っています。

僕も試しに go のセットアップからキャッシュの設定までをアクションにまとめてみました。便利ですね。

あらゆるワークフローの処理を関数化できるようなって、ワークフローを書くのが楽になりました。これは生産性が上がりますね。

Amazon EC2 M6i instances are now available in 2 additional regions

https://aws.amazon.com/jp/about-aws/whats-new/2021/08/amazon-ec2-m6i-instances-us-west-asia-pacific/

先週ちらっと Amazon EC2 で新しく M6i インスタンスが登場した話を紹介しましたが、この M6i インスタンスが早くも東京リージョンでも使えるようになりました。

M6i インスタンスは M5 インスタンスの後継です(i は Intel プロセッサであるという意味)。M5 インスタンスと比べてパフォーマンスが向上していたり、新たなインスタンスサイズが追加されていたりします。

同じインスタンスサイズであれば M5 インスタンスと比べて料金は変わらないので、特にこだわりがなければアップデートしておきたいですね。

tool 🔨

Otter|Otterは英語音声の文字起こしアプリです

https://otter.ai/jp

英語音声を文字起こししてくれるアプリです。リアルタイムで文字起こしして、テキスト+音声で保存してくれます。毎月 600 分、1 回のセッションにつき 40 分までなら無料で利用できます。

英語のポッドキャストや字幕のない英語のニュースを見る際などに使えそうです。また、録音した音声を再生すると話したワードがハイライトされるので、英語学習にも利用できるかもしれません。

僕の場合は、先日の Weekly で紹介した Alibaba Cloud の Podcast を聴くために使いました。結構認識率が高い印象です。また、この後 DeepL 翻訳にかけました。(録音する必要があるので面倒ではありますが...[1]

残念ながら僕は英語が苦手なので英語の Podcast を聴くのは実質できませんでした。Alibaba Cloud の Podcast についても紹介はしつつ自分では聴けないななんて考えていたのですが、Otter を知って自分でも英語の Podcast を楽しめるようになりました。(自動翻訳機能までつけてくれるとなおありがたいですね。)

koneta 🍘

Productivity Weekly で出たネタを全て紹介したいけど体力が持たない、または、そんなに言うことがなかったネタを一言程度で書くコーナーです。

あとがき

今週は土曜日に ODC での発表がありました。生産性向上チームで外部で発表するっていうのは珍しかったのですが、これからますます露出を増やしていきたいですね。発表資料はこちらにまとめているので、気になる方は読んでいただけると幸いです。

ちなみに 8/30-9/2 までインターン受け入れがあります。がんばるぞ!

生産性向上チームでは毎週こういったネタを共有する会を行っています。そんな生産性向上チームが気になる方は下のリンクをクリック!
https://blog.cybozu.io/entry/2020/08/31/080000

omake

今週のおまけです。

samuelmarina/is-even: Is a number even?

https://github.com/samuelmarina/is-even

数字が偶数かどうかを判定するための npm ライブラリです。

なんと if(number === 18 || number === "18" || number === "eighteen" || number === "Eighteen" || number === "EIGHTEEN") return true; というように if 文を大量に並べて判断しています。おかげで index.js のファイルサイズは 90MB を超えています。

https://twitter.com/mattn_jp/status/1428544072327729152?s=20

狂気に満ちていますね。

こんなリポジトリですが現時点で Star 数は 1.1k を超えており、100 を超えるプルリクエストが寄せられています。(プログラマは悪ふざけがお好き

作者はこのプロジェクトの早急な完成を望んでいます。
PLEASE, MAKE A PULL REQUEST SO WE CAN FINISH THIS PROJECT ASAP. Also, give it a star, for the sake of God.

README.mdより

色々と謎なリポジトリですが、ちょっと調べた感じだと存在理由がよくわかりませんでした。why という Issue すらありますがまだ謎は解けていません。
https://github.com/samuelmarina/is-even/issues/158

README.md にもリンクがありますが、作者の Samuel Miller 氏は Youtuber のようなので、知名度向上のためのリポジトリなのかもしれませんね(知らんけど)。

ちなみに奇数かどうかを判定するための is-odd というライブラリもあります。奇数を知りたい人にも安心!
https://github.com/samuelmarina/is-odd

暇な人は貢献してみると暇を潰せると思います。

脚注
  1. 軽く調べた感じだと、無料版の場合 3 ファイルまでならファイルから音声を import できるようです。本格利用したいならお金を払いましょう。 ↩︎

GitHubで編集を提案

Discussion