大学から社会人へ、その後大学院に入学後、再び社会人へ、そして研究所創設
ペパボ研究所 主席研究員 兼 シニアプリンシパルエンジニア 松本 亮介 / Pepabo R&D Institute, GMO Pepabo, Inc. 2017.11.15 公立はこだて未来大学 ITアーキテクチャ特論
େֶ͔ΒࣾձਓɺͦͷޙେֶӃʹೖֶޙɺ࠶ͼࣾձਓɺͦͯ͠ݚڀॴઃϖύϘݚڀॴ ओ੮ݚڀһ ݉ γχΞϓϦϯγύϧΤϯδχΞ দຊ ྄հ / Pepabo R&D Institute, GMO Pepabo, Inc.2017.11.15 ެཱͩͯ͜ະདྷେֶ ITΞʔΩςΫνϟಛݚڀऀͱΤϯδχΞ͕ަΘΔͦͷઌ
View Slide
#FUN_IT5XJUUFSϋογϡλά
ຊൃදͰɺࢲͷݚڀ։ൃ׆ಈ͚ͩͰͳ͘ɺΩϟϦΞಘΒΕͨڭ܇ɺࢲͷߦಈࢦʹ͍͓ͭͯ͠·͕͢ɺ͜Ε୭ʹͰڞ௨͢ΔͷͰ͋Γ·ͤΜɻ͜ͷମݧͦͷͷ׆͔ͤΔͰ͋Γ·ͤΜ͕ɺօ༷ͷߟ͑ମݧʹॏͶ߹ΘͤͯɺԿ͔গ͠Ͱʑͷֶशͱେֶमྃޙͷੜ͖ํʹ͍ͭͯɺࣗͷελΠϧΛ࡞Γ্͛ΔࢀߟʹͳΕ͍Ͱ͢ɻ3ຊൃද
1. ͡Ίʹ2. ࢲͷ࠷ۙͷݚڀ։ൃհ3. ݚڀऀͱΤϯδχΞ͕ަΘΔͦͷઌ4. ͓ΘΓʹ4࣍
1. ͡Ίʹ
φΠϑ
φΠϑΛ্खʹ͏ٕज़
͍͢͝ΕຯͷφΠϑΛ࡞Δٕज़
ं
ंΛ্खʹӡస͢Δٕज़
ੑೳͷߴ͍ंΛ࡞Δٕज़
֨ಆήʔϜ
֨ಆήʔϜͰউٕͭज़
໘ന͘Γ͕͍ͷ͋ΔήʔϜΛ࡞Δٕज़
• ͲͪΒԞ͕ਂ͍• ͲͪΒΓࠐΉʹେมͳྗ͕ඞཁ• ͲͪΒΓࠐΜͰཱ྆Ͱ͖Δ΄Ͳਓؒ༏Ε͍ͯͳ͍• ਓʹ༩͑ΒΕͨ࣌ؒฏͰ͋Δ• ֨ಆήʔϜͰ2ΩϟϥΛ߈ུ͢Δͷͱʹ͔͘େม• ੈքҰΛࢦ͢ʹͯ͠ͷલͷϨϕϧΛࢦ͢ʹͯ͠ಉ͡ݪཧ͕ಇ͘15͋ΒΏΔͱ͜ΖͰݟΒΕΔߏਤ
Webؔ࿈ٕज़
ٕज़ΛΈ߹Θͤͯ͏ٕज़
ٕज़Λ࡞Γ্͛Δٕज़
• Webۀք·͞ʹઓࠃ࣌• ߴʹٕज़Λ͏ΤϯδχΞͱ৽͍ٕ͠ज़Λ࡞ΔΤϯδχΞ͕ݱΕ࢝ΊΔ• ιϑτΣΞٕज़ϊϋ͕ΦʔϓϯԽ͠ใͷಁ໌Խ͕ਐΉ• ͱͯͭͳ͍ͰมԽ͠ൃల͠ଓ͚ΔWebٕज़19Webٕज़ʹ͍ͭͯಉ༷ͷߏਤ͕͋Δ
• ৗʹΞϯςφΛுΓ८ΒͤͯมԽͷ͍ٕज़ΛಘΔඞཁ͕͋Δ• ͷલͷ՝ʹରͯ͠ߴʹٕज़ΛΈ߹Θͤૉૣ͘՝ղܾ͢Δྗ• ৽ٕज़ͷ࣮τϨϯυΛৗʹษڧ͍ͯ͠ଓ͚Δྗ• اۀͷαʔϏεΛ௨ͯ͠ૉૣ͘՝ղܾΛ܁Γฦ͢͜ͱͰಘΒΕΔٕज़ྗ• αʔϏε։ൃతΞϓϩʔν20ٕज़ΛΈ߹Θͤͯ͏ٕज़
• ಉ༷ʹৗʹΞϯςφΛுΓ८ΒͤͯมԽͷ͍ٕज़ΛΔඞཁ͕͋Δ• େͳैདྷٕज़ΛαʔϕΠͯ͠ݱࡏͷ՝ͱ৽نੑΛ໌֬Խ͢Δࢥߟྗ• ීวతͳجૅ֓೦Λशಘ͠ڞ௨Λݟग़͠ҰൠԽͯ͠ΈཱͯΔߏྗ• ॆͳ࣌ؒΛ༩͑ɺେֶݚڀ։ൃͷதͰֶͼಘΒΕΔٕज़ྗ• ՊֶతΞϓϩʔν21ٕज़Λ࡞Γ্͛Δྗ
͍ͣΕίʔυΛॻ͚Δ͜ͱඞਢͷ࣌
ࠓޙͲ͜ʹڝ૪ྗ͕ੜ·Εͯ͘Δ͔ʁ
WebۀքͰͷϢʔβՁͷߩݙʢদຊ༧Ͱ͢ʣ24લݱࡏޙϢʔβՁΈ߹Θͤͯ͏ٕज़ ٕज़Λ࡞Δٕज़
• ٕज़ϨΠϠʔͷநԽ͕Ճ• ٕज़ใͷڞ༗ιϑτΣΞͷެ։ʹΑΔٕज़ͷಁ໌Խ͕Ճ• ٕͨͩज़ΛΈ߹ΘͤΔγεςϜ͔Β৽͍͠γεςϜͷఏҊ͕ڝ૪ྗ• AIΛ׆༻ͨ͠γεςϜɺ৽͍͠ΞʔΩςΫνϟɺ৽͍͠ӡ༻ٕज़ͳͲ• WebαʔϏεͷϢʔβՁʹΊΔݚڀͷྖҬ͕૿େ͍ͯ͘͠ʢ༧ʣ➜ اۀͰΞΧσϛΞͰγεςϜͷݚڀ։ൃ͕ඞཁͩͱٞ͞Ε͍ͯΔ25WebαʔϏεͷڝ૪ྗ
ͱ͍͑ߴʹ͏ٕज़ͷཁٻ૿Ճ
ٕज़Λ࡞Δٕज़ͷཁٻ͞Βʹ૿Ճ
৫ͱٕͯ͠ज़Λߴʹ͏ྗͱ࡞Δྗͷཱ͕྆ٻΊΒΕ࢝Ί͍ͯΔ
օ༷ͲͪΒͷํੑʹߦ͖͍ͨͰ͔͢ʁ
ΤϯδχΞͱݚڀऀ͕ަࠩ͢Δੈք
ΤϯδχΞͱݚڀऀͷ۠ผ͕ແҙຯͳੈք
ࠓʮٕज़Λ࡞Γ্͛Δٕज़ʯΛબͨ͠ࢲͷΛ͠·͢
2. ࢲͷ࠷ۙͷݚڀ։ൃհ
• ژେֶത࢜ʢใֶʣ• ϖύϘݚڀॴ ओ੮ݚڀһ• GMOϖύϘ γχΞɾϓϦϯγύϧ ΤϯδχΞ• ݩΠϯϑϥΤϯδχΞ• ຊOSSྭɾใॲཧֶձ ࢁԼه೦ݚڀ37দຊ྄հ / ·ͭͱΓʔ / @matsumotory
ࢲͷ࠷ۙͷݚڀ։ൃͷऔΓΈ
भେֶͱͷऔΓΈ
ϖύϘݚڀॴ × भେֶ ใج൫ݚڀ։ൃηϯλʔίϯςφܕԾԽٕज़ʹΑΔ߃ৗੑΛ࣋ͭΫϥυϗεςΟϯάج൫ͱԠ༻ʹؔ͢Δڞಉݚڀ։ൃ
ݝࢢͱͷऔΓΈ
ٕज़తͳ؍͔Βޙʹ׆͖Δࣄۀͷߏͱશମઃܭ
ʢϚωʔδυΫϥυʣ
ϓϩμΫτͷࠩผԽʹඞཁͳίΞٕज़ͷݚڀ։ൃ
ՊֶతΞϓϩʔνʹΑΔΤϯδχΞϦϯά
ϖύϘͰ࠷ߴͷϓϩμΫτΛΔͨΊ
• ւࢁͱඒຯ͍͠͝Μʹғ·Εͳ͕Βͬ͘͡Γݚڀ։ൃ• ओʹࡋྔ࿑ಇɾϦϞʔτϫʔΫɾ࣌ؒࣗ༝• ձࣾͷٕज़త՝ʹج͍ͯҰൠԽͨ͠ख๏ΛఏҊɾධՁ• ੵۃతʹจࣥචɾࠪಡݚڀձࢀՃɾӡӦ• ͦͷଞ࢈ֶͱ࿈ܞͯ͠ϓϩδΣΫτఏҊڞಉݚڀͳͲ• ݚڀ։ൃΑͬͯࣄۀΛࠩผԽ͢Δٕज़ΛੜΈग़͠όʔϯͱͨ͠αʔϏε49ݚڀ։ൃελΠϧ
1. ͳΊΒ͔ͳγεςϜ2. WebαʔϏεج൫ٕज़ͷݚڀͱ3. ৗ࣌HTTPSͷ࣌ͷେنূ໌ॻཧͷݚڀ4. ·ͱΊ50ຊষͷྲྀΕ
1.ͳΊΒ͔ͳγεςϜ
• ίϯϐϡʔλΠϯλʔωοτʹؔ͢Δٕज़ൃల͕ͨ͠…• ࠓৗతʹ৮ΕΔγεςϜ༷ʑͳোนʹຬͪᷓΕ͍ͯΔ• োน(ΰπΰπ)ͷऔΓআ͔ΕͨະདྷͷγεςϜΛ࣮ݱ͍ͨ͠• ͳΊΒ͔ͳγεςϜͱ͍͏Ϗδϣϯ52ίϯϐϡʔλͷൃలͱোน
1. γεςϜʹͱͬͯͷϢʔβɺγεςϜΛߏ͢Δαʔόͷཁૉ͕ɺͲͷΑ͏ͳΧςΰϦʹଐ͢Δ͔ɺ͍͔ͳΔಛΛ͔࣋ͭΛɺਫ਼៛ʹೝࣝ͢Δ2. ͦͷࡍɺϢʔβγεςϜཧऀͱ͍ͬͨਓؒʹ࿑ۤΛڧ͍ΔΑ͏ͳ໌ࣔతͳૢ࡞Λ՝͞ͳ͍3. 1.͓Αͼ2.ͰಘͨΑΓਫ਼៛ͳΧςΰϦݸผͷಛɺ͋Δ͍ͦΕΒͷؒͷؔੑʹج͖ͮɺͦͷ࣌ʑͷঢ়گʹԠͯ͡࠷దͳαʔϏεΛఏڙ͢ΔͳΊΒ͔ͳγεςϜΛ࣮ݱ͢ΔWebαʔϏεج൫ٕज़ͷݚڀ53ͳΊΒ͔ͳγεςϜҎԼͷཁ݅Λຬͨ͢
2.WebαʔϏεج൫ٕज़ͷݚڀͱ
• ਓؒͷϓϩμΫτͷൃΛࢧ͑ΒΕΔج൫͕ඞཁ• ͜Ε·Ͱ֤छྖҬΛਓखͰΧόʔ͢Δ͜ͱ͕ଟ͔ͬͨ• ੑೳɾηΩϡϦςΟɾϦιʔεཧɾӡ༻ٕज़ͳͲ• ج൫ΛػցͰࢧ͑ࣗಈԽ͠αʔϏεͷݶքΛ͑Δج൫ઃܭɾࢥͷݕ౼• ਓؒͷൃͷݶքͱج൫ͷݶքͱͷউෛͷੈքͱ͍͑Δ55WebαʔϏεج൫ٕज़ͷݶքαʔϏεͷݶք
ਓؒͷൃ vs ج൫ٕज़(ػց)ͱࢲͷݚڀ56ج൫ٕज़ ػցϓϩμΫτ ਓؒͷൃਓͷମྗɾਫ਼ਆͷݶքਓͷମྗɾਫ਼ਆͷݶքਓྗͰࢧ͑ଓ͚ΔਓྗͰ͛ଓ͚ΔਓྗͰࢧ͑ଓ͚ΔϓϩμΫτͷݶքͷ෯ج൫ٕज़ ػցϓϩμΫτ ਓؒͷൃػցͰࢧ͑ଓ͚ΔϓϩμΫτͷݶքͷ෯• ॎ࣠ϓϩμΫτ։ൃɾӡ༻ͷίετͱݴ͑Δ• ج൫ٕज़ͷݶքΛ͑Δ͘ਓͰΧόʔ͍ͯ͠Δ• ॎ࣠ͷίετΛ͘ɺԣ࣠ͷݶքͷ෯Λ͛ΔͨΊͷݚڀ։ൃΛߦ͍ͬͯΔদຊͷݚڀ
• WebαʔϏεར༻ऀͷϢʔβʔମײ(User Sensation)ͷվળ• WebαʔϏεར༻ऀͷແҙࣝԼʹ͓͚Δշదͳײ֮ͷఏڙ• WebαʔϏεఏڙଆͷٕज़ऀମײ(Engineer Sensation)ͷվળ• ͨΓલʹγεςϜͷ҆ఆੑΛอͪɺਓͷڧ੍հೖΛݮ• ݚڀͱͯ͠ͷҰൠԽͱࣄۀద༻͢ΔͨΊͷ࣮͓ΑͼಋೖޮՌͷ࣮ূ• ϓϩμΫτʹ͖ͪΜͱͭͳ͛ͯ࠷ߴͷϓϩμΫτΛΔ57ࢲͷݚڀςʔϚ
Πϯλʔωοτར༻ऀͷʮମײʯΛ্͍ͤͨ͞
ʮٕज़Λ࡞Γ্͛Δٕज़ʯ͔ΒͷΞϓϩʔν
ຊষͰ࠷ۙऔΓΜͰ͍ͨݚڀΛհ• দຊ ྄հ, Ԭ෦ णஉ, mod_mruby: εΫϦϓτݴޠͰߴ͔ͭলϝϞϦʹ֦ுՄೳͳWebαʔόͷػೳ֦ுࢧԉػߏ, ใॲཧֶձจࢽɼVol.55, No.11, pp.2451-2460, Nov 2014.• দຊ ྄հ, ฏݪ ਖ਼༟, ࡾ ༔հ, ྗ ݈࣍, ܀ྛ ݈ଠ, ߴूੵϚϧνςφϯτWebαʔόͷେنূ໌ॻཧͱ࣮ӡ༻্ͷධՁ, ใॲཧֶձݚڀใࠂΠϯλʔωοτͱӡ༻ٕज़ʢIOTʣ,2017-IOT-39,Vol.14, pp.1-8, 20179݄.
3.ৗ࣌HTTPSͷ࣌ͷূ໌ॻཧͷݚڀ
• υϝΠϯϗετΛେྔʹ࣋ͭαʔϏεରԠࠔ• ݱࡏͷαʔόιϑτΣΞେྔͷূ໌ॻͷѻ͍ʹෆ͖Ͱ͋Δ• ͜ͷ··ͰECϗεςΟϯάͷHTTPSಋೖ͕ۃΊͯࠔ• େྔͷূ໌ॻʹରԠͨ͠ΞʔΩςΫνϟΛݚڀऀͷΞϓϩʔνͰઃܭ• ಉ࣌ʹಋೖͱϝϯςφϯε͕ฏқͳιϑτΣΞΛΤϯδχΞͱ࣮ͯ͠62ৗ࣌HTTPSԽʹରԠ͍ͯ͘͠ඞཁ༗Γ
• αʔόϓϩηεىಈ࣌ʹશͯͷূ໌ॻΛಡΈࠐΉ• େྔͷূ໌ॻΛಡΈࠐΉ߹ىಈ͕࣌ؒ͘ઃఆө࣌ͷӡ༻͕ࠔ• ৽͍͠ϗετͱূ໌ॻՃ࣌ʹϓϩηε࠶ىಈ͕ඞཁ• શͯͷূ໌ॻͷ͚ͩαʔόϓϩηεͷϝϞϦ༻ྔ͕ଟ͍63ैདྷख๏ͷ՝
• αʔόϓϩηεىಈ࣌ʹূ໌ॻಡΈࠐ·ͳ͍• αʔόϓϩηεͷ࠶ىಈ/࠶ಡΈࠐΈ࣌ؒΛߴԽ• TLSϋϯυγΣΠΫ࣌ʹඞཁͳূ໌ॻͱઃఆΛಈతʹಡΈࠐΈ• ߴͳϓϩηε࠶ಡΈࠐΈʹΑΔϝϞϦղ์Մೳ• ূ໌ॻϗετͷ৽نՃઃఆʹ࠶ىಈ͕ෆཁ64ఏҊख๏
65'JMF,74IUUQE QSPDFTT$MJFOU4/*ʹΑͬͯTFSWFSOBNF͕FYBNQMFKQͷυϝΠϯʹର͢Δ5-4ϋϯυγΣΠΫ͕։࢝5-4ϋϯυγΣΠΫ࣌ʹυϝΠϯFYBNQMFKQʹඥͮ͘ূ໌ॻͱൿີ伴ΛϑΝΠϧ,FZ7BMVF4UPSF ,74͔ΒಈతʹಡΈࠐΜͰ͔ΒΫϥΠΞϯτͱॲཧܧଓ5-4ηογϣϯ ূ໌ॻಡΈࠐΈ
66'JMF,74IUUQE QSPDFTT$MJFOU0QFO44-όʔδϣϯҎ߱44-@$59@TFU@DFSU@DC ͱ͍͏5-4ϋϯυγΣΠΫ࣌ʹҙͷؔΛίʔϧόοΫ͢Δػೳ͕ՃίʔϧόοΫؔͷதͰυϝΠϯͱඥͮ͘αʔόূ໌ॻͱൿີ伴ΛಡΈࠐΈޙϋϯυγΣΠΫΛܧଓͯ͠ॲཧ5-4ηογϣϯ ূ໌ॻಡΈࠐΈ
࣮ʹngx_mrubyΛ׆༻
• ࢲͷදతϓϩμΫτͷͻͱͭ• WebαʔόιϑτΣΞnginxΛRubyͰ֦ுͰ͖ΔϛυϧΣΞ• 20154݄ͷWebϑϨʔϜϫʔΫੈքϥϯΩϯάͰσϏϡʔ• JSONγϦΞϥΠζ෦ͷશମ93ϑϨʔϜϫʔΫͷதͰੈք9Ґ• ্ҐCC++ɺJava͔ΓͷதͰRuby!• PlainςΩετ෦ͷRuby෦Ͱ2ҐΑΓ130ഒߴͰѹత1Ґ68ngx_mruby
69
70
71
72
• ngx_mruby※1ʹTLSϋϯυγΣΠΫͷϑοΫઃఆΛ࣮• TLSϋϯυγΣΠΫ࣌ʹϑοΫ͞ΕͨRubyͷόΠτίʔυΛ࣮ߦ• RubyϝιουͱOpenSSLͷίʔϧόοΫΛbinding• KVS/File͔Βূ໌ॻൿີ伴ΛRubyܦ༝ͰಡΈࠐΈ• ಡΈࠐΈઌRubyͰॻ͚ΔൣғͰͳΜͰྑ͍73࣮˞দຊ྄հ Ԭ෦णஉ NPE@NSVCZεΫϦϓτݴޠͰߴ͔ͭলϝϞϦʹ֦ுՄೳͳ8FCαʔόͷػೳ֦ுࢧԉػߏ ใॲཧֶձจࢽɼ7PM /P QQ /PW
74ϦΫΤετ͞ΕͨυϝΠϯ͔Βಈతʹূ໌ॻΛಡΈସ͑Δ͜ͱʹΑΓόοΫΤϯυͷϓϩΩγઃఆؚΊ୯ҰͷઃఆʹूՄೳϑΝΠϧϕʔεͷಈతূ໌ॻಡΈࠐΈྫ3VCZͰϓϩάϥϚϒϧʹهड़Մೳ
75ϦΫΤετ͞ΕͨυϝΠϯ͔Βಈతʹূ໌ॻΛಡΈସ͑Δ͜ͱʹΑΓ୯ҰͷઃఆʹूՄೳ,74ϕʔεͷಈతূ໌ॻಡΈࠐΈྫ
• 10ສϗετͷ4096bitsͷ伴ͷൿີ伴ͱαʔόূ໌ॻΛnginxόʔδϣϯ1.11.13ͰಡΈࠐΈ• ैདྷख๏࠶ಡΈࠐΈॲཧͰαʔϏεఀࢭʹܨ͕Δ76ैདྷख๏ͱఏҊख๏ͷىಈ࣌ؒͷ࣮ݧ߲ ैདྷख๏ ఏҊख๏ϓϩηεىಈͷ࣮࣌ؒ ඵ ϓϩηεىಈͷϢʔβ$16༻࣌ؒ ඵ ϓϩηεىಈͷγεςϜ$16༻࣌ؒ ඵ
10ສϗετऩ༰࣌ͷ੩తϑΝΠϧͷੑೳൺֱ77ेCZUFTͷܰྔͳ)5.-ϑΝΠϧͷϦΫΤετ3FRVFTUTFDಉ࣌ଓ ैདྷख๏ ఏҊख๏
ຊ൪ڥͰ࣮ӡ༻্ͷධՁ
• ैདྷख๏ͱఏҊख๏ͷ1ϲ݄ؒͷϦιʔε༻ྔΛൺֱ• ैདྷख๏20173݄͔Β4݄ɺఏҊख๏7݄͔Β8݄ͷ1ϲ݄ؒ• ෳͷಉҰϋʔυΣΞ্ʹ4݄ΛػʹϦϓϨʔεΛ࣮ࢪ• ैདྷख๏Apache2.4ɺఏҊख๏nginx1.11Ͱ࣮• ূ໌ॻͷ૿ՃϦΫΤετॲཧͷมԽͱൺֱ͠ͳ͕Βߟ79ແྉূ໌ॻαʔϏεΛػʹ࣮ӡ༻্ͷධՁ
ैདྷख๏ͰऔΓΜͰ͍ͨΒͲΕ͙Β͍େม͔ͩͬͨΛ͖ͪΜͱධՁ
͏·͍͍ͬͯ͘Δ࣌Ͱͦͷ༗ޮੑΛఆྔతʹ໌Β͔ʹ͢Δ
ՊֶతΞϓϩʔν
1ϲ݄ؒͷূ໌ॻͷભҠ8305000100001500020000250001 6 11 16 21 26 31The number of cer-ficatesdayThe number of cer-ficate in a monthdynamic load preloadΘ͔Γʹ͍͕͘Ұϲ݄Ͱ͔Βͱূ໌ॻఔ૿͍͑ͯΔূ໌ॻϦϓϨʔεલͷഒ͔Βഒ
1ϲ݄ؒͷ1αʔόͷඵؒHTTPϦΫΤετ84020040060080010001200140016001 6 11 16 21 26 31Requests/secdayRequest/sec in a mouthdynamic load preloadϦϓϨʔεޙʹ-#ͷׂΓͯൺ͕มΘͬͨͨΊ)551ʴ)5514ϦΫΤετॲཧഒ͔Βഒ
1ϲ݄ؒͷCPU༻ͷભҠ850.001.002.003.004.005.006.007.008.009.001 6 11 16 21 26 31CPU usage(%)dayCPU usage in a mouthdynamic load preloadূ໌ॻ͕͔ΒഒʹؔΘΒͣ$16༻ඍ͕ࠩͩݮ
1ϲ݄ؒͷϝϞϦ༻ͷભҠ860100020003000400050006000700080001 6 11 16 21 26 31Memory usage(MBytes)dayMemory usage in a mouthdycamic load preloadূ໌ॻ͔ΒഒʹؔΘΒͣϝϞϦ༻ݮఏҊख๏ສҎ্૿Ճ͍ͯ͠Δূ໌ॻʹ΄΅ґଘ͍ͯ͠ͳ͍ূ໌ॻ૿Ճʹ͍ϝϞϦ༻ྔαʔόશମͰ(#ZUFTఔ૿Ճ
• ैདྷख๏20ສূ໌ॻΛॲཧ͢ΔͷʹཧϝϞϦ͕500Gbytesඞཁ• ܭࢉ্32GBytesͷαʔό͕15Ҏ্ඞཁ• ఏҊख๏20ສূ໌ॻͰ1ͰॲཧՄೳͷݟࠐΈ• 1ສূ໌ॻ૿Ճͯ͠ϝϞϦ༻ྔ3GBytesͰ҆ఆ• ఏҊख๏ʹΑΓඞཁͳϋʔυΣΞίετΛେ෯ʹݮՄೳ87ϝϞϦ༻ྔ͔ΒඞཁͳϋʔυΣΞΛݟੵΓ
Β͵ؒʹϋʔυΣΞӡ༻ίετ͕ݮ͞Εٕͯज़ऀʮମײʯ্͕
ݚڀऀͱͯ͠ΞʔΩςΫνϟΛઃܭ͠ΤϯδχΞͱͯ͠ࣄۀʹదͨ͠ιϑτΣΞΛ࣮͢Δ
5.ຊষͷ·ͱΊ
ਓؒͷൃ vs ج൫ٕज़(ػց)ͱࢲͷݚڀ91ج൫ٕज़ ػցϓϩμΫτ ਓؒͷൃਓͷମྗɾਫ਼ਆͷݶքਓͷମྗɾਫ਼ਆͷݶքਓྗͰࢧ͑ଓ͚ΔਓྗͰ͛ଓ͚ΔਓྗͰࢧ͑ଓ͚ΔϓϩμΫτͷݶքͷ෯ج൫ٕज़ ػցϓϩμΫτ ਓؒͷൃػցͰࢧ͑ଓ͚ΔϓϩμΫτͷݶքͷ෯• ॎ࣠ϓϩμΫτ։ൃɾӡ༻ͷίετͱݴ͑Δ• ج൫ٕज़ͷݶքΛ͑Δ͘ਓͰΧόʔ͍ͯ͠Δ• ॎ࣠ͷίετΛ͘ɺԣ࣠ͷݶքͷ෯Λ͛ΔͨΊͷݚڀ։ൃΛߦ͍ͬͯΔদຊͷݚڀ
ਓؒͷൃ vs ج൫ٕज़(ػց)ͱࢲͷݚڀ92ج൫ٕज़ ػցϓϩμΫτ ਓؒͷൃਓͷମྗɾਫ਼ਆͷݶքਓͷମྗɾਫ਼ਆͷݶքਓྗͰࢧ͑ଓ͚ΔਓྗͰ͛ଓ͚ΔਓྗͰࢧ͑ଓ͚ΔϓϩμΫτͷݶքͷ෯ج൫ٕज़ ػցϓϩμΫτ ਓؒͷൃػցͰࢧ͑ଓ͚ΔϓϩμΫτͷݶքͷ෯• ॎ࣠ϓϩμΫτ։ൃɾӡ༻ͷίετͱݴ͑Δ• ج൫ٕज़ͷݶքΛ͑Δ͘ਓͰΧόʔ͍ͯ͠Δ• ॎ࣠ͷίετΛ͘ɺԣ࣠ͷݶքͷ෯Λ͛ΔͨΊͷݚڀ։ൃΛߦ͍ͬͯΔদຊͷݚڀ࣮ӡ༻্ͷධՁΛେʹ͔ͦ͜͠Β৽نੑɾ༗ޮੑɾ৴པੑΛࣔ͢
ͦΕʹΑͬͯߋͳΔվળΛߦ͏
ݚڀऀͱͯ͠ͷҰൠԽͱΤϯδχΞͱͯ͠ͷ࣮ޮԽΛܨ͙
͓ޓ͍ʹྑ͍จԽऔΓΈʹڧؔ͘৺Λ࣋ͬͯऔΓೖΕΔ͜ͱ͕େࣄ
3. ݚڀऀͱΤϯδχΞ͕ަΘΔͦͷઌ
ࠓͰͦ͜ݚڀऀͱΤϯδχΞ͕ަΘΔͦͷઌݸਓͱͯ͠าΈग़͍ͯ͠Δ
ࠓʹࢸΔ·Ͱܾͯ͠ॱௐͰͳ͔ͬͨ
10Ҏ্લ
ʙ22ࡀ
ຊؾग़͍ͯ͠ͳ͍
• தֶߴߍͰษڧͰ͖ͳ͍ͷຊؾग़͍ͯ͠ͳ͍͔Β• εϙʔπͰෛ͚ͨͷ࿅शΛຊؾग़͍ͯͬͯ͠ͳ͍͔Β• ਅʹΕɺฏͷઃඋ͕͋ΕͰ͖ΔɾউͯΔ• ࣗΛͲ͏ʹ͔ਖ਼Խͯ͠৺Λ҆ఆͤ͞Δ• ແବͳ͜ͱΒͳ͍ɺࣗޮԽͰੜ͖͍ͯΔ• ͦΜͳਓੜ͕20ఔଓ͍͍ͯͨ……103ຊؾग़͍ͯ͠ͳ͍͕ܧଓ
͓͝Γͱ࠳ં
• CݴޠͰίϯύΠϥ࣮͢Δେֶ3ճੜͷใֶ࣮ݧ• ୭ΑΓૣ͘࡞ͬͯճΓͷखॿ͚Λ͍ͯͨ͠• ࠷ऴతʹॳظʹ࡞ͬͨશ͘ಈ͔ͳ͍ίʔυΛޡͬͯఏग़• ͕ग़Δ·Ͱؒҧ͍ʹؾ͔ͮͣ·ΘΓͰ1ਓ͚ͩཹ͕ܾఆ• ຊؾग़ͯ͠ͳ͍………Ͱ৺͕࣋ͨͳ͔ͬͨ105େֶ࣌ͷಘҙͳतۀ
ϒϨΠΫεϧʔ
• શྗΛਚ͘͢ࣄΛڪΕͳ͍ɾࣗΛਖ਼Խ͠ͳ͍• શྗΛਚͯ͘͠μϝͦ͏ͩͬͨΒͱʹ͔͘ྗ͢Δ• ࣗΒֶʹڵຯΛ࣋ͪͱʹ͔͘ܧଓతʹֶͿɾຊΛಡΉ• ແବ͔͠Εͳ͍͚ͲඞཁʹͳΔ͔͠Εͳ͍ͱֶͿ͜ͱʹࢿ• ֶΜͩ͜ͱͷڞ௨Λ୳ͬͨΓ͍ॴΛ୳͢ྗΛ࢝͠Ίͨ• ϨϯλϧαʔόձࣾͰϑϧλΠϜͰΞϧόΠτ• ઌߦͯ͠اۀͰݱͷٕज़Λֶͼ͔ͨͬͨ107Ͳ͏ͨ͠Βྑ͍ͷ͔
͜ΜͳͨΓલͷ͜ͱʹؾ͕͍ͭͨ22ࡀͷՆ
ֶͿ͜ͱָ͕͘͠ͳͬͨ
ຊষͰݚڀऀͱΤϯδχΞ͕ަΘΔͦͷઌਐΉதͰΑ͔ͬͨͱࢥ͏4ͭͷڭ܇ΛΤϐιʔυΛަ͑ͯհ͠·͢
ͦͯ͠ઌਐΉਓ͕૿͑Δͱྑ͍ͳͱئ͓ͬͯΓ·͢
1.2008 ৽ଔೖࣾ
24ࡀ
ઌΛݟ͍ͯͨ
• ݱͷ՝ΛΒͣʹݚڀ͢Δා͞• ࢁͷ༏लͳٕज़ऀʢࣗͷΒͳ͍͜ͱΛ͍ͬͯΔʣͷଘࡏ• ใΛ֎ʹग़ͯ͠ͳ͍͚ͩͰاۀ͍ͬͯ͢͝ͷͰͳ͍͔• ೲಘͨ͠ΒେֶʹΖ͏ͱܾҙ• म࢜ʹߦֶ͔ͣ෦ଔͰब৬ͨ͠1153ޙʹେֶʹͬͯݚڀ͢Δ
ࣾһͱͷ૬ରൺֱͰ·ͳ͔ͬͨ
• ͱʹ͔͘ݱͷٕज़ΛֶͿ• ੈͷதʹ͍͢͝ΤϯδχΞ͕ࢁ͍Δͣͱയવͱࢥ͍ͬͯͨ• ݚڀۀքʹ͍͢͝ݚڀऀ͕ࢁ͍Δͱയવͱࢥ͍ͬͯͨ• ࣗͷաڈͷࣦഊΛऔΓฦ͘͢ͱʹ͔͘ߴΈ• ࣾͰͷ૬ରൺֱʹΜͰ͍ΔՋແ͔ͬͨ117͢ͰʹΩϟϦΞϓϥϯ͕͋ͬͨ
৴པͰ͖Δࢣঊͷଘࡏ
• ଞऀͱͷൺֱΛྫྷ੩ʹධՁͯ͘͠ΕΔ• ৴པͰ͖Δࢣঊɾಉ྅͔Βͷݫ͘͠Թ͔͍ࢦఠ• չ͍͚͠Ͳࣗͷؒҧ͍Λड͚͍ΕΒΕΔ• ͱʹ͔͘·ΘΓʹܙ·Ε͍ͯͨ• ձָ͍ࣾ͠ͷͰࣙΊͨ͘ͳ͍……ͣͬͱ͍͍ͨ119ୈࡾऀͱͯ͠ͷࢹ
ࣾ֎ʹ͍Δ༏ΕͨΤϯδχΞɾݚڀऀͷଘࡏ
ݕࡧͨ͠ϒϩάͷใ͔ΒΛղܾ͍ͯ͠Δҧײ
୭͔͕ࣗͰߟ͑ͯղܾ͠ใެ։͍ͯ͠Δ
• ੈքதʹ͍Δ༗໊ͳٕज़ऀɾݚڀऀԕ͍ଘࡏ• Կ͕͍͔͢͝૾͕͔͍ͭͳ͍͕͍͔ࣗͭͦ͏ͳΓ͍ͨ• ݚڀऀͱͯࣗ͠༝ʹΦʔϓϯ͔ͭઐతͳݚڀΛ͍ͨ͠• ͏ޱ͚ͩʹͳΓͨ͘ͳ͍• ༉அͱ༏ӽײ͔Βੜͨ͡աڈͷࣦഊΛ܁Γฦ͞ͳ͍123͍͢͝ΤϯδχΞݚڀऀ
ࣗͷ͖ͳٕज़Λ৳͍ͨ͠
• OSɾϛυϧΣΞͷӡ༻ɾӡ༻ઃܭɾ։ൃ• ϓϩηεվળɾۀޮͷվળ• ϓϩδΣΫτཧɾεέδϡʔϧཧ• ٕज़ڭҭɾ৽ਓݚम• ಛʹOSɾϛυϧΣΞͱӡ༻ٕज़ͷ͕͖125͖ͳྖҬ
௨ৗɺࣄۀߩݙ͕ඞཁͳاۀͰͳ͔ͳ͔ࣗݸਓͷ͖ͳݚڀ͕Ͱ͖ͳ͍
Ͱ͖ͳઐͷ൚༻త͔ͭߴͳٕज़Λਂֶ͘ͼ͍ͨ
ͦͷͨΊʹࣄۀͱΕͨॴͰॆʹ࣌ؒΛॻ͚ͯݚڀ͢Δඞཁ͕͋Δ
ࣄͱ͍͏Έͷதʹ͍͖ͯͳ͜ͱʹରͯ͠ૉʹͳͬͯΈΔ
ڭ܇1͖ͳ͜ͱʹૉʹͳΔ͜ͱ
2.2011 ത࢜՝ఔઓ
27ࡀ
ֶ෦ଔ
• ڭतʹ͓ձ͍ͯ͠૬ஊ• म͖࢜ͳݚڀ͕ͳ͔ͳ͔Ͱ͖ͳ͍• ͖ͳݚڀΛΓ͍ͨͳΒത࢜՝ఔ͔Β• ͋…ֶ෦ଔ134म͔࢜ΒೖΔ༧ఆͩͬͨ
म࢜ଔ૬ͷ࣮ྗ
• ࣾ֎ֶज़ํ໘ͷΞτϓοτ͕ͳ͔ͬͨ• ͱʹ͔ࣾ͘Ͱͷ࣮Λ·ͱΊΔ• ༰ྑ͍Ͱ͠ΐ͏ͱݴͬͯ͘• Α͠ʂ136म࢜ଔ૬ͷ࣮͕ඞཁ
• ത࢜՝ఔͷೖֶ৹ࠪΛड͚ΔͨΊͷम࢜૬ͷࢿ֨Λ৹ࠪ• ·ͱΊͨࢿྉ50ϖʔδ• ݚڀܦաใࠂॻ࡞• ॻྨબߟ͕߹֨ͨ͠Βޱ಄ࢼ137ത࢜՝ఔग़ئࢿ֨(म࢜૬ͷࢿ֨)৹ࠪॻ
݁Ռ
ෆ߹֨
• ͋ͬ͞Γॻྨબߟམͪ• ڳ͕௧͍• Ͳ͏͠Α͏• Ӭԕʹ߹֨Ͱ͖ͳ͔ͬͨΒ……140طʹୀ৬Λ͑ͨޙ
• લʹਐΜͰͷࣦഊྑ͍ࣦഊ• ߹֨͢Δ·Ͱઓ͠ଓ͚ΕΑ͍• ߹֨͢Δ·Ͱษڧ͠ଓ͚ΕΑ͍• ࣗʹΓ͛Δ·Ͱઓ͢Δ֮ޛ͕͋Δ• ͍ͭͷ·ʹ͔ͪΐͬͱͨ͠ઈʹ׳Ε͍ͯͨ141Ͱཹͨ࣌͠΄ͲͰͳ͔ͬͨ
ത࢜՝ఔग़ئࢿ֨৹ࠪͷ࠶ઓ
• ಛڐग़ئͱࠪಡ͖จԽɾର֎ൃද• ࣾʹஊ͢Δ• ৽͍͠ผͷݚڀͷӳͷจԽɾࠃࡍձٞͰaccept• ΑΓৄࡉͳݚڀܭըΛࣥච• ؒͰࠪಡ͖จ1ຊɺࠃࡍձٞจ1ຊɺֶձൃද2ຊɺಛڐग़ئ1ຊ143ࣾͷ࣮ΛΑΓΦʔϓϯʹ
߹֨
ޱ಄ࢼ໔আ
Α͠ʂ
ത࢜՝ఔೖֶऀબൈࢼݧ
ത࢜՝ఔΛΓ͖ΔݟࠐΈ͕͋Δ͔
• ത࢜՝ఔͰͷݚڀܭը• จ࣮ݚڀۀ·ͱΊ• খจͷචهࢼݧͱTOEIC• ത࢜՝ఔͰͷৄࡉͳݚڀܭըͷϓϨθϯ• ใֶݚڀՊͷڭतɾ।ڭतɾߨࢣɾॿڭ૯50໊ͷલͰൃද• ࣌ਓੜͰ࠷ϓϨογϟʔΛײͨ͡Πϕϯτ150͔͜͜Β͕ຊ൪
3ؒۈΊͨձࣾΛࣙΊͯ20124݄ʹ28ࡀͰത࢜՝ఔೖֶ
ڭ܇2ਐΈ͍ͨํҰา౿Έग़ͯ͠ΈΔ͜ͱ
3.2012 mrubyͱͷग़ձ͍
28ࡀ
େֶͰΠϯλʔωοτج൫ٕज़ʹؔ͢ΔݚڀΛ͡Ί͍ͯͨ
WebαʔόͷߴूੵϚϧνςφϯτΞʔΩςΫνϟʹؔ͢Δݚڀ
ͦ͜Ͱͳͥmrubyͳͷ͔ʁ
• mrubyͱࠐΈεΫϦϓτݴޠͷͻͱͭ• খ͞ͳࠐΈػثʹΈࠐΉ͜ͱ͕తͷͻͱͭ• ΞϓϦΈࠐΈͱ͍͏ํੑ࣌΄΅ͳ͔ͬͨ• ಛʹ࣌ͷݚڀͱؔͳ͔ͬͨ• Rubyͷ·ͭͱΏ͖ͻΖ͞Μͷ৽͍͠OSS16120124݄ʹެ։
ͳΜ͔͍͢͝
͍
࣌ؒ͋ΔͷͰݚڀͷଉൈ͖ʹدΓಓ
ͦ͏ͩݚڀରͷWebαʔόʹΈࠐΊͳ͍͔ͳ
• දతͳWebαʔόʹΈࠐΉͱͲ͏ͳΔͷ͔ͳ• WebαʔόͷৼΔ͍Λ؆୯ʹ੍ޚͰ͖ͯศརͦ͏• ໘നͦ͏ͳͷͰͱΓ࣮͋͑ͣͯ͠ΈΑ͏• mod_perlʹͪͳΜͰmod_mrubyɾngx_mrubyͱ໊͚ͨ• ࣌28ࡀ166ͱΓ͋͑ͣΈࠐΜͰΈΑ͏
పͰ࣮ͯ͠mrubyެ։ͷ࣍ͷʹެ։
168
• ͋ʂ·ͭͱΏ͖ͻΖ͞Μ͕πΠʔτͨ͠Γհͨ͠Γͯ͘͠Εͨ• ໊લ͚͍ͩͬͯΔ༗໊ͳਓʑ͕໘നͦ͏ͱݴͬͯ͘Εͨ• ָ࣮͕͔ͬͨ͠ͷͰͱΓ͋͑ͣͦΕΛଓ͚Δ• ໘ന͍ͷͰຖ͘·Ͱ࣮• සൟʹϒϩάΛॻ͍ͯϑΟʔυόοΫΒ࣮ͬͯ169mod_mruby͕ҙ֎ͱ͞Εͨ
จͰॻ͍ͯΈ·ͤΜ͔ʁ
• ͼͬ͘Γͨ͠• ָ͍͠ͷͰదʹझຯͰ͍ͬͯͨ• Ͱ࣮ʹͳΔͷͳΒخ͍͠ͷͰྃঝ171͍͖ͳΓࢦಋڭһͷڭत͔ΒTwitterͷDM
ݚڀͱͯ͠࠶ఆٛ
• ݚڀऀࢹ• ྑ͍ಓ۩Λ͍ͬͯΔ͔Β༏Ε͍ͯΔͷ͔ʁ• ࣮Ҏલͷ؍Ͱ৽نੑɾ༗ޮੑΛݕ౼͖͢• ͋ͳͨͷݚڀͷීวతͳֶज़తߩݙͱʁ• ژେֶใֶݚڀՊത࢜՝ఔͷதؒൃදͰΘΕΔ• ͱʹ͔͘จͷαʔϕΠίϯϐϡʔλαΠΤϯεΛษڧͯࠩ͠ΛΔ173ํࣜͱͯ͠Կ͕༏Ε͍ͯΔͷ͔
• ΤϯδχΞࢹ• ྑ͍ಓ۩Λ࠾༻͢Δ͜ͱͷϝϦοτ• ͍खͷ͍͢͞ར༻ऀͷଟ͞ɾଟ༷ੑ• ͍͔ʹݱͰӡ༻ɾ࣮ફ͍࣮͢͠ʹམͱ͔͢• ܧଓతͳϝϯςφϯεͱͦͷऔΓΈ͢͞• ͱʹ͔͘ίʔυΛॻ͍͍ͯ͢͞ಋೖɾϝϯςφϯε͢͠͞Λٻ174ͱ͍࣮͑ॏཁ
mrubyΛͬͨߩݙ͕ΞΧσϛΞاۀ͔ΒೝΊΒΕΔ
• 2012 ୀ৬ͯ͠େֶӃ• 2013 IOTS2013 ༏लจ• 2014 ϑΫΦΧRubyେ ༏ल• 2014 ୈ9ճຊOSSྭ• 2014 ใॲཧֶձ ࢁԼه೦ݚڀ• 2014 Ruby Prize ࠷ऴϊϛωʔτ• 2015 ϑΫΦΧRubyେ اۀ• 2015 ژେֶ૯ʢֶʣͷީิऀ176mrubyֶज़ݚڀΛ௨ͨ͡ධՁʢۙ5ؒʣ• 2016 ϑΫΦΧRubyେ ྭ• 2016 ใॲཧֶձ IPSJ-ONE2016 ొஃ• 2016 ใॲཧֶձ IOTݚڀձӡӦҕһब• 2017 ژେֶത࢜ʢใֶʣत༩
177
ϖύϘʹೖࣾͰ͖ͨ
ϖύϘݚڀॴ࡞Δ͜ͱ͕Ͱ͖ͨ
ژେֶത࢜ʢใֶʣऔಘͰ͖ͨ
دΓಓ͕ࣗͷಘҙʹ
ڭ܇3ڵຯͷ͋Δ͜ͱدΓಓͯ͠ΈΔ͜ͱ
4.2013 ֶज़ݚڀͱOSS։ൃ
29ࡀ
ΦʔϓϯιʔειϑτΣΞʢOSSʣͱͯ͠։ൃ͢Δ͜ͱ
• ιϑτΣΞΛ։ൃͯ͠ιʔείʔυΛެ։͢Δ• কདྷੑ͕͋Εະख़ͳঢ়ଶ͔ΒͰެ։͢Δ• ϑΟʔυόοΫΛͬͯΫΦϦςΟΛ্͍͛ͯ͘• ਐḿΞΠσΞɺ࣮Φʔϓϯʹͯ͠ΫΦϦςΟΛ্͛Δ• ࣗɾࣾͱଞਓɾࣾ֎ͱڞಉͯ͠։ൃӡ༻͕࣮ݱՄೳ186Webٕज़ͰΑ͋͘ΔΓํ
Φʔϓϯʹֶज़ݚڀ͢Δ͜ͱ
• จެ։·ͰΦʔϓϯʹͰ͖ͳ͍• ݚڀͷωλਐḿɺ࣮Λެ։͠ͳ͍• جຊతʹจʹ·ͱΊ͔ͯ͠Δ͖ձٞࡶࢽͰެ։188࣮͍͠߹͕ଟ͍
ͰOSS։ൃͷΑ͏ʹݚڀΛͨ͠
• ݚڀͦ͏͍͏ΓํΛ͠ͳ͍Αʁ• ͦΜͳ͜ͱͯͨ͠ΒจʹݚڀʹͳΒͳ͍Αʁ• จԽͷલʹϒϩάʹॻ͘ͱจʹͳΒͳ͍͔Αʁ• ॏཁͳωλਐḿΛϒϩάʹॻ͘ͳΜͯԿΛߟ͍͑ͯΔͷ͔ʁ190൷Λड͚ͨ
ࣗࣗͷݚڀΛΦʔϓϯʹ͢Δͷ͔ͩΒؒҧͬͨ͜ͱ͍ͯ͠ͳ͍Γ͍ͨΑ͏ʹΔ
ͱ͍͑ෆ҆ͩͬͨ
ۮવ࿓ԼͰग़ձͬͨࢦಋڭһͷڭतʹΈΛ૬ஊͯ͠Έͨ
ڭतͷݴ༿
ʮੲͷΓํʹनΘΕͳͯ͘ྑ͍Ͱ͢ɻদຊ͞Μ͕ྑ͍ͱࢥ͏ΓํͰ͖ͳΑ͏ʹͬͯԼ͍͞ɻࠓͷΓํɺྑ͍ͱࢥ͍·͢Αɻʯ
• ໎͍͕ফ͑ͨ• Φʔϓϯʹݚڀɾ։ൃ͕Ͱ͖Δ• ࣗͷΓ͍ͨ͜ͱ͕Ͱ͖Δ…..196ٹΘΕͨ
ϑΟʔυόοΫͷதͰ
• ༗໊ͳٕज़ऀ͕ใ֦ࢄΛͯ͘͠Εͨ• தʹωΨςΟϒͳίϝϯτࢁ͋ͬͨ• ͦΕΛͲ͏ʹ͔ٕज़Ͱݟฦ͢Α͏ʹߟ͑ͨ• গͣͭ͠ߨԋґཔ͞ΕΔΑ͏ʹͳͬͨ• ֶज़ɾاۀͰͷධՁʹܨ͕͍ͬͯͬͨ• ͱʹ͔͘໘ന͔ͬͨͷͰίπίπͱऔΓΈΞτϓοτ͠ଓ͚ͨ198ࢁϑΟʔυόοΫΛಘΒΕͨ
͋Δ࣌ৼΓฦΔͱେ͖ͳՌʹͳ͍ͬͯͨ
ੈͷதͰͷࣗͷཱͪҐஔΛΔ
• ͍ͭͷ·ʹ͔Γ߹͍ʹͳ͍ͬͯͨ• ҰॹʹτʔΫηογϣϯΛ͍ͯͨ͠• ҰॹʹOSS։ൃΛ͍ͯٞͯͨ͠͠• ڧ͍ٕज़ऀʹ·Εͯ͞Βʹڧ͘ͳ͍ͬͯ͘• ֶͿ΄ͲʹࣗΛΓͬͱֶͼͨ͘ͳΔ201ੲԕ͍ଘࡏͩͬͨ༗໊ਓ
• ༗໊ͱ͞ΕΔٕज़ऀͷ͍͢͝• ٕज़͕ͨͩͨͩ໘ന͍ɺ࡞Γ্͛Δָ͠͞• ࣗͨͩͨͩൃతʹऔΓΉ͜ͱͰ͕૿෯͍ͯ͘͠• ҙΛٕ࣋ͭज़ऀͱͷؔͷதͰ͕͞ΒʹඈͼՐ͢Δ202͕ඈͼՐ͢Δ
ݟ͑ͳ্͔ͬͨ
• ࣗͷઐͰͷࣗͷཱͪҐஔ• ࣗͷऔΓΈΛΦʔϓϯʹ͢Δ͜ͱͰࣗΛΔ• τοϓϨϕϧͷٕज़Ͳ͔͜ԿΛΕḷΓ͚ͭΔ͔• ࣗͷٕज़͕࠷׆͖ΔಓͲ͔͜• ࣗͷಘҙͰੈքҰΛࢦ͢• ເͰແ͍204্͕ݟ͑࢝Ίͨ
ڭ܇4ಘͨݟΛͱʹ͔͘ܧଓతʹެ։ͯ͠ΈΔ͜ͱ
4ͭͷڭ܇Λಘͨ
1. ͖ͳ͜ͱʹૉʹͳΔ͜ͱ2. ਐΈ͍ͨํҰา౿Έग़ͯ͠ΈΔ͜ͱ3. ڵຯͷ͋Δ͜ͱͱدΓಓΛͯ͠ΈΔ͜ͱ4. ಘͨݟΛͱʹ͔͘ܧଓతʹެ։ͯ͠ΈΔ͜ͱ207͜Ε·Ͱʹಘͨ4ͭͷڭ܇
͖ͳ͔ͩΒେֶߦͬͯ·Ͱݚڀ։ൃΛ͍ͯͨ͠
ؾ͕͍ͭͨΒݚڀऀͱΤϯδχΞʹؔ৺Λ࣋ͪͳ͕Βݚڀ։ൃ͍ͯͨ͠
େֶͰ͔ͬ͠Γ࣌ؒΛֶ͔͚ͯͼΤϯδχΞʹؔ৺Λ࣋ͪͳ͕ΒݚڀΛ͢Δ
ͦΕ͕ࣗͷ͖ͳ͜ͱͱࣄۀͷߩݙͱΛॏͶ͋Θͤ͡Ίͨ
͔ͩΒࠓߴ͍ٕज़ྗΛ࣋ͬͯΤϯδχΞͱݚڀऀ͕ަΘΔઌͰ׆ಈ͕Ͱ͖͍ͯΔ
͔ͩΒϖύϘݚڀॴΛ͋ΜͪΆ͞ΜͱઃͰ͖ͨ
ͦͯͦ͠ͷ׆ಈ͍ͣΕࣾձʹؐݩ͞Ε͍ͯ͘ͱ৴͍ͯ͡Δ
ݚڀऀͱΤϯδχΞ͕ަΘΔઌʹ͋Δࣾձ
͜ͷষͷ࠷ޙʹ
ͨͬͨͻͱͭͷڭ܇
4ͭͷڭ܇ΛಘΔʹࢸͬͨͨͬͨͻͱͭͷڭ܇
ʮࣗΛ৴͡Δ͜ͱʯ
1. (ࣗΛ৴ͯ͡)͖ͳ͜ͱʹૉʹͳΕͨ2. (ࣗΛ৴ͯ͡)ਐΈ͍ͨํҰา౿Έग़ͤͨ3. ڵຯͷ͋Δ͜ͱͱ(ࣗେৎͩΖ͏ͱ)دΓಓ͢Δ͜ͱ͕Ͱ͖ͨ4. (͍ͣΕͦΕ͕େ͖ͳՌʹͳΔͱ৴ͯ͡)ಘͨݟΛͱʹ͔͘ܧଓతʹެ։͢Δ͜ͱ͕Ͱ͖ͨ220ࣗΛ৴͡Δ͜ͱ͕Ͱ͖͔ͨΒͦ͜
ਓͷݴ༿ͦͷਓͷੜ͖ํ͑͞ม͑Δྗ͕͋Δ
ࣗΛ৴ͯ͡ͳΔࣗͷελΠϧΛ͖ͳΑ͏ʹຏ͖ଓ͚ͨ
݁Ռతʹൃతʹಈػ͚ΒΕΔߦಈࣗવͱ͕ੜ͡औΓΊͨ
͕͋Δ͔Βখ͞ͳ࣮ͰࣗΛ৴ͯ͡ܧଓతʹऔΓΜͩ
͋Δ࣌ৼΓฦΔͱͱͯେ͖ͳՌʹͳ͍ͬͯͨ
ࣗΛ৴ͯ͡ͱތΓʹૉʹͳΓࣗͷελΠϧΛ࡞Γ্͛Δ
લྫࣗࣗͰ࡞Δ͜ͱ͕Ͱ͖Δ
4. ͓ΘΓʹ
ࠓͷ͋͘·Ͱࢲͷޠ
օ༷ੋඇࣗͷελΠϧΛ࡞Γ্͛ͯԼ͍͞
ৼΓฦΔͱ͕ࣗܦݧ͓ͨ͠͝Γࣦഊҙຯͷͳ͍͜ͱͳͲͻͱͭͳ͔ͬͨ
ແବͱࢥ͑Δ͜ͱͰͦ͜ʹԿΒ͔ͷҙຯΛݟग़͢ͷࣗࣗ
ߴʹ͏ٕज़ٕज़Λ࡞Δٕज़࠷ऴతʹࣝͷ෯͕ࣗΛॿ͚ͯ͘ΕΔ
ࣗͷελΠϧΛ࡞Δʹ͋ΒΏΔ͕ࣝඞཁʹͳΔ
ࠓ·Ͱಘͨڭ܇Λ͞ΒʹநԽ
ࢲͷݱࡏͷߦಈࢦ3ͭ
1. ࣗΛ৴ָͯ͡͠Ή͜ͱ
2. ͋ΒΏΔ͜ͱʹؔ৺Λ࣋ͪڞ௨Λݟग़͢͜ͱ
3. ܧଓతʹऔΓΉ͜ͱ
͜ͷߦಈࢦ͕ҧ͍ΛΓࣗͷελΠϧ(=ࠩผԽ)Λৢͤ͞Δ
ੋඇօ༷ࢹΛ͛ɺࢹ࠲ΛߴΊࣗͷελΠϧΛચ࿅ͤͯ͞ΈͯԼ͍͞
օ༷͕ݚڀऀͱΤϯδχΞ͕ަΘΔͦͷઌͰ׆༂͢Δ͜ͱΛָ͠Έʹ͍ͯ͠·͢
ࢲΛੋඇ౿Έʹ͍ͯͩ͘͠͞
খ͞ͳ͜Ζ͔ΒܑఋͰଞѪͳ͍͜ͱͰྑٞ͘͢Δػձ෯͍ࣝΛ༩͑ͯ͘Εܑ͕ͨɺ9ؒड͚ଓ͚ͨ࢘๏ࢼݧʹࠓͷ2017ʹ߹֨͠·ͨ͠ɻৗʹࢲͷઌΛਐΈଓ͚ɺʮࣗΛ৴ָͯ͡͠Ή͜ͱʯʮ͋ΒΏΔ͜ͱʹؔ৺Λ࣋ͪڞ௨Λݟग़͢͜ͱʯʮܧଓతʹऔΓΉ͜ͱʯͦΕΒ͕݁Ռʹܨ͕Δ͜ͱΛࣔ͠ଓ͚ɺࢲͷߦಈࢦͱͳΔ͖͔͚ͬΛ༩͑ͯ͘Εܑͨʹ৺͔Βײँ͠·͢ɻ࠷ޙʹɺࣗ༝ʹٕज़Λֶͼଓ͚Δ͜ͱΛ͍ͭۙ͘Ͱࢧ͑ͯ͘Ε͍ͯΔ࠺ͱࢠڙͨͪʹײँ͠·͢ɻ246ँࣙ