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
ことみん / kotomin_m
January 11, 2024
Programming
0
540
エラー発生時に冷静に対処している 先輩は何を考えているのか
2024/01/11 (非公式)PHPカンファレンス北海道2024 全然野菜 での発表資料です
ことみん / kotomin_m
January 11, 2024
Tweet
Share
More Decks by ことみん / kotomin_m
See All by ことみん / kotomin_m
【技術カンファレンス運営の裏側】Iwaken Lab 技術好き学生の近況報告 & ことみんさんに技術カンファレンス運営の裏側を聞いちゃう会
kotomin_m
3
140
倒して、倒して、倒しまくれ!―PHP&Laravelのバージョンアップの戦い―
kotomin_m
4
290
新米SRE、4つのプロダクトを同時にPHP7.0から8.1へ!!
kotomin_m
2
900
偶然のチャンスを掴めるのは誰だ?
kotomin_m
11
790
エンジニア基礎 ウィルゲート2024年度エンジニア新卒研修
kotomin_m
150
170k
チーム開発でデプロイ頻度を上げるための設計とタスク分割
kotomin_m
5
6.3k
ISUCONってなんだか難しそう……!!でも、初めてのISUCONにPHPで挑戦してきました!
kotomin_m
2
1.3k
PHPコミュニティ、その魅力と熱狂をあなたにも!!!
kotomin_m
1
1.7k
チームで継続する 週末のリファクタリング時間
kotomin_m
0
410
Other Decks in Programming
See All in Programming
大規模マルチテナントを解決するYugabyteDBという選択肢
nnaka2992
1
250
Clean Architecture by TypeScript & NestJS
ryounasso
0
150
20240706_CDKConf
takuyay0ne
0
1.2k
スクラムマスターって孤独じゃないですか?
yoshitaroyoyo
1
140
[After Kotlin Fest 2024 LT Night @ Sansan] もっともっとKotlinを好きになる!K2 Compiler Pluginで遊んでみよう!
kitakkun
2
260
Android開発者のための Kotlin Multiplatform入門
ntaro
0
190
ドメイン駆動設計の実践
masuda220
PRO
19
5.2k
GraphQL はいいぞ! ~Laravel で学ぶ GraphQL 入門~
azuki
1
160
Rust.Nagoya #1
codemountains
0
170
3 Effective Rules for Success with Signals in Angular
manfredsteyer
PRO
0
120
君たちはどうコードをレビューする (される) か / 大吉祥寺.pm
utgwkk
15
8.5k
さきがけから振り返るアーキテクチャ刷新 / Reflecting on the Architectural Renewal from the Vanguard
nrslib
2
780
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
18
1.2k
KATA
mclloyd
20
13k
Optimizing for Happiness
mojombo
373
69k
Thoughts on Productivity
jonyablonski
64
4.1k
Build your cross-platform service in a week with App Engine
jlugia
227
17k
VelocityConf: Rendering Performance Case Studies
addyosmani
321
23k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Testing 201, or: Great Expectations
jmmastey
33
6.9k
Atom: Resistance is Futile
akmur
261
25k
A Modern Web Designer's Workflow
chriscoyier
689
190k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
26
1.6k
Transcript
X @kotomin_m #phpcondo_yasai エラー発生時に冷静に対処している 先輩は何を考えているのか 2024/01/11 ことみん@kotomin_m (非公式)PHPカンファレンス北海道2024 全然野菜
X @kotomin_m #phpcondo_yasai
X @kotomin_m #phpcondo_yasai ことみん@kotomin_m 所属:株式会社ウィルゲート 出身:北海道沙流郡日高町 趣味:LT会とカンファレンスとネイル おすすめの北海道土産:ぽてコタン
X @kotomin_m #phpcondo_yasai 先輩は何を考えているのか 1. プロダクト開発担当者としてのスタンス 2. チームや事業部との連携 3. 不具合やエラーの対応方法
プロダクト開発担当者としての スタンス
X @kotomin_m #phpcondo_yasai 「自分がこのプロダクトの開発・保守を担当するエ ンジニアなんだ!!」 ❌ エラー通知は誰かが気づいて対応してくれるだろう ⭕ 自分が対応するんだ! スタンス
X @kotomin_m #phpcondo_yasai 「エラーや不具合に即反応するぞ!!」 • 事業部との連携用のチャンネル • エラー通知チャンネル • など
スタンス
X @kotomin_m #phpcondo_yasai 即反応するとは言っても・・・ • 休みや旅行中とかはSlack見ない ◦ チームメンバーに任せましょう • でも、ときには業務時間外の通知でも気付けるよ
うに、特定チャンネルだけ通知設定してる ◦ 起きている時間帯だけ スタンス
チームや事業部との 連携
X @kotomin_m #phpcondo_yasai 連携 チームメンバーと連携を取る! • エラー通知やメッセージに気づいたと知らせる ◦ 誰が見ても今から対応しようとしていることが分かる ことが大事
• 対応中はすべてログをテキストで残す ◦ 例)XXController.php@indexでエラーになっている ◦ エラー通知のスレッドや、調査用のスレッドに残す
X @kotomin_m #phpcondo_yasai 連携 チームメンバーと連携を取る! • わからないことはわかる人に頼り、自分だけで判 断しない ◦ 方針を考えて伝えるのは必要だが、これでヨシ!かど
うかは必ず相談する
X @kotomin_m #phpcondo_yasai 連携 事業部と連携を取る! • ユーザに影響があるエラーや不具合とわかる場 合、修正よりも先に事業部に連絡 ◦ エラーになっている問い合わせがユーザからあるかも
◦ 対応方針に事業部の判断が必要かも ◦ ユーザへのお知らせが必要かも
X @kotomin_m #phpcondo_yasai 連携 事業部と連携を取る! • 緊急度が高いときは連絡方法を工夫する ◦ 緊急感が伝わる絵文字を使う •
影響範囲・対応方針が分かる場合は一緒に連絡する ◦ でも、ガチで急ぎなら簡単な連絡でもいい ▪ 「今エラーでXX画面が開けないので調査中です」
不具合やエラーの 対応方法
X @kotomin_m #phpcondo_yasai まずやること • エラーメッセージを読む ◦ どこ(ファイル・機能)でエラーになっているのか? ◦ なぜエラーになっているのか?
• 過去に同じエラーは来ていないか確認 • 直前・最近デプロイしたものを疑う 対応方法
X @kotomin_m #phpcondo_yasai 原因を調査する • 再現する不具合か? ◦ 実際に触って確認してみる • DBのデータが正しいか?
◦ 想定した通り保存されているか?されていない! → こうなる原因のコードはどこだ!という調査 対応方法
X @kotomin_m #phpcondo_yasai 原因を調査する • コードを読む ◦ IDEとか活用してジャンプしたりしてたどる ◦ 普段の開発とあまり変わらない
対応方法
X @kotomin_m #phpcondo_yasai 影響範囲を把握・緊急度を考える • どこでどのように利用されている機能か? • エラーになるのはどんなときか? ◦ 例)トップ画面を開いたらエラーで真っ白になる
→ 緊急度が高い ◦ 例)一部のユーザの特定の画面で特定の操作 → 緊急度が低い 対応方法
X @kotomin_m #phpcondo_yasai 影響範囲を把握・緊急度を考える • 今すぐに対応が必要かを判断するのは早い方がいい ◦ 障害の場合長引くと影響範囲が大きくなる • 連続して数件〜数十件のエラーが来る
◦ 緊急度が高い場合が多い(かも) • たった1件のエラーだったとしても、重要な機能の不 具合の場合もある 対応方法
X @kotomin_m #phpcondo_yasai 対応方法 対応方針を考える • 明らかに直前のマージが原因ならrevertする • コードの修正が必要なとき ◦
優先度・緊急度で対応方針を判断する(判断を仰ぐ) • そもそもこれは修正が必要なものか? ◦ 必ずしも修正が必要無い場合もある ◦ 例)利用している外部API側が原因の場合
X @kotomin_m #phpcondo_yasai ことみん先輩は何を考えているのか 1. プロダクト開発担当者としてのスタンス 2. チームや事業部との連携 3. 不具合やエラーの対応方法
X @kotomin_m #phpcondo_yasai おわり。