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
Awesome LAMP
Search
Tomohiro Taira
August 23, 2013
Programming
1
420
Awesome LAMP
Tomohiro Taira
August 23, 2013
Tweet
Share
More Decks by Tomohiro Taira
See All by Tomohiro Taira
Go Package Development
tomohiro
1
1.2k
Chatterbot
tomohiro
0
470
Other Decks in Programming
See All in Programming
Oracle Database Technology Night 92 Database Connection control FAN-AC
oracle4engineer
PRO
1
450
テストカバレッジ100%を10年続けて得られた学びと品質
mottyzzz
2
600
MCPとデザインシステムに立脚したデザインと実装の融合
yukukotani
4
1.4k
Cache Me If You Can
ryunen344
2
1.4k
Laravel Boost 超入門
fire_arlo
3
220
Rancher と Terraform
fufuhu
2
550
AIでLINEスタンプを作ってみた
eycjur
1
230
ProxyによるWindow間RPC機構の構築
syumai
3
1.2k
Reading Rails 1.0 Source Code
okuramasafumi
0
230
testingを眺める
matumoto
1
140
請來的 AI Agent 同事們在寫程式時,怎麼用 pytest 去除各種幻想與盲點
keitheis
0
120
旅行プランAIエージェント開発の裏側
ippo012
2
910
Featured
See All Featured
A Tale of Four Properties
chriscoyier
160
23k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Building an army of robots
kneath
306
46k
The Art of Programming - Codeland 2020
erikaheidi
56
13k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
It's Worth the Effort
3n
187
28k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.1k
A Modern Web Designer's Workflow
chriscoyier
696
190k
Unsuck your backbone
ammeep
671
58k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Transcript
࠷ߴͷՆ ࠷ߴͷ LAMP։ൃ
ɾ Java Küche ձ ɾϋοΧʔζνϟϯϓϧʔ ɹ࣮ߦҕһձ෭ҕһ Tomohiro TAIRA / ฏྑ
@Tomohiro ࢲͩ
@gongoZ ͝Μ͝͞Μͩ
@Tomohiro twitter.com/ github.com/
࠷ۙͷࣄ ίʔυϕʔε͕΄ͱΜͲ PHP 3 ͷ Web ΞϓϦέʔγϣϯΛ PHP 5.4 ʹରԠ͞
ͤΔʂʂ
ݱঢ়... ɾLAPP ߏ (Linux / Apache / PHP / Postgres)
ɾ༷ॻͳ͠(ERD ͱ͔) ɾ༷ʹਫ਼௨ͨ͠ϝϯόʔͷෆࡏ
νϟϨϯδ ༷ॻ͕ͳ͍ͷͰΞϓϦͷ Τϯυ πʔΤϯυςετΛॆ࣮ͤ͞෦ Λվળ͍ͯ͘͜͠ͱʹ...
͔͜͜Βઌ PHP ͷ ͦΜͳʹͳ͍Ͱ͢ɻ
νʔϜͰ͍ͬͯΔ ख๏ɾπʔϧͷհ
εΫϥϜ ɾσΠϦʔϛʔςΟϯάʢ༦ํʣ ɾϓϥϯχϯάϙʔΧʔ ɾ Ұϲ݄εϓϦϯτͰσϓϩΠ ɾΧϯόϯ ɾ;Γ͔͑Γʢ̠̥̩ʣ
ίϛϡχέʔγϣϯ ɾϥϯνϛʔςΟϯάʢࣾ৯͋Δ͠ʣ ɾνϟοτ̧̞̘ ɹ→ Ruby ͷ IRC αʔό (Hector)Λࣾͷ LDAP
ʹଓ ɹ→ Chatter Bot (Kris by @Tomohiro) Λࣗ࡞ͯ͠ར༻த ɹ→GitHub, Redmine, Jenkins ͷΞΫςΟϏςΟ͕ྲྀΕΔ ɾͦͷଞࣾγεςϜʹ Bot ܦ༝ͰΞΫηεɾૢ࡞
։ൃϑϩʔ ɾGitHub ϓϥΠϕʔτϦϙδτϦ & GitHub Flow ɾPull Request ɾNo Review,
No Merge! ɾHuboard.com Ͱ GitHub Issue ΛΧϯόϯԽ
։ൃڥ ɾPacker & Vagrant Ͱ։ൃ༻ VMΛνʔϜͰڞ༗ ɹ→ Packer Ͱ Linux
ͷ base box Λ࡞ ɹ→Vagrant with Puppet Ͱ։ൃαʔόΛߏங ɹ→։ൃαʔόͷߏஙखॱ͕ՄࢹԽ
Packer # VirtualBox $ packer build -only=virtualbox box.json # AWS
$ packer build -only=amazon-ebs box.json
Vagrant # VirtualBox $ vagrant up --provider=virtualbox # AWS $
vagrant up --provider=aws
ςετ ɾܧଓతΠϯςάϨʔγϣϯ - Jenkins CI ɾ୯ମςετ - PHPUnit ɾ݁߹ςετ -
Selenium ɾ౷߹ςετ - Puppet, serverspec, Selenium
Selenium ɾCapybara with Turnip ɹ→ RubyGems: TurnipFormatter by @gongoZ ɹ→
RubyGems: Gnawrnip by @gongoZ ɹ→ RubyGems: TurnipParallelTest by @gongoZ
ίʔυղੳ ɾCheckstyle (PHP_CodeSniffer) ɾDRY (phpcpd) ɾPMD (PHPMD) ɾJDepend (PHP_Depend) ɾCoverage
(PHPUnit)
ϩάղੳ ɾϩάϑΥʔϚοτ: LTSV Format ɾϩάऩू: Fluentd ɾϩάӬଓԽ: ElasticSearch ɾϩάӾཡ: Kibana3
Fluentd with Fluentular ਖ਼نදݱΛॻͨ͘ΊͷࢧԉαʔϏε http://fluentular.herokuapp.com by @Tomohiro
αʔόӡ༻ ɾίϯϑΟάϨʔγϣϯϚωʔδϝϯτ: Puppet ɾαʔόͷଥੑ֬ೝ: serverspec ɹ→ @Tomohiro and @gongoZ ͕ίϯτϦϏϡʔλ
ɹɹɹ
serverspec ίϯτϦϏϡʔλʹͳΔͱ...
serverspec εςοΧʔΒͬͨʂ
ࠓޙͷνϟϨϯδ... ɾPostgres9 େنӡ༻(Streaming Replication) ɾSelenium ςετͷߴԽ ɹ→Xvfb ԾϑϨʔϜόοϑΝʁ ɹ→Poltergeist(PhantomJS) ʁ
ɹ→Docker ͰςετڥΛΧδϡΞϧʹ
·ͱΊ ϨΨγʔγεςϜͷϚΠάϨʔγϣϯຯ ͳࣄͷ࿈ଓ͕ͩɼ࠷৽ͷαʔϏεπʔϧ Λۦ͢Δ͜ͱͰ҆શʹշదʹ։ൃΛਐΊͯ ͍͘͜ͱ͕ग़དྷΔɻ