『よみがえるMakefile』という祈り、もしくはJuly Tech Festa 2021 登壇感想

概要

7月18日に July Tech Festa 2021 が開催されて『よみがえるMakefile』 というタイトルで15:20 から登壇した。今さら聞けないIT技術 というお題だったので今さら聞けないけど… みたいなものが議論の種になればとお題をMakefileに決めました。 docs.google.com

connpass はこちら techfesta.connpass.com

文章として大きく離散してるので雑多なまとめになります。

タイムアポン

完全に終わっていて一連のスライドからGo言語のMakefileを育てていくエピソードを登壇資料から抹消した。 正直、資料の中にあったものをシュッとMakefileに落とし込むだけなので特定の言語やツールに依存するかな?と思って排除してしまいました。

資料は、

『よみがえるMakefile』 という完全にタイトルで勝ちが確定しているタイトルで発表しました。個人的にはMakefile はCI/CD時代においても最強の可搬性を持つ汎用有能ツールであると思っており、Go言語の利用が広がると共に復活したのかな〜って思うなどしてます。

speakerdeck.com

ふとした、下書き

社内での発表の公開用、かつ発表しながらだったので文章としてどこか雑。

インフラエンジニアの作業環境はカオス

インフラエンジニアの作業環境はカオスである場合が多い。そのような環境に対応する場合にいくつかのツールが存在する

上記のような様々なツールを使うことが多い。上記のツールは環境を構築できるがこれら自体を開発していく上での知見はリポジトリには溜まってなかったりする(どのリンターを使うか?確認方法についてなど)。

実際に開発や運用の作業する時には、環境構築だけではないやろ。普通に考えて!

  • 運用や開発で得たいくつかのTipsを知見として保存及び継承するために選べる手段として1番最初にパッと出来てしまうのが自作のシェルスクリプトである。自作のシェルスクリプトは応用が効いくが具体的に何をするか一つ目の引数が何で二つ目はあれでみたいな感じで総じて不明瞭であり、それらは把握、保守する人間が必要で、自作のシェルスクリプトはよく古のオーパーツとして発掘されてしまう場合が多い。アーメン🙏🙏🙏

  • Makefile を使う理由としては開発には様々な理由がある。ビルドオプションを指定するのに都合がよく、バージョン情報などを埋め込んだりしやすい。事前にコードジェネレータで書き出す部分がある時はそれらに伴ったコマンドを補完できる。また、特殊に凝ったことも出来ないので古のオーパーツに比べて読める気がする

  • 特にGo言語でプロダクトを作る時、Makefile を使ってビルドやツールを指定することが多いです(軽量プログラミング言語では使う機会がグッと少なかった。 )

  • Makefileはたまごっちほど容易く死ぬ。その中でMakefile を育てていけると良い、現場の人が永遠に居てくれていつでも対応できるのがいいけど余裕が無かったり、秘伝のタレ化されてて言語化が難しかったりみたいな事態は発生するよなーって思うなどしてます。この辺の知見の中心になれる会社やエンジニアになりてぇ

良い資料たち

最後に

このブログを共有しながらGistでも貼ってくれた方のものに関しては全て転記しようと思うので皆様何卒よろしくお願いします!

個人的に今回の登壇は面白かった。要員としては登壇後の懇親会の gather.town でのフィードバックやごちゃごちゃ感、視聴されてる時の一体感があったような気がします。これらはひとえに運営様の努力だと思いました。