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
110
メイキング・オブ・PHPカンファレンス 〜PHPカンファレンス関西2024の運営スタッフが語る舞台裏〜
PHPカンファレンス香川2024 前日祭の音響機材調整トークでの発表資料です。
SAW
May 10, 2024
Tweet
Share
More Decks by SAW
See All by SAW
PHP で学ぶ OAuth 入門
azuki
1
25
EditorConfig を使ってみよう
azuki
1
51
Symfony でサクッと作る REST API サーバー
azuki
1
68
Vite の Library Mode を使って Vue のコンポーネントをライブラリ化する
azuki
1
110
Laravel や Symfony で手っ取り早く OpenAPI のドキュメントを作成する
azuki
2
220
Provide/Inject で TypeScript の恩恵を受ける方法
azuki
3
110
GraphQL はいいぞ! ~Laravel で学ぶ GraphQL 入門~
azuki
1
330
OSS contributor への第一歩を踏み出すまでの物語
azuki
2
260
Eloquent で relation を扱う基礎
azuki
0
140
Other Decks in Programming
See All in Programming
Building a macOS screen saver with Kotlin (Android Makers 2025)
zsmb
1
100
Devinのメモリ活用の学びを自社サービスにどう組み込むか?
itarutomy
0
1.9k
Day0 初心者向けワークショップ実践!ソフトウェアテストの第一歩
satohiroyuki
0
780
AI時代のプログラミング教育 / programming education in ai era
kishida
23
21k
コンテナでLambdaをデプロイするときに知っておきたかったこと
_takahash
0
170
Unlock the Potential of Swift Code Generation
rockname
0
180
新卒から4年間、20年もののWebサービスと 向き合って学んだソフトウェア考古学
oguri
8
7.1k
フロントエンドテストの育て方
quramy
11
2.8k
CTFのWebにおける⾼難易度問題について
hamayanhamayan
2
1.1k
snacks.nvim内のセットアップ不要なプラグインを紹介 / introduce_snacks_nvim
uhooi
0
370
いまさら聞けない生成AI入門: 「生成AIを高速キャッチアップ」
soh9834
14
4.2k
Boost Your Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
760
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7.1k
Bash Introduction
62gerente
611
210k
The Invisible Side of Design
smashingmag
299
50k
Building a Modern Day E-commerce SEO Strategy
aleyda
39
7.2k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
Code Reviewing Like a Champion
maltzj
522
39k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
177
52k
BBQ
matthewcrist
88
9.6k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Java REST API Framework Comparison - PWX 2021
mraible
29
8.5k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
12
630
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 ΧϯϑΝϨϯεελοϑͷັྗΛઆ໌
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠