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
未経験で入った新卒が、CakePHP にPR出してMerge された話
Search
gorogoroyasu
February 27, 2017
Programming
280
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
未経験で入った新卒が、CakePHP にPR出してMerge された話
gorogoroyasu
February 27, 2017
More Decks by gorogoroyasu
See All by gorogoroyasu
phpconf_fukuoka_sponsor_session.pdf
gorogoroyasu
1
4.2k
ガラケーの世界
gorogoroyasu
1
1.8k
Other Decks in Programming
See All in Programming
Apache Hive: Toward a Cloud Native Lakehouse
okumin
0
180
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
1
490
【QA Test Talk Vol.8】AI-DLC による Whole Team Approach の加速
pkshadeck
PRO
0
120
php-fpmのプロセスが枯渇した日-調査・対処・そして本当にやるべきだったこと-
shibuchaaaan
0
240
源内ハンズオン概要編
hideg
0
120
Cloudflare is Agents
chimame
0
140
Google Apps Script で Ruby を動かす
kawahara
0
130
Claude CodeとAgentCore Gatewayを繋ぐ際の認証認可 / Authentication and authorization when connecting Claude Code with AgentCore Gateway
har1101
1
250
VibeCodingからAgenticWorkflowへ
starfish719
0
310
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
5
1.4k
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
670
琵琶湖の水は止められても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
600
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
57
14k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
620
Raft: Consensus for Rubyists
vanstee
141
7.6k
Code Reviewing Like a Champion
maltzj
528
40k
KATA
mclloyd
PRO
35
15k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
460
A Modern Web Designer's Workflow
chriscoyier
698
190k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
400
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
980
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
260
Accessibility Awareness
sabderemane
1
170
Chasing Engaging Ingredients in Design
codingconduct
0
260
Transcript
ະܦݧͰೖͬͨ৽ଔ͕ɺ CakePHP ʹPR ग़ͯ͠ Merge ͞Εͨ 2017/02/27 Fukuoka.php vol.21
ࣗݾհ ໊લ : ᖛ ହ໌ ɹɹ : @gorogoroyasu ɹɹ :
gorogoroyasu ɹɹ : ᖛ ହ໌ גࣜձࣾ Fusic ٕज़։ൃ෦ ج൫Ϣχοτ 2016 ৽ଔ
ࣗݾհ 2016 ৽ଔ ࣮ɺ3݄ೖࣾͳͷͰɺ ໌ޙ͔Β2Ͱ͢ɻ มͰ͢Ͷɻ
ൃද͢Δ͜ͱʹͳͬͨܦҢ
ॳΊͯͷൃද ҙ PHP ʹ͍ͭͯ͢ͷॳΊͯͰ͢ɻ ؒҧͬͨ͜ͱΛݴ͏͔͠Ε·ͤΜɻ ؒҧͬͯͨΒɺͦͷͰࢦఠ͍ͯͩ͘͠͞ɻ
http://fusic-kiban.hatenablog.com/ ΑΓ “cakephp/cakephp ʹPR ग़ͯ͠merge ͞Εͨ” (CakePHP3 AdventCalendar 24)
https://github.com/cakephp/cakephp/pull/9849
ͱ͍͏͜ͱͰɺ 1. ԿΛͨ͠ͷ͔ʁ 2. Ͳ͏ͨ͠ͷ͔ʁ 3. ͳͥى͍ͬͯͨ͜ͷ͔ʁ 4. ϨϏϡϫʔͱͷΓͱΓʁ ͱ͍ͬͨΛ͠Α͏ͱࢥ͍·͢ɻ
1. ԿΛͨ͠ͷ͔ʁ ԿΛͨ͠ͷ͔ʹ͍ͭͯɺ issue ͷλΠτϧʹॻ͍ͯ͋Γ·͢ɻ https://github.com/cakephp/cakephp/issues/9848 maxLimit is ignored in
PaginatorComponent.php
maxLimit is ignored in PaginatorComponent.php maxLimit͕ޮ͍ͯͳ͍Αʂʂʂ
maxLimit is ignored in PaginatorComponent.php maxLimit͕ޮ͍ͯͳ͍Αʂʂʂ maxLimit ബҗо হʂʂʂ
maxLimit is ignored in PaginatorComponent.php maxLimit͕ޮ͍ͯͳ͍Αʂʂʂ maxLimit ബҗо হʂʂʂ maxLimit
belum bekerja !!
maxLimit͕ޮ͍ͯͳ͍Αʂʂʂ ͋Δϖʔδ ࣍ 1ݸ 2ݸ 3ݸ 4ݸ 5ݸ 6ݸ 7ݸ
8ݸ 9ݸ 10ݸ 11ݸ 12ݸ 13ݸ 14ݸ 15ݸ 16ݸ 17ݸ 18ݸ 19ݸ 20ݸ લ limit => ͦͷϖʔδʹදࣔ͢Δ݅ maxLimit => ͦͷϖʔδʹදࣔͰ͖Δ ࠷େͷ݅
[ “limit” => 25, “maxLimit” => 20, ] ϖʔδωʔτͷ “limit“
͕25ʹͳΔ maxLimit͕ޮ͍ͯͳ͍Αʂʂʂ
2. Ͳ͏ͨ͠ͷ͔ʁ Ͳ͏ͨ͠ͷ͔ɺdiff ʹॻ͍ͯ͋Γ·͢ɻ ͜͜Ͱɺ؆୯ʹઆ໌͢ΔͨΊɺৄࡉল͖·͢ɻ ݩͷίʔυ public function getDefaults($alias, $defaults)
{ if (݅) { $defaults[‘maxLimit’] = $defaults[‘limit’]; } }
$defaults[‘maxLimit’] = $defaults[‘limit’]; $defaults[‘limit’] = $defaults[‘maxLimit’]; ͍͔ͭ͘ͷ݅ॻ͖·͕ͨ͠ɺ ͬ͘͟Γ͍͏ͱɺ ͜Μͳײ͡Ͱ͠·ͨ͠ɻ 2.
Ͳ͏ͨ͠ͷ͔ʁ(ଓ)
CakePHP2 ͷࠒʹόάͬͯͯɺ CakePHP3 Ҡߦ࣌ʹComponent ͕ͦͬ͘ΓҠ২͞Εͨɻ ͷͰͳ͍͔ͱࢥͬͯΔɻ (Blame ͨ͠Βɺߋ৽͕2લ͔ͩͬͨΒɻ) ͷͰɺൺֱతϨΞͳόάʹͨͬͨͷͩͱࢥ͏ɻ 3.
ͳͥىͬͨ͜ͷ͔ʁ
4. ϨϏϡϫʔͱͷΓͱΓʁ શ෦ӳޠͰͨ͠ɻ ͦͯ͠ɺΊͬͪΌGoogle ༁ʹ͓ੈʹͳΓ·ͨ͠ɻ
ϨϏϡϫʔͱͷΓͱΓʁ ͪͳΈʹɺϨϏϡϫʔͱͷΓऔΓͰɺ Ұ൪ා͔ͬͨͷ͕͜ΕͰ͢ɻ
ϨϏϡϫʔͱͷΓͱΓʁ Կ͕ා͔͔ͬͨͱ͍͏ͱɺ ίʔυܾͯ͠$ defaults + $ configͷΑ͏ͳͷΛ͖࣋ͭͰ͋Γ·ͤΜɻ ఆٛʹΑΔ$ configɺϚʔδ༏ઌͷ$ defaultΑΓߴ͍ඞཁ͕͋Γ·͢ɻ
ͦͯ͠ɺਖ਼ରͰ͢ɻ ࢲͦΕ͕͜͜ͰͦΕΛԋ͢Δ͔͠Εͳ͍ͱࢥ͏ɻ ͍ͣΕʹͯ͠ɺ͜͜ͰมΛमਖ਼͢Δඞཁ͕͋Γ·͢ ʢ໊લΛࢦఆ͢Δ͚ͩͰɺ$ defaultʹ͋Δͷ$ configΑΓߴ͍ʣͷͰɺ কདྷͷࠞཚΛආ͚Δ͜ͱ͕Ͱ͖·͢ɻ 1. ౖΒΕͯΔͬΆ͍͜ͱ 2. Google ઌੜ͕ࣄΛ์غͨ͜͠ͱɻ
ϨϏϡϫʔͱͷΓͱΓʁ ͜Μͳ࣌ॿ͚ͯ͘Εͨͷ͕ɺ ຊਓͷCakePHP3 ίϛολͷํͰͨ͠ɻ ਂ1࣌͝Ζ·Ͱ͖߹ͬͯ͘Εͯɺ ແࣄϚʔδ͞Ε·ͨ͠ɻ ݁ہͳΜͰౖΒΕ͍͔ͯͨͱ͍͏ͱɺɺɺ ม໊͕ѱ͍ɻ ͱ͍͏͜ͱͰͨ͠ɻɻɻ
ϨϏϡϫʔͱͷΓͱΓʁ ݁ہͳΜͰౖΒΕ͍͔ͯͨͱ͍͏ͱɺɺɺ ม໊͕ѱ͍ɻ ͱ͍͏͜ͱͰͨ͠ɻɻɻ Զɺม໊ม͑ͯͳ͍Μ͚ͩͲɻɻɻɻɻɻɻ ͨͩɺ͜ͷݫ͕͠͞ϓϩμΫτΛ ”վળ”͍ͯ͘͠ͱ͍͏͜ͱͳͷͩͱࢥ͍·͢ɻ
ֶΜͩ͜ͱ ͱ͍͏͜ͱͰɺز͔ͭͷ͜ͱΛֶͼ·ͨ͠ɻ 1. େ͖ͳϓϩδΣΫτʹόά͋Δɻ 2. όάΛमਖ਼͢Δͷɺ؆୯ͳ͜ͱ͕͋Δɻ 3. ະܦݧɾ৽ଔͰPR Λग़ͤΔʂʂʂ 4.
CakePHP3 ͷຊίϛϡχςΟͷ͋Γ͕ͨ͞ɻ
CakePHP3 ͷSlack νϟϯωϧ ͙͙ͬͯΈ͍ͯͩ͘͞ʂ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ
࠷ޙʹએ Fusic ͰɺΤϯδχΞΛืू͍ͯ͠·͢ɻ
࠷ޙʹએ Fusic Ͱɺম͕͖ͳΤϯδχΞΛืू͍ͯ͠·͢ɻ
ম෦ 3/24 ɺম෦3݄ͷ׆ಈͰ͢ɻ ࢀՃΛ͝رͷํɺ @gorogoroyasu ·Ͱ͝Ұใ͍ͩ͘͞ɻ ॴɺψϧϘϯେ໊ళ or ϫϯΧϧϏதऱళͰ͢ɻ ͲͪΒ͓͢͢ΊͷমͰ͢ʂ