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
86
重要だけど、 よく忘れる仕様との付き合い方
運用期間が長いシステムでうっかりシステムを落とす対応をいれないようにするにはどうすればいいのかというのを考えてみました。
Hayato Nakamura
March 08, 2024
Tweet
Share
More Decks by Hayato Nakamura
See All by Hayato Nakamura
定時実行の設定が難しいから、 仕組みで解決をしている話
chikin14niwa
0
110
呼び出し順で、 売上金額を回収できなくした話
chikin14niwa
0
70
N+1はダメなのか? システムを落としたあの日より
chikin14niwa
0
26
Sessionの衝突から学んだPHPのSession作成方法 @CakeJP 2023/12/13 エンジニア小話会 PHPを語り合おう
chikin14niwa
0
360
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
43
7.6k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
The Cost Of JavaScript in 2023
addyosmani
51
8.7k
4 Signs Your Business is Dying
shpigford
184
22k
It's Worth the Effort
3n
185
28k
Six Lessons from altMBA
skipperchong
28
3.9k
The Pragmatic Product Professional
lauravandoore
35
6.8k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Statistics for Hackers
jakevdp
799
220k
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)