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
BASE の PHP アプリ アップデートについて
Search
tenkoma (Koji Tanaka)
March 20, 2018
Programming
0
4.5k
BASE の PHP アプリ アップデートについて
2018/03/14 ヒカ☆ラボ 【ベンチャー企業のリアルなPHP事情】 で発表した資料です。
tenkoma (Koji Tanaka)
March 20, 2018
Tweet
Share
More Decks by tenkoma (Koji Tanaka)
See All by tenkoma (Koji Tanaka)
PhpStormでコードを理解する技術 / How to use PhpStorm to understand the code
tenkoma_
0
3.5k
PhpStormとPHPUnitを連携してユニットテスト作成を楽にする ver.phpconsen / integrating-phpunit-with-a-phpstorm-ver-phpconsen
tenkoma_
0
4.3k
PhpStormとPHPUnitを 連携してユニットテスト 作成を楽にする / Integrating PHPUnit with a PhpStorm
tenkoma_
1
660
CakeFest 2019について / About CakeFest 2019
tenkoma_
0
4.1k
ユニットテストを書きやすくするためにテストスイートを拡張する / Extend test suite to make unit test easier to write
tenkoma_
0
2.9k
CircleCI 2.0 で CakePHP3 アプリのビルド
tenkoma_
0
2.1k
GitLab CI + Review Apps で簡易レビュー環境
tenkoma_
4
3.1k
CakePHP プロジェクトにプルリクを送り続けた僕は
tenkoma_
0
650
Webpack勉強会 JavaScriptビルド編
tenkoma_
1
2.1k
Other Decks in Programming
See All in Programming
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
7
2.4k
マスタデータ問題、マイクロサービスでどう解くか
kts
0
150
Deno Tunnel を使ってみた話
kamekyame
0
270
AI時代を生き抜く 新卒エンジニアの生きる道
coconala_engineer
1
470
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
39
26k
PC-6001でPSG曲を鳴らすまでを全部NetBSD上の Makefile に押し込んでみた / osc2025hiroshima
tsutsui
0
200
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
140
ZJIT: The Ruby 4 JIT Compiler / Ruby Release 30th Anniversary Party
k0kubun
1
290
Claude Codeの「Compacting Conversation」を体感50%減! CLAUDE.md + 8 Skills で挑むコンテキスト管理術
kmurahama
1
660
2年のAppleウォレットパス開発の振り返り
muno92
PRO
0
130
Implementation Patterns
denyspoltorak
0
140
Go コードベースの構成と AI コンテキスト定義
andpad
0
150
Featured
See All Featured
Being A Developer After 40
akosma
91
590k
HDC tutorial
michielstock
1
280
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
210
The Cult of Friendly URLs
andyhume
79
6.7k
Paper Plane (Part 1)
katiecoart
PRO
0
2.3k
Everyday Curiosity
cassininazir
0
110
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
32
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
410
Rebuilding a faster, lazier Slack
samanthasiow
85
9.3k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
How to train your dragon (web standard)
notwaldorf
97
6.5k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Transcript
#"4&ͷ1)1ΞϓϦ Ξοϓσʔτʹ͍ͭͯ ,PKJ5BOBLB !UFOLPNB #"4&גࣜձࣾ ώΧˑϥϘ ϕϯνϟʔاۀͷϦΞϧͳ1)1ࣄ
ࣗݾհ w ,PKJ5BOBLB!UFOLPNB w ੜࣛࣇౡग़ w #MPHIUUQTUFOLPNBIBUFOBCMPHDPN w (JU)VCIUUQTHJUIVCDPNUFOLPNB w
#"4&גࣜձࣾʹαʔόʔαΠυΤϯδχΞͱ ͯ͠ೖࣾ
࣍ #"4&ʹ͍ͭͯʗ1)1ɾ$BLF1)1ͷར༻ ͳͥ1)1$BLF1)1Ξοϓσʔτ͢Δͷ͔ աڈͷऔΓΈ ΞοϓσʔτʹऔΓΉνʔϜͱઓུ
$BLFΞϓϦʹݶΒͣ ͘։ൃɾӡ༻͍ͯ͠Δ 1)1ΞϓϦΛΞοϓσʔτ ͢Δͱ͖ͷࢀߟʹͳΕ
#"4&ʹ͍ͭͯ 1)1ɾ$BLF1)1ͷར༻
#"4&ʹ͍ͭͯ w ϦϦʔε w ωοτγϣοϓ࡞αʔϏε ʮ#"4&ʯ w ʮ͓͞Μ͑Δʯ͕ί
ϯηϓτ w γϣοϐϯάΞϓϦʮ#"4&ʯ w ສϢʔβʔ͕ར༻͢Δ εϚʔτϑΥϯΞϓϦ
#"4&ʹ͓͚Δ 1)1$BLF1)1 ଟ͘ͷαʔϏεͰ1)1ͱ$BLF1)1YΛར༻ w ωοτγϣοϓ࡞αʔϏε#"4& w γϣοϐϯάΞϓϦʮ#"4&ʯ༻ͷ"1* w ཧը໘ʢόοΫΦϑΟεʣ w
όονॲཧ
ͳͥ1)1$BLF1)1 ΛΞοϓσʔτ͢Δͷ͔
ͳͥΞοϓσʔτ͢Δͷ͔ w ࣌Ͱ1)1ͩͬͨ ެࣜͰʹαϙʔτऴྃ $FOU04ύοέʔδʗηΩϡϦςΟमਖ਼͞ΕΔ w $BLF1)1গ͠ݹͯ͘αʔϏε͝ͱʹόʔδϣϯ͕ҟͳΔɻ ܥ࠷৽ͷʹ͠ͳ͍ͱෆ۩߹मਖ਼͞Εͳ͍ w
1)1ʹ͢Δͱ͘ͳΔ ϞόΠϧΞϓϦͷόοΫΤϯυ͕ຊʹ͔ͬͨ w 1)1ͷ৽͍͠ػೳɾߏจ͕͑ͳͯ͘ΤϯδχΞͷϞνϕʔ γϣϯ͕Լ͕Δ
ηΩϡϦςΟ εϐʔυ ΤϯδχΞͷϞνϕʔγϣϯ
աڈͷऔΓΈ ࣦഊ w ʹ$BLF1)1ΛΞοϓσʔτ w ޙʹෆ۩߹͕ൃ֮ͯ͠ݩͷόʔδϣϯʹͨ͠ w ಛఆ݅Ͱจৄࡉϖʔδ͕දࣔͰ͖ͳ͍ w ͋Δ͕ؔྫ֎Λ͛Δ༷ʹมΘΓɺಈ࡞ʹӨڹͨ͠
w ΞοϓσʔτͷऔΓΈ͕Ұ୴ετοϓ
աڈͷऔΓΈ ࣦഊ w ʙʹϲ݄͔͚ͯόʔδϣϯؒͷࠩΛ͢ ͯௐͯӨڹ͕͋Δͱ͜Ζɾվम͕ඞཁͳͱ͜ΖΛυ ΩϡϝϯτԽ w ʜ͕ɺΞοϓσʔτʹ౿ΈΕͣ w ,1*ୡαʔϏεվળ࠷༏ઌͰΞοϓσʔτʹ·Ͱे
औΓΊͳ͍ঢ়گ
ΞοϓσʔτʹऔΓΉ νʔϜͱઓུ
1)1$BLF1)1 ΞοϓσʔτʹऔΓΉνʔϜ w Ϛωʔδϟʔ໊ w ΞοϓσʔτઐΤϯδχΞ໊ w Ξοϓσʔτ݉ΤϯδχΞ໊ ֤։ൃηΫγϣϯ͔Β໊
ݱࡏͷνʔϜ ʙ ϓϥοτϑΥʔϜ ܾࡁ ϞόΠϧΞϓϦόοΫΤϯυ 43&
໘ͷඪ #"4&ͷ8FCΞϓϦέʔγϣϯΛಈ͔͢ ڥΛ1)1 $BLF1)1ʹ͢Δ
େ·͔ͳྲྀΕ ࡞ۀ͕͍͢͠Α͏%PDLFSͰ։ൃڥΛ࡞ $*Λಋೖͯ͠ɺෆ͍ͯ͠ΔςετίʔυΛՃ $PNQPTFSಋೖ 1)1ˠ $BLF1)1 1)1ˠ
%PDLFS։ൃڥ
%PDLFS։ൃڥ w ڞ༻ͷ։ൃ༻αʔόʹ֤ελοϑ༻ͷڥΛ࡞ͬͯ࡞ۀͯ͠ ͍ͨ ڥߏஙखॱൿͷλϨԽ͍ͯͨ͠ w ҟͳΔ1)1ͷόʔδϣϯͰಈ࡞ݕূΛ͠ͳ͕Β࡞ۀΛਐΊ ΔͷͰɺؾܰʹΓସ͑ΒΕΔ%PDLFSڥ͕͋Δͱָ w
ϢχοτςετͳͲϚγϯෛՙ͕ߴ͘ͳΔॲཧΛ࣮ߦ͠ ͍͢ w ΧελϜͨ͠ΠϝʔδΛ"84&$3ʹϗετ EPDLFS DPNQPTFͰߏɾૢ࡞
%PDLFS։ൃڥಋೖޙ w ػೳՃͳͲͷ։ൃ͘͢͠ͳͬͨ w "QBDIFͳͲϛυϧΣΞͷઃఆมߋ͕؆୯ʹͳͬͨ w σΟεΫΞΫηε͕͍͕ڐ༰ w ֎෦"1*࿈ܞɺσʔλϕʔεεΩʔϚͷөͳͲ՝ͬ ͍ͯΔ
$* ܧଓతΠϯςάϨʔγϣϯ ͷಋೖ
$* ܧଓతΠϯςάϨʔγϣϯ w ιʔείʔυΛมߋͨ͠ͱ͖ʹΞϓϦέʔγϣϯશମ͕յ Εͯͳ͍͔νΣοΫ͢ΔαʔϏε w $JSDMF$*Λಋೖ w (JU)VCʹQVTIˠςετΛࣗಈ࣮ߦ
ςετ݁Ռ
ΞοϓσʔτͷͨΊʹςετΛՃ w શ෦ͷΫϥεɾϝιουʹςετΛॻ͘ͱ͕͔͔Γ͢ ͗Δ w ༷Խςετ $IBSBDUFSJ[BUJPO5FTU Λॻ͘ w ݱࡏͷΞϓϦέʔγϣϯΛ࣮ߦͤ͞ɺ݁ՌΛਖ਼͍͠
ͷͱͯ͠ݕূ͢Δ ݱࡏͷΞϓϦέʔγϣϯΛ༷Խ͢ Δςετ
None
w γΣϧͷςετ͕υΩϡϝϯτʹॻ͍ͯͳ͍ˠίΞͷς ετίʔυΛಡΜͰਅࣅΛ͢Δ ΞοϓσʔτͷͨΊʹςετΛՃ
None
w ΑΓଟ͘ͷਖ਼ৗܥίʔυ͕ςετ͞ΕΔ͜ͱΛॏࢹɻΧό ϨοδϨϙʔτΛݟͳ͕Β࡞ۀ w BQQ$POTPMFDBLFUFTUBQQ"MM5FTUTDPWFSBHF IUNMSFQPSUT ΞοϓσʔτͷͨΊʹςετΛՃ
ࢀߟจݙ༷Խςετ w ʮϨΨγʔίʔυվળΨΠυʯͷεεϝ ୈճɿίʔυΛཧղ͢ΔͨΊɺ༷ԽςετͰจॻԽ͢ Δ w IUUQTDPEF[JOFKQBSUJDMFEFUBJM w .JDIBFM'FBUIFSTஶϧγεςϜζגࣜձࣾ༁ʰϨ ΨγʔίʔυվળΨΠυʱᠳӭࣾ
$*ɾςετಋೖޙ w Ϣχοτςετ͕ॻ͔Ε͍ͯΔ෦͕յΕͯͳ͍͔͙͢Θ ͔ΔΑ͏ʹͳͬͨ w ػೳՃɾվमͷͱ͖ʹςετҰॹʹίϛοτ͞ΕΔ͜ ͱ͕૿͑ͨ w ίϯςφ ଟ͍΄ͲϏϧυΛಉ࣌ʹ࣮ߦͰ͖Δ
͕ ݸˠݸʹ૿ͯ͠Βͬͨ
$PNQPTFSಋೖ
DPNQPTFSಋೖ w 1)1ϥΠϒϥϦͷґଘཧɾηοτΞοϓπʔϧ w $BLF1)1͕$PNQPTFSલఏͰͳ͔ͬͨ͜ͱ͋Γ ·Ͱಋೖͯ͠ͳ͔ͬͨ w ݸҎ্ͷ$BLF1)1ϓϥάΠϯ͕ݸผͷ(JU)VCϦϙδ τϦʹ͋ͬͨɻϓϥάΠϯNBTUFSͷ࠷৽͔͠σϓϩΠ Ͱ͖ͳ͔ͬͨɻ
w ։ൃڥͷ४උɾߋ৽ʹ͕͔͔࣌ؒΔ
QIQDPOͰհ IUUQTHPPHME$$HQ
$PNQPTFSಋೖ w ϥΠϒϥϦΛআ͔ͯ͠ΒDPNQPTFSSFRVJSFͰͭͣ ͭՃ
$PNQPTFSಋೖ w ґଘϥΠϒϥϦͷҠߦྃ w ࣾͰཧ͍ͯ͠ΔϓϥάΠϯΛόʔδϣϯΛݻఆͯ͠σ ϓϩΠͰ͖ΔΑ͏ʹͳͬͨ w HJUQVMMDPNQPTFSJOTUBMM
1)1$BLF1)1 Ξοϓσʔτ
1)1ˠ w 1)1$PNQBUJCJMJUZ$PEJOH4UBOEBSEGPS1)1 $PEF4OJ⒎FSͰޓੑνΣοΫ w NFNDBDIF֦ு͕1)1Ͱআ͞ΕΔͷͰ NFNDBDIFE֦ுΛ͏Α͏มߋ w ϦϦʔε࣌ʹ1)1ύοέʔδΛ$FOU04όϯυϧˠ SFNJϦϙδτϦ
ઌिɺϢʔβʔ͕ར༻͢ΔαΠτͯ͢1)1Ҏ্ʹ
1)1ˠ w 1)1ͷॲཧׂ͕࣌ؒݮʹ /FX3FMJD w ͨͩ͠ɺ"QBDIF $FOU04 &$ΠϯελϯελΠϓಉ࣌ʹมߋ͍ͯ͠Δ ͷͰɺ1)1ΞοϓσʔτࣗମͷޮՌ͕ͲΕ΄Ͳ͔ෆ໌
$BLF1)1Y w ҠߦΨΠυʹΛ௨͢ IUUQTCPPLDBLFQIQPSHKBBQQFOEJDFTIUNM w ʮDPNQPTFSSFRVJSFDBLFQIQDBLFQIQz zʯ w $BLF1)1·Ͱʹ1)1ରԠͰ0CKFDU4USJOHΫϥ ε͕ͦΕͧΕ$BLF0CKFDU$BLF5FYUʹมߋ
1)1ͷ༧ޠʹͳͬͨͨΊ w ׂ͘Β͍ͷαʔϏεͰҠߦࡁΈ
1)1ˠ w QIQDDͰޓੑνΣοΫ w ҠߦΨΠυʹҰΛ௨͢ IUUQQIQOFUNBOVBMKBNJHSBUJPOQIQ w $BLFݻ༗ͷมߋϝιουγάωνϟͷݫີԽͰඞཁʹͳΔमਖ਼ w $BLF1)1ͷCFGPSF7BMJEBUF
BGUFS4BWFγάωνϟมߋʹର Ԡ͢Δ w ͪ͜ΒׂͷαʔϏεͰҠߦࡁΈ
ฒΈἧ͑ͳ͕Βॱ൪ʹ ͬͨΘ͚Ͱͳ͍ w 2ͱΓ͋͑ͣ$JSDMF$*ಋೖɺϞόΠϧόοΫΤϯυͷςετΛ$*Ͱ࣮ߦ w ج൫νʔϜ 1)1$BLF1)1όʔδϣϯΞοϓਪਐ͢ΔνʔϜ Λ݁ w ʙ%PDLFS։ൃڥߏங
w ࠷ॳͷΞϓϦ͕1)1 $BLF1)1ʹͳΔ w ϞόΠϧΞϓϦͷόοΫΤϯυ͕1)1 $BLF1)1ʹ w શΞϓϦ͕1)1Ҏ্ʹ نͷখ͍͞ͷɺΓ͍͢ͷ͔Βྃͤ͞Δ ޙͷܭըཱ͕ͯ͘͢ͳΓɺϞνϕʔγϣϯ্͕Δ
$BLF1)1ίΞʹෆ۩߹Λݟ͚ͭΔ ςετػೳ 1)1ରԠΛϓϧϦΫΤετ
·ͱΊ w ίʔυϕʔε͕খنͳαʔϏε͔ΒΞοϓσʔτ w ࣄલʹҠߦΨΠυʹΛ௨ͯ͠࡞ۀ࣌ͷϋϚΓΛݮΒ͢ w ༷Խςετ$*Ͱಈ࡞Λอূ͢Δ w ςετจԽͷৢͳ͔ͳ͔େม w
Γ͖Δؾ࣋ͪ
&$ͷະདྷΛҰॹʹͭ͘Δ ΤϯδχΞΛืू͍ͯ͠·͢ KPCTCJODKQ