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
430
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
YJITとZJITにはイカなる違いがあるのか?
nakiym
0
120
Redox OS でのネームスペース管理と chroot の実現
isanethen
0
550
飯MCP
yusukebe
0
490
AI活用のコスパを最大化する方法
ochtum
0
380
Symfony + NelmioApiDocBundle を使った スキーマ駆動開発 / Schema Driven Development with NelmioApiDocBundle
okashoi
0
270
Codex CLIのSubagentsによる並列API実装 / Parallel API Implementation with Codex CLI Subagents
takatty
2
860
Laravel Nightwatchの裏側 - Laravel公式Observabilityツールを支える設計と実装
avosalmon
1
320
煩雑なSkills管理をSoC(関心の分離)により解決する――関心を分離し、プロンプトを部品として育てるためのOSSを作った話 / Solving Complex Skills Management Through SoC (Separation of Concerns)
nrslib
3
770
PHP で mp3 プレイヤーを実装しよう
m3m0r7
PRO
0
180
L’IA au service des devs : Anatomie d'un assistant de Code Review
toham
0
220
PHPで TLSのプロトコルを実装してみる
higaki_program
0
740
PHPで TLSのプロトコルを実装してみるをもう一度しゃべりたい
higaki_program
0
180
Featured
See All Featured
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
97
Faster Mobile Websites
deanohume
310
31k
Rails Girls Zürich Keynote
gr2m
96
14k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
300
The untapped power of vector embeddings
frankvandijk
2
1.7k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
The Invisible Side of Design
smashingmag
302
51k
We Have a Design System, Now What?
morganepeng
55
8.1k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
64
53k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
120
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
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 ͰςετڥΛΧδϡΞϧʹ
·ͱΊ ϨΨγʔγεςϜͷϚΠάϨʔγϣϯຯ ͳࣄͷ࿈ଓ͕ͩɼ࠷৽ͷαʔϏεπʔϧ Λۦ͢Δ͜ͱͰ҆શʹշదʹ։ൃΛਐΊͯ ͍͘͜ͱ͕ग़དྷΔɻ