☠️

Productivity Weekly (2021-12-15号)

2021/12/20に公開

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

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

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

news 📺

Improving GitHub code search | The GitHub Blog

https://github.blog/2021-12-08-improving-github-code-search/

GitHub のコード検索機能が強化されます(Technology Preview)。

新たなコード検索には以下の特徴などがあります。

  • 検索結果をスマートにソート、探しているものが見つけやすくなる
  • 検索文字列の部分一致や完全一致、正規表現のサポート
  • Organization、リポジトリ、言語やパスなどの絞り込みを自動補完
  • 検索条件の保存

早く使ってみたいところですが、現在は Technology Preview のため、waitlist に登録する必要があります。気になる人は今すぐ登録しましょう。

ちなみに Productivity Weekly 参加者の一人がすでに使えるようになっていたため、デモをしてもらいました。あらゆる条件の補完が自動で出たり検索条件を保存して再度使えるようにできるなど、非常に検索しやすそうでした。早く僕も使いたいです。

Terraform 1.1 Improves Refactoring and the Cloud CLI Experience

https://www.hashicorp.com/blog/terraform-1-1-improves-refactoring-and-the-cloud-cli-experience

Terraform 1.1 がリリースされました。

さまざまな変更がありますが、一番気になる変更として moved ブロックが追加されました。Terraform リソースのリソース名を変更したり、モジュールを分割したりする際に、既存のリソースを破壊しない方法として terraform state mv があります。しかし、state mv は扱いが難しい部分がありました。今回 moved ブロックが追加されたことで、state mv よりも安全にリソースのリファクタができるようになりました。

moved ブロックは移動元(from)と移動先(to)を .tf ファイルに定義して利用します。.tf ファイルで定義することで、いつものように terraform plan で適用前後の差分を確認し、terraform apply で実際に移動できます。適用前後の差分が確認できることで安全に移動することが可能となります。

moved ブロックを試したい、どんな感じで使うのか知りたいという方は moved を使ったリファクタのチュートリアルがあるのでそちらをご覧ください。

moved が登場してリソースの移動がやりやすくなりましたね。今回は moved のみ紹介しましたが、Terraform 1.1 には他にも色々変更があるので、元記事の残りも読んでみてください。

GitHub Actions: Changes to permissions in workflows triggered by Dependabot | GitHub Changelog

https://github.blog/changelog/2021-12-09-github-actions-changes-to-permissions-in-workflows-triggered-by-dependabot/

GitHub Actions において、Dependabot によってトリガーされるワークフローの権限が一部変更されました。具体的には以下のようになりました。

  • createdeploymentdeployment_status でトリガーされるワークフローは常に read-only なトークンとなり、シークレットは読めなくなる
  • pull_request_target でトリガーされたワークフローが dependabot が作成したコミットを対象とする場合、常に read-only なトークンとなり、シークレットは読めなくなる
    • 以前 dependabot の権限が変わったときにこの方法で回避してる人たちがいた[1]

Dependabot によってトリガーされるワークフローの権限が今年初めくらいに制限され、さまざまなワークフローが落ちたと思います。最近の変更で permissions を尊重するようになったりDependabot のシークレットを利用できるようになったりしたため、以前のように Dependabot に権限を持たせやすくなりました。しかしそれまでは Dependabot によってトリガーされるワークフローに権限を持たせるため、さまざまな回避策が考案されてきました(よく聞いたのが pull_request_target による回避)。今回の変更でそれらの抜け道が使えなくなったことになります。

おそらく permissions の尊重、Dependabot secrets の利用ができるようになり、抜け道を使わなくてもよくなったからこのタイミングで制限されたのかな〜とか思います。Dependabot 利用者は今年一年大変でしたね。正規の方法で権限を与えていきましょう。

know-how 🎓

Log4jの深刻な脆弱性CVE-2021-44228についてまとめてみた - piyolog

https://piyolog.hatenadiary.jp/entry/2021/12/13/045541

Log4j2 の任意のコードが実行できてしまうヤバイ脆弱性こと Log4Shell の piyokango さんによるまとめです。

この記事では、簡単なまとめ、悪用された時に何が起きるか、影響を受ける条件、対応方法、不適切な対応方法、その他諸々あらゆる情報がまとまっています。

Log4Shell についてまだ詳しくない方や初動しか関わっていない方などは読むことをお勧めします。

CircleCI の設定を絵に書いて頭の中を整理 - Mitsuyuki.Shiiba

https://bufferings.hatenablog.com/entry/2021/12/11/025726

CircleCI の各概念をクラス図っぽくしてまとめたやつを作ったという記事です。

CircleCI のドキュメントや .circleci/config.yaml、WebUI をみていると Pipeline や Workflow、save_cache といった固有名詞がたくさん出てきます。こういった概念の関連がわかっていないとどうしても混乱しがちです。この記事では、各概念がそれぞれどういう関係なのかをクラス図のような図でまとめています。さらに各概念について簡単な説明もしてくれています。

本文中にも書いてありますが、Environment はどこで定義できるかなどをすぐに確認できて良いです。僕もここらへんの概念はたまにあやふやになることがあるのでこういった図はとても助かります。迷ったらこの記事を見にきたいです。

ソフトウェアテスト自動化カンファレンス2021 - connpass

https://testautomationresearch.connpass.com/event/228204/

ソフトウェアテスト自動化カンファレンス 2021 が開催されていました[2]

Productivity Weekly 参加者の一人がこれに参加してたのですが、E2E テスト自動化の苦労話が多かったとのことです(昔はテストを自動化しようという内容が多かったらしい)。

各プレゼンテーション資料はここにまとまっているので、気になる方は資料を読みましょう。

koneta 🍘

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

あとがき

年末なので飲み会だらけです。楽しいから良いのですが。この前東京ソラマチ(スカイツリーある場所)に行ったのですが、人であふれていて昼飯食うのも厳しい状況でしたね。だいぶコロナ前くらいの人が戻ってきてるのではないでしょうか?(コロナ前は就活くらいでしか東京来てないので本当のところ知らんけど)

この前 1 年ぶりくらいにリアル麻雀をしたのですが、東場に二連続で倍満上がってヤバかったです。しかも両方一発ツモ。他にも何回か上がって 6 万点ちょいで勝利しました。自己ベストじゃないかってくらい点取りましたね。今年の運を使い切ったので今年は終わりです。

https://twitter.com/Shitimi_613/status/1471817565907611648

サイボウズの生産性向上チームでは社内エンジニアの開発生産性を上げるための活動を行なっています。そんな生産性向上チームが気になる方は下のリンクをクリック!
https://note.com/cybozu_dev/n/n1c1b44bf72f6

omake 🃏

今週のおまけです。

文章を読むスピードが最大2倍。「読書アシスト」無償公開 - Impress Watch

https://www.watch.impress.co.jp/docs/news/1371843.html

面白い拡張機能が登場していました。Web 記事を文章を読むスピードを 1.5 〜 2 倍に向上させるレイアウトに変換する Chrome 拡張機能、読書アシストです。

実際に使ってみると以下の図のように長文が斜めになります(言葉での表現がむずい)。


実際に使ってみた例:Productivity Weekly (2021-12-08号)

インストールは以下のサイトから。

https://lp.reading-assist.com/

最初なんだこれ!?って思ったのですが、使ってみると確かに読みやすい気がします。拡張機能は 2021/12/06 〜 2022/02/28 まで無償公開されているので、気になる人は今のうちに使っておきましょう。

脚注
  1. 例:【Github actions】DependabotのPull RequestでSecretsが参照できずワークフローがFailになった場合の対処 - Simple minds think alike ↩︎

  2. 全然アンテナ貼れてなくて気づいてなかった〜 ↩︎

GitHubで編集を提案

Discussion