Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
重要だけど、 よく忘れる仕様との付き合い方
Search
Hayato Nakamura
March 08, 2024
0
88
重要だけど、 よく忘れる仕様との付き合い方
運用期間が長いシステムでうっかりシステムを落とす対応をいれないようにするにはどうすればいいのかというのを考えてみました。
Hayato Nakamura
March 08, 2024
Tweet
Share
More Decks by Hayato Nakamura
See All by Hayato Nakamura
定時実行の設定が難しいから、 仕組みで解決をしている話
chikin14niwa
0
110
呼び出し順で、 売上金額を回収できなくした話
chikin14niwa
0
73
N+1はダメなのか? システムを落としたあの日より
chikin14niwa
0
29
Sessionの衝突から学んだPHPのSession作成方法 @CakeJP 2023/12/13 エンジニア小話会 PHPを語り合おう
chikin14niwa
0
370
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.9k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Into the Great Unknown - MozCon
thekraken
40
2k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
51
5.6k
Gamification - CAS2011
davidbonilla
81
5.4k
Building Adaptive Systems
keathley
43
2.7k
Bash Introduction
62gerente
615
210k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
520
GitHub's CSS Performance
jonrohan
1032
460k
Being A Developer After 40
akosma
90
590k
Transcript
© Cake.jp Co.Ltd. All Right Reserved.|Confidential 重要だけど、 よく忘れる仕様との付き合い方
中村 隼人
2 © Cake.jp Co.Ltd. All Right Reserved.|Confidential 自己紹介 • 名前
◦ 中村 隼人 • 業務 ◦ カート周り(PHP/Kotlin/TypeScript) • おすすめ🍰 ◦ 子どもが野菜を食べてくれる ◦ 大人が食べてもおいしい
3 © Cake.jp Co.Ltd. All Right Reserved.|Confidential • システムの規模が大きい。 •
歴史が古い。 • まとまった仕様書がない。 • 普段あまり使わない。 全仕様の把握って大変ですよね?
4 © Cake.jp Co.Ltd. All Right Reserved.|Confidential • システムの規模が大きい。 •
歴史が古い。 • まとまった仕様書がない。 • 普段あまり使わない。 全仕様の把握って大変ですよね?
5 © Cake.jp Co.Ltd. All Right Reserved.|Confidential • 同じログイン体系で複数のカートシステムが存在する。 •
カートをまたぐときにログイン状態を維持できない。 • カートBは特定のエンドポイントしかアクセスすることができない。 ◦ 特定のエンドポイント以外にアクセスするとログアウトされる。 事象の説明 システム カートA カートB
6 © Cake.jp Co.Ltd. All Right Reserved.|Confidential 1. コントローラを追加する 2.
カートAでは通常に動くので、リリースする 3. カートBで注文に失敗する。 発生したこと だいぶ大げさです。
7 © Cake.jp Co.Ltd. All Right Reserved.|Confidential 1. レビューで防げない。 (変更頻度が少なく、レビュー漏れしてしまう)
2. 動作確認テストで防げない。 (変更箇所のテストだけでは、パスしてしまう) 3. 失敗したときの影響が大きい。 (問い合わせ対応工数がかかる。売上毀損する) 困っていたこと
8 © Cake.jp Co.Ltd. All Right Reserved.|Confidential 自動テストへの組み込み コントローラを追加したら、絶対に落ちるテストの作成 解決への道
カートBが利用 可能なコント ローラ カートBが利用 不可なコント ローラ Controller どちらかに追加しないと落 ちる
9 © Cake.jp Co.Ltd. All Right Reserved.|Confidential 自動テストへの組み込み コントローラを追加したら、絶対に落ちるテストの作成 解決への道
10 © Cake.jp Co.Ltd. All Right Reserved.|Confidential • 自動テストを作成したことにより、必ず仕様の検証をできるようになった。 ◦
導入後、この不具合の発生なし。 • 人は忘れる。仕組み化偉大。 まとめ
11 © Cake.jp Co.Ltd. All Right Reserved.|Confidential 次回は3/21(木) 19:00~開催予定です 定期的にイベントやってます(PR)