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
メイキング・オブ・PHPカンファレンス 〜PHPカンファレンス関西2024の運営スタッフが語る...
Search
SAW
May 10, 2024
Programming
0
130
メイキング・オブ・PHPカンファレンス 〜PHPカンファレンス関西2024の運営スタッフが語る舞台裏〜
PHPカンファレンス香川2024 前日祭の音響機材調整トークでの発表資料です。
SAW
May 10, 2024
Tweet
Share
More Decks by SAW
See All by SAW
PHP で学ぶ OAuth 入門
azuki
2
520
EditorConfig を使ってみよう
azuki
1
77
Symfony でサクッと作る REST API サーバー
azuki
1
150
Vite の Library Mode を使って Vue のコンポーネントをライブラリ化する
azuki
1
180
Laravel や Symfony で手っ取り早く OpenAPI のドキュメントを作成する
azuki
2
290
Provide/Inject で TypeScript の恩恵を受ける方法
azuki
3
150
GraphQL はいいぞ! ~Laravel で学ぶ GraphQL 入門~
azuki
1
360
OSS contributor への第一歩を踏み出すまでの物語
azuki
2
320
Eloquent で relation を扱う基礎
azuki
0
170
Other Decks in Programming
See All in Programming
AI時代のドメイン駆動設計-DDD実践におけるAI活用のあり方 / ddd-in-ai-era
minodriven
23
9k
Kiroの仕様駆動開発から見えてきたAIコーディングとの正しい付き合い方
clshinji
1
140
WebAssemblyインタプリタを書く ~Component Modelを添えて~
ruccho
1
910
20250808_AIAgent勉強会_ClaudeCodeデータ分析の実運用〜競馬を題材に回収率100%の先を目指すメソッドとは〜
kkakeru
0
200
なぜ今、Terraformの本を書いたのか? - 著者陣に聞く!『Terraformではじめる実践IaC』登壇資料
fufuhu
4
650
AWS Serverless Application Model入門_20250708
smatsuzaki
0
130
Claude Codeで実装以外の開発フロー、どこまで自動化できるか?失敗と成功
ndadayo
2
1.3k
Constant integer division faster than compiler-generated code
herumi
2
690
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
170
Flutterと Vibe Coding で個人開発!
hyshu
1
260
A Gopher's Guide to Vibe Coding
danicat
0
170
Understanding Ruby Grammar Through Conflicts
yui_knk
1
120
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.6k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
283
13k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
GraphQLとの向き合い方2022年版
quramy
49
14k
The Language of Interfaces
destraynor
160
25k
Transcript
ϝΠΩϯάɾΦϒɾ1)1ΧϯϑΝϨϯε ʙ1)1ΧϯϑΝϨϯεؔͷӡӦελοϑ͕ޠΔཪʙ 1)1ΧϯϑΝϨϯε߳લࡇԻڹػࡐௐτʔΫ 4"8
$(whoami) w ࢯ໊Ճ౻फҰ ࡀ w ϋϯυϧωʔϜ4"8 w ؔͷ*5ΤϯδχΞίϛϡχςΟͷ͔͠୲ ࣗশ
w େࡕࡏॅɾѪग़ w 9 چ5XJUUFS !B[VLJ@FBUFS w 1)1ΧϯϑΝϨϯε࣮ؔߦҕһ
1)1ΧϯϑΝϨϯεͷࢀՃྺ 1)1ΧϯϑΝϨϯεࢀՃྺ ظؒ ࢀՃͨ͠ΧϯϑΝϨϯε උߟ 1)1$POGFSFODF+BQBO ΧϯϑΝϨϯεॳࢀՃ
1)1ΧϯϑΝϨϯεԬ ٱ͠ͿΓͷΦϑϥΠϯͷษڧձʹࢀՃ 1)1$POGFSFODF+BQBO ʙ 1)1ΧϯϑΝϨϯεւಓ 1)1ΧϯϑΝϨϯεؔ ίΞελοϑͱͯ͠ࢀՃ ʙ 1)1FS,BJHJ 1)1ΧϯϑΝϨϯεখాݪ )BQQZ#JSUIEBZ ʙ 1)1ΧϯϑΝϨϯε߳ ελοϑͱͯ͠ࢀՃ ˡΠϚίί
͓͠ͳ͕͖ w 1)1ΧϯϑΝϨϯεؔͷཪ w ϝΠΩϯάɾΦϒɾ1)1ΧϯϑΝϨϯεؔ w ӡӦελοϑࢹͷཪ w ΧϯϑΝϨϯεͷཪͷ༠͍
1)1ΧϯϑΝϨϯεؔͷཪ ϝΠΩϯάɾΦϒɾ1)1ΧϯϑΝϨϯεؔ
1)1ΧϯϑΝϨϯεؔͷ։࠵ςʔϚ w ؔ1)1ΤϯδχΞίϛϡχςΟͷ্ཱͪ͛ w ৽ͨͳίϛϡχςΟࢀըऀͷൃ۷ w ؔͰͷٕज़ڞ༗ͷΛग़ w ࣋ଓՄೳͳӡӦମ੍ w
։࠵ςʔϚΛ࣮ݱ͢ΔͨΊͷӡӦମ੍Λඋ ެࣜOPUFهࣄΑΓҾ༻
1)1ΧϯϑΝϨϯεؔͷελοϑ w 1)1ΧϯϑΝϨϯεؔͿΓͷ։࠵ w աڈͷ1)1ΧϯϑΝϨϯεؔͷελοϑ͕΄΅͍ͳ͍ w աڈͷ։࠵ϊϋ͕΄ͱΜͲड͚ܧ͕Ε͍ͯͳ͍ w ؔͷ1)1ίϛϡχςΟͷӡӦʹܞΘΔϝϯόʔ͕΄΅૯ೖΕସ͑
ελοϑͰͷνʔϜ͚ w ୲ൣғΛܾΊΔ͜ͱͰλεΫΛ୲ w جຊతʹνʔϜͷλεΫʹྗ w શମͷਐḿঢ়گͷ၆ᛌ࣮ߦҕһ͕୲ w ࣮ߦҕһͷෛ୲͕େ͖͔ͬͨ
νʔϜ͚ͱׂ 1)1ΧϯϑΝϨϯεؔͷνʔϜ͚ νʔϜ ֓ཁ εϙϯαʔνʔϜ εϙϯαʔͷืू͍߹ΘͤରԠ ࠾ొஃऀνʔϜ ొஃλΠϜςʔϒϧͷࡦఆ ҰൠࢀՃऀνʔϜ
νέοτൢച࠙ձͷख ϝσΟΞνʔϜ 4/4OPUFͳͲͷใ׆ಈ8FCαΠτͷ੍࡞ ಛผاըνʔϜ ໊ࡳ1)1FSγʔϧͷ࡞
1)1FSγʔϧ w 1)1ΧϯϑΝϨϯεؔͰͷۄاը w ࢀՃऀಉ࢜ͷަྲྀଅਐ͕త w γʔϧʹ9 چ5XJUUFS ΞΧϯτͷΞΠίϯ͕ҹ͞ΕΔ w
γʔϧͷσβΠϯςϯϓϨʔτʹΞΠίϯΛྲྀ͠ࠐΉεΫϦϓτΛ࣮ w σβΠϯͷ࡞ΛࣗಈԽͯ͠λεΫΛলྗԽ w ϊϕϧςΟͷதͰଟ͘ͷ༧ࢉ͕ඞཁ w 1)1FS,BJHJͷτϨʔσΟϯάΧʔυͷΞΠσΞ͔Βੜ 1)1FSγʔϧ
༧ࢉͱࢿۚௐୡ w εϙϯαʔ͕ू·Δ͔ͱ͍͏ෆ҆ w ͿΓͷ։࠵ʹग़ࢿͯ͘͠ΕΔεϙϯαʔ͕Ͳͷఔ͔ͭ͘ະ w εϙϯαʔ͔ΒௐୡͰ͖ͨग़ࢿֹ࣍ୈͰ༧ࢉΛΔඞཁ͕͋Δ w ݁ՌతʹϊϕϧςΟͳͲΛ४උ͢Δͷʹेͳࢿ͕ۚௐୡͰ͖ͨ w
εϙϯαʔνʔϜͷਚྗͱεϙϯαʔͷཧղͷ͓͔͛
τʔΫͷ࠾ํ๏ͷެ։ w τʔΫͷ࠾ํ๏ΛOPUFͰެ։ w ͲͷΑ͏ͳج४Ͱ࠾͞ΕΔ͔ΛࢀՃऀ͕Δ͜ͱ͕Ͱ͖Δ w ελοϑථͱࢀՃऀථʹج͍ͮͯܭࢉ͢Δ͜ͱͰ٬؍తʹ࠾
։࠵ͷ༷ࢠ w େ͖ͳτϥϒϧ͕ൃੜ͠ͳ͔ͬͨ w ແࣄʹେޭͰऴ͑ΒΕͨ w ໊Λ͑ΔࢀՃऀ͕དྷͨ͠ w ΧϯϑΝϨϯεॳࢀՃͷํଟ͔ͬͨ
1)1ΧϯϑΝϨϯεؔͷཪ ӡӦελοϑࢹͷཪ
ελοϑʹͳͬͨܦҢ w 1)1ΧϯϑΝϨϯεԬࢀՃޙʹ࣮ߦҕһͷ:,BOPI͞Μ͔Β ͓༠͍Λड͚Δ w :,BOPI͞ΜͱؔͷษڧձͰԿ͔͓ձ͍͍ͯͨ͠ w ษڧձʹొஃ͍ͯͨ͜͠ͱͰೝࣝͯ͠Β͍͓͑ͯͯ༠͍Λड͚ΒΕͨ w ྑ͍ػձͳͷͰελοϑʹͳΔ͜ͱΛܾҙ
w ΧϯϑΝϨϯεελοϑͷܦݧ%PKP$PO+BQBOͷΈ
ελοϑͱͯ͠ͷৼΓฦΓ w 1)1ΧϯϑΝϨϯεؔΛେޭʹऩΊΒΕͯຬײΛಘͨ w ΈΜͳͰ࡞Γ্͛ͨͱ͍͏ຬײ w ख୳ΓͰ४උ͖ͯͨ͠ͷΛޭͤ͞ΒΕͨͱ͍͏ຬײ w ελοϑಉ࢜Ͱͷឺ͕Ͱ͖ͨ w
ಛʹνʔϜͰڧ͘ײ͡ΒΕͨ w ࣍ճͷ։࠵ͷҙཉΘ͍ͨ w ࠓͷܦݧΛདྷͷ։࠵ʹ׆͔͍ͨ͠
ίΞελοϑͱͯ͠ͷۤ࿑ w جຊతʹॳΊͯ୲͢ΔλεΫ͕த৺Ͱख୳ΓͰ͜ͳͨ͠ w ໊ࡳͷҹۀऀΛબఆ͢ΔͨΊͷௐࠪ w ࠷ॳͦͦҹۀऀΛΒͳ͍ͨΊௐࠪେม w *MMVTUSBUPSͷMBZFSTͷจࣈԽ͚ʹ಄Λ·͞Εͨ w
ӳޠ൛ͩͱMBZFSTͷຊޠ͕จࣈԽ͚͢Δ w ӳޠ൛ΛΞϯΠϯετʔϧͯ͠ຊޠ൛ΛΠϯετʔϧ͢͜͠ͱͰղܾ w إൈ͖ύωϧͷ࡞͕։࠵िؒͰܾ·ͬͯٸ͍ͰରԠͨ͠ w ॳൃ༧ఆͩͬͨۀऀͰ։࠵·Ͱʹؒʹ߹Θͳ͍͜ͱ͕໌ w ଞͷελοϑͱڠྗͯ͠ผͷۀऀʹൃͯؒ͠ʹ߹Θͤͨ
νʔϜͷឺ w νʔϜͰຖिఆྫͷΦϯϥΠϯϛʔςΟϯάΛ։࠵ w λεΫͷਐḿঢ়گΛڞ༗ w ఆظతʹਐḿΛڞ༗͢Δ͜ͱͰνʔϜͷஂ͕݁ڧ·ͬͨ w ͦͷ΄͔ͷ࿈བྷ%JTDPSEͷςΩετνϟοτΛར༻ w
σβΠϯͷൃґཔҹۀऀͷೖߘσʔλͷϨϏϡʔΛґཔ w ෆ໌ͳͲΛؾܰʹ֬ೝͰ͖ͨ
ελοϑۀΛ௨ͯ͡ಘΒΕͨऩ֭ w ແࣄʹΧϯϑΝϨϯεΛେޭʹऩΊͨ͜ͱͰࣗ৴͕͍ͭͨ w ϊϕϧςΟͷҹʹ͍ͭͯͷݟΛಘͨ w ৗͷۀੜ׆ͰΔػձ͕ͳ͔ͬͨ w ಉ͡ελοϑͷ͕ؒͰ͖ͨ w
དྷελοϑ͢Δͱ͖͜ͷϝϯόʔͰελοϑΛΓ͍ͨͱࢥ͑ͨ w ੵۃతʹࣗͷҙݟΛൃݴͰ͖ΔΑ͏ʹͳͬͨ
ΧϯϑΝϨϯεͷཪͷ༠͍
ελοϑͷັྗ w ීஈͰ͖ͳ͍ܦݧΛੵΊΔ w ໊ࡳͳͲͷϊϕϧςΟͷ࡞ൃ w ΧϯϑΝϨϯεͷ։࠵ʹߩݙͰ͖Δ w ελοϑʹͳΔ͜ͱ͕৽ͨͳަྲྀͷػձΛಘΒΕΔ w
ΧϯϑΝϨϯεΛ࡞Δ͕ؒͰ͖Δ w ӡӦελοϑͱ͍͏ݞॻ͖Λ໊ΕΔ w ӡӦελοϑͱ͍͏ڹ͖͕Χοί͍͍
ཪͷޠΛ͙ w ·ͣཪͷޠͷొਓʹͳΔ w ۙͰ։࠵͞ΕΔΧϯϑΝϨϯεͷελοϑͷԠื͕͓͢͢Ί w ཧతʹ͍ۙͱؾܰʹࢀՃ͍͢͠ w ࣗͷׂʹैͬͯ४උӡӦͷλεΫΛ͜ͳ͢ w
ͬͯΈ͍ͨ͜ͱ͕͋ΕੵۃతʹࢀՃͯ͠ΈΔ w ຬΛ࣋ͯ͠։࠵Λܴ͑Δ w ఆ֎ͷτϥϒϧ͕ى͖ͯ߄ͯͣελοϑͷؒͱղܾʹऔΓΉ
ίΞελοϑ͔ελοϑ͔ w ͲͪΒॴͱॴ͕͋Δ w ࣗʹ߹͍ͦ͏ͳํΛબͿ w ະܦݧͰελοϑԠืେܴ w ୭Ͱ࠷ॳॳ৺ऀ w
ະܦݧͰίΞελοϑʹԠืͯ͠ͳ͍
ελοϑͷछྨͷॴͱॴ ελοϑͷछྨ ॴ ॴ ίΞελοϑ w ͱʹཪͷޠΛ͙ؒΛ࡞Γ͍͢ w اըͳͲͷΞΠσΞΛ࣮ݱͰ͖ΔՄೳੑ͕͋Δ
w ࣄલ४උͳͲͷ͕࣌ؒඞཁ ελοϑ w ࣄલ४උ͕΄ͱΜͲෆཁͳͷͰ࣌ؒͷ߆ଋ͕গͳ͍ w ͷΈͷۀͳͷͰࢀՃϋʔυϧ͍ w ελοϑͱަྲྀͰ͖ΔػձগͳΊ
ελοϑͱͯ͠ͷ৺ߏ͑ w ݞͷྗΛൈ͍ͯؾָʹࢀՃ͢Δ w ͋͘·Ͱ༗ࢤͷू·ΓͳͷͰॏ͘ߟ͑Δඞཁͳ͍ w ಉ͡ελοϑͷؒͨͪͱλεΫΛָ͠Ή w ࢀՃऀͱڞʹྑ͍ΧϯϑΝϨϯεΛ࡞Δ
·ͱΊ w 1)1ΧϯϑΝϨϯεΧϯϑΝϨϯεؔͷཪΛհ w ΧϯϑΝϨϯεελοϑͷັྗΛઆ໌
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠