Slide 1

Slide 1 text

࠷ߴͷՆ ࠷ߴͷ LAMP։ൃ

Slide 2

Slide 2 text

ɾ Java Küche ձ௕ ɾϋοΧʔζνϟϯϓϧʔ ɹ࣮ߦҕһձ෭ҕһ௕ Tomohiro TAIRA / ฏྑ ஌޿

Slide 3

Slide 3 text

@Tomohiro ࢲͩ

Slide 4

Slide 4 text

@gongoZ ͝Μ͝͞Μͩ

Slide 5

Slide 5 text

@Tomohiro twitter.com/ github.com/

Slide 6

Slide 6 text

࠷ۙͷ࢓ࣄ ίʔυϕʔε͕΄ͱΜͲ PHP 3 ͷ Web ΞϓϦέʔγϣϯΛ PHP 5.4 ʹରԠ͞ ͤΔʂʂ

Slide 7

Slide 7 text

ݱঢ়... ɾLAPP ߏ੒ (Linux / Apache / PHP / Postgres) ɾ࢓༷ॻͳ͠(ERD ͱ͔) ɾ࢓༷ʹਫ਼௨ͨ͠ϝϯόʔͷෆࡏ

Slide 8

Slide 8 text

νϟϨϯδ ࢓༷ॻ͕ͳ͍ͷͰΞϓϦͷ Τϯυ πʔΤϯυςετΛॆ࣮ͤ͞಺෦ Λվળ͍ͯ͘͜͠ͱʹ...

Slide 9

Slide 9 text

͔͜͜Βઌ PHP ͷ࿩ ͦΜͳʹͳ͍Ͱ͢ɻ

Slide 10

Slide 10 text

νʔϜͰ࢖͍ͬͯΔ ख๏ɾπʔϧͷ঺հ

Slide 11

Slide 11 text

εΫϥϜ ɾσΠϦʔϛʔςΟϯάʢ༦ํʣ ɾϓϥϯχϯάϙʔΧʔ ɾ Ұϲ݄εϓϦϯτͰσϓϩΠ ɾΧϯόϯ ɾ;Γ͔͑Γʢ̠̥̩ʣ

Slide 12

Slide 12 text

ίϛϡχέʔγϣϯ ɾϥϯνϛʔςΟϯάʢࣾ৯͋Δ͠ʣ ɾνϟοτ͸̧̞̘ ɹ→ Ruby ੡ͷ IRC αʔό (Hector)Λࣾ಺ͷ LDAP ʹ઀ଓ ɹ→ Chatter Bot (Kris by @Tomohiro) Λࣗ࡞ͯ͠ར༻த ɹ→GitHub, Redmine, Jenkins ͷΞΫςΟϏςΟ͕ྲྀΕΔ ɾͦͷଞࣾ಺γεςϜʹ Bot ܦ༝ͰΞΫηεɾૢ࡞

Slide 13

Slide 13 text

։ൃϑϩʔ ɾGitHub ϓϥΠϕʔτϦϙδτϦ & GitHub Flow ɾPull Request ɾNo Review, No Merge! ɾHuboard.com Ͱ GitHub Issue ΛΧϯόϯԽ

Slide 14

Slide 14 text

։ൃ؀ڥ ɾPacker & Vagrant Ͱ։ൃ༻ VMΛνʔϜͰڞ༗ ɹ→ Packer Ͱ Linux ͷ base box Λ࡞੒ ɹ→Vagrant with Puppet Ͱ։ൃαʔόΛߏங ɹ→։ൃαʔόͷߏஙखॱ͕ՄࢹԽ

Slide 15

Slide 15 text

Packer # VirtualBox $ packer build -only=virtualbox box.json # AWS $ packer build -only=amazon-ebs box.json

Slide 16

Slide 16 text

Vagrant # VirtualBox $ vagrant up --provider=virtualbox # AWS $ vagrant up --provider=aws

Slide 17

Slide 17 text

ςετ ɾܧଓతΠϯςάϨʔγϣϯ - Jenkins CI ɾ୯ମςετ - PHPUnit ɾ݁߹ςετ - Selenium ɾ౷߹ςετ - Puppet, serverspec, Selenium

Slide 18

Slide 18 text

Selenium ɾCapybara with Turnip ɹ→ RubyGems: TurnipFormatter by @gongoZ ɹ→ RubyGems: Gnawrnip by @gongoZ ɹ→ RubyGems: TurnipParallelTest by @gongoZ

Slide 19

Slide 19 text

ίʔυղੳ ɾCheckstyle (PHP_CodeSniffer) ɾDRY (phpcpd) ɾPMD (PHPMD) ɾJDepend (PHP_Depend) ɾCoverage (PHPUnit)

Slide 20

Slide 20 text

ϩάղੳ ɾϩάϑΥʔϚοτ: LTSV Format ɾϩάऩू: Fluentd ɾϩάӬଓԽ: ElasticSearch ɾϩάӾཡ: Kibana3

Slide 21

Slide 21 text

Fluentd with Fluentular ਖ਼نදݱΛॻͨ͘ΊͷࢧԉαʔϏε http://fluentular.herokuapp.com by @Tomohiro

Slide 22

Slide 22 text

αʔόӡ༻ ɾίϯϑΟάϨʔγϣϯϚωʔδϝϯτ: Puppet ɾαʔόͷଥ౰ੑ֬ೝ: serverspec ɹ→ @Tomohiro and @gongoZ ͕ίϯτϦϏϡʔλ ɹɹɹ

Slide 23

Slide 23 text

serverspec ίϯτϦϏϡʔλʹͳΔͱ...

Slide 24

Slide 24 text

serverspec εςοΧʔ΋Βͬͨʂ

Slide 25

Slide 25 text

ࠓޙͷνϟϨϯδ... ɾPostgres9 େن໛ӡ༻(Streaming Replication) ɾSelenium ςετͷߴ଎Խ ɹ→Xvfb Ծ૝ϑϨʔϜόοϑΝʁ ɹ→Poltergeist(PhantomJS) ʁ ɹ→Docker Ͱςετ؀ڥΛΧδϡΞϧʹ

Slide 26

Slide 26 text

·ͱΊ ϨΨγʔγεςϜͷϚΠάϨʔγϣϯ͸஍ຯ ͳ࢓ࣄͷ࿈ଓ͕ͩɼ࠷৽ͷαʔϏε΍πʔϧ Λۦ࢖͢Δ͜ͱͰ҆શʹշదʹ։ൃΛਐΊͯ ͍͘͜ͱ͕ग़དྷΔɻ