Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
重要だけど、 よく忘れる仕様との付き合い方
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Hayato Nakamura
March 08, 2024
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
重要だけど、 よく忘れる仕様との付き合い方
運用期間が長いシステムでうっかりシステムを落とす対応をいれないようにするにはどうすればいいのかというのを考えてみました。
Hayato Nakamura
March 08, 2024
More Decks by Hayato Nakamura
See All by Hayato Nakamura
定時実行の設定が難しいから、 仕組みで解決をしている話
chikin14niwa
0
130
呼び出し順で、 売上金額を回収できなくした話
chikin14niwa
0
110
N+1はダメなのか? システムを落としたあの日より
chikin14niwa
0
79
Sessionの衝突から学んだPHPのSession作成方法 @CakeJP 2023/12/13 エンジニア小話会 PHPを語り合おう
chikin14niwa
0
460
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
3.2k
Why Our Code Smells
bkeepers
PRO
340
58k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
720
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Designing for Performance
lara
611
70k
Design in an AI World
tapps
1
340
A designer walks into a library…
pauljervisheath
211
25k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
What does AI have to do with Human Rights?
axbom
PRO
1
2.4k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
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)