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
470
Other Decks in Programming
See All in Programming
ライブ配信サービスの インフラのジレンマ -マルチクラウドに至ったワケ-
mirrativ
1
160
バイブスあるコーディングで ~PHP~ 便利ツールをつくるプラクティス
uzulla
1
330
サイトを作ったらNFCタグキーホルダーを爆速で作れ!
yuukis
0
180
Scale out your Claude Code ~自社専用Agentで10xする開発プロセス~
yukukotani
9
1.9k
LLMは麻雀を知らなすぎるから俺が教育してやる
po3rin
3
2.1k
Reactの歴史を振り返る
tutinoko
1
180
バイブコーディング超えてバイブデプロイ〜CloudflareMCPで実現する、未来のアプリケーションデリバリー〜
azukiazusa1
3
810
実践 Dev Containers × Claude Code
touyu
1
170
MCPで実現できる、Webサービス利用体験について
syumai
7
2.5k
Webinar: AI-Powered Development: Transformiere deinen Workflow mit Coding Tools und MCP Servern
danielsogl
0
110
可変性を制する設計: 構造と振る舞いから考える概念モデリングとその実装
a_suenami
10
1.7k
Gemini CLIの"強み"を知る! Gemini CLIとClaude Codeを比較してみた!
kotahisafuru
3
970
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
329
21k
Balancing Empowerment & Direction
lara
1
540
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
332
22k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
Making Projects Easy
brettharned
117
6.3k
Visualization
eitanlees
146
16k
Docker and Python
trallard
45
3.5k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
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 ͰςετڥΛΧδϡΞϧʹ
·ͱΊ ϨΨγʔγεςϜͷϚΠάϨʔγϣϯຯ ͳࣄͷ࿈ଓ͕ͩɼ࠷৽ͷαʔϏεπʔϧ Λۦ͢Δ͜ͱͰ҆શʹշదʹ։ൃΛਐΊͯ ͍͘͜ͱ͕ग़དྷΔɻ