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
AWS IoT 超入門 2025
hattori
0
340
JAZUG 15周年記念 × JAT「AI Agent開発者必見:"今"のOracle技術で拡張するAzure × OCIの共存アーキテクチャ」
shisyu_gaku
1
160
小学4年生夏休みの自由研究「ぼくと Copilot エージェント」
taichinakamura
0
720
衛星画像超解像化によって実現する2D, 3D空間情報の即時生成と“AI as a Service”/ Real-time generation spatial data enabled_by satellite image super-resolution
lehupa
0
170
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
12
80k
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
20k
そのWAFのブロック、どう活かす? サービスを守るための実践的多層防御と思考法 / WAF blocks defense decision
kaminashi
0
200
Claude Codeを駆使した初めてのiOSアプリ開発 ~ゼロから3週間でグローバルハッカソンで入賞するまで~
oikon48
9
3.9k
Data Hubグループ 紹介資料
sansan33
PRO
0
2.2k
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.8k
AWS Control Tower に学ぶ! IAM Identity Center 権限設計の第一歩 / IAM Identity Center with Control Tower
y___u
0
170
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
930
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3k
Bash Introduction
62gerente
615
210k
Speed Design
sergeychernyshev
32
1.2k
Unsuck your backbone
ammeep
671
58k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
GitHub's CSS Performance
jonrohan
1032
470k
The Language of Interfaces
destraynor
162
25k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Building a Modern Day E-commerce SEO Strategy
aleyda
44
7.8k
It's Worth the Effort
3n
187
28k
Raft: Consensus for Rubyists
vanstee
140
7.1k
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
最後に 以上です! ご清聴いただき、ありがとうございました。 🦀🦀🦀🦀