ずっと風邪でダウンしていましたが、連休中ずっと休んでいたのでほぼ快調しました。 11/22(木)に「Sansan×M3 Tech Night ~レガシーシステムに立ち向かえ!~」という勉強会で発表してきました。
「レガシー」をテーマにした勉強会があと2つあると勉強会当日知りました。なんというネタ被り・・・!
当日の様子
酒の準備は万端 #sansan_m3 pic.twitter.com/P6mcxfAyEd
— shu1 (@ohsawa0515) November 22, 2018
EightとM3のノベリティグッズが!欲しい! #sansan_m3 pic.twitter.com/x8AjZmxfZ4
— shu1 (@ohsawa0515) November 22, 2018
発表スライドはこちらになります。
冒頭の通り、風邪を引いてしまいましてスライドも前日になんとか仕上げたので、練習もあまりできず、どうしても12〜13分になってしまうため、スライドを1枚削って10分に収めるようにしました。
いやー、10分って難しいですね。背景を具体的に説明しようとするとあっという間に時間オーバーになってしまいますので、ざっくりとした内容になってしまいました。。。
懇親会で一人の参加者がインフラCIの取り組みについて参考になったという声を聞き、とても嬉しかったです。直接フィードバックを貰えるのは良いですね。
他の登壇者の発表スライドもこちらにリンクします。
デプロイの度に障害が起きるシステムを安全にした話
スライドが見つからなかったので、見つけ次第リンクします。
メール配信システムにおけるデプロイの話。手順化されていなくて、新人がデプロイする度に障害を発生していたとのこと。
まずは長くてもいいから手順書を作成することで見える化した。見える化ができればそこから自動化ができる。Bashスクリプトで少しずつ自動化をするようにし、Seleniumでテスト配信することでデプロイ後の確認も不要になったとのこと。
自動化をすることはよくあるけど、まず「見える化」するというステップは暗黙的にやってしまいがちであえて意識してやってみることはいいかもと思いました。
フロントエンドをきちんとSPAにしたい!
EightのフロントエンドをBackbone.jsからReactに移行したときの話。JSのことがさっぱりわからないので内容的についていけないことがしばしばあったものの、Eightの進化スピードとそれに伴うレガシーは大体は知っているので親近感はありました。
レガシー化しても困らないためのコーディング
www.slideshare.net
「未来のレガシーをつくっている」
私のスライドでも伝えたかったことが、端的にこのスライドで説明されていました。
なぜレガシーコードを生んでしまうのか。その難点として「仕様・意図(どうしてそう動かしたいのか)が分からない」「他との依存関係、影響範囲が分からない」が挙げられました。発表ではその難点を減らすための工夫が紹介されていました。 こういう書き方をしてもらえると新入社員ではじめてソースコードに触れる人でも読み解きやすいし、事故が減りますね。
インフラ担当という職種柄、あまりプログラミングはしないのですが、ちょっとしたスクリプトやTerraform、個人的なツールにおいても流用が効く、とても参考になる発表でした。
レガシーと正しく向き合う
勉強会前日までスライドができておらず、登壇直前までスライドを作っていたとのことw
エモい話あり、ポエムあり、Eightの歴史ありといったコンテンツ大盛りで、持ち時間10分を大幅にオーバーする18分という発表でしたが、チームでレガシーをどう崩して返済していっているのか、文化づくりや意識の醸成はとても良い取り組みですね。週に半日程度負債を返却するADA(Anti Debt Association)という取り組みは真似したいと思います。
最後に
おそらく年内最後の登壇だったと思うのでやりきった感がありました。来年は腕を磨いてもっと登壇できるようにしていきます!