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
1
250
未経験で入った新卒が、CakePHP にPR出してMerge された話
gorogoroyasu
February 27, 2017
Tweet
Share
More Decks by gorogoroyasu
See All by gorogoroyasu
phpconf_fukuoka_sponsor_session.pdf
gorogoroyasu
1
4.1k
ガラケーの世界
gorogoroyasu
1
1.8k
Other Decks in Programming
See All in Programming
Breaking Up with Big ViewModels — Without Breaking Your Architecture (droidcon Berlin 2025)
steliosf
PRO
1
330
Go Conference 2025: Goで体感するMultipath TCP ― Go 1.24 時代の MPTCP Listener を理解する
takehaya
7
1.6k
CSC509 Lecture 06
javiergs
PRO
0
240
『毎日の移動』を支えるGoバックエンド内製開発
yutautsugi
2
180
GraphQL×Railsアプリのデータベース負荷分散 - 月間3,000万人利用サービスを無停止で
koxya
1
1.1k
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
4
590
Introducing ReActionView: A new ActionView-Compatible ERB Engine @ Kaigi on Rails 2025, Tokyo, Japan
marcoroth
3
920
ABEMAモバイルアプリが Kotlin Multiplatformと歩んだ5年 ─ 導入と運用、成功と課題 / iOSDC 2025
akkyie
0
320
CSC305 Lecture 03
javiergs
PRO
0
230
Чего вы не знали о строках в Python – Василий Рябов, PythoNN
sobolevn
0
160
CSC509 Lecture 05
javiergs
PRO
0
290
CI_CD「健康診断」のススメ。現場でのボトルネック特定から、健康診断を通じた組織的な改善手法
teamlab
PRO
0
180
Featured
See All Featured
Statistics for Hackers
jakevdp
799
220k
GraphQLとの向き合い方2022年版
quramy
49
14k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
20k
Context Engineering - Making Every Token Count
addyosmani
5
180
Producing Creativity
orderedlist
PRO
347
40k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
114
20k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
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 ϫϯΧϧϏதऱళͰ͢ɻ ͲͪΒ͓͢͢ΊͷমͰ͢ʂ