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
98
重要だけど、 よく忘れる仕様との付き合い方
運用期間が長いシステムでうっかりシステムを落とす対応をいれないようにするにはどうすればいいのかというのを考えてみました。
Hayato Nakamura
March 08, 2024
Tweet
Share
More Decks by Hayato Nakamura
See All by Hayato Nakamura
定時実行の設定が難しいから、 仕組みで解決をしている話
chikin14niwa
0
110
呼び出し順で、 売上金額を回収できなくした話
chikin14niwa
0
80
N+1はダメなのか? システムを落としたあの日より
chikin14niwa
0
34
Sessionの衝突から学んだPHPのSession作成方法 @CakeJP 2023/12/13 エンジニア小話会 PHPを語り合おう
chikin14niwa
0
400
Featured
See All Featured
Evolving SEO for Evolving Search Engines
ryanjones
0
86
The Curse of the Amulet
leimatthew05
0
6.2k
A better future with KSS
kneath
240
18k
A Soul's Torment
seathinner
1
2k
Ethics towards AI in product and experience design
skipperchong
1
140
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Heart Work Chapter 1 - Part 1
lfama
PRO
3
35k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
1.8k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
720
What's in a price? How to price your products and services
michaelherold
246
13k
Leo the Paperboy
mayatellez
0
1.3k
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)