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
26
たまには、ふりだしに戻っても良いかもね
i999rri
October 20, 2024
Tweet
Share
Other Decks in Technology
See All in Technology
パートナー企業のテクニカルサポートエンジニアとして気になる、より良い AWS サポートの利活用について
kazzpapa3
0
180
RAG: from dumb implementation to serious results
glaforge
0
610
Oracle Cloud Infrastructure:2024年10月度サービス・アップデート
oracle4engineer
PRO
0
150
組織デバイスのための効率的なアプリケーション更新戦略
kenchan0130
0
450
多数のWebサービスをECS/Fargate構成で効率よく構築・運用するなら copilot-cli
interu
2
170
안드로이드 기술 이력서의 최소 조건
pluu
0
800
RDS for Db2 データ移行編 - Part2:S3経由のバックアップ・リストアでデータ移行 /20241011-RDSforDb2-dojo
mayumihirano
0
140
入社半年(合計1年)でGoogle Cloud 認定を全冠した秘訣🤫
risatube
1
270
Demystifying Vite Internals
nozomuikuta
2
220
Deep dive into Nuxt Server Components
wattanx
1
460
不要なリソースを自動で定期的に整理する方法 ~Sandboxアカウントのコストを削減しよう!~
amixedcolor
4
230
VueとViteで作るUIコンポーネントライブラリ ~デザインシステムとプロダクトの理想的な分離を目指して~ / 20241019_cloudsign_VueFesJapan2024_1
bengo4com
8
3.1k
Featured
See All Featured
Ruby is Unlike a Banana
tanoku
96
11k
Done Done
chrislema
181
16k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
130k
Optimising Largest Contentful Paint
csswizardry
31
2.9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
46
4.9k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
23k
Learning to Love Humans: Emotional Interface Design
aarron
272
40k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.6k
Building Adaptive Systems
keathley
38
2.2k
Optimizing for Happiness
mojombo
375
69k
Intergalactic Javascript Robots from Outer Space
tanoku
268
27k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.8k
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
最後に 以上です! ご清聴いただき、ありがとうございました。 🦀🦀🦀🦀