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
450
1
Share
Awesome LAMP
Tomohiro Taira
August 23, 2013
More Decks by Tomohiro Taira
See All by Tomohiro Taira
Go Package Development
tomohiro
1
1.2k
Chatterbot
tomohiro
0
480
Other Decks in Programming
See All in Programming
自動レビューエンジンの実装と運用 ~レビューのない世界へ~
kurukuru1999
1
120
リセットCSSを1行消したらアクセシビリティが向上した話
pvcresin
4
520
空間オーディオの活用
objectiveaudio
0
160
開発とはなにか、Essenceカーネルで見えるもの
ukin0k0
0
190
Stage 3 Decorators でできること / できないこと / TSKaigi 2026
susisu
1
280
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
580
エラー処理の温故知新 / history of error handling technic
ryotanakaya
7
1.9k
サプライチェーン攻撃対策「層を重ねて落ちない壁」を10日間で組み上げた話 #TechLeadConf2026
kashewnuts
1
300
Oxlintはいかにしてtsgolintのlint ruleを呼び出しているのか
syumai
1
290
AI時代になぜ書くのか
mutsumix
0
430
新規プロダクトを高速で生み出すハーネスエンジニアリング
seanchas116
3
210
AWSはOSSをどのように 考えているのか?
akihisaikeda
0
130
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
234
18k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
120
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
170
So, you think you're a good person
axbom
PRO
2
2k
Prompt Engineering for Job Search
mfonobong
0
310
How to Think Like a Performance Engineer
csswizardry
28
2.6k
The agentic SEO stack - context over prompts
schlessera
0
780
Game over? The fight for quality and originality in the time of robots
wayneb77
1
170
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
Ethics towards AI in product and experience design
skipperchong
2
280
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
560
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
210
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 ͰςετڥΛΧδϡΞϧʹ
·ͱΊ ϨΨγʔγεςϜͷϚΠάϨʔγϣϯຯ ͳࣄͷ࿈ଓ͕ͩɼ࠷৽ͷαʔϏεπʔϧ Λۦ͢Δ͜ͱͰ҆શʹշదʹ։ൃΛਐΊͯ ͍͘͜ͱ͕ग़དྷΔɻ