Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
僕と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
100
Compression Streams API によるブラウザネイティブなデータ圧縮 /phpstudy-182
sizuhiko
0
99
Code兄弟での CI/CDをいい感じにする方法 / phpstudy-2024-06
sizuhiko
0
240
Webアクセシビリティワークショップを社内でやってみた / phpconfuk-2024
sizuhiko
1
440
デベロッパーよ 健康でいるためには 寝て 旅をして 趣味を持って メンタル大切に / DE-RADIO-2023-06-26
sizuhiko
0
220
ヘビータブユーザーが ワークスペースの利用でどのように変わったか / 2023-05-16 Vivaldi User Meetup TOKYO 2023
sizuhiko
0
400
Node.js v18 ベースイメージを使った AWS Lambda アプリ開発におけつ光と影 / 2023-04-23 JavaScript Fes
sizuhiko
0
270
@swc-node/jest を使って テストを高速化する/jsfes-2022
sizuhiko
0
450
Rails 7の採用提案で注目を集め始めた Import maps の過去、現在、そして未来について/de radio 2
sizuhiko
2
1.5k
Other Decks in Programming
See All in Programming
JIS keyboard support in Omarchy
lef237
0
160
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
190
Spec-Driven Development - Why Vaadin Is the Perfect Fit
simas
PRO
0
110
Vapor Mode でアクセシビリティは 壊れないか検証した話
fuqda
1
180
続・コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions-again
handlename
0
130
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
2
1.1k
Next.js: The final boss of Web Performance
guaca
0
340
学びを記事・スライド・Xへ高速展開する― AI-assisted Learning Loopで回すコンテンツ生成術
ochtum
0
150
dotNET_vulnclicker_intro.pdf
deka_morita
0
150
クラウドゲーミングのパフォーマンス最適化に挑む / Cloud Gaming Performance Tuning
vivion
0
280
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
200
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
1.2k
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7.1k
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.2k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
290
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
How to train your dragon (web standard)
notwaldorf
96
6.9k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.2k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
490
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
It's Worth the Effort
3n
188
29k
Paper Plane
katiecoart
PRO
5
54k
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