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
PsySHを使った効率的なデバッグ方法について / How debug efficientl...
Search
Futoshi Endo
March 25, 2023
Programming
2.7k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PsySHを使った効率的なデバッグ方法について / How debug efficiently using PsySH
Futoshi Endo
March 25, 2023
More Decks by Futoshi Endo
See All by Futoshi Endo
【PHPカンファレンス小田原2026】Webアプリケーションエンジニアにも知ってほしい オブザーバビリティ の本質
fendo181
0
1.6k
【PHPerKaigi2026】OpenTelemetry SDKを使ってPHPでAPMを自作する
fendo181
2
450
AI時代におけるドメイン駆動設計 入門 / Introduction to Domain-Driven Design in the AI Era
fendo181
0
1.4k
【PHPカンファレンス小田原2025】New RelicのAPMを活用したECサービスにおけるメール遅延解消の舞台裏
fendo181
1
4.4k
PHP8の機能を使って堅牢にコードを書く
fendo181
7
8.4k
Introduction to Typing Practice
fendo181
0
1.2k
PHP8によるデザインパターン入門 / Introduction to Design Patterns with PHP8
fendo181
2
5k
PHPerがGoに入門してみた/PHPer introduction to Go.
fendo181
0
6.1k
Laravel.shibuyaで改善してきた IRT勉強会の運営方法について / IRT Study Session Improved Through Laravel Shibuya
fendo181
0
2.7k
Other Decks in Programming
See All in Programming
『寄り添うラジオ』をAIで作る 体験価値から逆算した、会話しないUXと品質設計
theoriatec2024
2
110
週末にAI-DLCを本気で回したら$1,600溶けた
hbashimizu
0
130
The Good Stuff, Not the Slop: Engineering High-Quality Android Apps with Modern AI Tooling
danybony
1
180
XHTMLが残したもの
yosuke_furukawa
PRO
1
400
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
110
FDEとは、何者なのか?
masapyon1212
0
140
Can LLMs Replicate 4 Years of Compose Migration? Exploring the boundaries of automation with 279 XML files from a real product
makun
0
130
私のClaude Code活用法 (個人開発編) - PHPerKaigi mini #4(2026/08/24)
panda_program
1
210
[DroidKaigi 2026] Bring your own phones to Gradle Managed Devices
f2lk
0
110
「つくるAI」だけではバグは見つからない ~テストに必要な「見つけるAI」を分離させる戦略~
mfunaki
0
230
What We Talk About When We Talk About XP
m_seki
2
360
MIZARU@SPAJAM2026 第二回予選
1901drama
0
110
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
Faster Mobile Websites
deanohume
310
32k
Discover your Explorer Soul
emna__ayadi
2
1.3k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.9k
Rails Girls Zürich Keynote
gr2m
96
14k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
The Pragmatic Product Professional
lauravandoore
37
7.4k
Product Roadmaps are Hard
iamctodd
55
13k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
Transcript
© 2012-2023 BASE, Inc. 2023/03/25 PHPerKaigi2023 LT PsySHを使った効率的なデバッグ方法について
© 2012-2023 BASE, Inc. 2 氏名:Futoshi Endo 所属:BASE株式会社 業務:バックエンド エンジニア
趣味:料理、音楽鑑賞、ゲーム PHP歴は6年。 好きなPHPの関数は array_map です。 • Endo Tech Blog • https://scrapbox.io/fendo181/ Fendo181 自己紹介
© 2012-2023 BASE, Inc. 今日の本題
© 2012-2023 BASE, Inc. 今日の本題 4 var_dump したけど ほしかった情報が 出てなかった...。
別の箇所でもう一度 var_dumpさせよう Xdebugの リモートデバッグを試そう としたけど、思った以上に 設定に時間がかかるなぁ... こんな経験ありませんか?
© 2012-2023 BASE, Inc. 今日の本題 5 debugの為にdebugしている...ってコト!?
© 2012-2023 BASE, Inc. 今日の本題 6 PsySHの良さを伝えにきました
© 2012-2023 BASE, Inc. アジェンダ
© 2012-2023 BASE, Inc. アジェンダ 8 • PsySHの紹介 • 基本的な使い方について
• おすすめのデバッグ方法 • まとめ • (参考文献の紹介)
© 2012-2023 BASE, Inc. PsySHの紹介
© 2012-2023 BASE, Inc. PsySHの紹介 10 • PsySH is a
runtime developer console, interactive debugger and REPL for PHP. ◦ REPL(Read-Eval-Print Loop) ◦ 2012年の6月からプロジェクトが開始されていた ▪ http://justinhileman.info/projects/ • PsySHはPHPの対話型シェル(REPL)であり、コードを実行しながら対話的にデバッ グや開発を行うことができる。 • コードを行単位で評価し結果を直接表示することができて、変数や関数オブジェクト の状態を確認する事ができて、デバッグがしやすくなる。 • Rubyだと binding.irb がイメージしやすい ◦ https://github.com/ruby/irb
© 2012-2023 BASE, Inc. PsySHの紹介 11 (https://github.com/ruby/irb) irb の例
© 2012-2023 BASE, Inc. PsySHの紹介 12 Psyshで同様の事を実行した例
© 2012-2023 BASE, Inc. PsySHの紹介 13 (https://github.com/ruby/irb)
© 2012-2023 BASE, Inc. 基本的な使い方について
© 2012-2023 BASE, Inc. 基本的な使い方について 15 インストール方法
© 2012-2023 BASE, Inc. 基本的な使い方について 16 呼び出し方について スクリプト内で呼び出す方法 ターミナルから呼び出す方法
© 2012-2023 BASE, Inc. 基本的な使い方について 17 var_dumpでデバッグした例
© 2012-2023 BASE, Inc. 基本的な使い方について 18 var_dumpでデバッグした例
© 2012-2023 BASE, Inc. 基本的な使い方について 19 psyshでデバッグした例
© 2012-2023 BASE, Inc. 基本的な使い方について 20 psyshでデバッグした例
© 2012-2023 BASE, Inc. おすすめのデバッグ方法
© 2012-2023 BASE, Inc. おすすめのデバッグ方法について 22
© 2012-2023 BASE, Inc. おすすめのデバッグ方法について 23 lsを使ってみる
© 2012-2023 BASE, Inc. おすすめのデバッグ方法について 24 lsを使ってみる
© 2012-2023 BASE, Inc. おすすめのデバッグ方法について 25 showを使ってみる
© 2012-2023 BASE, Inc. おすすめのデバッグ方法について 26 showを使ってみる
© 2012-2023 BASE, Inc. おすすめのデバッグ方法について 27
© 2012-2023 BASE, Inc. おすすめのデバッグ方法について 28 「$_ 」で直近の結果が取得できる
© 2012-2023 BASE, Inc. まとめ
© 2012-2023 BASE, Inc. 30 まとめ • PsySHについて紹介しました • PsySHを使う事で対話的にデバッグができて、素早く検証が出
来る! • 「PHPStorm + Xdebug」でも素早くデバッグができるが ちょっとした検証であれば PsySH でも十分に良い ◦ PHPで競技プログラミングをやっていると凄い助かる • デバッグ方法を極めて良い PHPer Lifeを!
© 2012-2023 BASE, Inc. 31 Thanks for listening !
© 2012-2023 BASE, Inc. 参考文献
© 2012-2023 BASE, Inc. 33 参考文献 • https://github.com/bobthecow/psysh • https://www.sitepoint.com/interactive-php-debugging-psysh/
• http://justinhileman.info/projects/ • https://github.com/bobthecow/psysh/wiki/Magic-variables • https://www.phper.ninja/entry/2015/11/10/031000 • https://github.com/bobthecow/psysh/wiki/Commands