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
120
たまには、ふりだしに戻っても良いかもね
i999rri
October 20, 2024
Tweet
Share
More Decks by i999rri
See All by i999rri
問題を認識して解決できる人は何でもできる
i999rri
0
220
Other Decks in Technology
See All in Technology
LLMを搭載したプロダクトの品質保証の模索と学び
qa
0
1.1k
Platform開発が先行する Platform Engineeringの違和感
kintotechdev
4
570
なぜテストマネージャの視点が 必要なのか? 〜 一歩先へ進むために 〜
moritamasami
0
220
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
430
Webブラウザ向け動画配信プレイヤーの 大規模リプレイスから得た知見と学び
yud0uhu
0
230
AWSで始める実践Dagster入門
kitagawaz
1
620
Function Body Macros で、SwiftUI の View に Accessibility Identifier を自動付与する/Function Body Macros: Autogenerate accessibility identifiers for SwiftUI Views
miichan
2
180
250905 大吉祥寺.pm 2025 前夜祭 「プログラミングに出会って20年、『今』が1番楽しい」
msykd
PRO
1
940
品質視点から考える組織デザイン/Organizational Design from Quality
mii3king
0
200
Aurora DSQLはサーバーレスアーキテクチャの常識を変えるのか
iwatatomoya
1
1k
新アイテムをどう使っていくか?みんなであーだこーだ言ってみよう / 20250911-rpi-jam-tokyo
akkiesoft
0
280
S3アクセス制御の設計ポイント
tommy0124
3
200
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
The Cult of Friendly URLs
andyhume
79
6.6k
Designing Experiences People Love
moore
142
24k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
840
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Building an army of robots
kneath
306
46k
Building Applications with DynamoDB
mza
96
6.6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
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
最後に 以上です! ご清聴いただき、ありがとうございました。 🦀🦀🦀🦀