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
i999rri
October 20, 2024
Technology
150
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
たまには、ふりだしに戻っても良いかもね
i999rri
October 20, 2024
More Decks by i999rri
See All by i999rri
問題を認識して解決できる人は何でもできる
i999rri
0
270
Other Decks in Technology
See All in Technology
S3 Filesで挑む! 八戸せんべい汁の食べ頃問題
usanchuu
0
120
Metadata - Section 1: HTML Basics
mohab1
0
120
LambdaWebFunctionsを試してみた / exploring-lambda-web-functions
koukihosaka
1
360
オントロジーって 結局なにもの? AI エージェントに「意味」を渡す知識設計の話
greenmidori
0
230
[JAWS-UG彩の国埼玉#12]そろそろ準備する?re:Invent2026をやさしく解説 / reinvent2026-sainokuni
sh_fk2
1
360
会社紹介資料 / Sansan Company Profile
sansan33
PRO
31
430k
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
290
パッチ更新でterraform initが落ちた日
grimoh
1
140
しろおびから始める!ログ活用の第一歩
shumei_ito
0
960
自作バイナリを動かす「入口」8選
puhitaku
2
1.3k
『SAR衛星データ解析入門』のご紹介とその応用
syuchimu
0
120
Classmethod Company Deck
satoshi7
1
730
Featured
See All Featured
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
380
WCS-LA-2024
lcolladotor
0
890
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
530
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
1
280
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
410
Mobile First: as difficult as doing things right
swwweet
225
10k
My Coaching Mixtape
mlcsv
0
360
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
260
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
2
360
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
A Tale of Four Properties
chriscoyier
163
24k
How STYLIGHT went responsive
nonsquared
100
6.3k
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
最後に 以上です! ご清聴いただき、ありがとうございました。 🦀🦀🦀🦀