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
僕とPHPxAgileの481日間
Search
Kenichiro Kishida
December 24, 2014
Programming
0
970
僕とPHPxAgileの481日間
2014年12月 PHP勉強会 のLT発表資料です
Kenichiro Kishida
December 24, 2014
Tweet
Share
More Decks by Kenichiro Kishida
See All by Kenichiro Kishida
Code兄弟での CI/CDをいい感じにする方法 / phpstudy-2024-06
sizuhiko
0
180
Webアクセシビリティワークショップを社内でやってみた / phpconfuk-2024
sizuhiko
1
350
デベロッパーよ 健康でいるためには 寝て 旅をして 趣味を持って メンタル大切に / DE-RADIO-2023-06-26
sizuhiko
0
140
ヘビータブユーザーが ワークスペースの利用でどのように変わったか / 2023-05-16 Vivaldi User Meetup TOKYO 2023
sizuhiko
0
320
Node.js v18 ベースイメージを使った AWS Lambda アプリ開発におけつ光と影 / 2023-04-23 JavaScript Fes
sizuhiko
0
200
@swc-node/jest を使って テストを高速化する/jsfes-2022
sizuhiko
0
370
Rails 7の採用提案で注目を集め始めた Import maps の過去、現在、そして未来について/de radio 2
sizuhiko
2
1.4k
勉強会主体で サービスを作るということ/esm-meetup-3
sizuhiko
0
350
オンライン勉強会や イベントで 盛り上がりを共有したい!/jsfes2021-summer
sizuhiko
0
710
Other Decks in Programming
See All in Programming
Startups on Rails in Past, Present and Future–Irina Nazarova, RailsConf 2025
irinanazarova
0
200
イベントストーミング図からコードへの変換手順 / Procedure for Converting Event Storming Diagrams to Code
nrslib
2
980
Result型で“失敗”を型にするPHPコードの書き方
kajitack
5
980
MCPを使ってイベントソーシングのAIコーディングを効率化する / Streamlining Event Sourcing AI Coding with MCP
tomohisa
0
160
レベル1の開発生産性向上に取り組む − 日々の作業の効率化・自動化を通じた改善活動
kesoji
0
270
20250708_JAWS_opscdk
takuyay0ne
2
120
スタートアップの急成長を支えるプラットフォームエンジニアリングと組織戦略
sutochin26
1
6.7k
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
420
Rails Frontend Evolution: It Was a Setup All Along
skryukov
0
250
Azure AI Foundryではじめてのマルチエージェントワークフロー
seosoft
0
190
はじめてのWeb API体験 ー 飲食店検索アプリを作ろうー
akinko_0915
0
130
なぜ「共通化」を考え、失敗を繰り返すのか
rinchoku
1
670
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Statistics for Hackers
jakevdp
799
220k
Speed Design
sergeychernyshev
32
1k
A Tale of Four Properties
chriscoyier
160
23k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
47
9.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
Music & Morning Musume
bryan
46
6.7k
Git: the NoSQL Database
bkeepers
PRO
430
65k
A designer walks into a library…
pauljervisheath
207
24k
Documentation Writing (for coders)
carmenintech
72
4.9k
Transcript
ͱ1)1Y"HJMFͷ ؒ 1)1ษڧձCZ!TJ[VIJLP
,FOJDIJSP,JTIJEB 5PLZP +"1"/ TJ[VIJLP!HNBJMDPN !TJ[VIJLP IUUQTHJUIVCDPNTJ[VIJLP IUUQCMPHPQFOUPLZPKQ +1POMZ *XPSLPO&JXB4ZTUFN.BOBHFNFOU*OD
最新刊 祝::増33刷� 祝::電子書籍
͓ॻ͖ w 1)1Y"HJMFͰࢧԉͨ͠ͷيͰ͢ w ܧଓతΠϯςάϨʔγϣϯ։ൃΛಋೖͯ͠Έ Α͏ͱࢥ͏ํʹ w Ϟμϯͳ1)1։ൃΛͬͯΈ͍ͨͱࢥ͏ํʹ
$ php -a php > echo ( strtotime(‘2014/12/26’) -
strtotime(‘2013/09/01’) ) / (60*60*24);
લʢڥʣ w ίϚϯυϥΠϯ͔Β୯ମςετ͕࣮ߦͰ͖ͳ ͍ʢ$*αʔό͔Β࣮ߦͰ͖ͳ͍ʣ w ݁߹ςετΛͲ͏࣮ͬͯࢪͨ͠Βྑ͍͔Θ ͔Βͳ͍ʢ༗ঈπʔϧΛධՁதʣ w ϥΠϒϥϦͷґଘ͕ؔखಈʢखॱॻʣͰղ ܾ͞Ε͍ͯΔ
w ։ൃڥ͕9".11ͰखॱॻʹԊͬͯ࡞Βͳ͍ ͱ͍͚ͳ͍
લʢίʔυʣ w ϑϨʔϜϫʔΫʢ$BLF1)1ʣͷڍಈ͕Φʔό ϥΠυ͞Ε͍ͯΔ w ϓϥάΠϯΛར༻ͤͣंྠͷ࠶։ൃ͕ߦΘΕ ͍ͯΔ w ୯ମςετ͋Δ͕ɺࣦഊέʔε͕์ஔ͞Ε ͍ͯΔɻ
w ୯ಠͩͱޭ͢Δ͕"MMͰྲྀ͢ͱࣦഊ͢Δςε τ͕͋Δ w όʔδϣϯཧ͞Ε͍ͯΔ
લʢਤʣ Windows7 XAMPP PHPStorm Git pear Jenkins PHP MySQL PHPMD
PHPCPD PHPDoc Git Github
͡ΊʹΔ͜ͱ w ୯ମςετΛίϚϯυϥΠϯ͔Β࣮ߦͰ͖Δ Α͏ʹ͠ɺ$*αʔόʢ+FOLJOTʣͰ·Θ͢ w ϑϨʔϜϫʔΫͷΦʔόϥΠυͰڍಈ͕͓ ͔͘͠ͳ͍ͬͯͨ෦Λमਖ਼ʢר͖͠ʣ w$*͕࣮ߦͰ͖ΔΑ͏ʹͳΔ͜ͱ͕࠷େࣄ
̎ͷ$*ͷ҆ఆ w ϥΠϒϥϦͷґଘ͕ؔखಈ w DPNQPTFSΛಋೖ͠ɺґଘؔͷղܾΛࣗ ಈԽ w %#ͷߋ৽͕खಈӡ༻ w ϚΠάϨʔγϣϯʹΑΔ%#ߋ৽ͷࣗಈԽ
wܧଓతʹ࣮ߦͰ͖ΔΑ͏ʹͳΔ͜ͱ͕େࣄ
̏ͷςετͷݟ͠ w ༷ͱͯ͠ҙຯ͕ͳ͍ͷɺෆ໌ͳͷ আ w ࣦഊ͍ͯ͠Δςετͷमਖ਼ w ॱংʹґଘ͍ͯ͠Δςετͷमਖ਼ w ෆ͍ͯ͠ΔςετͷՃ
w։ൃऀ͕͍ͭͰͲ͜Ͱ҆৺ͯ͠ίʔυΛ मਖ਼Ͱ͖ΔΑ͏ʹͳΔ͜ͱ͕େࣄ
ͷϦϑΝΫλ w ंྠͷ࠶։ൃΛΊϥΠϒϥϦϓϥάΠϯ Λಋೖ w $BLF&OUJUZ XTEMQIQHFOFSBUPS 4FBSDI ϓϥάΠϯͳͲ w
৽ن։ൃΛࢭΊͯɺҰؾʹΓ͖Δ w ͦͷ··Ͱྑ͍ͱ͜ΖͷΓ͚ඞཁ wίʔυ࣭Λ্ͤ͞ɺΑΓΞϓϦέʔγϣ ϯʹಛԽͨ͠ίʔυʹ࣌ؒΛ͔͚ΒΕΔΑ͏ ʹ͢Δ
ͷϨϏϡʔ w νʔϜϦʔμʔ͚͕ͩϨϏϡʔͯ͠Ϛʔδ͢ ΔจԽ่յ͠ҙຯΛ͞ͳ͍ w νʔϜͷϓϩάϥϚશһ͕ίʔυΛݟͯίϝ ϯτΛೖྗ͢Δ·Ͱ13ΛϚʔδ͠ͳ͍Α͏ʹ ϧʔϧԽ w ͱʹ͔͘ܧଓ͢Δ͜ͱ
wֶशޮՌɺτϥοΫφϯόʔࢭɺνʔϜͷ Ұମײ্
ͷݟੵΓ w νʔϜϦʔμʔ͚͕༷ͩΛཧղ͠λεΫ ׂΛͯ͠࡞ۀΛׂΓৼͬͯμϝ w νʔϜͷϓϩάϥϚશһ͕ཁٻ͔Β༷ʹϒ ϨʔΫμϯ͠ɺ࡞ۀՄೳͳ୯ҐͷλεΫ· ͰׂʗݟੵΓ͢Δ w ͱʹ͔͘ܧଓ͢Δ͜ͱ
wΑΓਖ਼֬ͳܭը࡞ΓɺτϥοΫφϯόʔ ࢭɺνʔϜͷҰମײ্
ͷςετͷվળ w 'JYUVSFʹΑΔϚʔδ࣌ͷςετ่յɺςετ ࣌ؒͷ࣌ؒԽϩʔΧϧςετͷলུʹ͠ ͔ͭͳ͕Βͳ͍ w σʔλδΣωϨʔλ 'BCSJDBUF ͷಋೖͰςε τσʔλͱέʔεͷґଘؔΛղܾ
w ςετ༻%#Λ3".σΟεΫ্ʹϚϯτͯ͠ ߴԽ wςετͷߴԽͰɺΑΓ࣮ʹ࣌ؒΛ
ͷ&UP&ςετ w #FIBUʹΑΔ&UP&ςετͷಋೖ w #%%ʹΑΔςετͷߟ͑ํͷಋೖڭҭඞཁ w +FOLJOT .BTUFS #%%࣮ߦڥ 4MBWF
$ISPNF 4MBWF Ͱ$*Ͱࣗಈ࣮ߦ w +4ͷࡉ͔͍ಈ࡞+BTNJOFͰ୯ମςετԽ wϦϦʔεຖճؼςετͷෛՙΛܰݮ
ͷ։ൃڥࣗಈԽ w खॱॻϝϯς͞Εͳ͍͠ɺ৽͍͠όʔδϣ ϯͰಈ࡞͕ҟͳͬͨΓ͢Δ w 7BHSBOU 7JSUVBM#PY $IFGTPMPʹΑΓ։ൃ ڥߏஙΛࣗಈԽ w
Ұ࡞ͬͯऴΘΓͰͳ͘ʑมΘΔ։ൃτϨ ϯυʹରԠ͢Δ$PPLCPPLͷՃͳͲΛ࣮ࢪ w৽ϝϯόʔࢀೖ࣌ɺ1$ೖΕସ͑࣌ʹɺ͙͢ ࡞ۀ͕Ͱ͖ΔΑ͏ʹͳΔ
ݱࡏʢਤʣ Windows7 PHPStorm Github for Windows Selenium2 +WebDriver Vagrant+VirtualBox Apache
PHP MySQL Composer Selenium2 Chef Git Github ίʔυϨϏϡʔ PRϕʔε։ൃ
ݱࡏʢਤʣ CI Server(Jenkins Master) 41Jobs CI BDD(Jenkins Slave) Win7(Jenkins Slave)
Apache Selenium2 +WebDriver PHP PHP MySQL Composer PHPMD PHPCPD PHPDoc MySQL Chrome Composer Git Git phantomJS Selenium Grid
͞Βʹৄ͍͠༰
None
·ͱΊ wؒ͋Γ͕ͱ͏͍͟͝·ͨ͠ wͱʹ͔͘ܧଓʢมԽΛଓ͚Δ͜ ͱʣ͕େͰ͢ wϑΝγϦςʔλϝϯλ͕ඞཁͰ͢ w$*ͬͯΈ͍ͨͱࢥͬͨΒɺҰ ຊΛखʹऔͬͯΈ͍ͯͩ͘͞
࣭
͋Γ͕ͱ͏͍͟͝·ͨ͠ 5IBOLZPV