レガシーコードへ立ち向かう~さくらじまハウス2020より~
2020年2月6-7日に鹿児島で開催された『さくらじまハウス2020』へ参加してきました。
2日目1つ目のセクションでは"レガシーコードへ立ち向かう"というテーマのもと3名の方々がお話をされていたので簡単にまとめさせていただきたいと思います。
吉永 満太朗さん [株式会社システック]
- レガシーコードの準備体操
株式会社システックに入社され、既存システムのレガシーコードにメスを入れられている。
・レポジトリを変えて過去を追いやすくする
・リリース物の作成自動化
等々を取り組まれているとのことですが、根本解決まではいたっていない。
技術的負債の本当の姿を知らなければならない。
負債が破綻に至らないよう、
コスト上の重荷をふだんから取り除いておくべき
西村 宗晃さん [株式会社リクルートテクノロジーズ]
- Secure Software Development Practices in Recruit
西村さんはセキュリティの観点から、レガシーに関する危険性と取り組みについてお話くださいました。このかた、Firefoxの脆弱性を報告して土地のローンを返却された凄まじい方でした。
・プロダクトの数が増えるとレガシーも増える
・セキュリティに詳しいエンジニアの数が少ない
・脆弱性は攻撃側が圧倒的有利
・基盤構築×開発支援の2軸で各プロダクトのセキュリティ品質向上を図る
基盤構築 全体的な基準を作る(スケールし易い)
開発支援 各プロダクトに対して個別に支援を行う(スケールしにくい)
・脆弱性管理基盤(RAFFLESIA)
インフラやアプリ開発環境から構成情報を集めて脆弱性を自動検知する
・簡易脆弱性検査ツール(CASVAL)
・ハンズオン型開発者教育 (Bad SNS)
架空のSNSアプリを題材に、脆弱性の発生原理を学ぶ
・セキュアソフトウェア開発プラクティス(SSDP)
将来の脆弱性リスク低減を目的として、開発組織と開発プロセスの評価と改善を行うためのフレームワークを作成している
と様々なことに取り組まれており、非常に勉強になる講演となりました。
セキュリティをより近くに感じる必要がある。
曽根 壮大 [合同会社 Have Fun Tech]
- 失敗から学ぶレガシィデータベース改善
曽根さんの講演にて曽根さんの著書の紹介がありましたので、せっかくなのでご紹介させていただきます。"名著"と強く推されておりました。
さて、本題に移ります。内容といたしましては、データベースのリファクタリングについてのお話をしていただきました。
・稼働しているデータベースと如何に向き合っていくか
・チーズと腐った牛乳との違い。技術的負債がすべて悪いわけではない。
・データベースの寿命はアプリケーションよりも長い
⇒システムが変わっても、DBの流用は当然ある。
・失敗しないことよりも、素早くリファクタリングすることが大事
・テストがない ⇒ テストをできる状態を目指す
・テストの種類もたくさんある ⇒ 状況に合わせたテストを選択。
・テストはちょっとずつ。そして、最終的に全部できる状態へ。
・自動化もしっかり固まって出来るところから。部分的に。
・viewから遠いところからテストを書く
・データベースリファクタリングは時間がかかる
⇒持続可能性が大事。(要は根気強く続けること)
・APIはINとOUTが明確
つまり、テストコードが書きやすい
大事なこと
・リファクタリングの戦略を決める
どこからやるか、どのようにやるか、そして"覚悟を決める"
技術で課題を解決する
具体的にたくさんお話をしていただきました。曽根さんのデータベースリファクタリングに関する詳しいお話はこちらにまとめがありましたので、是非ご覧ください。
さくらじまハウス2020に参加して
さくらじまハウスへは2回目の参加となりましたが、今回も鹿児島のエンジニアの方の熱量を肌に感じるとこが出来ました。今後もイベントにも積極的に参加し、自分自身の熱量も高めていければと思います。
登壇してくださった皆様、運営してくださった皆様、そして参加者の皆様、本当にありがとうございました。
この記事が気に入ったらサポートをしてみませんか?