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
ߴूੵϚϧνΞΧϯτج൫ͱྲྀྔ੍ޚͷཱ྆ দຊ྄հ, খాԝ (ϖύϘݚڀॴ), ּݪٛߊ, ౢ٢ོ, ۚࢠߊհ (भେֶ), ܀ྛ݈ଠ (ϖύϘݚڀॴ), Ԭଜߞೋ (भେֶ) 2018.03.05 ใॲཧֶձ ୈ40ճΠϯλʔωοτͱӡ༻ٕज़ݚڀൃදձ ਫ਼៛ͳղੳͱ੍ޚ͕Մೳͳ ߃ৗੑͷ͋Δϝʔϧج൫ͷઃܭ
Slide 2
Slide 2 text
1. എܠͱత 2. ؔ࿈ݚڀ 3. ఏҊख๏ͷઃܭͱ࣮ݧతͳ࣮Ҋ 4. ·ͱΊͱࠓޙͷ՝ 2 ࣍
Slide 3
Slide 3 text
1. എܠͱత
Slide 4
Slide 4 text
• ࠓ͘ΘΕ͍ͯΔϝʔϧ • ϝʔϧαʔϏεࣄۀऀ·ͩ·ͩݱ • ϋʔυΣΞίετΛޮར༻͢ΔͨΊʹΞΧϯτυϝΠϯΛߴूੵԽ • େྔૹ৴ɺspamϝʔϧɺϝʔϧԆɺΞΧϯτͬऔΓ • ݁ՌతʹγεςϜཧɾϢʔβαϙʔτίετͷ૿Ճ • ಛఆͷΞΧϯτυϝΠϯͷϦιʔεྲྀྔ༗ʹΑΔෆ҆ఆੑ͕՝ 4 ݚڀͷഎܠ
Slide 5
Slide 5 text
• ߴूੵԽͷͨΊʹ୯Ұͷαʔόϓϩηε܈ͰෳͷυϝΠϯΛॲཧ • υϝΠϯʢԾυϝΠϯʣ୯ҐͰͷ੍ޚػೳ͕ݶఆత • શͯͷυϝΠϯʹରͯ͠ಉҰͷಉ࣌ଓͷ੍ݶΛ੩తʹઃఆ • ੍ݶաʹΑΓαʔόϦιʔεΛेʹ͍Δ͜ͱ͕͍͠ • υϝΠϯ୯ҐͰαʔόϓϩηε܈Λىಈ • ϝʔϧιϑτΣΞϓϩηε୯Ґͷશͯͷ੍ޚઃఆ͕Մೳ • ϓϩηε͕υϝΠϯʹґଘͯ͠ߴूੵʹऩ༰Ͱ͖ͳ͍ 5 ैདྷख๏ɿߴूੵϚϧνΞΧϯτܕͷྲྀྔ੍ݶ
Slide 6
Slide 6 text
• υϝΠϯ୯ҐͰαʔόϓϩηεΛىಈͤͭͭ͞ߴूੵԽΛ࣮ݱ͢Δج൫ • ͱ͋ΔηογϣϯͰҰఆظؒىಈ͠ɺঢ়ଶͷมԽʹૉૣ͘ରԠՄೳͳί ϯςφΞʔΩςΫνϟΛԠ༻ → FastContainerΞʔΩςΫνϟ※1 • υϝΠϯ୯ҐͰਫ਼៛ʹղੳྲྀྔɾϦιʔε੍ޚ͕Մೳͳج൫ • ίϯςφʹΑΔϋʔυΣΞϦιʔε੍ޚΛυϝΠϯ୯ҐͰ࣮ࢪՄೳ • ίϯςφ୯ҐͰͷϦιʔεෆߴʹεέʔϧΞτՄೳ 6 ఏҊख๏ɿਫ਼៛ʹղੳՄೳͳ߃ৗੑͷ͋Δϝʔϧج൫ ˞দຊ྄հ ۙ౻Ӊஐ࿕ ࡾ༔հ ྗ݈࣍ ܀ྛ݈ଠ 'BTU$POUBJOFS࣮ߦڥͷมԽʹૉૣ͘దԠͰ͖Δ߃ৗੑΛ࣋ͭγε ςϜΞʔΩςΫνϟ Πϯλʔωοτͱӡ༻ٕज़γϯϙδϜจूɼɼʢʣ ݄
Slide 7
Slide 7 text
2. ؔ࿈ݚڀ
Slide 8
Slide 8 text
• શυϝΠϯશମ·ͨଓΫϥΠΞϯτ୯Ґͷ੍ޚʢPostfixSendmailʣ • ಉ࣌ଓɺ͋Δ͍୯Ґ࣌ؒ͋ͨΓͷଓ • ୯Ґ࣌ؒ͋ͨΓͷϝοηʔδૹཁٻ • ୯Ґ࣌ؒ͋ͨΓͷૹ৴Մೳͳड৴ऀΞυϨε • αʔόϦιʔε༻ྔͱϝʔϧྲྀྔΛཱ྆͢Δ࠷దͳઃఆ͕͍͠ • ֤υϝΠϯʹݸผʹҟͳΔͰͳ͘ڞ௨੍ͨ͠ݶΛ੩తʹઃఆ • αʔόΛकΔ੍ݶͰ͖Δ͕ϦιʔεΛेʹ͍Δ͜ͱ͕͍͠ 8 ԾυϝΠϯʹ͓͚ΔҰൠతͳૹ৴੍ޚख๏ͱ՝
Slide 9
Slide 9 text
• ֎෦MTA͔ΒϝʔϧϘοΫεͷૹ • ֤υϝΠϯʹݸผͰͳ͘ڞ௨੍ͨ͠ݶΛ੩తʹઃఆʢૹ৴ͱಉ༷ʣ • ֎෦MUA͔ΒϝʔϧϘοΫεͷσʔλΛड৴ • ֤υϝΠϯʹݸผͰͳ͘ڞ௨੍ͨ͠ݶΛ੩తʹઃఆʢૹ৴ͱಉ༷ʣ • ݕࡧϦετͷͨΊͷIMAPίϚϯυʹΑΔϦιʔε༗ͷ੍ޚ͕ࠔ • αʔόϦιʔεΛेʹ͍Δ͜ͱ͕͍͠ 9 ԾυϝΠϯʹ͓͚Δड৴੍ޚઃఆͱ՝
Slide 10
Slide 10 text
• υϝΠϯ͓٬༷୯ҐͰαʔόϓϩηεԾڥΛ্ཱͪ͛Δ • ϛυϧΣΞϓϩηε୯ҐͰݸผͷ๛ͳ੍ޚ͕ར༻Մೳ • υϝΠϯͷʹൺྫͯ͠αʔόϓϩηε܈͕૿Ճ͢ΔͨΊߴूੵԽ͕͍͠ • αʔόϓϩηε͕ेݸͰ͋ͬͯυϝΠϯ͕ສͷ߹ɺϓϩηε ͕ඦສݸʹ૿Ճ • inetdxinetdͷΑ͏ͳʮଓΫϥΠΞϯτ×αʔόϓϩηε܈ʯΛ ηογϣϯຖʹߦ͏ॲཧੑೳϦιʔε໘Ͱޮ͕ѱ͍ 10 ߴूੵऩ༰ͱͷؔੑ
Slide 11
Slide 11 text
• αʔόϓϩηεΛෳͷυϝΠϯͰڞ༗͢Δํࣜ • ϓϩηεΛڞ༗͢ΔͨΊϝʔϧηογϣϯ୯ҐͰͷ੍ޚखஈ͕গͳ͍ • ߴूੵʹऩ༰Ͱ͖ͯϦιʔεڝ߹ʹΑΔෆ҆ఆঢ়ଶ͕ੜ͍͢͡ • υϝΠϯ୯ҐͰαʔόϓϩηεΛىಈ • ߴूੵʹऩ༰͕Ͱ͖ͳ͍ 11 ՝·ͱΊ
Slide 12
Slide 12 text
3. ఏҊख๏ͷઃܭͱ࣮ݧతͳ࣮Ҋ
Slide 13
Slide 13 text
• ߴूੵʹΞΧϯτɾυϝΠϯΛऩ༰Մೳʢ୯ҰͷαʔόʹສυϝΠϯʣ • CPUཧίΞ24ݸɺϝϞϦ32GBఔͷPCαʔόΛఆ • υϝΠϯ୯ҐͰݸผʹਫ਼៛ͰಈతͳϦιʔε੍ޚΛ࣮ݱ • ҰൠతͳϝʔϧϛυϧΣΞͷ੍ޚػೳΛυϝΠϯ୯Ґʹઃఆ͍ͨ͠ • εέʔϧΞοϓɾΞτ/μϯɾΠϯʹΑΔϦιʔε૿ڧɾ੍ݶՄೳ • ҟͳΔϋʔυΣΞͷಁաతͳҠಈఆ • υϝΠϯ୯ҐͰݸผʹਫ਼៛ͳηογϣϯใऩूʢࠓޙͷదԠత੍ޚʹܨ͛Δʣ 13 ࣮ݱ͍ͨ͜͠ͱɿՁ֨Խͱ҆ఆԽʹ͚ͯ
Slide 14
Slide 14 text
• υϝΠϯ୯ҐͰαʔόϓϩηεΛىಈͤͭͭ͞ߴूੵԽΛ࣮ݱ͢Δج൫ • ηογϣϯ୯ҐͰҰఆظؒىಈ͠ɺঢ়ଶͷมԽʹૉૣ͘ରԠՄೳͳίϯ ςφΞʔΩςΫνϟΛԠ༻ → FastContainerΞʔΩςΫνϟ • υϝΠϯ୯ҐͰίϯςφΛىಈ͠ਫ਼៛ʹྲྀྔɾϦιʔε੍ޚ͕Մೳͳج൫ • ϛυϧΣΞͷ੍ݶશͯΛυϝΠϯʹରͯ͠ద༻Մೳ • ίϯςφʹΑΔϋʔυΣΞϦιʔε੍ޚΛυϝΠϯ୯ҐͰ࣮ࢪՄೳ • ίϯςφ୯ҐͰͷϦιʔεෆ࣌ʹߴʹεέʔϧΞτՄೳ 14 ఏҊख๏ɿਫ਼៛ʹղੳՄೳͳ߃ৗੑͷ͋Δϝʔϧج൫
Slide 15
Slide 15 text
FastContainer: ߃ৗੑ͔ΒಘΒΕΔ҆ఆੑ 15 ϗετ" ϗετ" ϗετ" ϗετ" ϗετ" Πϯλʔωοτ ϗετ" ϗετ" ϗετ" ͕ͯఀࢭ Ԡతʹىಈ Ԡతʹ εέʔϧΞοϓ ऩ༰αʔόA ऩ༰αʔόB ϦΫΤετ Ԡతʹ εέʔϧΞτ • ϗετͷىಈͱఀࢭΛ॥ • ৗʹ॥͠ଓ͚ΔΞʔΩςΫνϟ • มԽ͠ଓ͚Δ͜ͱʹΑΔ҆ఆੑ ঢ়ଶͷมԽͷվળΛٻ ৗʹมԽՄೳͰ͋ΔͨΊಥൃతͳΞ ΫηεूதͷΑ͏ͳมԽʹੑͷ ͋ΔΞʔΩςΫνϟΛ࣮ݱՄೳ
Slide 16
Slide 16 text
• ΞΫςΟϒͳηογϣϯͷΈ͕ίϯςφͱͯ͠ىಈ • ݸਓ͚ϗεςΟϯάαʔϏεͷΞΫςΟϒϢʔβ͕গͳ͍ࣄʹண • SMTPͱIMAPͰηογϣϯใΛσʔλϕʔεʹอଘ • কདྷతʹσʔλΛղੳͯ͠దԠతʹྲྀྔΛ੍ޚ͍ͨ͠ • ߏใ੍ޚઃఆશͯσʔλϕʔεԽͯ͠ݸผ͔ͭಈతʹ੍ޚՄೳ • কདྷతʹϗετOS͕ఀࢭͯ͠ίϯςφ͕ࣗಈతʹผϗετʹҠಈՄೳ 16 FastContainerͱߴूੵऩ༰
Slide 17
Slide 17 text
ఏҊ͢Δϝʔϧج൫ͷશମϑϩʔ֓ཁ 17 *."1 'BTU$POUBJOFS 4ZTUFN $.%#"1* 4.51-.51 'BTU$POUBJOFS 4ZTUFN 4.51 'BTU$POUBJOFS 4ZTUFN .6" -# -# .5" .BJM%BUB
Slide 18
Slide 18 text
ఏҊ͢Δϝʔϧج൫ͷશମϑϩʔ֓ཁ 18 *."1 'BTU$POUBJOFS 4ZTUFN $.%#"1* 4.51-.51 'BTU$POUBJOFS 4ZTUFN 4.51 'BTU$POUBJOFS 4ZTUFN .6" -# -# .5" .BJM%BUB
Slide 19
Slide 19 text
ಉҰϗετ ϝʔϧج൫ͷSMTPૹ৴ϑϩʔৄࡉ 19 4.513PVUFS OHY@NSVCZ $.%#"1* 4.51ίϯςφ ʢυϝΠϯ୯Ґʣ 4.51ίϯςφ ʢυϝΠϯ୯Ґʣ 4.51ίϯςφ ʢυϝΠϯ୯Ґʣ 4.51'BTU$PO QFSEPNBJO 1PTUpY 4.510VU 1PTUpY 4.51'JMUFS 0VU 7JSVTHX .6" .5" 4.51 %JTQBUDIFS OHY@NSVCZ υϝΠϯʹج͖ͮ)551ܦ༝Ͱͷ ΞΧϯτɾυϝΠϯೝূͱϓϩ ΩγઌऔಘΛ࣮ࢪ ηογϣϯใऩू 4.51ίϯςφ͕ىಈ͍ͯ͠ͳ͚Ε ϦΞΫςΟϒʹҰఆظؒىಈ σʔλऩूɾղੳͱߏཧ $PMMFDU 4FTTJPO%BUB 1NJMUFS
Slide 20
Slide 20 text
ఏҊ͢Δϝʔϧج൫ͷશମϑϩʔ֓ཁ 20 *."1 'BTU$POUBJOFS 4ZTUFN $.%#"1* 4.51-.51 'BTU$POUBJOFS 4ZTUFN 4.51 'BTU$POUBJOFS 4ZTUFN .6" -# -# .5" .BJM%BUB
Slide 21
Slide 21 text
)PTU04 ϝʔϧج൫ͷSMTPड৴ϑϩʔৄࡉ 21 $.%#"1* *."1ίϯςφ ʢυϝΠϯ୯Ґʣ *."1ίϯςφ ʢυϝΠϯ୯Ґʣ *."1ίϯςφ ʢυϝΠϯ୯Ґʣ -.51'BT$PO QFSEPNBJO %PWFDPU 4.51*O 1PTUpY -.513PVUFS 1PTUpYNSVCZ 4.51'JMUFS*O 7JSVTHX .5" -.51 %JTQBUDIFS 1PTUpYNSVCZ .BJMEJS*OEFY 4UPSBHF 4.51 JOFU -.51 6%4 $PMMFDU 4FTTJPO%BUB 1NJMUFS 4.51 JOFU 4.51 JOFU
Slide 22
Slide 22 text
ఏҊ͢Δϝʔϧج൫ͷશମϑϩʔ֓ཁ 22 *."1 'BTU$POUBJOFS 4ZTUFN $.%#"1* 4.51-.51 'BTU$POUBJOFS 4ZTUFN 4.51 'BTU$POUBJOFS 4ZTUFN .6" -# -# .5" .BJM%BUB
Slide 23
Slide 23 text
)PTU04 ϝʔϧج൫ͷIMAPड৴ϑϩʔৄࡉ 23 *."13PVUFS OHY@NSVCZ $.%#"1* .6" *."1ίϯςφ ʢυϝΠϯ୯Ґʣ *."1ίϯςφ ʢυϝΠϯ୯Ґʣ *."1ίϯςφ ʢυϝΠϯ୯Ґʣ *."1'BT$PO QFSEPNBJO EPWFDPU *."1 %JTQBUDIFS OHY@NSVCZ .BJMEJS*OEFY 4UPSBHF *."1ίϯςφ ʢυϝΠϯ୯Ґʣ *."1ίϯςφ ʢυϝΠϯ୯Ґʣ *."1ίϯςφ ʢυϝΠϯ୯Ґʣ $POUSPM 3FTPVSDF NSVCZ *."1 JOFU *."1 JOFU %PWFDPU 1MVHJO σʔλऩूɾղੳͱߏཧ EPWFDPUNSVCZQMVHJO ίϚϯυ୯ҐͰ$16༻Λ੍ݶ ηογϣϯใίϚϯυͷৼΔ͍Λཧ
Slide 24
Slide 24 text
4. ·ͱΊ
Slide 25
Slide 25 text
• ઃܭͱ࣮ݧత࣮ྃ • ϓϩτλΠϓ࣮Λߦͬͯ༗ޮੑͷධՁ • ϦιʔεޮੑೳධՁ • ϓϩμΫγϣϯڥʹ͓͚ΔϦιʔε੍ޚͷ༗ޮੑΛධՁ • ηογϣϯσʔλͷղੳख๏ͷઃܭ • ηογϣϯσʔλʹجͮ͘υϝΠϯ୯ҐͰͷదԠతͳ੍ޚઃఆ • ϗετOSҟৗ࣌ʹผϗετʹಁաతʹίϯςφΛϚΠάϨʔγϣϯ 25 ·ͱΊͱࠓޙͷ՝
Slide 26
Slide 26 text
• ຊݚڀͰ༻ͨ͠Ϋϥυࢿݯɼฏ29ࠃཱใֶݚڀॴΫϥυར ׆༻࣮ূ࣮ݧʹ͓͍ͯఏڙ͞Εͨɽ·ͨɼຊݚڀɼҎԼͷݚڀॿΛड͚ͯ ͍Δɽ • দຊ྄հ,খాԝ,ۙ౻Ӊஐ࿕,ּݪٛߊ,Ԭଜߞೋ,ౢ٢ོ,ۚࢠߊհ, mrubyΛར༻ͨܰ͠ྔίϯςφΫϥυج൫ͷݚڀ։ൃΛհͨ͠mrubyͷ େنɾߴෛՙςετ, 2017Ruby Association։ൃॿ, 201710݄. 26 ँࣙ