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
僕と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
47
Compression Streams API によるブラウザネイティブなデータ圧縮 /phpstudy-182
sizuhiko
0
68
Code兄弟での CI/CDをいい感じにする方法 / phpstudy-2024-06
sizuhiko
0
220
Webアクセシビリティワークショップを社内でやってみた / phpconfuk-2024
sizuhiko
1
410
デベロッパーよ 健康でいるためには 寝て 旅をして 趣味を持って メンタル大切に / DE-RADIO-2023-06-26
sizuhiko
0
190
ヘビータブユーザーが ワークスペースの利用でどのように変わったか / 2023-05-16 Vivaldi User Meetup TOKYO 2023
sizuhiko
0
370
Node.js v18 ベースイメージを使った AWS Lambda アプリ開発におけつ光と影 / 2023-04-23 JavaScript Fes
sizuhiko
0
240
@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
20年以上続くプロダクトでも使い続けられる静的解析ツールを求めて
matsuo_atsushi
0
140
ハーネスエンジニアリングにどう向き合うか 〜ルールファイルを超えて開発プロセスを設計する〜 / How to approach harness engineering
rkaga
28
19k
JOAI2026 1st solution - heron0519 -
heron0519
0
180
Spec Driven Development | AI Summit Vilnius
danielsogl
PRO
1
140
Claude Code × Gemini × Ebitengine ゲーム制作素人WebエンジニアがGoでゲームを作った話
webzawa
0
220
AI-DLC Deep Dive
yuukiyo
9
5.6k
第3木曜LT会 #28
tinykitten
PRO
0
120
Import assertionsが消えた日~ECMAScriptの仕様はどう決まり、なぜ覆るのか~
bicstone
2
180
PHPでローカル環境用のSSL/TLS証明書を発行することはできるのか? #phpconkagawa
akase244
0
340
PHPer、Cloudflare に引っ越す
suguruooki
1
140
ふにゃっとしない名前の付け方 〜哲学で茹で上げる、コシのあるソフトウェア設計〜
shimomura
0
110
実践ハーネスエンジニアリング:ステアリングループを実例から読み解く / Practical Harness Engineering: Understanding Steering Loops Through Real-World Examples
nrslib
5
3.9k
Featured
See All Featured
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
110
Designing for Performance
lara
611
70k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.4k
How to Ace a Technical Interview
jacobian
281
24k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Navigating Weather and Climate Data
rabernat
0
180
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.3k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3k
Test your architecture with Archunit
thirion
1
2.2k
Site-Speed That Sticks
csswizardry
13
1.2k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
110
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
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