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
EditorConfig を使ってみよう
azuki
1
48
Symfony でサクッと作る REST API サーバー
azuki
1
60
Vite の Library Mode を使って Vue のコンポーネントをライブラリ化する
azuki
1
100
Laravel や Symfony で手っ取り早く OpenAPI のドキュメントを作成する
azuki
2
210
Provide/Inject で TypeScript の恩恵を受ける方法
azuki
3
110
GraphQL はいいぞ! ~Laravel で学ぶ GraphQL 入門~
azuki
1
320
OSS contributor への第一歩を踏み出すまでの物語
azuki
2
250
Eloquent で relation を扱う基礎
azuki
0
130
ブラウザでテキストを読み上げる
azuki
0
170
Other Decks in Programming
See All in Programming
Swift Testingのモチベを上げたい
stoticdev
2
260
運用しながらリアーキテクチャ
nealle
0
320
‘무차별 LGTM~👍’만 외치던 우리가 ‘고봉밥 코드 리뷰’를?
hannah0731
0
460
Domain-Driven Design (Tutorial)
hschwentner
13
22k
❄️ NixOS/nixpkgsにSATySFiサポートを実装する
momeemt
1
130
やっと腹落ち「スプリント毎に動くモノをリリースする」〜ゼロから始めるメガバンクグループのアジャイル実践〜
sasakendayo
0
300
Boost Your Web Performance with Hyperdrive
chimame
1
210
PromptyによるAI開発入門
ymd65536
1
310
DenoでOpenTelemetryに入門する
yotahada3
1
240
複雑なフォームと複雑な状態管理にどう向き合うか / #newt_techtalk vol. 15
izumin5210
4
2.1k
Node.js, Deno, Bun 最新動向とその所感について
yosuke_furukawa
PRO
5
2.8k
신입 안드로이드 개발자의 AI 스타트업 생존기 (+ Native C++ Code를 Android에서 사용해보기)
dygames
0
440
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
6
290
Writing Fast Ruby
sferik
628
61k
Optimizing for Happiness
mojombo
377
70k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
Building an army of robots
kneath
303
45k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
Music & Morning Musume
bryan
46
6.4k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
GraphQLの誤解/rethinking-graphql
sonatard
69
10k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
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 ΧϯϑΝϨϯεελοϑͷັྗΛઆ໌
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠