Slide 1

Slide 1 text

PHP Conference FUKUOKA 2023 Hideki Kinjyo GitHub: o0h / Twitter: @o0h_ 
 
 [഑෍൛]

Slide 2

Slide 2 text

Ӿཡ࣌ͷ஫ҙ <> 
 

Slide 3

Slide 3 text

ࣗݾ঺հ / GitHub: @o0h / Twitter: @o0h_ FW CakePHP from to #phpconfuk.2017  

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

໨ࢦͤʂ͜Ε͕࠷ڧͷϓϩδΣΫτͩʂ  

Slide 6

Slide 6 text

࠷ڧͷϓϩδΣΫτͳͷͰɺ೼ಓΛߦ͖·͢ 3 10 1 30 OK  

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

ා͍ʂ͜Ε͕࠷ऑͷϓϩδΣΫτͩʂ  

Slide 9

Slide 9 text

࠷ऑͷϓϩδΣΫτͳͷͰɺࣃΛ৯͍͠͹Γ·͢ OK  

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

ຊ೔ͷςʔϚ  

Slide 12

Slide 12 text

͓͠ͳ͕͖ $1 - $2 - $3 - $4 - $5 -  

Slide 13

Slide 13 text

§1 


Slide 14

Slide 14 text

͔ͩΒϓϩδΣΫτͬͯ೉͍͠Μͩ  

Slide 15

Slide 15 text

https://ja.wiktionary.org/wiki/ਆ࿩

Slide 16

Slide 16 text

ϓϩδΣΫτͷਆ࿩ͱ(ෆ౎߹ͳ)ਅ࣮ < > : < >  

Slide 17

Slide 17 text

ਓ݄ͷਆ࿩ 装  [ग़య] ※ڧௐ͸εϥΠυஶऀ 
 ᴷ Jr FrederickP.Brooks, ୌ୔ ప, ຀໺ ༞ࢠ, ෋ᖒ ঢ. 
 ਓ݄ͷਆ࿩ ৽૷൛ P14, P17 ʰਓ݄ͷਆ࿩ʱ 

Slide 18

Slide 18 text

ιϑτ΢ΣΞΤϯδχΞϦϯάͷຊ࣭తͳࠔ೉ 1  [ग़య] ※ڧௐ͸εϥΠυஶऀ 
 ᴷ Jr FrederickP.Brooks, ୌ୔ ప, ຀໺ ༞ࢠ, ෋ᖒ ঢ. 
 ਓ݄ͷਆ࿩ ৽૷൛ P170, P188ʰۜͷ஄ͳͲͳ͍ᴷιϑτ΢ΣΞΤϯδχΞϦϯάͷຊ࣭ͱۮ༗తࣄ߲ʱ 

Slide 19

Slide 19 text


 ( | ) 


Slide 20

Slide 20 text

§2

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

ϚΠϯυηοτ: ʮશͯ͸มΘΔɺͦΕ͚͕ͩෆมʯ etc  

Slide 23

Slide 23 text

ϚΠϯυηοτ: ʮશͯ͸มΘΔɺͦΕ͚͕ͩෆมʯ etc  
 ʮԿ͔Λ্ख͘࡞ΔʯͨΊͷࠜຊతͳཁૉͷ֬ূ͕଍Γͳ͍

Slide 24

Slide 24 text

ϚΠϯυηοτ: ʮશͯ͸มΘΔɺͦΕ͚͕ͩෆมʯ ( )  

Slide 25

Slide 25 text

ϚΠϯυηοτ: ʮશͯ͸มΘΔɺͦΕ͚͕ͩෆมʯ :  

Slide 26

Slide 26 text

ҙࢥܾఆΛͰ͖Δ͚ͩ஗ΒͤΔ  [ग़య] ※ڧௐ͸εϥΠυஶऀ 
 ᴷ Mary Poppendieck, Tom Poppendieck, ఱ໺ উ, ฏು ݈ࣇ, ߴౢ ༏ࢠ 
 Ϧʔϯ։ൃͷຊ࣭ : ιϑτ΢ΤΞ։ൃʹ׆͔͢7ͭͷݪଇ P39 

Slide 27

Slide 27 text

બ୒ࢶΛ(࠷ޙ·Ͱ)࢒͓ͯ͘͠  [ग़య] ※ڧௐ͸εϥΠυஶऀ 
 ᴷ Mary Poppendieck, Tom Poppendieck, ఱ໺ উ, ฏು ݈ࣇ, ߴౢ ༏ࢠ 
 Ϧʔϯ։ൃͷຊ࣭ : ιϑτ΢ΤΞ։ൃʹ׆͔͢7ͭͷݪଇ P39

Slide 28

Slide 28 text

ֶशɺ઴ਐతͳઃܭ  [ग़య] ※ڧௐ͸εϥΠυஶऀ 
 ᴷ Mary Poppendieck, Tom Poppendieck,ࠤ໺ ݐथ, ฏು ݈ࣇ, ߴౢ ༏ࢠ 
 Ϧʔϯιϑτ΢ΤΞ։ൃ : ΞδϟΠϧ։ൃΛ࣮ફ͢Δ22ͷํ๏ P211, P212, P217 

Slide 29

Slide 29 text

઴ਐతͳઃܭͷ࣮ફ: ந৅Խ΋just in timeʹ! Pet 
  [ग़య] ※จࣈ৭ɺจࣈαΠζʹΑΔڧௐ͸εϥΠυஶऀ 
 ᴷ ాத ͻͯ͞Δ 
 ͪΐ͏ͥͭιϑτ΢ΣΞઃܭೖ໳ʕʕPHPͰཧղ͢ΔΦϒδΣΫτࢦ޲ͷ׆༻ P 57 

Slide 30

Slide 30 text

ઃܭͷѱष ─ ػಈੑɾదԠྗΛଛͳΘͤΔ 1. 1 美 2. 1 5. 7.  [ग़య] ※ڧௐ͸εϥΠυஶऀ 
 ᴷ Robert Cecil Martin, ੉୩ ܒհ 
 ΞδϟΠϧιϑτ΢ΣΞ։ൃͷԞٛ : ΦϒδΣΫτࢦ޲։ൃͷਆ਷ͱঊͷٕ P108 (Ұ෦ൈਮ)

Slide 31

Slide 31 text

΍Δ΂͖͜ͱ 1. YAGNI KISS XP 2. 3. (= )  

Slide 32

Slide 32 text

§3

Slide 33

Slide 33 text

ྫ୊: ͜ΜͳϓϩδΣΫτ΍Γ·͢ er  

Slide 34

Slide 34 text

Ͱ͖Β͊ʂ  

Slide 35

Slide 35 text

ੲ͸ྑ͔ͬͨ [ ] [ ] [ 縮 ] DB(blob) [ ] [ 縮 ] 
  

Slide 36

Slide 36 text

ࣸਅΛෳ਺౤ߘͰ͖ΔΑ͏ʹͯ͠ཉ͍͠  

Slide 37

Slide 37 text

ࣸਅ͸Ϋϥ΢υετϨʔδʹೖΕ͍ͨ  

Slide 38

Slide 38 text

τοϓϖʔδͷද͕ࣔ஗͍͔ΒΩϟογϡ͠Α͏  

Slide 39

Slide 39 text

มߋίετ͕େ͖͍ = ͕࣌ؒ଍Γͳ͘ͳΔ 縮  

Slide 40

Slide 40 text

ʮมΘͬͯ΋OKʯΛ࡞ΓࠐΉ  [ग़య] ※ڧௐ͸εϥΠυஶऀ 
 ᴷ Juval Löwy, גࣜձࣾϩϯάςʔϧ ௕ඌ ߴ߂ 
 ϥΠςΟϯάιϑτ΢ΣΞ P29 

Slide 41

Slide 41 text

มಈੑΛᄿ͚͗ͭͯɺઃܭ͢Δ ( ) Driver S3 Dropbox MySQL ( ) 
 ( ) (IMO) : 
 Interface  

Slide 42

Slide 42 text

ͬ͘͟Γந৅తʹ෼ղͯ͠ΈΔ  [ ver.] 
 form POST DB DB 204 [ ver.] 
 HTTP 

Slide 43

Slide 43 text

ͬ͘͟Γந৅తʹ෼ղͯ͠ΈΔ  ۩৅ͷهड़ ந৅తͳهड़ ڞ௨ ಈࢺ Ϣʔβʔ Ϣʔβʔ ͕͍ͯ ͓ͰΜΞΫςΟϏςΟ౤ߘϑΥʔϜ ΫϥΠΞϯτ ʹೖྗ͠ ʮࣸਅɾ͓ళɾίϝϯτʯ )551 ϦΫΤετ Λड৴͠ %#ΧϥϜʹ߹Θͤͯ ΞϓϦέʔγϣϯ಺Ͱѻ͍΍͘͢ σʔλߏ଄Λม׵͠ όϦσʔγϣϯ อଘલॲཧ Λֻ͚ %#ͱΫϥ΢υετϨʔδ વΔ΂͖৔ॴ อଘ͠ Ωϟογϡͷߋ৽ อଘޙॲཧ Λ͠ Ϩεϙϯε વΔ΂͖Ϩεϙϯε Λฦ͢ 

Slide 44

Slide 44 text

ந৅ԽʹΑΔɺ஌ࣝͷΧϓηϧԽ/੹຿ͷ෼཭  UI form DB 
 ( ) ۩৅ͷهड़ Ϣʔβʔ ͓ͰΜΞΫςΟϏςΟ౤ߘϑΥʔϜ ʮࣸਅɾ͓ళɾίϝϯτʯ %#ΧϥϜʹ߹Θͤͯ όϦσʔγϣϯ %#ͱΫϥ΢υετϨʔδ Ωϟογϡͷߋ৽ Ϩεϙϯε 

Slide 45

Slide 45 text

ந৅ԽʹΑΔɺ஌ࣝͷΧϓηϧԽ/੹຿ͷ෼཭  DTO Controller $_POST DB ۩৅ͷهड़ ந৅తͳهड़ ڞ௨ ಈࢺ %#ΧϥϜʹ߹Θͤͯ ΞϓϦέʔγϣϯ಺Ͱѻ͍΍͘͢ σʔλߏ଄Λม׵͠ 

Slide 46

Slide 46 text

۩৅ͷهड़ ந৅తͳهड़ ڞ௨ ಈࢺ όϦσʔγϣϯ อଘલॲཧ Λֻ͚ ந৅ԽʹΑΔɺ஌ࣝͷΧϓηϧԽ/੹຿ͷ෼཭  Validator Controller 

Slide 47

Slide 47 text

۩ମతͳهड़ ந৅తͳهड़ ڞ௨ ಈࢺ Ωϟογϡͷߋ৽ อଘޙॲཧ Λ͠ ந৅ԽʹΑΔɺ஌ࣝͷΧϓηϧԽ/੹຿ͷ෼཭  Pub/Sub Controller beforeSave afterSave 

Slide 48

Slide 48 text

ʮந৅Խʯʮৄࡉͷ෼཭ʯʹΑͬͯಘΒΕΔ΋ͷ 1. 2.  

Slide 49

Slide 49 text

ιϑτ΢ΣΞʹʮॊΒ͔͞ʯΛ Contorller ( ) 1  

Slide 50

Slide 50 text

มߋʹΑΔμϝʔδΛ๷ޚ͢Δ  [ग़య] 
 ᴷ Grady Booch, ੴ઒ ࠀݾ 
 ΦϒδΣΫτιϦϡʔγϣϯʕΦϒδΣΫτࢦ޲ϓϩδΣΫτͷ؅ཧ P29

Slide 51

Slide 51 text

ϓϩδΣΫτʹʮॊΒ͔͞ʯΛ Contorller 
 = ex) ( How ) =  

Slide 52

Slide 52 text

ιϑτ΢ΣΞɺԼ͔Β࡞Δ͔ʁ্͔Β࡞Δ͔ʁ : DB form  

Slide 53

Slide 53 text

 

Slide 54

Slide 54 text

  $input $input fi le_name shop null RDB etc …

Slide 55

Slide 55 text

ιϑτ΢ΣΞɺԼ͔Β࡞Δ͔ʁ্͔Β࡞Δ͔ʁ : request response ( ) 
 = JIT  

Slide 56

Slide 56 text


  

Slide 57

Slide 57 text


  縮 縮 ( )

Slide 58

Slide 58 text

੹຿Λ(૬ରతʹ)ଊ͑ɺՌͨ͢  [ग़య] ※ڧௐ͸εϥΠυஶऀ 
 ᴷ Steve Freeman, Nat Pryce, ࿨ஐ ӈܡ, ߴ໦ ਖ਼߂ 
 ࣮ફςετۦಈ։ൃ : ςετʹಋ͔ΕͯΦϒδΣΫτࢦ޲ιϑτ΢ΣΞΛҭͯΔ P15

Slide 59

Slide 59 text

ιϑτ΢ΣΞɺ্͔Β࡞Βͳ͍ʁ ( ) 縮 (& ) ( ) UX ( ) 

Slide 60

Slide 60 text

ιϑτ΢ΣΞɺ্͔Β࡞Βͳ͍ʁ 

Slide 61

Slide 61 text

ʮ੹຿ͷ෼཭ʯʹΑͬͯಘΒΕΔ΋ͷ 1. 2. 

Slide 62

Slide 62 text

ιϑτ΢ΣΞʹʮ஄ྗੑʯΛ Contorller = ( ) 

Slide 63

Slide 63 text

ϓϩδΣΫτʹʮ஄ྗੑʯΛ  

Slide 64

Slide 64 text

ΫϦςΟΧϧύεΛ΄͙͢ CriticalPath 
  [ग़య] 
 ᴷGoldratt, Eliyahu M, ࡾຊ໦ ྄, ௡ۂ ެೋ(ղઆ) 
 ΫϦςΟΧϧνΣʔϯ : ͳͥɺϓϩδΣΫτ͸༧ఆͲ͓Γʹਐ·ͳ͍ͷ͔? (Kindle ൛) 
 No.4862-4864, No.4253-4255

Slide 65

Slide 65 text

·ͱΊ Q. ? A. ( )  

Slide 66

Slide 66 text

·ͱΊ ( )  

Slide 67

Slide 67 text

·ͱΊ CI ( ) TDD  

Slide 68

Slide 68 text

§4

Slide 69

Slide 69 text

ϓϩδΣΫτ͸ԿΛͨ͠Βૣ͘ͳΔ͔ʁ ( ) ( ) ( ) 

Slide 70

Slide 70 text

ਓΛ૿΍ͯ͠΋ϓϩδΣΫτ͕ૣ͘ͳΒͳ͍ʁ 3 3 3 縮 

Slide 71

Slide 71 text

ਓΛ૿΍ͯ͠΋ϓϩδΣΫτ͕ૣ͘ͳΒͳ͍ʁ 3 3 1.5 : http://scrumbook.org/product- organization-pattern-language/development-team/ swarming--one-piece-continuous- fl ow.html 

Slide 72

Slide 72 text

ਓΛ૿΍ͯ͠΋ϓϩδΣΫτ͕ૣ͘ͳΒͳ͍ʁ 1 1 ( ) ( ) 

Slide 73

Slide 73 text

૊৫ϨϕϧͰͷΞϓϩʔν 縮 Team Topologies Platform team: Complicated sub-system team: 

Slide 74

Slide 74 text

No content

Slide 75

Slide 75 text

େ·ͱΊ - lity XP SOLID  

Slide 76

Slide 76 text

No content

Slide 77

Slide 77 text

͓͠·͍ʂ ͓෇͖߹͍͍͖ͨͩ 
 ͋Γ͕ͱ͏͍͟͝·ͨ͠

Slide 78

Slide 78 text

§X Appendix

Slide 79

Slide 79 text

ࢀߟจݙ 

Slide 80

Slide 80 text

ਓ݄ͷਆ࿩ ৽૷൛ 

Slide 81

Slide 81 text

ϒϧοΫεͷ͍͏ۜͷ஄ؙͱ͸Կ͔? 6/15 kawasima  TSD 
 IUUQTXXXTMJEFTIBSFOFULBXBTJNBTT

Slide 82

Slide 82 text

ϥΠςΟϯάιϑτ΢ΣΞ 

Slide 83

Slide 83 text

ΞδϟΠϧιϑτ΢ΣΞ։ൃͷԞٛ SOLID Clean Architecture ( ) (XP) TDD 

Slide 84

Slide 84 text

ͪΐ͏ͥͭιϑτ΢ΣΞઃܭೖ໳ / 

Slide 85

Slide 85 text

࣮ફςετۦಈ։ൃ ( )TDD 

Slide 86

Slide 86 text

ΦϒδΣΫτࢦ޲ઃܭ࣮ફΨΠυ ( ) PHP Interface / 

Slide 87

Slide 87 text

ϓϩδΣΫτϚωδϝϯτ஌ࣝମܥΨΠυ ୈ7൛ 駄 

Slide 88

Slide 88 text

ʮք۾ がざ Θͭ͘΄ ど ௒ਐԽͨ͠PMBOKୈ7൛ʯʹࢲͨͪ ͸ ど ͏औΓ૊Ή͔ Developers summit 2022 PMBOK 7th  TSD 
 IUUQTTQFBLFSEFDLDPNNJ[@LVTIJEBKJFXFJLBTBXBUVLVIPUPDIBPKJOIVB TJUBQNCPLEJCBOOJTJUBUJIBUPVRVSJ[VNVLB

Slide 89

Slide 89 text

ΫϦςΟΧϧνΣʔϯ 1 1 / 

Slide 90

Slide 90 text

Ϧʔϯιϑτ΢ΤΞ։ൃ 1 This is Lean 

Slide 91

Slide 91 text

Ϧʔϯ։ൃͷຊ࣭