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
i999rri
October 20, 2024
Technology
0
110
たまには、ふりだしに戻っても良いかもね
i999rri
October 20, 2024
Tweet
Share
More Decks by i999rri
See All by i999rri
問題を認識して解決できる人は何でもできる
i999rri
0
200
Other Decks in Technology
See All in Technology
How Community Opened Global Doors
hiroramos4
PRO
1
120
Welcome to the LLM Club
koic
0
190
解析の定理証明実践@Lean 4
dec9ue
0
180
なぜ私はいま、ここにいるのか? #もがく中堅デザイナー #プロダクトデザイナー
bengo4com
0
480
生まれ変わった AWS Security Hub (Preview) を紹介 #reInforce_osaka / reInforce New Security Hub
masahirokawahara
0
110
ひとり情シスなCTOがLLMと始めるオペレーション最適化 / CTO's LLM-Powered Ops
yamitzky
0
440
Snowflake Summit 2025 データエンジニアリング関連新機能紹介 / Snowflake Summit 2025 What's New about Data Engineering
tiltmax3
0
310
PHPでWebブラウザのレンダリングエンジンを実装する
dip_tech
PRO
0
210
あなたの声を届けよう! 女性エンジニア登壇の意義とアウトプット実践ガイド #wttjp / Call for Your Voice
kondoyuko
4
470
第9回情シス転職ミートアップ_テックタッチ株式会社
forester3003
0
250
Claude Code Actionを使ったコード品質改善の取り組み
potix2
PRO
6
2.4k
2025-06-26_Lightning_Talk_for_Lightning_Talks
_hashimo2
2
100
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Thoughts on Productivity
jonyablonski
69
4.7k
BBQ
matthewcrist
89
9.7k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Raft: Consensus for Rubyists
vanstee
140
7k
A better future with KSS
kneath
239
17k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
The Cult of Friendly URLs
andyhume
79
6.5k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
Transcript
たまには、ふりだしに戻っても良いかもね speaker: i999rri date: 2024-10-19 at: PHP勉強会in広島
こんにちは!
みなさん、お好み焼き⾷べました!?
広島のお好み焼きはより⻑くキャベツを蒸すこ とができるかによって味が変わるときいたこと があります。
whoami kazuki mouri(@i999rri) 広島県出⾝ C#と油そばが好きです。 PHP歴2年 最近はKubernetesを触ってます
突然ですが、質問です! こんにちは!
あなたは、とあるプロジェクトを担当していました。 こんにちは!
進捗がある程度進んでいる状況で、困難に直⾯したとき こんにちは!
⾃分の思い込みを完全に捨て、 ふりだしにもどることは得意ですか? こんにちは!
⾃分は得意ではないです🙅🙅🙅🙅 こんにちは!
場合によってはふりだしに戻らざるを得ない場合も あると思います😞 こんにちは!
今回はふりだしに戻ることが苦⼿な⾃分が ふりだしに戻ることで 良いことがあったという話を 実際に遭遇したエピソードを交えながら話します! 👏👏👏👏 こんにちは!
あるとき、Passkeyに興味を持ってしまい... きっかけ
個⼈のプロジェクトで実装したら めっちゃcoolじゃんと思い 実装を始めました。 きっかけ
ただ、初めてのことをやるときは 何かしら、問題に躓くかなと思っています。 (個⼈差あり)
Signature Does Not Match passwordless-lib/fido2-net-lib Publickeyを⽤いてデジタル署名が有効であることを確認す る処理にて、Signatureが無効な場合に発⽣するエラーで す。
✅ 新規ログイン情報作成 ❌ ログイン処理 問題発⽣後の進捗状況
[進捗] ▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪□□ 90% ✅ 設計 ✅ 実装 ❌ 検証 問題発⽣後の進捗状況
❌ ログイン処理
エラーには、Signature 〜 と書いてあるので Signatureがおかしいんだろと思い 該当する箇所の調査を始めました。 原因調査
調査として以下のことを⾏いました。 ✅ リポジトリの該当のコードを読む ✅ バックエンドで使⽤している認証処理を含んだライブラリ内部の処理を分解し、 実際にエラーが出ている処理を実⾏ ✅ フロントエンド処理の⾒直し 原因調査
この時点で、 フロントの処理に問題があることはわかりました 原因調査
しかし、具体的な修正⽅法がわかりませんでした😭 原因調査
None
約2ヶ⽉後...
とりあえず、「ふりだし」に戻ろうと思い、 ライブラリのソースを眺めていました... 👀 約2ヶ⽉後...
None
今まで気にも留めていなかった、 怪しいディレクトリがあるじゃん... 約2ヶ⽉後...
None
そこで閃きました💡 約2ヶ⽉後...
これの中にフロントの処理も含まれてるんじゃね...🤩 約2ヶ⽉後...
わんちゃん、ある😤 約2ヶ⽉後...
None
含まれてた🥳🥳🥳🥳 約2ヶ⽉後...
その後、 DEMOを参考に処理を 書き直したら 正しく処理が動きました。 約2ヶ⽉後...
めでたし、めでたし👏👏👏👏
今後の再発防⽌のために分析をします。
今回の原因は、 このライブラリの処理が どのような条件で 正しく動くかを認識できていなかったことにあると 考えています。 問題分析
ライブラリの処理が正しく動く条件を知るには 以下のことをしなければならないと思っていて... ‧ ドキュメントを読む ‧ ソースを読む 問題分析
ライブラリの処理が正しく動く条件を知るには 以下のことをしなければならないと思っていて... ✅ ドキュメントを読む ❌ ソースを読む 問題分析
ドキュメントは読んでいましたが、 読んでいたつもりになっていました... ❌ ドキュメントを読む ❌ ソースを読む 問題分析
さらに、Examplesを軽視していたこともあると思っています。 実際、ドキュメント(README.md)には 「アテステーションとアサーションの両⽅の完全な例については、デモ コン トローラーを参照してください。」と書いてありました。 問題分析
サンプルについては、 プログラミングをやり始めた頃はサンプルを写経した記憶があります。 今回はその頃よりそれなりにコードを書いている状況であり 当時より⽐較的コードを書き慣れていた部分がありました。 無意識にサンプルを軽視していたのかなとも思いました。 問題分析
慣れのせいで、 無意識に⼤事なところを⾒落としていたと考えました。 結果
だけど、今回は それとなくふりだしに戻ることで、 慣れている状態を超越して、 問題を解決することができています。
まとめ そこから、どんなに慣れていても とりあえずふりだしに戻ることは どんな状況でもできるのかなと思いました。
まとめ ⾏動のための⼿札の⼀つとして ふりだしに戻るというカードを常に持っておく必要 があると思いました。
None
最後に 以上です! ご清聴いただき、ありがとうございました。 🦀🦀🦀🦀