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
1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
僕とPHPxAgileの481日間
2014年12月 PHP勉強会 のLT発表資料です
Kenichiro Kishida
December 24, 2014
More Decks by Kenichiro Kishida
See All by Kenichiro Kishida
Compression Streams API によるブラウザネイティブなデータ圧縮/jsfes2025
sizuhiko
0
61
Compression Streams API によるブラウザネイティブなデータ圧縮 /phpstudy-182
sizuhiko
0
79
Code兄弟での CI/CDをいい感じにする方法 / phpstudy-2024-06
sizuhiko
0
230
Webアクセシビリティワークショップを社内でやってみた / phpconfuk-2024
sizuhiko
1
420
デベロッパーよ 健康でいるためには 寝て 旅をして 趣味を持って メンタル大切に / DE-RADIO-2023-06-26
sizuhiko
0
210
ヘビータブユーザーが ワークスペースの利用でどのように変わったか / 2023-05-16 Vivaldi User Meetup TOKYO 2023
sizuhiko
0
380
Node.js v18 ベースイメージを使った AWS Lambda アプリ開発におけつ光と影 / 2023-04-23 JavaScript Fes
sizuhiko
0
250
@swc-node/jest を使って テストを高速化する/jsfes-2022
sizuhiko
0
430
Rails 7の採用提案で注目を集め始めた Import maps の過去、現在、そして未来について/de radio 2
sizuhiko
2
1.5k
Other Decks in Programming
See All in Programming
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
17
9k
Contextとはなにか
chiroruxx
1
390
Mujeres en SEO Summit 2026 - Greatest Disaster Hits en Web Performance
guaca
0
240
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
3
4.3k
音楽のための関数型プログラミング言語mimiumにおける多段階計算の活用
tomoyanonymous
1
320
act1-costs.pdf
sumedhbala
0
210
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.4k
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
150
初めてのKubernetes 本番運用でハマった話
oku053
0
120
どこまでゆるくて許されるのか
tk3fftk
0
480
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
140
エンジニアと一緒にテストコードの設計と実装を改善した話
mototakatsu
0
260
Featured
See All Featured
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
630
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Site-Speed That Sticks
csswizardry
13
1.3k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
Automating Front-end Workflow
addyosmani
1370
210k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
340
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
340
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
220
Building Adaptive Systems
keathley
44
3.1k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
420
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