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
iOSDC Japan, PHPerKaigi とハイブリッド開催 / Hybrid at i...
Search
HASEGAWA Tomoki
February 10, 2023
Technology
2
1.8k
iOSDC Japan, PHPerKaigi とハイブリッド開催 / Hybrid at iOSDC Japan and PHPerKaigi
Developers Summit 2023 の発表資料です。
https://event.shoeisha.jp/devsumi/20230209/session/4154/
HASEGAWA Tomoki
February 10, 2023
Tweet
Share
More Decks by HASEGAWA Tomoki
See All by HASEGAWA Tomoki
PHPで印刷所に入稿できる名札データを作る / Generating Print-Ready Name Tag Data with PHP
tomzoh
0
390
asumikamというカンファレンスオーガナイザの凄さを語る / The Brilliance of Asumikam
tomzoh
1
390
なぜキャッシュメモリは速いのか 余談集 / Why is Cache Memory So Fast? Extended.
tomzoh
0
190
なぜキャッシュメモリは速いのか / Why is Cache Memory So Fast?
tomzoh
3
1.4k
PHPからはじめるコンピュータアーキテクチャ 15分ダイジェスト版 / PHP Meets Silicon: A Fun Dive into Computer Structures 15mins ver
tomzoh
2
270
PHPでXOAUTH2を使ってGmailからメールを取り込む / Getting Mail from Gmail with XOAUTH2 in PHP
tomzoh
0
530
PHPからはじめるコンピュータア ーキテクチャ / PHP Meets Silicon: A Fun Dive into Computer Structures PHP Conference 2023 ver
tomzoh
0
400
PHPからはじめるコンピュータア ーキテクチャ / PHP Meets Silicon: A Fun Dive into Computer Structures
tomzoh
4
630
NANDがあればNANDeもできる / With NAND, you can do anything
tomzoh
0
580
Other Decks in Technology
See All in Technology
技術好きなエンジニアが _リーダーへの進化_ によって得たものと失ったもの / The Gains and Losses of a Tech-Enthusiast Engineer’s “Evolution into Leadership”
kaminashi
0
180
ルートユーザーの活用と管理を徹底的に深掘る
yuobayashi
6
670
空が堕ち、大地が割れ、海が涸れた日~もしも愛用しているフレームワークが開発停止したら?~ #phperkaigi 2025
77web
2
960
移行できそうでやりきれなかった 10年超えのシステムを葬るための戦略
ryu955
2
180
DIってなんだか難しい? 依存という概念を「使う・使われる」 という言葉で整理しよう
akinoriakatsuka
1
740
SLI/SLO・ラプソディあるいは組織への適用の旅
nwiizo
4
1.1k
ISUCONにPHPで挑み続けてできるようになっ(てき)たこと / phperkaigi2025
blue_goheimochi
0
130
30代エンジニアが考える、エンジニア生存戦略~~セキュリティを添えて~~
masakiokuda
4
1.9k
Go製のマイグレーションツールの git-schemalex の紹介と運用方法
shinnosuke_kishida
1
340
チームの性質によって変わる ADR との向き合い方と、生成 AI 時代のこれから / How to deal with ADR depends on the characteristics of the team
mh4gf
4
290
PHPStan をできる限り高速化してみる
colopl
0
240
Alpine.js を活用した Laravel MPA フロントエンド最適化戦略 / Alpine.js MPA
tzmfreedom
1
710
Featured
See All Featured
Designing for Performance
lara
605
69k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Making Projects Easy
brettharned
116
6.1k
Bash Introduction
62gerente
611
210k
Statistics for Hackers
jakevdp
797
220k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
Writing Fast Ruby
sferik
628
61k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.5k
Docker and Python
trallard
44
3.3k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.6k
Transcript
J04%$+BQBO1)1FS,BJHJ ࣮ߦҕһ୩ஐر ਓͱձ͏تͼΛ͏Ұʂٕज़ΠϕϯτʹΑΔΦϑϥΠϯʗϋΠϒϦου։࠵ͷઓ $
2 ୩ஐر ͕ͤΘ ͱ͖ @tomzoh http://www.dgcircus.com σδλϧαʔΧεגࣜձࣾ ෭ஂCTO ॴଐ ٕज़ΧϯϑΝϨϯεओ࠻
دߘɾஶॻ
3 ୩ஐر ͕ͤΘ ͱ͖ ςοΫΧϯϑΝϨϯεӡӦࢀՃ ιϑτΣΞ։ൃ ిࢠ࡞ $16
ϨτϩήʔϜػ Ϗʔϧ αοΧʔ؍ઓ ϨϯλϧΧʔτϨʔε ʜ ϥΠϑϫʔΫ @tomzoh
J04%$+BQBO 1)1FS,BJHJ ΧϯϑΝϨϯεͷ֓ཁ w ϘϥϯςΟΞελοϑͰӡӦ͢Δͷٕࠜज़ΧϯϑΝϨϯε w ίΞͷςʔϚJ04ؔ࿈։ൃ 1)1ؔ࿈։ൃ w શମͷงғؾΧδϡΞϧख࡞Γ
w ίϩφՒલຖ༦ํ͔Βҿञ🍻 w ΧϯϑΝϨϯεͷߏཁૉ w ࢀՃऀ༗ྉνέοτʮ͓͋͑ͯۚΛͬͯࢀՃ͍ͯ͠ΔࢀՃऀʯ΄΅ٕज़ऀ w εϙϯαʔެืίϛϡχςΟͷҰһͱͯ͠ൺֱతલͷΊΓʹࢀՃ͍͍ͯΔ w εϐʔΧʔެืεϙϯαʔηογϣϯഒഒʙഒ w ελοϑϘϥϯςΟΞίΞελοϑʢটʣ ελοϑʢެืʣ
J04%$+BQBO ։࠵֓ཁ ։࠵ ʙ ΦϑϥΠϯؒ ΦϯϥΠϯؒ
ϋΠϒϦουʢΦϯϥΠϯ ΦϑϥΠϯʣؒ ʢͯ͢ձظؒʣ ࢀՃऀ ʢʣ ΦϑϥΠϯ ໊ʢͷࢀՃऀ֓ࢉʣ໊ʢϢχʔΫࢀՃऀʣ ΦϯϥΠϯ ໊ʢͷࢀՃऀ֓ࢉʣ໊ʢϢχʔΫࢀՃऀʣ ηογϣϯ ʢʣ τϥοΫ ºϨΪϡϥʔτʔΫʢ ʣ ºύϯϑϨοτهࣄ º-5ʢʣ ºεϙϯαʔηογϣϯʢʣ ࢀՃܗଶ ҰൠࢀՃ༗ྉνέοτʢΦϯϥΠϯ ԁʙΦϑϥΠϯ ԁʣ ηογϣϯެื εϙϯαʔJ04ΞϓϦ։ൃձࣾϝΠϯ
1)1FS,BJHJ ։࠵֓ཁ ։࠵ ʙ ΦϑϥΠϯؒ ΦϯϥΠϯؒ
ϋΠϒϦουʢΦϯϥΠϯ ΦϑϥΠϯʣؒ ʢͯ͢ձظؒʣ ࢀՃऀ ʢʣ ΦϑϥΠϯ ໊ʢͷࢀՃऀ֓ࢉʣ ໊ʢϢχʔΫࢀՃऀʣ ΦϯϥΠϯ ໊ʢͷࢀՃऀ֓ࢉʣ ໊ʢϢχʔΫࢀՃऀʣ ηογϣϯ ʢʣ τϥοΫ ºϨΪϡϥʔτʔΫʢ ʣ ºύϯϑϨοτهࣄ º-5ʢʣ ºεϙϯαʔηογϣϯʢʣ ࢀՃܗଶ ҰൠࢀՃ༗ྉνέοτʢΦϯϥΠϯ ԁʙΦϑϥΠϯ ԁʣ ηογϣϯެื εϙϯαʔ1)1༻ͷࣗࣾαʔϏεɾडୗ։ൃձࣾϝΠϯ
ίϩφՒͰͷ։࠵ঢ়گ POMJOF
P ffl JOF POMJOF IZCMJE POMJOF IZCMJE IZCMJE
ΦϑϥΠϯ͔ΒΦϯϥΠϯ
ΦϯϥΠϯ։࠵ͷϞνϕʔγϣϯ w ৽ܕίϩφΠϧεײછͷ֦େʹΑͬͯΦϑϥΠϯ։࠵͕Ͱ͖ͳ͘ͳͬͨ w ࣮ࡍʹձͬͯே͔Β൩·Ͱʢ༦ํ͔ΒҿΈͳ͕Βʣ ٕؒज़ͷΛ͢Δ͕%/" w ձ͑ͳ͍ͳΒՁ͕ແ͍ͷͰʜ w 8FBSFOPUBDPOGFSFODF
8FBSFBDPNNVOJUZ 1MFBTFTUBZDPOOFDUFEXJUIVT w ։࠵͠ଓ͚Δ͜ͱՁͱߟ͑ͯΦϯϥΠϯ։࠵ͱͨ͠
ΦϯϥΠϯ։࠵ͷ࣮ࢪܗଶ w ༻πʔϧχίχίੜ์ૹ %JTDPSEʢςΩετϘΠεʣ 5XJUUFS w τʔΫʢߨԋʣ ࣄલऩ -5;PPNʹΑΔΦϯϥΠϯొஃ w
ॳͷΦϯϥΠϯ։࠵τϥοΫ։࠵ͷϦεΫ࠷খԽ wΦϯϥΠϯԽʹΑࣦͬͯ͏ମݧͷαϙʔτ w ϊϕϧςΟϘοΫε w ϦΞϧλΠϜνϟοτ%JTDPSE
None
None
ΦϯϥΠϯ։࠵ͯ͠Έͯͷײ w إΛ߹ΘͤΒΕͳٕͯ͘ज़Λϋϒͱͨ͠ަྲྀͰ͖Δ w χίੜΦϯϥΠϯΧϯϑΝϨϯεͱ૬ੑ͕ྑ͍ʢϥΠϒײɾίϯςΩετͷڞ༗ײʣ w ʮΧϯϑΝϨϯεͷ࿓Լʯͷ࠶ݱ͍͠ w ৽͍͠ܗͷεϙϯαʔ࿐ग़ w
ಡ·ΕΔύϯϑϨοτهࣄ ϊϕϧςΟϘοΫε༣ૹʹΑΔ։࠵લ͔ΒͷΓ্͕Γ w શһ͕ΦϯϥΠϯͳ͜ͱʹΑΔޮՌ w 5XJUUFSπΠʔτ ϒϩά Ξϯέʔτճऩ ʜ
ΦϯϥΠϯ͔ΒϋΠϒϦου
ΦϯϥΠϯϕʔεͷϋΠϒϦου։࠵ w 1)1FS,BJHJʙ wΦϑϥΠϯ։࠵ܾఆͨ͠ͷͷԿ͕ى͖Δ͔Θ͔Βͳ͍ঢ়ଶ w ͍ͭͰΦϯϥΠϯԽͰ͖ΔܗͰͷ։࠵ w -5Ҏ֎ͷτʔΫͯ͢ࣄલऩͯ͠ऩ͞ΕͨಈըΛ৴ w ձʢύϒϦοΫϏϡʔΠϯάʣͰ৴͞ΕͨͷΛ࠶ੜ
w ΦϯϥΠϯϕʔεͷΦϑϥΠϯ։࠵
ΦϑϥΠϯϕʔεͷϋΠϒϦου։࠵ w J04%$+BQBOʙ w ΦϯϥΠϯԽͷՄೳੑ͍ͷͷݸʑਓʹϦεΫ͋Δঢ়ଶ w -5Ҏ֎ͷτʔΫͯ͢ࣄલऩ͢Δ w ձͰϥΠϒొஃPSऩͨ͠ͷΛ࠶ੜ w
εϐʔΧʔ͕৽ܕίϩφΠϧεײછጶױͷ߹ʹτʔΫΛ࣮ࢪͰ͖Δ w ΦϑϥΠϯϕʔεͷϋΠϒϦου։࠵
ϋΠϒϦου։࠵ͯ͠Έͯͷײ w ΓΦϑϥΠϯྑ͍ w ͷલͷࢀՃऀʹݴ༿͕ಧ͍͍ͯΔʢ·ͨεϕ͍ͬͯΔʣ࣮ײ w ࢀՃऀ͕ΦϑϥΠϯʢձʣ ͱΦϯϥΠϯʢ৴ʣ ʹࢄ͢Δ͜ͱʹΑΔͭΒΈ w
ձͱ৴ͷ྆ํʹ࠷దԽͨ͠৴ɾԻྔௐઅͷқ w ΦϑϥΠϯΦϯϥΠϯʢਓతͳʣύϫʔෆΛײͯ͡͠·͏ ʢશΦϑϥΠϯ શΦϯϥΠϯൺֱʣ w ࠓͷϦεΫ w ελοϑͷ৽ܕίϩφΠϧεײછጶױ͕க໋త
·ͱΊ
ϋΠϒϦου։࠵ͷϝϦοτɾσϝϦοτ ༗ྉνέοτ੍ͷͷࠜΧϯϑΝϨϯεͷཱ͔Β w ࢀՃऀͷ֦େ w ମௐʹԠͨ͡ࢀՃܗଶͷସ w ձͷΩϟύΛ্ճΔࢀՃऀʹ ରԠՄೳʢʮνέοτചΓΕࢀՃෆՄʯ͕ແ͍ʣ w
ͱʹ͔͘ʢਓతͳʣ ίετ͕͔͔Δ w ٕज़ɺاըͱʹқ͕ߴ͍ w ͷΠϨΪϡϥʔ͕க໋త ϝϦοτ σϝϦοτ
ϋΠϒϦου։࠵Λ͖͔͢ w ϋΠϒϦου։࠵ͷқߴ͍ w ٕज़໘ਓతίετٕज़બఆઢಛʹϚϧντϥοΫ ΦϯϥΠϯొஃͷқߴ͍ w اը໘ΦϑϥΠϯɾΦϯϥΠϯ྆ํʹྀͨ͠اըʹ͢Δඞཁ͕͋Δ w ϋΠϒϦου։࠵͖͔͢
w ͯ͢ͷΧϯϑΝϨϯεʹ͓קΊͱݴ͑ͳ͍ w ΧϯϑΝϨϯεͷҰ൪ͷతԿ͔Λߟ͑ͯʜ w ϋΠϒϦουʹͯ͠ΦϯϥΠϯɾΦϑϥΠϯͷͲͪΒΛओͱ͢Δ͔ΛܾΊͨํ͕ྑ͍ w ॳ։࠵ྺ࢙͕ઙ͍࣌ΦϯϥΠϯͷΈΦϑϥΠϯͷΈɺ͕ྑ͍ͷͰ
J04%$+BQBO1)1FS,BJHJͷߟ͑ํ w J04%$+BQBO 1)1FS,BJHJͱͯ͠໘ϋΠϒϦου։࠵͢Δ w ͍ൣғͷࢀՃऀ w ཧతԕํࡏॅͰࢀՃͷϋʔυϧ͕ߴ͍ࢀՃऀ w ৺ཧతटݍࡏॅͰॳࢀՃΦϯϥΠϯͰ༷ࢠΛݟΔ͜ͱ͕Ͱ͖Δ
w ϥΠϑεςʔδͷมԽͷରԠ w ։࠵ͷྺ࢙͕͘ͳΔͱࢀՃऀϥΠϑεςʔδ͕มԽ͢Δ w స৬ɺ݁ࠗɺࢠҭͯɺհޢͳͲʮࠓճਂ͘ࢀՃͰ͖ͳ͍ʯͱ͍͏λΠϛϯά͕͋Δ w ͦΜͳλΠϛϯάͰJ04%$+BQBO1)1FS,BJHJίϛϡχςΟͷྠͷதʹډΒΕΔ
1)1FS,BJHJʙνέοτൢചதελοϑืूத
23 ୩ஐر ͕ͤΘ ͱ͖ @tomzoh 1)1FS,BJHJ νέοτൢചதελοϑืूத 5IBOLZPV
ࢀߟ
GPSUFFʢϑΥϧςʣ IUUQTGPSUFFKQ w ΧϯϑΝϨϯεӡӦࢧԉπʔϧ w ୩͕ݸਓతʹ։ൃɾӡӦ w ͷٕࠜज़ΧϯϑΝϨϯεʹඞཁͳػೳ w τʔΫืू
ελοϑථ λΠϜςʔϒϧ࡞ ʜ w εϙϯαʔืू εςʔλεཧ ٻཧ ϩΰཧ ʜ w ϝʔϧεϐʔΧʔ εϙϯαʔ ࢀՃऀͷϝʔϧ৴ ड৴ w ࢀՃऀFWFOUCSJUFͱ࿈ܞͯ͠ࢀՃऀཧ w ͦͷଞ5XJUUFS࿈ܞ τʔΫऩ ΦϯϥΠϯΞϯΧϯϑΝϨϯ εʑʢGFBUVSF fl BHػೳଟ͋Γ·͢ʣ
ΧϯϑΝϨϯεըγεςϜ IUUQTXXXIBTFHBXBUPNPLJDPN w ΧϯϑΝϨϯεձͰ͞ΕͨτʔΫΛه͠ ͯ:PV5VCFಈըͱͯ͠ެ։͢ΔͨΊͷγες ϜҰࣜ w ͲΜͳձͰӡ༻Ͱ͖Δઃܭ w ϚΠΫؚΊͯ࣋ͪࠐΈɺͯ͢ͷԻΛ߹্ͨ͠Ͱձ
ʹೖΕΔ w ػثΛઢͨ͠ঢ়ଶͰΤϑΣΫλέʔεʹऩೲ͠ɺ ձͰͷల։ɾఫऩΛεϜʔζʹ͢Δ w Ϩϯλϧ͝૬ஊՄ
ࣄલऩฤूγεςϜ IUUQTXXXIBTFHBXBUPNPLJDPNCMPHQSFSFDPSEJOHTZTUFN w τʔΫͷࣄલऩ w ऩΛબͯ͠༧͠ɺ༧ͨ࣌͠ࠁʹͳͬͨΒ ;PPNϛʔςΟϯάʹೖࣨɻ w ը໘ڞ༗͍ͯ͠Δ༰͕:PV5VCF-JWFʹྲྀΕΔͷ ͰͦΕΛݟͳ͕ΒԻྔௐͳͲͯ͠ऩ
w ऩ͞Εͨಈըͷฤू w */ɾ065Λࢦఆ͢ΔͱಈըΛΓग़͢ w ϑϨʔϜը૾ʹ߹ͯ͠ΧόʔΛ͚ͯॻ͖ग़͢
ΦϯϥΠϯΞϯΧϯϑΝϨϯε IUUQTXXXIBTFHBXBUPNPLJDPNCMPHQIQFSLBJHJ w GPSUFFͷλΠϜςʔϒϧ͔ΒΛ༧ w ༧ͨ࣌͠ࠁʹͳΔͱ;PPNʹϛʔςΟϯά ͕Ͱ͖ͯλΠϜςʔϒϧ͔ΒࢀՃՄೳ