Slide 1

Slide 1 text

Peacock #01 ଎߈࢖͑!! ιϑτ΢ΣΞΞʔΩςΫνϟతൃ૝

Slide 2

Slide 2 text

Self Introduction Hiroki.Kinoshita Peacock Engineer Group ( PEG ) Organizer גࣜձࣾKUNO ਂ૚ֶशͱCloudΛۦ࢖͢ΔDXਪਐاۀ Front Engineer / Designer Twitter: @kinocoboy2 Blog: Baboblog

Slide 3

Slide 3 text

Peacock Engineer Group ͷ঺հ

Slide 4

Slide 4 text

Peacock Engineer Group • PEG ͷ ໨త • ஍Ҭ΍ձࣾɾࣾձਓɾֶੜͳͲͷ֞ࠜΛӽ͑ͯɺ ࣗ༝ʹָٕ͘͠ज़ྗΛߴΊ߹͑ΔίϛϡχςΟ ʹ!! • PEG ͕औΓѻ͏ςʔϚ • ʮ໌೔͔Β࢖͑ΔTipsʯ • ӡӦελοϑਵ࣌ืूத!

Slide 5

Slide 5 text

Πϕϯτͷָ͠Έํ • Twitter ͱSpecialChat Λۦ࢖ • #PEACOCK • ͲΜͲΜᄁ͍͍͖ͯ·͠ΐʔ • ࣭໰͸ɺTwitter Ͱ΋͍͍͠ɺSpecialChat ͷ νϟοτཝ͔ΒͰ΋OKͰ͢ɻ • ΦϯϥΠϯͳͷͰੵۃతʹ΍ͬͯΈ·͠ΐʔ • ࠙਌ձ΋༗ࢤͰߦ͍·͢ɻ • SpecialChat ͷ ޿৔Ͱߦ͍·͢ɻ • ৭ʑަྲྀ͠·͠ΐʔ

Slide 6

Slide 6 text

଎߈࢖͑!! ιϑτ΢ΣΞΞʔΩςΫνϟతൃ૝

Slide 7

Slide 7 text

PMBOK ୈࣣ൛

Slide 8

Slide 8 text

PMBOKͷվఆ PMBOK(ϐϯϘοΫ)ͱ͸ɺ ੈքதͷϓϩϚωͷ࣮຿Ո͔ΒҙݟΛूΊͯϓϩδΣΫτϚωδϝϯ τʹ͍ͭͯ஌ࣝମܥԽ͍ͯ͠Δ෼ް͍ຊɻ ࠷ۙɺ݁ߏۀք͕͟Θͭ͘มԽ͕!!

Slide 9

Slide 9 text

ʮ੒Ռ෺ͷఏڙʯ͔ΒʮՁ஋ͷఏڙʯ΁

Slide 10

Slide 10 text

ʮ੒Ռ෺ͷఏڙʯ͔ΒʮՁ஋ͷఏڙʯ΁ ੈքతʹҊ݅ਐߦ͸ɺ΢ΥʔλʔϑΥʔϧܕ։ൃ͔ΒΞδϟΠϧ։ൃ ΁ͷϐϘοτ͕ߦΘΕ༷ͨࢠɻ ͞ΒʹɺʮՁ஋Λఏڙ͢ΔʯͨΊʹ͸ʮՁ஋Λݟग़͞ͳ͚Ε͹ͳΒͳ ͍ʯͱ͍͏೉͠͞΋ൃੜ͖ͯͨ͠ɻ

Slide 11

Slide 11 text

Ձ஋Λݟग़ͨ͢Ίͷํ๏ ͦͷͨΊʹɺDDD(υϝΠϯۦಈઃܭ) ΍ ϞσϦϯάɾϢʔβʔετʔ ϦʔϚοϐϯάͳͲͷཁ݅Λந৅Խͯ͠੔ཧ͢Δख๏͕Ұؾʹීٴ͠ ͍ͯΔɻ ͔͠͠ɺ͜ͷख๏͸֮͑Ε͹͙͢ʹॱԠͰ͖Δ͔ͱݴ͏ͱNOͩɻ

Slide 12

Slide 12 text

Ձ஋ఏڙܕͷਐΊํ΍Ձ஋ͷ୳ࡧʹ͸ɺࢼߦࡨޡ͠ͳ͕ΒϢʔβʔώ ΞϦϯάΛ܁Γฦ͢ඞཁ͕͋Δɻ ͦͷεϐʔυ͕଎͘ɺैདྷͷ΢ΥʔλʔϑΥʔϧܕʹ׳Ε͍ͯΔ৔ ߹ɺϐϘοτʢେ୾ʹࣺͯͯɾ·ͨੜ͔ͯ͠ʣ͕೉͍͠ɻ ͳ͙ͥ͢ॱԠͰ͖ͳ͍ͷ͔

Slide 13

Slide 13 text

େ୾ͳ։ൃΛߦ͑ΔΑ͏ʹͳΔͨΊʹɺҎԼख๏͕༗ޮʹͳΔ - ෦෼తͳ҆શੑΛৗʹ୲อ͠ଓ͚Δςετۦಈઃܭ - ໾ׂΛ໌֬ʹͯ͠ਐΊΔΠϕϯτۦಈઃܭɾΫϦʔϯΞʔΩςΫνϟ ͜ΕΛ࢝ΊΔͨΊʹ͸ɺ੹೚ൣғͷ෼ղϊ΢ϋ΢͕͍Δɻ େ୾ʹࣺͯͨΓɾੜ͔ͨ͠Γ͢ΔͨΊʹ

Slide 14

Slide 14 text

ٯʹ

Slide 15

Slide 15 text

ςετۦಈઃܭɾΠϕϯτۦಈઃܭɾΫϦʔϯΞʔΩςΫνϟͷೖΓ ޱʹཱͭ͜ͱ͕Ͱ͖Δɻ ͦͯ͜͠ΕΒΛར༻Ͱ͖ΔΑ͏ʹͳͬͯ͘ΔͱɺDDD΍ϞσϦϯάͳ Ͳͷૉૣ͍ϐϘοτ͕ཁٻ͞ΕΔઃܭख๏Ͱ΋ॊೈʹରԠͰ͖ΔΑ͏ ʹͳͬͯ͘Δɻ ࠓճ͸ɺ੹೚ൣғͷ෼ղʹ஫ྗ͍͖͍ͯͨ͠ͱࢥ͏ɻ ੹೚ൣғͷ෼ղ͕Ͱ͖ΔΑ͏ʹͳΕ͹

Slide 16

Slide 16 text

ྫ୊ • ੹೚ൣғͷ෼ղΛ஌Βͣ • ಈ͘΋ͷ͚ͩΛ໨ࢦͨ͠ͷͰςετ΋࣮ࡍʹಈ͔ ͯ͠ΈͨΓ͢Δײ͡ • ͔֬ʹಈ͕͘… • શͯ main ʹ٧ΊࠐΜͰ͍ΔͷͰɺͲ͔͜Ͱτϥ ϒϧ͕ى͖ͨΒ main શମΛ debug ͠ͳ͚Ε ͹… • Main ͷ ςετͬͯ݁ہԿΛνΣοΫ͢Ε͹… ͱ͋ΔώϤίʔυ🐥

Slide 17

Slide 17 text

ώϤίʔυͷ੹೚෼ղʹ͸ɺDI(Dependency Injection)ͷߟ͑ํ͕࢖͑ ͦ͏ͩɻ DIͱ͸ɺʮґଘΦϒδΣΫτΛ஫ೖʯͱݺ͹ΕΔσβΠϯύλʔϯͷ ࣄɻ ͜ΕΛ࢖ͬͯώϤίʔυΛόϥ͍ͯ͜͠͏ ੹೚෼ղʹ͸

Slide 18

Slide 18 text

ྫ୊ • ·ͣҰ൪ͪ͝Ό͍͍ͭͯΔdatabase ૄ௨पΓ͔Βɻ • Main Λಈ͔͢ͱ͖ɺdatabase instance ·Ͱཱͪ ্͔͛ͯΒquery Λൃߦ͢Δ࢓૊Έʹͳ͍ͬͯ Δɻ • ·ͣ͸ query ͷ෦඼ͷ੹೚ൣғΛ֎ͯ͠ΈΔɻ • Query Λ࣮ߦ͢ΔͨΊʹ͸ɺ database instance ͱ query param ͕͋Ε͹෼ղͰ͖ΔͷͰɺ model ͱ͍͏ྖҬΛ࡞ͬͯDBͱ΍ΓͱΓΛͤ͞ ͨɻ • ͜ΕʹΑͬͯɺDBपΓͰτϥϒϧ͕ى͖ͨ Βɺmodel ͚ͩΛݟΕ͹ྑ͘ͳͬͨ ͱ͋ΔώϤίʔυ🐥

Slide 19

Slide 19 text

ྫ୊ • ࣍ʹmain Λىಈ͢Δͨͼʹຖճ database instance up ͍ͯ͠Δ෦෼Λ΍ΊΑ͏ɻ • Main Λಈ͔ͨ͢Ίʹɺ model ͕ඞཁͰ͋Γɺ model ͸ database instance Λཉ͕͠ΔͳΒɺ main ʹ΋ database instance Λ֎͔Β༩͑ͯ͋͛ Ε͹ྑ͍ɻ • ͜ͷରԠͰɺdatabase instance ͸ γεςϜͰ୯ ҰͰ͋Δܗ͕໿ଋ͞ΕΔɻ͜Ε͸singleton ͱ͍͏ σβΠϯύλʔϯɻ • Main ͷςετΛ͢Δͱ͖ɺ database instance ͱ query parameter ΛೖΕͨΒಈ࡞֬ೝ͕औΕΔΑ ͏ʹͳͬͨɻ ͱ͋ΔώϤίʔυ🐥

Slide 20

Slide 20 text

ྫ୊ • ࣍ʹbusiness logic Λmain ͔Β෼཭͠Α͏ɻ • ͜Εͷ෼཭ʹ͸ɺ query ͷ result ͕͋Ε͹logic ͸ճͤͦ͏ͩɻ • Main ؔ਺Ͱ͸ͳ͘ɺ logic function ͱͯ͠ߟ͑ Δɻ • Logic Λ෼཭ͤ͞Δ͜ͱͰɺ main ͷಈ࡞֬ೝ Ͱඞཁͳ͜ͱ͸ param parse ͱ param validate ͷΈ࢒͞Ε͍ͯΔɻ • Logic ͸ model result ͕͋Ε͹ɺ୯ମͰςε τͰ͖Δ͔Βͩɻ ͱ͋ΔώϤίʔυ🐥

Slide 21

Slide 21 text

ᶃ ੹೚෼ղʹ͸ɺDIԽ͕༗ޮɻ ᶄ DI͸ʮґଘΦϒδΣΫτ஫ೖʯͱ͍͏σβΠϯύλʔϯɻ ᶅ ґଘΦϒδΣΫτΛೖΕΔͨΊʹ͸ɺin, out Λ੔ཧ͠Α͏ɻ ᶆ γεςϜͰ୯ҰͰ͋Δ͜ͱΛकΓ͍ͨͳΒɺsingleton ͱ͍͏σβ Πϯύλʔϯ͸༗ޮ ᶇ ͜ͷ஌ݟ͸ɺϞμϯͳઃܭΛਐΊΔͨΊͷجૅͰ͋Δɻ ·ͱΊ

Slide 22

Slide 22 text

͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ ιϑτ΢ΣΞΞʔΩςΫνϟʮతʯൃ૝

Slide 23

Slide 23 text

࣭ٙԠ౴