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
410
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
460
Other Decks in Programming
See All in Programming
DevFest - Serverless 101 with Google Cloud Functions
tunmise
0
140
DevinとCursorから学ぶAIエージェントメモリーの設計とMoatの考え方
itarutomy
0
140
선언형 UI에서의 상태관리
l2hyunwoo
0
270
BEエンジニアがFEの業務をできるようになるまでにやったこと
yoshida_ryushin
0
200
Androidアプリの One Experience リリース
nein37
0
1.2k
ある日突然あなたが管理しているサーバーにDDoSが来たらどうなるでしょう?知ってるようで何も知らなかったDDoS攻撃と対策 #phpcon.2024
akase244
2
7.7k
ゼロからの、レトロゲームエンジンの作り方
tokujiros
3
1k
2025.01.17_Sansan × DMM.swift
riofujimon
2
540
歴史と現在から考えるスケーラブルなソフトウェア開発のプラクティス
i10416
0
300
非ブラウザランタイムとWeb標準 / Non-Browser Runtimes and Web Standards
petamoriken
0
430
PSR-15 はあなたのための ものではない? - phpcon2024
myamagishi
0
400
VisionProで部屋の明るさを反映させるシェーダーを作った話
segur
0
100
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
328
21k
Become a Pro
speakerdeck
PRO
26
5.1k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Building Applications with DynamoDB
mza
93
6.2k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3.1k
Optimising Largest Contentful Paint
csswizardry
33
3k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.7k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Thoughts on Productivity
jonyablonski
68
4.4k
RailsConf 2023
tenderlove
29
970
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 ͰςετڥΛΧδϡΞϧʹ
·ͱΊ ϨΨγʔγεςϜͷϚΠάϨʔγϣϯຯ ͳࣄͷ࿈ଓ͕ͩɼ࠷৽ͷαʔϏεπʔϧ Λۦ͢Δ͜ͱͰ҆શʹշదʹ։ൃΛਐΊͯ ͍͘͜ͱ͕ग़དྷΔɻ