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カンファレンス沖縄2019 / phpcon-okinawa-2019
Search
Kenta Suzuki
October 12, 2019
Technology
2
2.2k
小さな機能、大きな仕事 PHPカンファレンス沖縄2019 / phpcon-okinawa-2019
PHPカンファレンス沖縄2019での発表資料です。
https://phpcon.okinawa.jp/
Kenta Suzuki
October 12, 2019
Tweet
Share
More Decks by Kenta Suzuki
See All by Kenta Suzuki
Go at fluct
suzuken
0
3.9k
ADエンジニアがみたre:Invent 2018
suzuken
0
5.3k
広告配信管理システムを支えるPHP - レガシーシステムからの段階的移行戦略 / phpcon2017
suzuken
10
20k
ディスプレイ広告の基礎とセキュリティ
suzuken
18
3.9k
How to use AWS Lambda in Document Processing Pipeline
suzuken
0
3.8k
Other Decks in Technology
See All in Technology
深層学習と3Dキャプチャ・3Dモデル生成(土木学会応用力学委員会 応用数理・AIセミナー)
pfn
PRO
0
450
生成AI × 旅行 LLMを活用した旅行プラン生成・チャットボット
kominet_ava
0
150
ドメイン駆動設計の実践により事業の成長スピードと保守性を両立するショッピングクーポン
lycorptech_jp
PRO
6
700
When Windows Meets Kubernetes…
pichuang
0
290
いま現場PMのあなたが、 経営と向き合うPMになるために 必要なこと、腹をくくること
hiro93n
9
6.8k
Azureの開発で辛いところ
re3turn
0
240
Fabric 移行時の躓きポイントと対応策
ohata_ds
1
150
今から、 今だからこそ始める Terraform で Azure 管理 / Managing Azure with Terraform: The Perfect Time to Start
nnstt1
0
150
AWS Community Builderのススメ - みんなもCommunity Builderに応募しよう! -
smt7174
0
150
駆け出しリーダーとしての第一歩〜開発チームとの新しい関わり方〜 / Beginning Journey as Team Leader
kaonavi
0
120
CDKのコードレビューを楽にするパッケージcdk-mentorを作ってみた/cdk-mentor
tomoki10
0
180
テストを書かないためのテスト/ Tests for not writing tests
sinsoku
1
170
Featured
See All Featured
Embracing the Ebb and Flow
colly
84
4.5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
What's in a price? How to price your products and services
michaelherold
244
12k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
860
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.3k
Become a Pro
speakerdeck
PRO
26
5.1k
How GitHub (no longer) Works
holman
312
140k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.4k
Making Projects Easy
brettharned
116
6k
A designer walks into a library…
pauljervisheath
205
24k
How to train your dragon (web standard)
notwaldorf
89
5.8k
Transcript
ʢμΠδΣετ൛ʣ খ͞ͳػೳɺେ͖ͳࣄ ླ݈ଠ!TV[V@W qVDU 70:"(&(3061 1)1ΧϯϑΝϨϯεԭೄ 70:"(&(3061εϙϯαʔηογϣϯ
ࣗݾհ w ླ݈ଠʢ!TV[V@Wʣ w גࣜձࣾqVDUऔక$50 w BKJUPGNύʔιφϦςΟ w ීஈ1)1 5ZQF4DSJQU
(PΛॻ͍ͯ·͢
ܧଓతͳϓϩμΫτ։ൃͰ ͋Γ͕ͪͳ w ཁ݅ʹରͯ͠ඞཁҎ্ʹେ͖͘ͳͬͨίʔυʹͳ͍ͬͯΔΑ ͏ʹݟ͑Δ͕ɺ࣌ؒͳ͘ίʔυΛݮΒͦ͏ʹख͕͚ͭΒ Εͳ͍ w ػೳΛՃ͍͕ͨ͠ɺطଘίʔυʹՃ͢Δ͔৽نʹΈ ΛՃ͢Δ͔໎͏ɻͦͯ͠·ͨશମͱͯ͠ෳࡶͳΈʹ ͳͬͯ͠·͍ͦ͏ɻ
w ϦΞʔΩςΫνϟ͕ͨ͠ɺ͞Βʹෳᯑʹͳͬͯ͠·ͬͨɻط ଘͷΈʹՃ͑ͯɺ·ͨෳࡶͳΈ͕Ճ͞Εͯ͠·ͬ ͨɻ
IUUQTTQFBLFSEFDLDPNTV[VLFOQIQDPO
Կ͔Βணख͢Δ͔ʁ
ෳࡶੑͱॏཁͷϚτϦΫε ૉΒ͍͠ ߟ͑Α͏ ·͋0, ෳࡶ͞খ ෳࡶ͞େ ॏཁେ ॏཁখ
ෳࡶੑͱॏཁͷϚτϦΫε ૉΒ͍͠ ߟ͑Α͏ ·͋0, ෳࡶ͞খ ෳࡶ͞େ ॏཁେ ॏཁখ ͜͜Λ͍͔ʹίϯτϩʔϧ͢Δ͔
ߟ͑Α͏ ෳࡶ͞େ ॏཁେ ෳࡶ͕͞ͳͥൃੜͨ͠ͷ͔Λߟ͠·͠ΐ͏ɻ ͳͥେ͖͘ͳͬͨͷ͔؍͠·͠ΐ͏ɻ νέοτɺ୲ऀͷϩάɺഎܠΛ͔֬Ί·͠ΐ͏ɻ σʔλɺϩδοΫΛΑ͘ݟ·͠ΐ͏ɻ ෳࡶੑͱॏཁͷϚτϦΫε
ίʔυࣗମͷෳࡶੑΛ૿͞ͳ͍ w ෆԺͳஹީʮ͜ͷ"1*Ͱશ෦࣮͓ͯ͘͠ͱศརʯ w ςετέʔε͕૿͑ɺ࣮͕ΒΉɻۀͦͷػೳʹґ ଘ͢Δɻ w େࣄͳͷಡΈ͢͞ʢ3FBEBCJMJUZʣ
ෳࡶੑͷ૿େ ύονॻ͘ ʢෳࡶੑͷೖʣ ϦϦʔε ಡΈղ͘ʢΘ͔Βͳ͍ʣ ςετಡΉʢΘ͔Βͳ͍ʣ ϨϏϡʔ͢Δ ʢϨϏϡϫʔΑ͘Θ͔Βͳ͍ʣ
ෳࡶੑͷରॲ๏ wϦϑΝΫλϦϯά wϦΞʔΩςΫνϟ wϦϓϨʔε
ෳࡶੑͷରॲ๏ wϦϑΝΫλϦϯά wϦΞʔΩςΫνϟ wϦϓϨʔε
ϦΞʔΩςΫνϟࣄྫ
ྫͱ͋ΔऔҾػೳ w લʹߏங͞Ε͍͕ͯͨ΄ͱΜͲΘΕ͍ͯͳ͍৴ػೳͩͬͨɻࠂ৴ αʔόɺཧܥɺ%#ɺ΄΅ͯ͢ͷίϯϙʔωϯτʹ͍ͭͯӨڹΛ༩͑Δઃܭ ʹͳ͍ͬͯͨɻ w ಛఆͷࣄۀऀͱͷ࿈ܞͰ͏·͘ಈ࡞͢Δ͕ɺϓϥοτϑΥʔϜશମͱͯ͠ͷར ༻͢ΔͨΊʹطଘػೳͱͷ߹ੑ͕ͱΕ͍ͯͳ͔ͬͨɻ͋Δઃఆ͔Β༗ޮ ͳΦʔΫγϣϯ͕ɺ͜ͷػೳ͔Βར༻Ͱ͖ͳ͍Α͏ʹͳ͍ͬͯͨɻΘΕͯ ͍ͳ͍ػೳͩͬͨͨΊɺଞͷػೳͷ࣮͜ͷػೳΛߟྀ͍ͯ͠ͳ͔ͬͨɻ
w ςετηοτେ͖͘ͳΓ͓͗ͯ͢Γɺઃఆ༻"1*ංେԽ͍ͯͨ͠ɻػೳΛಡ Έղ͘͜ͱ͘͠ɺ৽ͨͳΦʔΫγϣϯܗࣜΛՃ͢Δ͜ͱࠔͩͬͨɻ ར༻ϩάेʹग़ྗ͞Ε͓ͯΒͣɺੳͰ͖ͳ͍ঢ়ଶͩͬͨɻ w ͦͯ͠ࠓޙɺ͜ͷػೳΛੵۃతʹ֦ு͍͖͍ͯͨ͠ͱ͍͏Ϗδωε͔Βͷཁٻ ͕͋ͬͨɻ
ྫͱ͋ΔऔҾػೳ w લʹߏங͞Ε͍͕ͯͨ΄ͱΜͲΘΕ͍ͯͳ͍৴ػೳͩͬͨɻࠂ৴ αʔόɺཧܥɺ%#ɺ΄΅ͯ͢ͷίϯϙʔωϯτʹ͍ͭͯӨڹΛ༩͑Δઃܭ ʹͳ͍ͬͯͨɻ w ಛఆͷࣄۀऀͱͷ࿈ܞͰ͏·͘ಈ࡞͢Δ͕ɺϓϥοτϑΥʔϜશମͱͯ͠ͷར ༻͢ΔͨΊʹطଘػೳͱͷ߹ੑ͕ͱΕ͍ͯͳ͔ͬͨɻ͋Δઃఆ͔Β༗ޮ ͳΦʔΫγϣϯ͕ɺ͜ͷػೳ͔Βར༻Ͱ͖ͳ͍Α͏ʹͳ͍ͬͯͨɻΘΕͯ ͍ͳ͍ػೳͩͬͨͨΊɺଞͷػೳͷ࣮͜ͷػೳΛߟྀ͍ͯ͠ͳ͔ͬͨɻ
w ςετηοτେ͖͘ͳΓ͓͗ͯ͢Γɺઃఆ༻"1*ංେԽ͍ͯͨ͠ɻػೳΛಡ Έղ͘͜ͱ͘͠ɺ৽ͨͳΦʔΫγϣϯܗࣜΛՃ͢Δ͜ͱࠔͩͬͨɻ ར༻ϩάेʹग़ྗ͞Ε͓ͯΒͣɺੳͰ͖ͳ͍ঢ়ଶͩͬͨɻ w ͦͯ͠ࠓޙɺ͜ͷػೳΛੵۃతʹ֦ு͍͖͍ͯͨ͠ͱ͍͏Ϗδωε͔Βͷཁٻ ͕͋ͬͨɻ
ྫͱ͋ΔऔҾػೳ w લʹߏங͞Ε͍͕ͯͨ΄ͱΜͲΘΕ͍ͯͳ͍৴ػೳͩͬͨɻࠂ৴ αʔόɺཧܥɺ%#ɺ΄΅ͯ͢ͷίϯϙʔωϯτʹ͍ͭͯӨڹΛ༩͑Δઃܭ ʹͳ͍ͬͯͨɻ w ಛఆͷࣄۀऀͱͷ࿈ܞͰ͏·͘ಈ࡞͢Δ͕ɺϓϥοτϑΥʔϜશମͱͯ͠ͷར ༻͢ΔͨΊʹطଘػೳͱͷ߹ੑ͕ͱΕ͍ͯͳ͔ͬͨɻ͋Δઃఆ͔Β༗ޮ ͳΦʔΫγϣϯ͕ɺ͜ͷػೳ͔Βར༻Ͱ͖ͳ͍Α͏ʹͳ͍ͬͯͨɻΘΕͯ ͍ͳ͍ػೳͩͬͨͨΊɺଞͷػೳͷ࣮͜ͷػೳΛߟྀ͍ͯ͠ͳ͔ͬͨɻ
w ςετηοτେ͖͘ͳΓ͓͗ͯ͢Γɺઃఆ༻"1*ංେԽ͍ͯͨ͠ɻػೳΛಡ Έղ͘͜ͱ͘͠ɺ৽ͨͳΦʔΫγϣϯܗࣜΛՃ͢Δ͜ͱࠔͩͬͨɻ ར༻ϩάेʹग़ྗ͞Ε͓ͯΒͣɺੳͰ͖ͳ͍ঢ়ଶͩͬͨɻ w ͦͯ͠ࠓޙɺ͜ͷػೳΛੵۃతʹ֦ு͍͖͍ͯͨ͠ͱ͍͏Ϗδωε͔Βͷཁٻ ͕͋ͬͨɻ
ྫͱ͋ΔऔҾػೳ w લʹߏங͞Ε͍͕ͯͨ΄ͱΜͲΘΕ͍ͯͳ͍৴ػೳͩͬͨɻࠂ৴ αʔόɺཧܥɺ%#ɺ΄΅ͯ͢ͷίϯϙʔωϯτʹ͍ͭͯӨڹΛ༩͑Δઃܭ ʹͳ͍ͬͯͨɻ w ಛఆͷࣄۀऀͱͷ࿈ܞͰ͏·͘ಈ࡞͢Δ͕ɺϓϥοτϑΥʔϜશମͱͯ͠ͷར ༻͢ΔͨΊʹطଘػೳͱͷ߹ੑ͕ͱΕ͍ͯͳ͔ͬͨɻ͋Δઃఆ͔Β༗ޮ ͳΦʔΫγϣϯ͕ɺ͜ͷػೳ͔Βར༻Ͱ͖ͳ͍Α͏ʹͳ͍ͬͯͨɻΘΕͯ ͍ͳ͍ػೳͩͬͨͨΊɺଞͷػೳͷ࣮͜ͷػೳΛߟྀ͍ͯ͠ͳ͔ͬͨɻ
w ςετηοτେ͖͘ͳΓ͓͗ͯ͢Γɺઃఆ༻"1*ංେԽ͍ͯͨ͠ɻػೳΛಡ Έղ͘͜ͱ͘͠ɺ৽ͨͳΦʔΫγϣϯܗࣜΛՃ͢Δ͜ͱࠔͩͬͨɻ ར༻ϩάेʹग़ྗ͞Ε͓ͯΒͣɺੳͰ͖ͳ͍ঢ়ଶͩͬͨɻ w ͦͯ͠ࠓޙɺ͜ͷػೳΛੵۃతʹ֦ு͍͖͍ͯͨ͠ͱ͍͏Ϗδωε͔Βͷཁٻ ͕͋ͬͨɻ
ϑΟʔνϟʔͱέΠύϏϦςΟ ϦΞϧλΠϜʹϩάΛղੳͰ͖Δ ͋ΔࠂͷϒϩοΫ͕Մೳ ࠂछผ͝ͱʹ੍ޚՄೳ औҾܗࣜ"͕Մೳ ୯Ձ༧ଌ͕Մೳ ϑΟʔνϟʔ έΠύϏϦςΟ औҾܗࣜ#͕Մೳ ʢ͕ͩෆेʣ
ಛघऔҾ͕Մೳ
ϑΟʔνϟʔͱέΠύϏϦςΟ ϦΞϧλΠϜʹϩάΛղੳͰ͖Δ ͋ΔࠂͷϒϩοΫ͕Մೳ ࠂछผ͝ͱʹ੍ޚՄೳ औҾܗࣜ"͕Մೳ ୯Ձ༧ଌ͕Մೳ ϑΟʔνϟʔ έΠύϏϦςΟ औҾܗࣜ#͕Մೳ ʢ͕ͩෆेʣ
ಛघऔҾ͕Մೳ ʢେ͖͗͢Δ"1*ʣ ͋ΔϑΟʔνϟʔͰ͔͠ར༻͞Ε͓ͯΒͣɺαΠϩԽ͍ͯ͠ΔέΠύϏϦςΟ
αΠϩԽͷ w ςʔϒϧࣗମ͕Γ͚ΒΕɺಠࣗͳσʔλߏʹͳͬͯ ͍Δ w "1*͕ංେԽ͠ɺಛघʹॲཧ͠Α͏ͱ͍ͯ͠Δɻʢ࣌ͷ அͱͯ͠ɺϑΟʔνϟʔ࣮ݱͷεϐʔυΛ༏ઌͨ͠ͱߟ ͑ΒΕΔʣ ࠓޙมԽ͕ݟࠐ·ΕɺεϐʔυΛثʹ͍ͨ͠ϑΟʔνϟʔ Ͱ͋ͬͨͨΊɺϦΞʔΩςΫνϟ͢Δ͜ͱΛஅ
ϦΞʔΩςΫνϟͷ ํΛཱͯΔ
ϑΟʔνϟͱέΠύϏϦςΟ ϦΞϧλΠϜʹϩάΛղੳͰ͖Δ ͋ΔࠂͷϒϩοΫ͕Մೳ ࠂछผ͝ͱʹ੍ޚՄೳ औҾܗࣜ"͕Մೳ ୯Ձ༧ଌ͕Մೳ ϑΟʔνϟʔ έΠύϏϦςΟ ຊʹ࣮ݱ͍ͨ͠औҾܗࣜ# طଘͷέΠύϏϦςΟΈ߹Θ্ͤͨͰ੍ޚ͍ͨ͠
ϑΟʔνϟʔͱέΠύϏϦςΟ ϦΞϧλΠϜʹϩάΛղੳͰ͖Δ ͋ΔࠂͷϒϩοΫ͕Մೳ ࠂछผ͝ͱʹ੍ޚՄೳ औҾܗࣜ"͕Մೳ ୯Ձ༧ଌ͕Մೳ ϑΟʔνϟʔ έΠύϏϦςΟ ຊʹ࣮ݱ͍ͨ͠औҾܗࣜ# ৽نέΠύϏϦςΟΛՃ্͑ͨͰΈ߹ΘͤΔ
औҾΛݸผͷϩάʹॻ͖ग़͢ औҾ͝ͱͷ୯Ձઃఆ
Ξϓϩʔν w طଘػೳͱͷ߹ɺ׆͔ͤΔطଘέΠύϏϦςΟΛચ͍ ग़͠ w σʔλϕʔεϦϑΝΫλϦϯάͰͳ͘ɺϞσϦϯά͔Β Γͳ͓͠ w ཧػೳʹ͍ͭͯখ࣮͘͞͠͠ɺ৴ػೳطଘͷ ػೳΛ࣮ͭͭ͠मਖ਼
ϙετϞʔςϜ w ։ൃ࣌ɺ͜ͷϑΟʔνϟʔΛ࣮͢ΔʹΓͳ͍έΠύ ϏϦςΟ͕ͨ͘͞Μ͋ͬͨɻͦͷͨΊಥ؏ͰέΠύϏϦςΟ Λ૿ͨ͠ɻͦͷ݁Ռ"1*͕ංେԽ͍ͯͨ͠ɻ w ͦͷ݁ՌɺΞʔΩςΫνϟ͕αΠϩԽ͠ɺଞͷػೳͷਐԽʹ ਵͰ͖͍ͯͳ͔ͬͨɻෛ࠴ฦ٫͞Εͳ͔ͬͨɻͦͯ͠ ঃʑʹ͔ͭΘΕͳ͘ͳ͍ͬͯͬͨɻ w
࠶ػೳ͕Ϛʔέοτ͔ΒཅͷΛཋͼͨɻ࣌ଘࡏ͠ͳ ͍ඞཁͳέΠύϏϦςΟ͕ঃʑʹϓϩμΫτʹඋΘ͖ͬͯͯ ͍ͨͨΊɺখ͍͞ػೳ࣮Ͱཁ݅Λຬͨ͢͜ͱ͕Ͱ͖ͨɻ
ϦΞʔΩςΫνϟখ͘͞ w ඞཁ࠷ݶͷέΠύϏϦςΟΛ࣮͠Α͏ɻ͔ͭɺࠓޙଞ ͷϑΟʔνϟʹ͓͍ͯΘΕΔΑ͏ʹέΠύϏϦςΟΛઃܭ ͠Α͏ɻ w ଞʹར༻Ͱ͖ΔέΠύϏϦςΟ͕͋ΔͳΒɺͦΕΛར༻͠Α ͏ɻͦͷ··͑ͳͯ͘ɺطଘͷέΠύϏϦςΟΛগ͠ม ߋ͢ΕՄೳͳΒɺύονΛૹΖ͏ɻ w
ਖ਼͍͠ΞʔΩςΫνϟϦϦʔεαΠΫϧ͕Կप͔͠ͳ͚Ε Θ͔Βͳ͍ɻͲΜͲΜͤྑ͍ɻͷͰɺখ͘͞࡞ͬͯͨ Ίͦ͏ɻ
·ͱΊ ະདྷʹ͚ͯ
lܭը༧ʹա͗ͳ͍z
খ͞ͳػೳɺେ͖ͳࣄ w ॏཁͳػೳͳΒɺίʔυΛখ͘͞͠Α͏ɻखݩʹίʔυΛख܁ ΓدͤɺಡΈ͘͢͠ɺม͑ͯ͋͛͘͢͠Α͏ɻ w ৽͍͠ΈΛͭ͘ΔલʹɺطଘͷΈΛ͔ͬ͠Γௐࠪͯۛ͠ ຯ͠Α͏ɻ w খ͘͞͡ΊͯɺঃʑʹΈΛ͍ͭͬͯ͘͜͏ɻେࣄͳͷখ ͘͞ϦϦʔεͯ͠ϦζϜΛ௫Ή͜ͱɻ
w ࠷ॳͷϦϦʔε͔Β͞ΕͨΞʔΩςΫνϟʹͳΒͳ͍ɻਖ਼ ղ͕Θ͔Βͳ͍͜ͱͷ΄͏͕ଟ͍ɻϦϦʔεΛճͯ͠ঃʑʹέΠ ύϏϦςΟΛ૿͍ͯ͜͠͏ɻ
IUUQCJUMZqVDUTXFPLJOBXB