Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Tomoki Ota ʲGoݴޠʳΦϓγϣϯઃఆͷϕετϓϥΫςΟε
Slide 2
Slide 2 text
HTTPαʔόͷ࡞ 2
Slide 3
Slide 3 text
HTTPαʔόͷ࡞ 3
Slide 4
Slide 4 text
GinͷNew() 4
Slide 5
Slide 5 text
ᶃγϯϓϧͳΦϓγϣϯઃఆ ᶄCon f igߏମ ᶅBuilderύλʔϯ ᶆؔΦϓγϣϯύλʔϯ ᶇDysfunctional Options Pattern ᶈ݁ ΞδΣϯμ
Slide 6
Slide 6 text
γϯϓϧͳΦϓγϣϯઃఆํ๏
Slide 7
Slide 7 text
7 γϯϓϧͳઃఆํ๏
Slide 8
Slide 8 text
γϯϓϧͳઃఆํ๏ debugͷઃఆΛՃ͢Δ
Slide 9
Slide 9 text
HTTPαʔόͷ࡞ 9 ΫϥΠΞϯτଆͰҾ͕Γͳͯ͘յΕΔ
Slide 10
Slide 10 text
γϯϓϧͳઃఆํ๏
Slide 11
Slide 11 text
Con f igߏମ
Slide 12
Slide 12 text
Con f igߏମ
Slide 13
Slide 13 text
Con f igߏମ 13
Slide 14
Slide 14 text
Con f igߏମ 14
Slide 15
Slide 15 text
Con f igߏମ 15
Slide 16
Slide 16 text
ࢦఆ͠ͳ͔ͬͨύϥϝʔλʹθϩ͕ೖΔ(ҙ ਤతʹ0Λೖͨ͠ͷ͔ɺະೖྗͳͷ͔ͷҧ͍͕ ͔Βͳ͍) Con f igߏମͷσϝϦοτ
Slide 17
Slide 17 text
ࢦఆ͠ͳ͔ͬͨύϥϝʔλʹθϩ͕ೖΔ(ҙ ਤతʹ0Λೖͨ͠ͷ͔ɺະೖྗͳͷ͔ͷҧ͍͕ ͔Βͳ͍) Con f igߏମͷσϝϦοτ ϙΠϯλΛ͏
Slide 18
Slide 18 text
Con f igߏମͷσϝϦοτ ϙΠϯλΛ͏
Slide 19
Slide 19 text
Con f igߏମͷσϝϦοτ σϑΥϧτΛ͏߹ۭΛ͢ඞཁ͕͋Δ
Slide 20
Slide 20 text
Builderύλʔϯ
Slide 21
Slide 21 text
Builderύλʔϯͱʁ GoFͷσβΠϯύλʔϯͷ̍ͭ ॊೈੑͷߴ͍ղܾࡦΛఏڙ͠ɺՄಡੑΛߴΊΔ
Slide 22
Slide 22 text
Builderύλʔϯ 22
Slide 23
Slide 23 text
Builderύλʔϯ 23
Slide 24
Slide 24 text
Builderύλʔϯ 24
Slide 25
Slide 25 text
Builderύλʔϯ GOʹJavaͷ@BuilderΑ͏ͳຐ๏ͳ͍ GoFͷσβΠϯύλʔϯͷ̍ͭͰ͋ΔBuilderύλʔϯ Λ༻͍Δ͜ͱͰɺॊೈੑͷߴ͍ղܾࡦΛఏڙ͞ΕΔɻ Builderύλʔϯͷॻ͖ํෳ͋Δɻ
Slide 26
Slide 26 text
Builderύλʔϯ 26
Slide 27
Slide 27 text
Builderύλʔϯ
Slide 28
Slide 28 text
BuilderύλʔϯͷσϝϦοτ Con f igߏମಉ༷ɺσϑΥϧτͷઃఆΛ༻͍ͨ͠߹ ۭͷߏମΛ͢ඞཁ͕͋Γɺݟӫ͕͑ѱ͍
Slide 29
Slide 29 text
ؔΦϓγϣϯύλʔϯ
Slide 30
Slide 30 text
Functional Optional Pattern ؔΦϓγϣϯύλʔϯՄมݸҾʹґଘ ͢Δ ؔΦϓγϣϯύλʔϯͱʁ
Slide 31
Slide 31 text
ؔΦϓγϣϯύλʔϯͱʁ
Slide 32
Slide 32 text
ؔΦϓγϣϯύλʔϯͱʁ
Slide 33
Slide 33 text
ؔΦϓγϣϯύλʔϯͱʁ σϑΥϧτΛઃఆ͍ͨ͠߹ઃఆ͢Δඞཁ͕ͳ͍
Slide 34
Slide 34 text
Dysfunctional Options Pattern
Slide 35
Slide 35 text
ؔΦϓγϣϯύλʔϯத͕ؒଟ͘ɺෳࡶͰ ͋Δͱ͍͏͜ͱΛࢹͨ͠ύλʔϯ Dysfunctional Options Patternͱʁ
Slide 36
Slide 36 text
Dysfunctional Options Pattern
Slide 37
Slide 37 text
BulderύλʔϯͷҰͭ Dysfunctional Options Patternͱʁ
Slide 38
Slide 38 text
Dysfunctional Options Patternͱʁ ނʹɺσϑΥϧτΛ༻͍ͨ͠߹ɺۭͷߏମΛ͢ඞཁ͕͋Γ·͢ɻ ނʹɺσϑΥϧτΛ༻͍ͨ͠߹ɺۭͷߏମΛ͞ͳ͚ΕͳΒͳ͍
Slide 39
Slide 39 text
݁
Slide 40
Slide 40 text
GoͰҰ൪׳༻తͰ·ΕΔͷɺؔΦϓγϣϯύλʔϯ Builderύλʔϯ࣮͍͕͢͠ɺσϑΥϧτΛઃఆ͢Δ ͱ͖ʹɺJavaͱҧͬͯบ͕͋Δ ݁
Slide 41
Slide 41 text
GoͰҰ൪׳༻తͰ·ΕΔͷɺؔΦϓγϣϯύλʔϯɻ Builderύλʔϯ࣮͍͚͢͠ͲɺJavaͱҧ͍ɺগ͠บ͕͋Γ· ͢ɻ ݁