Slide 1

Slide 1 text

େֶ͔Βࣾձਓ΁ɺͦͷޙେֶӃʹೖֶޙɺ࠶ͼࣾձਓ΁ɺͦͯ͠ݚڀॴ૑ઃ ϖύϘݚڀॴ ओ੮ݚڀһ ݉ γχΞϓϦϯγύϧΤϯδχΞ দຊ ྄հ / Pepabo R&D Institute, GMO Pepabo, Inc. 2017.11.15 ެཱ͸ͩͯ͜ະདྷେֶ ITΞʔΩςΫνϟಛ࿦ ݚڀऀͱΤϯδχΞ͕ަΘΔͦͷઌ΁

Slide 2

Slide 2 text

#FUN_IT 5XJUUFSϋογϡλά

Slide 3

Slide 3 text

ຊൃදͰ͸ɺࢲͷݚڀ։ൃ׆ಈ͚ͩͰͳ͘ɺΩϟϦΞ΍ಘΒΕͨڭ܇ɺࢲͷߦಈ ࢦ਑ʹ͍ͭͯ΋͓࿩͠·͕͢ɺ͜Ε͸୭ʹͰ΋ڞ௨͢Δ΋ͷͰ͸͋Γ·ͤΜɻ ͜ͷମݧͦͷ΋ͷ͸௚઀׆͔ͤΔ࿩Ͱ͸͋Γ·ͤΜ͕ɺօ༷ͷߟ͑΍ମݧʹॏͶ ߹ΘͤͯɺԿ͔গ͠Ͱ΋೔ʑͷֶशͱେֶमྃޙͷੜ͖ํʹ͍ͭͯɺࣗ෼ͷελ ΠϧΛ࡞Γ্͛ΔࢀߟʹͳΕ͹޾͍Ͱ͢ɻ 3 ຊൃද

Slide 4

Slide 4 text

1. ͸͡Ίʹ 2. ࢲͷ࠷ۙͷݚڀ։ൃ঺հ 3. ݚڀऀͱΤϯδχΞ͕ަΘΔͦͷઌ΁ 4. ͓ΘΓʹ 4 ໨࣍

Slide 5

Slide 5 text

1. ͸͡Ίʹ

Slide 6

Slide 6 text

φΠϑ

Slide 7

Slide 7 text

φΠϑΛ্खʹ࢖͏ٕज़

Slide 8

Slide 8 text

͍͢͝੾ΕຯͷφΠϑΛ࡞Δٕज़

Slide 9

Slide 9 text

Slide 10

Slide 10 text

ंΛ্खʹӡస͢Δٕज़

Slide 11

Slide 11 text

ੑೳͷߴ͍ंΛ࡞Δٕज़

Slide 12

Slide 12 text

֨ಆήʔϜ

Slide 13

Slide 13 text

֨ಆήʔϜͰউٕͭज़

Slide 14

Slide 14 text

໘ന͘΍Γ͕͍ͷ͋ΔήʔϜΛ࡞Δٕज़

Slide 15

Slide 15 text

• ͲͪΒ΋Ԟ͕ਂ͍ • ͲͪΒ΋΍ΓࠐΉʹ͸େมͳ౒ྗ͕ඞཁ • ͲͪΒ΋΍ΓࠐΜͰཱ྆Ͱ͖Δ΄Ͳਓؒ͸༏Ε͍ͯͳ͍ • ਓʹ༩͑ΒΕͨ࣌ؒ͸ฏ౳Ͱ͋Δ • ֨ಆήʔϜͰ΋2ΩϟϥΛ߈ུ͢Δͷ͸ͱʹ͔͘େม • ੈքҰΛ໨ࢦ͢ʹͯ͠΋໨ͷલͷϨϕϧΛ໨ࢦ͢ʹͯ͠΋ಉ͡ݪཧ͕ಇ͘ 15 ͋ΒΏΔͱ͜ΖͰݟΒΕΔߏਤ

Slide 16

Slide 16 text

Webؔ࿈ ٕज़

Slide 17

Slide 17 text

ٕज़Λ૊Έ߹Θͤͯ࢖͏ٕज़

Slide 18

Slide 18 text

ٕज़Λ࡞Γ্͛Δٕज़

Slide 19

Slide 19 text

• Webۀք͸·͞ʹઓࠃ࣌୅ • ߴ౓ʹٕज़Λ࢖͏ΤϯδχΞͱ৽͍ٕ͠ज़Λ࡞ΔΤϯδχΞ͕ݱΕ࢝ΊΔ • ιϑτ΢ΣΞ΍ٕज़ϊ΢ϋ΢͕ΦʔϓϯԽ͠৘ใͷಁ໌Խ͕ਐΉ • ͱͯͭ΋ͳ͍଎౓ͰมԽ͠ൃల͠ଓ͚ΔWebٕज़ 19 Webٕज़ʹ͍ͭͯ΋ಉ༷ͷߏਤ͕͋Δ

Slide 20

Slide 20 text

• ৗʹΞϯςφΛுΓ८ΒͤͯมԽͷ଎͍ٕज़ΛಘΔඞཁ͕͋Δ • ໨ͷલͷ՝୊ʹରͯ͠ߴ౓ʹٕज़Λ૊Έ߹Θͤૉૣ͘՝୊ղܾ͢Δྗ • ৽ٕज़ͷ࣮૷΍τϨϯυΛৗʹษڧͯ͠࢖͍ଓ͚Δྗ • اۀͷαʔϏεΛ௨ͯ͠ૉૣ͘՝୊ղܾΛ܁Γฦ͢͜ͱͰಘΒΕΔٕज़ྗ • αʔϏε։ൃతΞϓϩʔν 20 ٕज़Λ૊Έ߹Θͤͯ࢖͏ٕज़

Slide 21

Slide 21 text

• ಉ༷ʹৗʹΞϯςφΛுΓ८ΒͤͯมԽͷ଎͍ٕज़Λ஌Δඞཁ͕͋Δ • ๲େͳैདྷٕज़ΛαʔϕΠͯ͠ݱࡏͷ՝୊ͱ৽نੑΛ໌֬Խ͢Δࢥߟྗ • ීวతͳجૅ֓೦Λशಘ͠ڞ௨఺Λݟग़͠ҰൠԽͯ͠૊ΈཱͯΔߏ૝ྗ • ॆ෼ͳ࣌ؒΛ༩͑ɺେֶ΍ݚڀ։ൃͷதͰֶͼಘΒΕΔٕज़ྗ • ՊֶతΞϓϩʔν 21 ٕज़Λ࡞Γ্͛Δྗ

Slide 22

Slide 22 text

͍ͣΕ΋ίʔυΛॻ͚Δ͜ͱ͸ ඞਢͷ࣌୅΁

Slide 23

Slide 23 text

ࠓޙͲ͜ʹڝ૪ྗ͕ੜ·Εͯ͘Δ͔ʁ

Slide 24

Slide 24 text

WebۀքͰͷϢʔβՁ஋΁ͷߩݙ౓ʢদຊ༧૝Ͱ͢ʣ 24 ೥લ ݱࡏ ೥ޙ ϢʔβՁ஋ ૊Έ߹Θͤͯ࢖͏ٕज़ ٕज़Λ࡞Δٕज़

Slide 25

Slide 25 text

• ٕज़ϨΠϠʔͷந৅Խ͕Ճ଎ • ٕज़৘ใͷڞ༗΍ιϑτ΢ΣΞͷެ։ʹΑΔٕज़ͷಁ໌Խ͕Ճ଎ • ٕͨͩज़Λ૊Έ߹ΘͤΔγεςϜ͔Β৽͍͠γεςϜͷఏҊ͕ڝ૪ྗ΁ • AIΛ׆༻ͨ͠γεςϜɺ৽͍͠ΞʔΩςΫνϟɺ৽͍͠ӡ༻ٕज़ͳͲ • WebαʔϏε΁ͷϢʔβՁ஋ʹ઎ΊΔݚڀͷྖҬ͕૿େ͍ͯ͘͠ʢ༧૝ʣ ➜ اۀͰ΋ΞΧσϛΞͰ΋γεςϜͷݚڀ։ൃ͕ඞཁͩͱٞ࿦͞Ε͍ͯΔ 25 WebαʔϏεͷڝ૪ྗ

Slide 26

Slide 26 text

ͱ͸͍͑ ߴ౓ʹ࢖͏ٕज़΁ͷཁٻ΋૿Ճ

Slide 27

Slide 27 text

ٕज़Λ࡞Δٕज़΁ͷཁٻ͸͞Βʹ૿Ճ

Slide 28

Slide 28 text

૊৫ͱٕͯ͠ज़Λߴ౓ʹ࢖͏ྗͱ࡞Δྗͷ ཱ͕྆ٻΊΒΕ࢝Ί͍ͯΔ

Slide 29

Slide 29 text

Webؔ࿈ ٕज़

Slide 30

Slide 30 text

ٕज़Λ૊Έ߹Θͤͯ࢖͏ٕज़

Slide 31

Slide 31 text

ٕज़Λ࡞Γ্͛Δٕज़

Slide 32

Slide 32 text

օ༷͸ͲͪΒͷํ޲ੑʹߦ͖͍ͨͰ͔͢ʁ

Slide 33

Slide 33 text

ΤϯδχΞͱݚڀऀ͕ަࠩ͢Δੈք

Slide 34

Slide 34 text

ΤϯδχΞͱݚڀऀͷ۠ผ͕ແҙຯͳੈք

Slide 35

Slide 35 text

ࠓ೔͸ʮٕज़Λ࡞Γ্͛Δٕज़ʯΛ બ୒ͨ͠ࢲͷ࿩Λ͠·͢

Slide 36

Slide 36 text

2. ࢲͷ࠷ۙͷݚڀ։ൃ঺հ

Slide 37

Slide 37 text

• ژ౎େֶത࢜ʢ৘ใֶʣ • ϖύϘݚڀॴ ओ੮ݚڀһ • GMOϖύϘ γχΞɾϓϦϯγύϧ ΤϯδχΞ • ݩΠϯϑϥΤϯδχΞ • ೔ຊOSS঑ྭ৆ɾ৘ใॲཧֶձ ࢁԼه೦ݚڀ৆ 37 দຊ྄հ / ·ͭ΋ͱΓʔ / @matsumotory

Slide 38

Slide 38 text

ࢲͷ࠷ۙͷݚڀ։ൃͷऔΓ૊Έ

Slide 39

Slide 39 text

۝भେֶͱͷऔΓ૊Έ

Slide 40

Slide 40 text

ϖύϘݚڀॴ × ۝भେֶ ৘ใج൫ݚڀ։ൃηϯλʔ ίϯςφܕԾ૝Խٕज़ʹΑΔ ߃ৗੑΛ࣋ͭΫϥ΢υϗεςΟϯάج൫ͱ Ԡ༻ʹؔ͢Δڞಉݚڀ։ൃ

Slide 41

Slide 41 text

ݝ΍ࢢͱͷऔΓ૊Έ

Slide 42

Slide 42 text

No content

Slide 43

Slide 43 text

ٕज़తͳ؍఺͔Β਺೥ޙʹ׆͖Δ ࣄۀͷߏ૝ͱશମઃܭ

Slide 44

Slide 44 text

No content

Slide 45

Slide 45 text

ʢϚωʔδυΫϥ΢υʣ

Slide 46

Slide 46 text

ϓϩμΫτͷࠩผԽʹඞཁͳίΞٕज़ͷ ݚڀ։ൃ

Slide 47

Slide 47 text

ՊֶతΞϓϩʔνʹΑΔΤϯδχΞϦϯά

Slide 48

Slide 48 text

ϖύϘͰ࠷ߴͷϓϩμΫτΛ૑ΔͨΊ

Slide 49

Slide 49 text

• ւࢁ઒ͱඒຯ͍͠͝͸Μʹғ·Εͳ͕Βͬ͘͡Γݚڀ։ൃ • ओʹࡋྔ࿑ಇɾϦϞʔτϫʔΫɾ࣌ؒ͸ࣗ༝ • ձࣾͷٕज़త՝୊ʹج͍ͯҰൠԽͨ͠ख๏ΛఏҊɾධՁ • ੵۃతʹ࿦จࣥචɾࠪಡ΍ݚڀձࢀՃɾӡӦ • ͦͷଞ࢈ֶ׭ͱ࿈ܞͯ͠ϓϩδΣΫτఏҊ΍ڞಉݚڀͳͲ • ݚڀ։ൃΑͬͯࣄۀΛࠩผԽ͢Δٕज़ΛੜΈग़͠όʔϯͱͨ͠αʔϏε΁ 49 ݚڀ։ൃελΠϧ

Slide 50

Slide 50 text

1. ͳΊΒ͔ͳγεςϜ 2. WebαʔϏεج൫ٕज़ͷݚڀͱ͸ 3. ৗ࣌HTTPSͷ࣌୅ͷେن໛ূ໌ॻ؅ཧͷݚڀ 4. ·ͱΊ 50 ຊষͷྲྀΕ

Slide 51

Slide 51 text

1. ͳΊΒ͔ͳγεςϜ

Slide 52

Slide 52 text

• ίϯϐϡʔλ΍Πϯλʔωοτʹؔ͢Δٕज़͸ൃల͕ͨ͠… • ࠓ΋೔ৗతʹ৮ΕΔγεςϜ͸༷ʑͳোนʹຬͪᷓΕ͍ͯΔ • োน(ΰπΰπ)ͷऔΓআ͔ΕͨະདྷͷγεςϜΛ࣮ݱ͍ͨ͠ • ͳΊΒ͔ͳγεςϜͱ͍͏Ϗδϣϯ΁ 52 ίϯϐϡʔλͷൃలͱোน

Slide 53

Slide 53 text

1. γεςϜʹͱͬͯͷϢʔβ΍ɺγεςϜΛߏ੒͢Δαʔό౳ͷཁૉ͕ɺͲ ͷΑ͏ͳΧςΰϦʹଐ͢Δ͔ɺ͍͔ͳΔಛ௃Λ͔࣋ͭΛɺਫ਼៛ʹೝࣝ͢Δ 2. ͦͷࡍɺϢʔβ΍γεςϜ؅ཧऀͱ͍ͬͨਓؒʹ࿑ۤΛڧ͍ΔΑ͏ͳ໌ࣔ తͳૢ࡞Λ՝͞ͳ͍ 3. 1.͓Αͼ2.ͰಘͨΑΓਫ਼៛ͳΧςΰϦ΍ݸผͷಛ௃ɺ͋Δ͍͸ͦΕΒͷؒ ͷؔ܎ੑʹج͖ͮɺͦͷ࣌ʑͷঢ়گʹԠͯ͡࠷దͳαʔϏεΛఏڙ͢Δ ͳΊΒ͔ͳγεςϜΛ࣮ݱ͢ΔWebαʔϏεج൫ٕज़ͷݚڀ 53 ͳΊΒ͔ͳγεςϜ͸ҎԼͷཁ݅Λຬͨ͢

Slide 54

Slide 54 text

2. WebαʔϏεج൫ٕज़ͷݚڀͱ͸

Slide 55

Slide 55 text

• ਓؒͷϓϩμΫτ΁ͷൃ૝Λࢧ͑ΒΕΔج൫͕ඞཁ • ͜Ε·Ͱ͸֤छྖҬΛਓखͰΧόʔ͢Δ͜ͱ͕ଟ͔ͬͨ • ੑೳɾηΩϡϦςΟɾϦιʔε؅ཧɾӡ༻ٕज़ͳͲ • ج൫ΛػցͰࢧ͑ࣗಈԽ͠αʔϏεͷݶքΛ௒͑Δج൫ઃܭɾࢥ૝ͷݕ౼ • ਓؒͷൃ૝ͷݶքͱج൫ͷݶքͱͷউෛͷੈքͱ͍͑Δ 55 WebαʔϏεج൫ٕज़ͷݶք͸αʔϏεͷݶք

Slide 56

Slide 56 text

ਓؒͷൃ૝ vs ج൫ٕज़(ػց)ͱࢲͷݚڀ 56 ج൫ٕज़ ػց ϓϩμΫτ ਓؒͷൃ૝ ਓͷମྗɾਫ਼ਆͷݶք ਓͷମྗɾਫ਼ਆͷݶք ਓྗͰࢧ͑ଓ͚Δ ਓྗͰ޿͛ଓ͚Δ ਓྗͰࢧ͑ଓ͚Δ ϓϩμΫτͷݶքͷ෯ ج൫ٕज़ ػց ϓϩμΫτ ਓؒͷൃ૝ ػցͰࢧ͑ଓ͚Δ ϓϩμΫτͷݶքͷ෯ • ॎ࣠͸ϓϩμΫτ։ൃɾӡ༻ͷίετͱ΋ݴ͑Δ • ج൫ٕज़ͷݶքΛ௒͑Δ΂͘ਓͰΧόʔ͍ͯ͠Δ • ॎ࣠ͷίετΛ୹͘ɺԣ࣠ͷݶքͷ෯Λ޿͛Δͨ Ίͷݚڀ։ൃΛߦ͍ͬͯΔ দຊͷݚڀ

Slide 57

Slide 57 text

• WebαʔϏεར༻ऀͷϢʔβʔମײ(User Sensation)ͷվળ • WebαʔϏεར༻ऀͷແҙࣝԼʹ͓͚Δշదͳײ֮ͷఏڙ • WebαʔϏεఏڙଆͷٕज़ऀମײ(Engineer Sensation)ͷվળ • ౰ͨΓલʹγεςϜͷ҆ఆੑΛอͪɺਓͷڧ੍հೖΛ௿ݮ • ݚڀͱͯ͠ͷҰൠԽͱࣄۀ΁ద༻͢ΔͨΊͷ࣮૷͓ΑͼಋೖޮՌͷ࣮ূ • ϓϩμΫτʹ͖ͪΜͱͭͳ͛ͯ࠷ߴͷϓϩμΫτΛ૑Δ 57 ࢲͷݚڀςʔϚ

Slide 58

Slide 58 text

Πϯλʔωοτར༻ऀͷʮମײʯΛ ޲্͍ͤͨ͞

Slide 59

Slide 59 text

ʮٕज़Λ࡞Γ্͛Δٕज़ʯ ͔ΒͷΞϓϩʔν

Slide 60

Slide 60 text

ຊষͰ͸࠷ۙऔΓ૊ΜͰ͍ͨݚڀΛ঺հ • দຊ ྄հ, Ԭ෦ णஉ, mod_mruby: εΫϦϓτݴޠͰߴ଎͔ͭলϝϞϦʹ֦ுՄೳͳWebαʔόͷػ ೳ֦ுࢧԉػߏ, ৘ใॲཧֶձ࿦จࢽɼVol.55, No.11, pp.2451-2460, Nov 2014. • দຊ ྄հ, ฏݪ ਖ਼༟, ࡾ୐ ༔հ, ྗ෢ ݈࣍, ܀ྛ ݈ଠ࿠, ߴूੵϚϧνςφϯτWebαʔόͷେن໛ূ ໌ॻ؅ཧͱ࣮ӡ༻্ͷධՁ, ৘ใॲཧֶձݚڀใࠂΠϯλʔωοτͱӡ༻ٕज़ʢIOTʣ,2017-IOT-39, Vol.14, pp.1-8, 2017೥9݄.

Slide 61

Slide 61 text

3. ৗ࣌HTTPSͷ࣌୅ͷূ໌ॻ؅ཧͷݚڀ

Slide 62

Slide 62 text

• υϝΠϯ΍ϗετΛେྔʹ࣋ͭαʔϏε͸ରԠࠔ೉ • ݱࡏͷαʔόιϑτ΢ΣΞ͸େྔͷূ໌ॻͷѻ͍ʹෆ޲͖Ͱ͋Δ • ͜ͷ··Ͱ͸EC΍ϗεςΟϯάͷHTTPSಋೖ͕ۃΊͯࠔ೉ • େྔͷূ໌ॻʹରԠͨ͠ΞʔΩςΫνϟΛݚڀऀͷΞϓϩʔνͰઃܭ • ಉ࣌ʹಋೖͱϝϯςφϯε͕ฏқͳιϑτ΢ΣΞΛΤϯδχΞͱ࣮ͯ͠૷ 62 ৗ࣌HTTPSԽʹରԠ͍ͯ͘͠ඞཁ༗Γ

Slide 63

Slide 63 text

• αʔόϓϩηεىಈ࣌ʹશͯͷূ໌ॻΛಡΈࠐΉ • େྔͷূ໌ॻΛಡΈࠐΉ৔߹ىಈ͕࣌ؒ஗͘ઃఆ൓ө࣌ͷӡ༻͕ࠔ೉ • ৽͍͠ϗετͱূ໌ॻ௥Ճ࣌ʹ͸ϓϩηε࠶ىಈ͕ඞཁ • શͯͷূ໌ॻͷ਺͚ͩαʔόϓϩηεͷϝϞϦ࢖༻ྔ͕ଟ͍ 63 ैདྷख๏ͷ՝୊

Slide 64

Slide 64 text

• αʔόϓϩηεىಈ࣌ʹূ໌ॻ͸ಡΈࠐ·ͳ͍ • αʔόϓϩηεͷ࠶ىಈ/࠶ಡΈࠐΈ࣌ؒΛߴ଎Խ • TLSϋϯυγΣΠΫ࣌ʹඞཁͳূ໌ॻͱઃఆΛಈతʹಡΈࠐΈ • ߴ଎ͳϓϩηε࠶ಡΈࠐΈʹΑΔϝϞϦղ์΋Մೳ • ূ໌ॻ΍ϗετͷ৽ن௥Ճઃఆʹ࠶ىಈ͕ෆཁ 64 ఏҊख๏

Slide 65

Slide 65 text

65 'JMF,74 IUUQE
 QSPDFTT $MJFOU 4/*ʹΑͬͯTFSWFSOBNF͕FYBNQMFKQͷ υϝΠϯʹର͢Δ5-4ϋϯυγΣΠΫ͕։࢝ 5-4ϋϯυγΣΠΫ࣌ʹυϝΠϯFYBNQMFKQʹඥͮ͘ ূ໌ॻͱൿີ伴ΛϑΝΠϧ΍,FZ7BMVF4UPSF ,74 ͔ΒಈతʹಡΈࠐΜͰ͔ΒΫϥΠΞϯτͱॲཧܧଓ 5-4ηογϣϯ ূ໌ॻಡΈࠐΈ

Slide 66

Slide 66 text

66 'JMF,74 IUUQE
 QSPDFTT $MJFOU 0QFO44-όʔδϣϯҎ߱ 44-@$59@TFU@DFSU@DC ͱ͍͏5-4ϋϯυγΣΠΫ࣌ ʹ೚ҙͷؔ਺ΛίʔϧόοΫ͢Δػೳ͕௥Ճ ίʔϧόοΫؔ਺ͷதͰυϝΠϯͱඥͮ͘αʔόূ໌ॻ ͱൿີ伴ΛಡΈࠐΈޙϋϯυγΣΠΫΛܧଓͯ͠ॲཧ 5-4ηογϣϯ ূ໌ॻಡΈࠐΈ

Slide 67

Slide 67 text

࣮૷ʹ͸ngx_mrubyΛ׆༻

Slide 68

Slide 68 text

• ࢲͷ୅දతϓϩμΫτͷͻͱͭ • Webαʔόιϑτ΢ΣΞnginxΛRubyͰ֦ுͰ͖Δϛυϧ΢ΣΞ • 2015೥4݄ͷWebϑϨʔϜϫʔΫੈքϥϯΩϯάͰσϏϡʔ • JSONγϦΞϥΠζ෦໳ͷશମ93ϑϨʔϜϫʔΫͷதͰੈք9Ґ • ্Ґ͸C΍C++ɺJava͹͔ΓͷதͰRuby! • PlainςΩετ෦໳ͷRuby෦໳Ͱ͸2ҐΑΓ130ഒߴ଎Ͱѹ౗త1Ґ 68 ngx_mruby

Slide 69

Slide 69 text

69

Slide 70

Slide 70 text

70

Slide 71

Slide 71 text

71

Slide 72

Slide 72 text

72

Slide 73

Slide 73 text

• ngx_mruby※1ʹTLSϋϯυγΣΠΫͷϑοΫઃఆΛ࣮૷ • TLSϋϯυγΣΠΫ࣌ʹϑοΫ͞ΕͨRubyͷόΠτίʔυΛ࣮ߦ • RubyϝιουͱOpenSSLͷίʔϧόοΫΛbinding • KVS/File͔Βূ໌ॻ΍ൿີ伴ΛRubyܦ༝ͰಡΈࠐΈ • ಡΈࠐΈઌ͸RubyͰॻ͚ΔൣғͰͳΜͰ΋ྑ͍ 73 ࣮૷ ˞দຊ྄հ Ԭ෦णஉ NPE@NSVCZεΫϦϓτݴޠͰߴ଎͔ͭলϝϞϦʹ֦ுՄೳͳ8FCαʔόͷ ػೳ֦ுࢧԉػߏ ৘ใॲཧֶձ࿦จࢽɼ7PM /P QQ /PW

Slide 74

Slide 74 text

74 ϦΫΤετ͞ΕͨυϝΠϯ͔Βಈతʹূ໌ॻΛಡΈସ͑Δ͜ͱʹΑ ΓόοΫΤϯυ΁ͷϓϩΩγઃఆ΋ؚΊ୯Ұͷઃఆʹू໿Մೳ ϑΝΠϧϕʔεͷಈతূ໌ॻಡΈࠐΈྫ 3VCZͰϓϩάϥϚϒϧʹهड़Մೳ

Slide 75

Slide 75 text

75 ϦΫΤετ͞ΕͨυϝΠϯ͔Βಈతʹূ໌ॻΛ ಡΈସ͑Δ͜ͱʹΑΓ୯Ұͷઃఆʹू໿Մೳ ,74ϕʔεͷಈతূ໌ॻಡΈࠐΈྫ

Slide 76

Slide 76 text

• 10ສϗετ෼ͷ4096bitsͷ伴௕ͷൿີ伴ͱαʔόূ໌ॻΛnginxόʔδϣϯ 1.11.13ͰಡΈࠐΈ • ैདྷख๏͸࠶ಡΈࠐΈॲཧͰ΋αʔϏεఀࢭʹܨ͕Δ 76 ैདྷख๏ͱఏҊख๏ͷىಈ࣌ؒͷ࣮ݧ ߲໨ ैདྷख๏ ఏҊख๏ ϓϩηεىಈͷ࣮࣌ؒ ඵ ϓϩηεىಈͷϢʔβ$16࢖༻࣌ؒ ඵ ϓϩηεىಈͷγεςϜ$16࢖༻࣌ؒ ඵ

Slide 77

Slide 77 text

10ສϗετऩ༰࣌ͷ੩తϑΝΠϧͷੑೳൺֱ 77 ਺ेCZUFTͷܰྔͳ)5.-ϑΝΠϧ΁ͷϦΫΤετ 3FRVFTUTFD ಉ࣌઀ଓ਺ ैདྷख๏ ఏҊख๏

Slide 78

Slide 78 text

ຊ൪؀ڥͰ࣮ӡ༻্ͷධՁ

Slide 79

Slide 79 text

• ैདྷख๏ͱఏҊख๏ͷ1ϲ݄ؒͷϦιʔε࢖༻ྔΛൺֱ • ैདྷख๏͸2017೥3݄͔Β4݄ɺఏҊख๏͸7݄͔Β8݄ͷ1ϲ݄ؒ • ෳ਺୆ͷಉҰϋʔυ΢ΣΞ্ʹ4݄຤ΛػʹϦϓϨʔεΛ࣮ࢪ • ैདྷख๏͸Apache2.4ɺఏҊख๏͸nginx1.11Ͱ࣮૷ • ূ໌ॻ਺ͷ૿Ճ΍ϦΫΤετॲཧ਺ͷมԽͱൺֱ͠ͳ͕Βߟ࡯ 79 ແྉূ໌ॻαʔϏεΛػʹ࣮ӡ༻্ͷධՁ

Slide 80

Slide 80 text

ैདྷख๏ͰऔΓ૊ΜͰ͍ͨΒ ͲΕ͙Β͍େม͔ͩͬͨΛ͖ͪΜͱධՁ

Slide 81

Slide 81 text

͏·͍͍ͬͯ͘Δ࣌Ͱ΋ ͦͷ༗ޮੑΛఆྔతʹ໌Β͔ʹ͢Δ

Slide 82

Slide 82 text

ՊֶతΞϓϩʔν

Slide 83

Slide 83 text

1ϲ݄ؒͷূ໌ॻ਺ͷભҠ 83 0 5000 10000 15000 20000 25000 1 6 11 16 21 26 31 The number of cer-ficates day The number of cer-ficate in a month dynamic load preload Θ͔Γʹ͍͕͘Ұϲ݄Ͱ͔Β΁ͱ ূ໌ॻఔ౓૿͍͑ͯΔ ূ໌ॻ਺͸ϦϓϨʔεલͷഒ͔Βഒ

Slide 84

Slide 84 text

1ϲ݄ؒͷ1αʔό΁ͷඵؒHTTPϦΫΤετ਺ 84 0 200 400 600 800 1000 1200 1400 1600 1 6 11 16 21 26 31 Requests/sec day Request/sec in a mouth dynamic load preload ϦϓϨʔεޙʹ-#ͷׂΓ౰ͯൺ཰͕มΘͬͨͨΊ )551ʴ)5514ϦΫΤετॲཧ਺͸ഒ͔Βഒ

Slide 85

Slide 85 text

1ϲ݄ؒͷCPU࢖༻཰ͷભҠ 85 0.00 1.00 2.00 3.00 4.00 5.00 6.00 7.00 8.00 9.00 1 6 11 16 21 26 31 CPU usage(%) day CPU usage in a mouth dynamic load preload ূ໌ॻ਺͕͔Βഒʹ΋ؔΘΒͣ$16࢖༻཰͸ඍ͕ࠩͩ௿ݮ܏޲

Slide 86

Slide 86 text

1ϲ݄ؒͷϝϞϦ࢖༻཰ͷભҠ 86 0 1000 2000 3000 4000 5000 6000 7000 8000 1 6 11 16 21 26 31 Memory usage(MBytes) day Memory usage in a mouth dycamic load preload ূ໌ॻ਺͸͔Βഒʹ΋ؔΘΒͣϝϞϦ࢖༻཰͸௿ݮ ఏҊख๏͸ສҎ্૿Ճ͍ͯ͠Δূ໌ॻ਺ʹ΋΄΅ґଘ͍ͯ͠ͳ͍ ূ໌ॻ਺૿Ճʹ൐͍ϝϞϦ࢖༻ྔ͸αʔόશମͰ(#ZUFTఔ౓૿Ճ

Slide 87

Slide 87 text

• ैདྷख๏͸20ສূ໌ॻΛॲཧ͢Δͷʹ෺ཧϝϞϦ͕500Gbytesඞཁ • ܭࢉ্32GBytesͷαʔό͕15୆Ҏ্ඞཁ • ఏҊख๏͸20ສূ໌ॻͰ΋1୆ͰॲཧՄೳͷݟࠐΈ • 1ສূ໌ॻ૿Ճͯ͠΋ϝϞϦ࢖༻ྔ͸3GBytesͰ҆ఆ • ఏҊख๏ʹΑΓඞཁͳϋʔυ΢ΣΞίετΛେ෯ʹ௿ݮՄೳ 87 ϝϞϦ࢖༻ྔ͔Βඞཁͳϋʔυ΢ΣΞΛݟੵ΋Γ

Slide 88

Slide 88 text

஌Β͵ؒʹϋʔυ΢ΣΞ΍ӡ༻ίετ͕ ௿ݮ͞Εٕͯज़ऀʮମײʯ͕޲্

Slide 89

Slide 89 text

ݚڀऀͱͯ͠ΞʔΩςΫνϟΛઃܭ͠ ΤϯδχΞͱͯ͠ࣄۀʹదͨ͠ ιϑτ΢ΣΞΛ࣮૷͢Δ

Slide 90

Slide 90 text

5. ຊষͷ·ͱΊ

Slide 91

Slide 91 text

ਓؒͷൃ૝ vs ج൫ٕज़(ػց)ͱࢲͷݚڀ 91 ج൫ٕज़ ػց ϓϩμΫτ ਓؒͷൃ૝ ਓͷମྗɾਫ਼ਆͷݶք ਓͷମྗɾਫ਼ਆͷݶք ਓྗͰࢧ͑ଓ͚Δ ਓྗͰ޿͛ଓ͚Δ ਓྗͰࢧ͑ଓ͚Δ ϓϩμΫτͷݶքͷ෯ ج൫ٕज़ ػց ϓϩμΫτ ਓؒͷൃ૝ ػցͰࢧ͑ଓ͚Δ ϓϩμΫτͷݶքͷ෯ • ॎ࣠͸ϓϩμΫτ։ൃɾӡ༻ͷίετͱ΋ݴ͑Δ • ج൫ٕज़ͷݶքΛ௒͑Δ΂͘ਓͰΧόʔ͍ͯ͠Δ • ॎ࣠ͷίετΛ୹͘ɺԣ࣠ͷݶքͷ෯Λ޿͛Δͨ Ίͷݚڀ։ൃΛߦ͍ͬͯΔ দຊͷݚڀ

Slide 92

Slide 92 text

ਓؒͷൃ૝ vs ج൫ٕज़(ػց)ͱࢲͷݚڀ 92 ج൫ٕज़ ػց ϓϩμΫτ ਓؒͷൃ૝ ਓͷମྗɾਫ਼ਆͷݶք ਓͷମྗɾਫ਼ਆͷݶք ਓྗͰࢧ͑ଓ͚Δ ਓྗͰ޿͛ଓ͚Δ ਓྗͰࢧ͑ଓ͚Δ ϓϩμΫτͷݶքͷ෯ ج൫ٕज़ ػց ϓϩμΫτ ਓؒͷൃ૝ ػցͰࢧ͑ଓ͚Δ ϓϩμΫτͷݶքͷ෯ • ॎ࣠͸ϓϩμΫτ։ൃɾӡ༻ͷίετͱ΋ݴ͑Δ • ج൫ٕज़ͷݶքΛ௒͑Δ΂͘ਓͰΧόʔ͍ͯ͠Δ • ॎ࣠ͷίετΛ୹͘ɺԣ࣠ͷݶքͷ෯Λ޿͛Δͨ Ίͷݚڀ։ൃΛߦ͍ͬͯΔ দຊͷݚڀ ࣮ӡ༻্ͷධՁΛେ੾ʹ͠ ͔ͦ͜Β৽نੑɾ༗ޮੑɾ৴པੑΛࣔ͢

Slide 93

Slide 93 text

ͦΕʹΑͬͯߋͳΔվળΛߦ͏

Slide 94

Slide 94 text

ݚڀऀͱͯ͠ͷҰൠԽͱ ΤϯδχΞͱͯ͠ͷ࣮ޮԽΛܨ͙

Slide 95

Slide 95 text

ΤϯδχΞͱݚڀऀ͕ަࠩ͢Δੈք

Slide 96

Slide 96 text

͓ޓ͍ʹྑ͍จԽ΍औΓ૊Έʹ ڧؔ͘৺Λ࣋ͬͯऔΓೖΕΔ͜ͱ͕େࣄ

Slide 97

Slide 97 text

3. ݚڀऀͱΤϯδχΞ͕ަΘΔͦͷઌ΁

Slide 98

Slide 98 text

ࠓͰͦ͜ݚڀऀͱΤϯδχΞ͕ަΘΔ ͦͷઌ΁ݸਓͱͯ͠͸าΈग़͍ͯ͠Δ

Slide 99

Slide 99 text

ࠓʹࢸΔ·Ͱ͸ܾͯ͠ॱௐͰ͸ͳ͔ͬͨ

Slide 100

Slide 100 text

10೥Ҏ্લ

Slide 101

Slide 101 text

ʙ22ࡀ

Slide 102

Slide 102 text

ຊؾग़͍ͯ͠ͳ͍໰୊

Slide 103

Slide 103 text

• தֶߴߍͰษڧͰ͖ͳ͍ͷ͸ຊؾग़͍ͯ͠ͳ͍͔Β • εϙʔπͰෛ͚ͨͷ͸࿅शΛຊؾग़ͯ͠΍͍ͬͯͳ͍͔Β • ਅ݋ʹ΍Ε͹ɺฏ౳ͷઃඋ͕͋Ε͹Ͱ͖ΔɾউͯΔ • ࣗ෼ΛͲ͏ʹ͔ਖ਼౰Խͯ͠৺Λ҆ఆͤ͞Δ • ແବͳ͜ͱ͸΍Βͳ͍ɺࣗ෼͸ޮ཰ԽͰੜ͖͍ͯΔ • ͦΜͳਓੜ͕20೥ఔଓ͍͍ͯͨ…… 103 ຊؾग़͍ͯ͠ͳ͍໰୊͕ܧଓ

Slide 104

Slide 104 text

͓͝Γͱ࠳ં

Slide 105

Slide 105 text

• CݴޠͰίϯύΠϥ࣮૷͢Δେֶ3ճੜͷ৘ใֶ࣮ݧ • ୭ΑΓ΋ૣ͘࡞ͬͯճΓͷखॿ͚Λ͍ͯͨ͠ • ࠷ऴతʹॳظʹ࡞ͬͨશ͘ಈ͔ͳ͍ίʔυΛޡͬͯఏग़ • ੒੷͕ग़Δ·Ͱؒҧ͍ʹؾ͔ͮͣ·ΘΓͰ1ਓ͚ͩཹ೥͕ܾఆ • ຊؾग़ͯ͠ͳ͍………Ͱ͸৺͕࣋ͨͳ͔ͬͨ 105 େֶ࣌୅ͷಘҙͳतۀ

Slide 106

Slide 106 text

ϒϨΠΫεϧʔ

Slide 107

Slide 107 text

• શྗΛਚ͘͢ࣄΛڪΕͳ͍ɾࣗ෼Λਖ਼౰Խ͠ͳ͍ • શྗΛਚͯ͘͠μϝͦ͏ͩͬͨΒͱʹ͔͘౒ྗ͢Δ • ࣗΒֶ໰ʹڵຯΛ࣋ͪͱʹ͔͘ܧଓతʹֶͿɾຊΛಡΉ • ແବ͔΋͠Εͳ͍͚ͲඞཁʹͳΔ͔΋͠Εͳ͍ͱֶͿ͜ͱʹ౤ࢿ • ֶΜͩ͜ͱͷڞ௨఺Λ୳ͬͨΓ࢖͍৔ॴΛ୳͢౒ྗΛ࢝͠Ίͨ • ϨϯλϧαʔόձࣾͰϑϧλΠϜͰΞϧόΠτ • ઌߦͯ͠اۀͰݱ৔ͷٕज़Λֶͼ͔ͨͬͨ 107 Ͳ͏ͨ͠Βྑ͍ͷ͔

Slide 108

Slide 108 text

͜Μͳ౰ͨΓલͷ͜ͱʹؾ͕͍ͭͨ 22ࡀͷՆ

Slide 109

Slide 109 text

ֶͿ͜ͱָ͕͘͠ͳͬͨ

Slide 110

Slide 110 text

ຊষͰ͸ݚڀऀͱΤϯδχΞ͕ަΘΔͦͷ ઌ΁ਐΉதͰΑ͔ͬͨͱࢥ͏4ͭͷڭ܇Λ ΤϐιʔυΛަ͑ͯ঺հ͠·͢

Slide 111

Slide 111 text

ͦͯ͠ઌ΁ਐΉਓ͕૿͑Δͱྑ͍ͳͱ ئ͓ͬͯΓ·͢

Slide 112

Slide 112 text

1. 2008೥ ৽ଔೖࣾ

Slide 113

Slide 113 text

24ࡀ

Slide 114

Slide 114 text

ઌΛݟ͍ͯͨ

Slide 115

Slide 115 text

• ݱ৔ͷ໰୊΍՝୊Λ஌Βͣʹݚڀ͢Δා͞ • ୔ࢁͷ༏लͳٕज़ऀʢࣗ෼ͷ஌Βͳ͍͜ͱΛ஌͍ͬͯΔʣͷଘࡏ • ৘ใΛ֎ʹग़ͯ͠ͳ͍͚ͩͰاۀ͍ͬͯ͢͝ͷͰ͸ͳ͍͔ • ೲಘͨ͠Βେֶʹ໭Ζ͏ͱܾҙ • म࢜ʹ͸ߦֶ͔ͣ෦ଔͰब৬ͨ͠ 115 3೥ޙʹେֶʹ໭ͬͯݚڀ͢Δ

Slide 116

Slide 116 text

ࣾһͱͷ૬ରൺֱͰ೰·ͳ͔ͬͨ

Slide 117

Slide 117 text

• ͱʹ͔͘ݱ৔ͷٕज़ΛֶͿ • ੈͷதʹ͸͍͢͝ΤϯδχΞ͕୔ࢁ͍Δ͸ͣͱയવͱࢥ͍ͬͯͨ • ݚڀۀքʹ΋͍͢͝ݚڀऀ͕୔ࢁ͍Δͱയવͱࢥ͍ͬͯͨ • ࣗ෼ͷաڈͷࣦഊΛऔΓฦ͢΂͘ͱʹ͔͘ߴΈ΁ • ࣾ಺Ͱͷ૬ରൺֱʹ೰ΜͰ͍ΔՋ͸ແ͔ͬͨ 117 ͢ͰʹΩϟϦΞϓϥϯ͕͋ͬͨ

Slide 118

Slide 118 text

৴པͰ͖Δࢣঊͷଘࡏ

Slide 119

Slide 119 text

• ଞऀͱͷൺֱΛྫྷ੩ʹධՁͯ͘͠ΕΔ • ৴པͰ͖Δࢣঊɾಉ྅͔Βͷݫ͘͠΋Թ͔͍ࢦఠ • չ͍͚͠Ͳࣗ෼ͷؒҧ͍Λड͚͍ΕΒΕΔ • ͱʹ͔͘·ΘΓʹܙ·Ε͍ͯͨ • ձָ͍ࣾ͠ͷͰࣙΊͨ͘ͳ͍……ͣͬͱ͍͍ͨ 119 ୈࡾऀͱͯ͠ͷࢹ఺

Slide 120

Slide 120 text

ࣾ֎ʹ͍Δ༏ΕͨΤϯδχΞɾݚڀऀͷ ଘࡏ

Slide 121

Slide 121 text

ݕࡧͨ͠ϒϩάͷ৘ใ͔Β໰୊Λ ղܾ͍ͯ͠Δҧ࿨ײ

Slide 122

Slide 122 text

୭͔͕ࣗ෼Ͱߟ͑ͯղܾ͠ ৘ใެ։͍ͯ͠Δ

Slide 123

Slide 123 text

• ੈքதʹ͍Δ༗໊ͳٕज़ऀɾݚڀऀ͸ԕ͍ଘࡏ • Կ͕͍͔͢͝΋૝૾͕͔͍ͭͳ͍͕ࣗ෼΋͍͔ͭ͸ͦ͏ͳΓ͍ͨ • ݚڀऀͱͯࣗ͠༝ʹΦʔϓϯ͔ͭઐ໳తͳݚڀΛ͍ͨ͠ • ΋͏ޱ͚ͩʹ͸ͳΓͨ͘ͳ͍ • ༉அͱ༏ӽײ͔Βੜͨ͡աڈͷࣦഊΛ܁Γฦ͞ͳ͍ 123 ͍͢͝ΤϯδχΞ΍ݚڀऀ

Slide 124

Slide 124 text

ࣗ෼ͷ޷͖ͳٕज़Λ৳͹͍ͨ͠

Slide 125

Slide 125 text

• OSɾϛυϧ΢ΣΞͷӡ༻ɾӡ༻ઃܭɾ։ൃ • ϓϩηεվળɾۀ຿ޮ཰ͷվળ • ϓϩδΣΫτ؅ཧɾεέδϡʔϧ؅ཧ • ٕज़ڭҭɾ৽ਓݚम • ಛʹOSɾϛυϧ΢ΣΞͱӡ༻ٕज़ͷ෼໺͕޷͖ 125 ޷͖ͳྖҬ

Slide 126

Slide 126 text

௨ৗɺࣄۀߩݙ͕ඞཁͳاۀͰ͸ ͳ͔ͳ͔ࣗ෼ݸਓͷ޷͖ͳݚڀ͕Ͱ͖ͳ͍

Slide 127

Slide 127 text

Ͱ΋๻͸޷͖ͳઐ໳෼໺ͷ ൚༻త͔ͭߴ౓ͳٕज़Λਂֶ͘ͼ͍ͨ

Slide 128

Slide 128 text

ͦͷͨΊʹ͸ࣄۀͱ͸཭Εͨ৔ॴͰ ॆ෼ʹ࣌ؒΛॻ͚ͯݚڀ͢Δඞཁ͕͋Δ

Slide 129

Slide 129 text

࢓ࣄͱ͍͏࿮૊Έͷதʹ͍ͯ΋ ޷͖ͳ͜ͱʹରͯ͠ૉ௚ʹͳͬͯΈΔ

Slide 130

Slide 130 text

ڭ܇1 ޷͖ͳ͜ͱʹૉ௚ʹͳΔ͜ͱ

Slide 131

Slide 131 text

2. 2011೥ ത࢜՝ఔ΁௅ઓ

Slide 132

Slide 132 text

27ࡀ

Slide 133

Slide 133 text

ֶ෦ଔ

Slide 134

Slide 134 text

• ڭतʹ͓ձ͍ͯ͠૬ஊ • म࢜͸޷͖ͳݚڀ͕ͳ͔ͳ͔Ͱ͖ͳ͍ • ޷͖ͳݚڀΛ΍Γ͍ͨͳΒത࢜՝ఔ͔Β • ͋…๻͸ֶ෦ଔ 134 म͔࢜ΒೖΔ༧ఆͩͬͨ

Slide 135

Slide 135 text

म࢜ଔ૬౰ͷ࣮ྗ

Slide 136

Slide 136 text

• ࣾ֎΍ֶज़ํ໘΁ͷΞ΢τϓοτ͕ͳ͔ͬͨ • ͱʹ͔ࣾ͘಺Ͱͷ࣮੷Λ·ͱΊΔ • ಺༰͸ྑ͍Ͱ͠ΐ͏ͱݴͬͯ௖͘ • Α͠ʂ 136 म࢜ଔ૬౰ͷ࣮੷͕ඞཁ

Slide 137

Slide 137 text

• ത࢜՝ఔͷೖֶ৹ࠪΛड͚ΔͨΊͷम࢜૬౰ͷࢿ֨Λ৹ࠪ • ·ͱΊͨࢿྉ͸໿50ϖʔδ • ݚڀܦաใࠂॻ΋࡞੒ • ॻྨબߟ͕߹֨ͨ͠Βޱ಄ࢼ໰ 137 ത࢜՝ఔग़ئࢿ֨(म࢜૬౰ͷࢿ֨)৹ࠪॻ

Slide 138

Slide 138 text

݁Ռ

Slide 139

Slide 139 text

ෆ߹֨

Slide 140

Slide 140 text

• ͋ͬ͞Γॻྨબߟམͪ • ڳ͕௧͍ • Ͳ͏͠Α͏ • Ӭԕʹ߹֨Ͱ͖ͳ͔ͬͨΒ…… 140 طʹୀ৬Λ఻͑ͨޙ

Slide 141

Slide 141 text

• લʹਐΜͰͷࣦഊ͸ྑ͍ࣦഊ • ߹֨͢Δ·Ͱ௅ઓ͠ଓ͚Ε͹Α͍ • ߹֨͢Δ·Ͱษڧ͠ଓ͚Ε͹Α͍ • ࣗ෼ʹ͸΍Γ਱͛Δ·Ͱ௅ઓ͢Δ֮ޛ͕͋Δ • ͍ͭͷ·ʹ͔ͪΐͬͱͨ͠ઈ๬ʹ͸׳Ε͍ͯͨ 141 Ͱ΋ཹ೥ͨ࣌͠΄ͲͰ͸ͳ͔ͬͨ

Slide 142

Slide 142 text

ത࢜՝ఔग़ئࢿ֨৹ࠪͷ࠶௅ઓ

Slide 143

Slide 143 text

• ಛڐग़ئͱࠪಡ෇͖࿦จԽɾର֎ൃද • ࣾ௕ʹ௚ஊ൑͢Δ • ৽͍͠ผͷݚڀͷ࿨ӳͷ࿦จԽɾࠃࡍձٞͰaccept • ΑΓৄࡉͳݚڀܭըΛࣥච • ൒೥ؒͰࠪಡ෇͖࿦จ1ຊɺࠃࡍձٞ࿦จ1ຊɺֶձൃද2ຊɺಛڐग़ئ1ຊ 143 ࣾ಺ͷ࣮੷ΛΑΓΦʔϓϯʹ

Slide 144

Slide 144 text

݁Ռ

Slide 145

Slide 145 text

߹֨

Slide 146

Slide 146 text

ޱ಄ࢼ໰΋໔আ

Slide 147

Slide 147 text

Α͠ʂ

Slide 148

Slide 148 text

ത࢜՝ఔೖֶऀબൈࢼݧ

Slide 149

Slide 149 text

ത࢜՝ఔΛ΍Γ͖ΔݟࠐΈ͕͋Δ͔

Slide 150

Slide 150 text

• ത࢜՝ఔͰͷݚڀܭը • ࿦จ࣮੷΍ݚڀۀ੷·ͱΊ • খ࿦จͷචهࢼݧͱTOEIC • ത࢜՝ఔͰͷৄࡉͳݚڀܭըͷϓϨθϯ • ৘ใֶݚڀՊͷڭतɾ।ڭतɾߨࢣɾॿڭ૯੎໿50໊ͷલͰൃද • ౰࣌͸ਓੜͰ࠷΋ϓϨογϟʔΛײͨ͡Πϕϯτ 150 ͔͜͜Β͕ຊ൪

Slide 151

Slide 151 text

݁Ռ

Slide 152

Slide 152 text

߹֨

Slide 153

Slide 153 text

Α͠ʂ

Slide 154

Slide 154 text

3೥ؒۈΊͨձࣾΛࣙΊͯ 2012೥4݄ʹ28ࡀͰത࢜՝ఔೖֶ

Slide 155

Slide 155 text

ڭ܇2 ਐΈ͍ͨํ޲΁Ұา౿Έग़ͯ͠ΈΔ͜ͱ

Slide 156

Slide 156 text

3. 2012೥ mrubyͱͷग़ձ͍

Slide 157

Slide 157 text

28ࡀ

Slide 158

Slide 158 text

େֶͰΠϯλʔωοτج൫ٕज़ʹؔ͢Δ ݚڀΛ͸͡Ί͍ͯͨ

Slide 159

Slide 159 text

WebαʔόͷߴूੵϚϧνςφϯτ ΞʔΩςΫνϟʹؔ͢Δݚڀ

Slide 160

Slide 160 text

ͦ͜Ͱͳͥmrubyͳͷ͔ʁ

Slide 161

Slide 161 text

• mrubyͱ͸૊ࠐΈεΫϦϓτݴޠͷͻͱͭ • খ͞ͳ૊ࠐΈػثʹ૊ΈࠐΉ͜ͱ͕໨తͷͻͱͭ • ΞϓϦ૊ΈࠐΈͱ͍͏ํ޲ੑ͸౰࣌΄΅ͳ͔ͬͨ • ಛʹ౰࣌ͷݚڀͱ͸ؔ܎ͳ͔ͬͨ • Rubyͷ෕·ͭ΋ͱΏ͖ͻΖ͞Μͷ৽͍͠OSS 161 2012೥4݄ʹެ։

Slide 162

Slide 162 text

ͳΜ͔͍͢͝

Slide 163

Slide 163 text

΍͹͍

Slide 164

Slide 164 text

࣌ؒ΋͋ΔͷͰݚڀͷଉൈ͖ʹدΓಓ

Slide 165

Slide 165 text

ͦ͏ͩ ݚڀର৅ͷWebαʔόʹ૊ΈࠐΊͳ͍͔ͳ

Slide 166

Slide 166 text

• ୅දతͳWebαʔόʹ૊ΈࠐΉͱͲ͏ͳΔͷ͔ͳ • WebαʔόͷৼΔ෣͍Λ؆୯ʹ੍ޚͰ͖ͯศརͦ͏ • ໘നͦ͏ͳͷͰͱΓ࣮͋͑ͣ૷ͯ͠ΈΑ͏ • mod_perlʹͪͳΜͰmod_mrubyɾngx_mrubyͱ໊෇͚ͨ • ౰࣌28ࡀ 166 ͱΓ͋͑ͣ૊ΈࠐΜͰΈΑ͏

Slide 167

Slide 167 text

ప໷Ͱ࣮૷ͯ͠mrubyެ։ͷ࣍ͷ೔ʹެ։

Slide 168

Slide 168 text

168

Slide 169

Slide 169 text

• ͋ʂ·ͭ΋ͱΏ͖ͻΖ͞Μ͕πΠʔτͨ͠Γ঺հͨ͠Γͯ͘͠Εͨ • ໊લ͚ͩ஌͍ͬͯΔ༗໊ͳਓʑ͕໘നͦ͏ͱݴͬͯ͘Εͨ • ࣮૷ָ͕͔ͬͨ͠ͷͰͱΓ͋͑ͣͦΕΛଓ͚Δ • ໘ന͍ͷͰຖ೔໷஗͘·Ͱ࣮૷ • සൟʹϒϩάΛॻ͍ͯϑΟʔυόοΫ΋Β࣮ͬͯ૷ 169 mod_mruby͕ҙ֎ͱ஫໨͞Εͨ

Slide 170

Slide 170 text

࿦จͰॻ͍ͯΈ·ͤΜ͔ʁ

Slide 171

Slide 171 text

• ͼͬ͘Γͨ͠ • ָ͍͠ͷͰద౰ʹझຯͰ΍͍ͬͯͨ • Ͱ΋࣮੷ʹͳΔͷͳΒخ͍͠ͷͰྃঝ 171 ͍͖ͳΓࢦಋڭһͷڭत͔ΒTwitterͷDM

Slide 172

Slide 172 text

ݚڀͱͯ͠࠶ఆٛ

Slide 173

Slide 173 text

• ݚڀऀࢹ఺ • ྑ͍ಓ۩Λ࢖͍ͬͯΔ͔Β༏Ε͍ͯΔͷ͔ʁ • ࣮૷Ҏલͷ؍఺Ͱ৽نੑɾ༗ޮੑΛݕ౼͢΂͖ • ͋ͳͨͷݚڀͷීวతͳֶज़తߩݙͱ͸ʁ • ژ౎େֶ৘ใֶݚڀՊത࢜՝ఔͷதؒൃදͰ໰ΘΕΔ • ͱʹ͔͘࿦จͷαʔϕΠ΍ίϯϐϡʔλαΠΤϯεΛษڧͯࠩ͠Λ஌Δ 173 ํࣜͱͯ͠Կ͕༏Ε͍ͯΔͷ͔

Slide 174

Slide 174 text

• ΤϯδχΞࢹ఺ • ྑ͍ಓ۩Λ࠾༻͢Δ͜ͱͷϝϦοτ • ࢖͍खͷ࢖͍΍͢͞΍ར༻ऀͷଟ͞ɾଟ༷ੑ • ͍͔ʹݱ৔Ͱӡ༻ɾ࣮ફ͠΍͍࣮͢૷ʹམͱ͔͢ • ܧଓతͳϝϯςφϯεͱͦͷऔΓ૊Έ΍͢͞ • ͱʹ͔͘ίʔυΛॻ͍ͯ࢖͍΍͢͞΍ಋೖɾϝϯςφϯε͠΍͢͞Λ௥ٻ 174 ͱ͸͍࣮͑૷΋ॏཁ

Slide 175

Slide 175 text

mrubyΛ࢖ͬͨߩݙ͕ ΞΧσϛΞ΍اۀ͔ΒೝΊΒΕΔ

Slide 176

Slide 176 text

• 2012೥ ୀ৬ͯ͠େֶӃ΁ • 2013೥ IOTS2013 ༏ल࿦จ৆ • 2014೥ ϑΫΦΧRubyେ৆ ༏ल৆ • 2014೥ ୈ9ճ೔ຊOSS঑ྭ৆ • 2014೥ ৘ใॲཧֶձ ࢁԼه೦ݚڀ৆ • 2014೥ Ruby Prize ࠷ऴϊϛωʔτ • 2015೥ ϑΫΦΧRubyେ৆ اۀ৆ • 2015೥ ژ౎େֶ૯௕৆ʢֶ໰ʣͷީิऀ 176 mruby΍ֶज़ݚڀΛ௨ͨ͡ධՁʢ௚ۙ5೥ؒʣ • 2016೥ ϑΫΦΧRubyେ৆ ঑ྭ৆ • 2016೥ ৘ใॲཧֶձ IPSJ-ONE2016 ొஃ • 2016೥ ৘ใॲཧֶձ IOTݚڀձӡӦҕһब೚ • 2017೥ ژ౎େֶത࢜ʢ৘ใֶʣत༩

Slide 177

Slide 177 text

177

Slide 178

Slide 178 text

ϖύϘʹ΋ೖࣾͰ͖ͨ

Slide 179

Slide 179 text

ϖύϘݚڀॴ΋࡞Δ͜ͱ͕Ͱ͖ͨ

Slide 180

Slide 180 text

ژ౎େֶത࢜ʢ৘ใֶʣ΋औಘͰ͖ͨ

Slide 181

Slide 181 text

دΓಓ͕ࣗ෼ͷಘҙ෼໺ʹ

Slide 182

Slide 182 text

ڭ܇3 ڵຯͷ͋Δ͜ͱ΁دΓಓͯ͠ΈΔ͜ͱ

Slide 183

Slide 183 text

4. 2013೥ ֶज़ݚڀͱOSS։ൃ

Slide 184

Slide 184 text

29ࡀ

Slide 185

Slide 185 text

Φʔϓϯιʔειϑτ΢ΣΞʢOSSʣ ͱͯ͠։ൃ͢Δ͜ͱ

Slide 186

Slide 186 text

• ιϑτ΢ΣΞΛ։ൃͯ͠ιʔείʔυΛެ։͢Δ • কདྷੑ͕͋Ε͹ະख़ͳঢ়ଶ͔ΒͰ΋ެ։͢Δ • ϑΟʔυόοΫΛ໯ͬͯΫΦϦςΟΛ্͍͛ͯ͘ • ਐḿ΍ΞΠσΞɺ࣮૷΋Φʔϓϯʹͯ͠ΫΦϦςΟΛ্͛Δ • ࣗ෼ɾࣾ಺ͱଞਓɾࣾ֎ͱڞಉͯ͠։ൃӡ༻͕࣮ݱՄೳ 186 Webٕज़Ͱ͸Α͋͘Δ΍Γํ

Slide 187

Slide 187 text

Φʔϓϯʹֶज़ݚڀ͢Δ͜ͱ

Slide 188

Slide 188 text

• ࿦จެ։·ͰΦʔϓϯʹ͸Ͱ͖ͳ͍ • ݚڀͷωλ΍ਐḿɺ࣮૷Λެ։͠ͳ͍ • جຊతʹ͸࿦จʹ·ͱΊ͔ͯ͠Δ΂͖ձٞ΍ࡶࢽͰެ։ 188 ࣮͸೉͍͠৔߹͕ଟ͍

Slide 189

Slide 189 text

Ͱ΋๻͸OSS։ൃͷΑ͏ʹݚڀΛͨ͠

Slide 190

Slide 190 text

• ݚڀ͸ͦ͏͍͏΍ΓํΛ͠ͳ͍Αʁ • ͦΜͳ͜ͱͯͨ͠Β࿦จʹ΋ݚڀʹ΋ͳΒͳ͍Αʁ • ࿦จԽͷલʹϒϩάʹॻ͘ͱ࿦จʹͳΒͳ͍͔΋Αʁ • ॏཁͳωλ΍ਐḿΛϒϩάʹॻ͘ͳΜͯԿΛߟ͍͑ͯΔͷ͔ʁ 190 ൷൑Λड͚ͨ

Slide 191

Slide 191 text

ࣗ෼ࣗ਎ͷݚڀΛΦʔϓϯʹ͢Δͷ͔ͩΒ ؒҧͬͨ͜ͱ͸͍ͯ͠ͳ͍ ΍Γ͍ͨΑ͏ʹ΍Δ

Slide 192

Slide 192 text

ͱ͸͍͑ෆ҆ͩͬͨ

Slide 193

Slide 193 text

ۮવ࿓ԼͰग़ձͬͨࢦಋڭһͷڭतʹ ೰ΈΛ૬ஊͯ͠Έͨ

Slide 194

Slide 194 text

ڭतͷݴ༿

Slide 195

Slide 195 text

ʮੲͷ΍ΓํʹनΘΕͳͯ͘ྑ͍Ͱ͢ɻ দຊ͞Μ͕ྑ͍ͱࢥ͏΍ΓํͰ ޷͖ͳΑ͏ʹ΍ͬͯԼ͍͞ɻ ࠓͷ΍Γํɺྑ͍ͱࢥ͍·͢Αɻʯ

Slide 196

Slide 196 text

• ໎͍͕ফ͑ͨ • Φʔϓϯʹݚڀɾ։ൃ͕Ͱ͖Δ • ࣗ෼ͷ΍Γ͍ͨ͜ͱ͕Ͱ͖Δ….. 196 ٹΘΕͨ

Slide 197

Slide 197 text

ϑΟʔυόοΫͷதͰ੒௕

Slide 198

Slide 198 text

• ༗໊ͳٕज़ऀ͕৘ใ֦ࢄΛͯ͘͠Εͨ • தʹ͸ωΨςΟϒͳίϝϯτ΋୔ࢁ͋ͬͨ • ͦΕΛͲ͏ʹ͔ٕज़Ͱݟฦ͢Α͏ʹߟ͑ͨ • গͣͭ͠ߨԋ΋ґཔ͞ΕΔΑ͏ʹͳͬͨ • ֶज़ɾاۀͰͷධՁʹܨ͕͍ͬͯͬͨ • ͱʹ͔͘໘ന͔ͬͨͷͰίπίπͱऔΓ૊ΈΞ΢τϓοτ͠ଓ͚ͨ 198 ୔ࢁϑΟʔυόοΫΛಘΒΕͨ

Slide 199

Slide 199 text

͋Δ࣌ৼΓฦΔͱେ͖ͳ੒Ռʹͳ͍ͬͯͨ

Slide 200

Slide 200 text

ੈͷதͰͷࣗ෼ͷཱͪҐஔΛ஌Δ

Slide 201

Slide 201 text

• ͍ͭͷ·ʹ͔஌Γ߹͍ʹͳ͍ͬͯͨ • ҰॹʹτʔΫηογϣϯΛ͍ͯͨ͠ • ҰॹʹOSS։ൃΛͯٞ͠࿦΋͍ͯͨ͠ • ڧ͍ٕज़ऀʹ΋·Εͯ͞Βʹڧ͘ͳ͍ͬͯ͘ • ֶͿ΄Ͳʹࣗ෼Λ஌Γ΋ͬͱֶͼͨ͘ͳΔ 201 ੲ͸ԕ͍ଘࡏͩͬͨ༗໊ਓ

Slide 202

Slide 202 text

• ༗໊ͱ͞ΕΔٕज़ऀͷ৘೤͸͍͢͝ • ٕज़͕ͨͩͨͩ໘ന͍ɺ࡞Γ্͛Δָ͠͞ • ࣗ෼΋ͨͩͨͩ಺ൃతʹऔΓ૊Ή͜ͱͰ৘೤͕૿෯͍ͯ͘͠ • ೤ҙΛٕ࣋ͭज़ऀͱͷؔ܎ͷதͰ৘೤͕͞ΒʹඈͼՐ͢Δ 202 ৘೤͕ඈͼՐ͢Δ

Slide 203

Slide 203 text

ݟ͑ͳ͔ͬͨ௖্

Slide 204

Slide 204 text

• ࣗ෼ͷઐ໳෼໺Ͱͷࣗ෼ͷཱͪҐஔ • ࣗ෼ͷऔΓ૊ΈΛΦʔϓϯʹ͢Δ͜ͱͰࣗ෼Λ஌Δ • τοϓϨϕϧͷٕज़͸Ͳ͔͜ԿΛ΍Ε͹ḷΓ͚ͭΔ͔ • ࣗ෼ͷٕज़͕࠷΋׆͖Δಓ͸Ͳ͔͜ • ࣗ෼ͷಘҙ෼໺ͰੈքҰΛ໨ࢦ͢ • ເͰ͸ແ͍ 204 ௖্͕ݟ͑࢝Ίͨ

Slide 205

Slide 205 text

ڭ܇4 ಘͨ஌ݟΛͱʹ͔͘ܧଓతʹ ެ։ͯ͠ΈΔ͜ͱ

Slide 206

Slide 206 text

4ͭͷڭ܇Λಘͨ

Slide 207

Slide 207 text

1. ޷͖ͳ͜ͱʹૉ௚ʹͳΔ͜ͱ 2. ਐΈ͍ͨํ޲΁Ұา౿Έग़ͯ͠ΈΔ͜ͱ 3. ڵຯͷ͋Δ͜ͱ΁ͱدΓಓΛͯ͠ΈΔ͜ͱ 4. ಘͨ஌ݟΛͱʹ͔͘ܧଓతʹެ։ͯ͠ΈΔ͜ͱ 207 ͜Ε·Ͱʹಘͨ4ͭͷڭ܇

Slide 208

Slide 208 text

޷͖ͳ෼໺͔ͩΒେֶ΁ߦͬͯ·Ͱ ݚڀ։ൃΛ͍ͯͨ͠

Slide 209

Slide 209 text

ؾ͕͍ͭͨΒݚڀऀͱΤϯδχΞʹؔ৺Λ ࣋ͪͳ͕Βݚڀ։ൃ͍ͯͨ͠

Slide 210

Slide 210 text

େֶͰ͔ͬ͠Γ࣌ؒΛֶ͔͚ͯͼ ΤϯδχΞʹؔ৺Λ࣋ͪͳ͕ΒݚڀΛ͢Δ

Slide 211

Slide 211 text

ͦΕ͕ࣗ෼ͷ޷͖ͳ͜ͱͱ ࣄۀ΁ͷߩݙͱΛॏͶ͋Θͤ͸͡Ίͨ

Slide 212

Slide 212 text

͔ͩΒࠓߴ͍ٕज़ྗΛ࣋ͬͯΤϯδχΞͱ ݚڀऀ͕ަΘΔઌͰ׆ಈ͕Ͱ͖͍ͯΔ

Slide 213

Slide 213 text

͔ͩΒϖύϘݚڀॴΛ ͋ΜͪΆ͞Μͱ૑ઃͰ͖ͨ

Slide 214

Slide 214 text

ͦͯͦ͠ͷ׆ಈ͸͍ͣΕࣾձʹ΋ ؐݩ͞Ε͍ͯ͘ͱ৴͍ͯ͡Δ

Slide 215

Slide 215 text

ݚڀऀͱΤϯδχΞ͕ަΘΔઌʹ͋Δࣾձ

Slide 216

Slide 216 text

͜ͷষͷ࠷ޙʹ

Slide 217

Slide 217 text

ͨͬͨͻͱͭͷڭ܇

Slide 218

Slide 218 text

4ͭͷڭ܇ΛಘΔʹࢸͬͨ ͨͬͨͻͱͭͷڭ܇

Slide 219

Slide 219 text

ʮࣗ෼Λ৴͡Δ͜ͱʯ

Slide 220

Slide 220 text

1. (ࣗ෼Λ৴ͯ͡)޷͖ͳ͜ͱʹૉ௚ʹͳΕͨ 2. (ࣗ෼Λ৴ͯ͡)ਐΈ͍ͨํ޲΁Ұา౿Έग़ͤͨ 3. ڵຯͷ͋Δ͜ͱ΁ͱ(ࣗ෼͸େৎ෉ͩΖ͏ͱ)دΓಓ͢Δ͜ͱ͕Ͱ͖ͨ 4. (͍ͣΕͦΕ͕େ͖ͳ੒ՌʹͳΔͱ৴ͯ͡)ಘͨ஌ݟΛͱʹ͔͘ܧଓతʹެ։ ͢Δ͜ͱ͕Ͱ͖ͨ 220 ࣗ෼Λ৴͡Δ͜ͱ͕Ͱ͖͔ͨΒͦ͜

Slide 221

Slide 221 text

ʮੲͷ΍ΓํʹनΘΕͳͯ͘ྑ͍Ͱ͢ɻ দຊ͞Μ͕ྑ͍ͱࢥ͏΍ΓํͰ ޷͖ͳΑ͏ʹ΍ͬͯԼ͍͞ɻ ࠓͷ΍Γํɺྑ͍ͱࢥ͍·͢Αɻʯ

Slide 222

Slide 222 text

ਓͷݴ༿͸ͦͷਓͷੜ͖ํ͑͞΋ ม͑Δྗ͕͋Δ

Slide 223

Slide 223 text

ࣗ෼Λ৴ͯ͡಺ͳΔࣗ෼ͷελΠϧΛ ޷͖ͳΑ͏ʹຏ͖ଓ͚ͨ

Slide 224

Slide 224 text

݁Ռతʹ಺ൃతʹಈػ෇͚ΒΕΔߦಈ͸ ࣗવͱ৘೤͕ੜ͡औΓ૊Ίͨ

Slide 225

Slide 225 text

৘೤͕͋Δ͔Βখ͞ͳ࣮੷Ͱ΋ ࣗ෼Λ৴ͯ͡ܧଓతʹऔΓ૊Μͩ

Slide 226

Slide 226 text

͋Δ࣌ৼΓฦΔͱ ͱͯ΋େ͖ͳ੒Ռʹͳ͍ͬͯͨ

Slide 227

Slide 227 text

ࣗ෼Λ৴ͯ͡৘೤ͱތΓʹૉ௚ʹͳΓ ࣗ෼ͷελΠϧΛ࡞Γ্͛Δ

Slide 228

Slide 228 text

લྫ͸ࣗ෼ࣗ਎Ͱ࡞Δ͜ͱ͕Ͱ͖Δ

Slide 229

Slide 229 text

ʮࣗ෼Λ৴͡Δ͜ͱʯ

Slide 230

Slide 230 text

4. ͓ΘΓʹ

Slide 231

Slide 231 text

ࠓ೔ͷ࿩͸͋͘·Ͱࢲͷ෺ޠ

Slide 232

Slide 232 text

օ༷͸ੋඇࣗ෼ͷελΠϧΛ ࡞Γ্͛ͯԼ͍͞

Slide 233

Slide 233 text

ৼΓฦΔͱࣗ෼͕ܦݧ͓ͨ͠͝Γ΍ࣦഊ ҙຯͷͳ͍͜ͱͳͲͻͱͭ΋ͳ͔ͬͨ

Slide 234

Slide 234 text

ແବͱࢥ͑Δ͜ͱͰ΋ͦ͜ʹ ԿΒ͔ͷҙຯΛݟग़͢ͷ͸ࣗ෼ࣗ਎

Slide 235

Slide 235 text

ߴ౓ʹ࢖͏ٕज़΋ٕज़Λ࡞Δٕज़΋ ࠷ऴతʹ஌ࣝͷ෯͕ࣗ෼Λॿ͚ͯ͘ΕΔ

Slide 236

Slide 236 text

ࣗ෼ͷελΠϧΛ࡞Δʹ͸ ͋ΒΏΔ஌͕ࣝඞཁʹͳΔ

Slide 237

Slide 237 text

ࠓ·Ͱಘͨڭ܇Λ͞Βʹந৅Խ

Slide 238

Slide 238 text

ࢲͷݱࡏͷߦಈࢦ਑3ͭ

Slide 239

Slide 239 text

1. ࣗ෼Λ৴ָͯ͡͠Ή͜ͱ

Slide 240

Slide 240 text

2. ͋ΒΏΔ͜ͱʹؔ৺Λ࣋ͪ ڞ௨఺Λݟग़͢͜ͱ

Slide 241

Slide 241 text

3. ܧଓతʹऔΓ૊Ή͜ͱ

Slide 242

Slide 242 text

͜ͷߦಈࢦ਑͕ҧ͍Λ஌Γ ࣗ෼ͷελΠϧ(=ࠩผԽ)Λৢ੒ͤ͞Δ

Slide 243

Slide 243 text

ੋඇօ༷͸ࢹ໺Λ޿͛ɺࢹ࠲ΛߴΊ ࣗ෼ͷελΠϧΛચ࿅ͤͯ͞ΈͯԼ͍͞

Slide 244

Slide 244 text

օ༷͕ݚڀऀͱΤϯδχΞ͕ަΘΔͦͷઌ Ͱ׆༂͢Δ͜ͱΛָ͠Έʹ͍ͯ͠·͢

Slide 245

Slide 245 text

ࢲΛੋඇ౿Έ୆ʹ͍ͯͩ͘͠͞

Slide 246

Slide 246 text

খ͞ͳ͜Ζ͔ΒܑఋͰଞѪ΋ͳ͍͜ͱͰ΋஥ྑٞ͘࿦͢Δػձ΍෯޿͍஌ࣝΛ༩ ͑ͯ͘Εܑ͕ͨɺ9೥ؒड͚ଓ͚ͨ࢘๏ࢼݧʹࠓ೥ͷ2017೥ʹ߹֨͠·ͨ͠ɻ ৗʹࢲͷઌΛਐΈଓ͚ɺʮࣗ෼Λ৴ָͯ͡͠Ή͜ͱʯʮ͋ΒΏΔ͜ͱʹؔ৺Λ࣋ ͪڞ௨఺Λݟग़͢͜ͱʯʮܧଓతʹऔΓ૊Ή͜ͱʯͦΕΒ͕݁Ռʹܨ͕Δ͜ͱΛ ࣔ͠ଓ͚ɺࢲͷߦಈࢦ਑ͱͳΔ͖͔͚ͬΛ༩͑ͯ͘Εܑͨʹ৺͔Βײँ͠·͢ɻ ࠷ޙʹɺࣗ༝ʹٕज़Λֶͼଓ͚Δ͜ͱΛ͍ͭ΋ۙ͘Ͱࢧ͑ͯ͘Ε͍ͯΔ࠺ͱࢠڙ ͨͪʹײँ͠·͢ɻ 246 ँࣙ