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
8FCΞϓϦέʔγϣϯʹ ͓͚Δฒߦॲཧͷ͠͞ (P$POGFSFODF`JO"VUVNO4&/%"* /BPLJ,JTIJ !QBTT
Slide 2
Slide 2 text
ͯ͞ɺօ͞Μ
Slide 3
Slide 3 text
ฒߦॲཧͬͯ·͔͢ʁ !
Slide 4
Slide 4 text
ฒߦॲཧਏ͍Ͱ͔͢ʁ "
Slide 5
Slide 5 text
ਏ͔ͬͨͰ͢
Slide 6
Slide 6 text
ࠓͦͷਏ͞ʹͲ͏ରॲ͔ͨ͠ ʹ͍ͭͯհ͠·͢
Slide 7
Slide 7 text
ࠓͷτʔΫ ˔ ༰ ฒߦॲཧͰϋϚͬͨʹͲ͏Ξϓϩʔν͍͔ͯͬͨ͠ ˓ 8FCΞϓϦέʔγϣϯ "1* Λࡐʹ ˓ ίʔυͷΑΓɺઃܭߟ͑ํͷ͕ϝΠϯ ˔ Ϩϕϧײ #FHJOOFSd*OUFSNFEJBUFΛఆ ˓ (Pͷجຊจ๏લఏࣝͱ͠·͢ ˓ HPSPVUJOFDIBOOFMͷجຊతͳ͍ํલఏࣝͱ͠·͢
Slide 8
Slide 8 text
ࣗݾհ /BPLJ,JTIJ ˔ (Pྺ ˔ (P$POGFSFODFྺճ ௌߨ ˔ ژେֶ ֶ෦ ˔ $".1)03ද !QBTT
Slide 9
Slide 9 text
Slide 10
Slide 10 text
Slide 11
Slide 11 text
"HFOEB ฒߦॲཧͷԿ͕ਏ͍ʁ ࡐͱͳΔฒߦॲཧΛͬͨ8FCΞϓϦέʔγϣϯ ϋϚͬͨͱ͜Ζ ·ͱΊ
Slide 12
Slide 12 text
ฒߦॲཧͷԿ͕ਏ͍ʁ
Slide 13
Slide 13 text
શମѲͷ͠͞ ˔ ඞͣ͠ιʔείʔυͷ্͔Βॱʹ࣮ߦ͞Εͳ͍ ˔ ͋Δ࣌ͰͲͷHPSPVUJOF͕ىಈ͍ͯ͠Δ͔Ѳͮ͠Β͍ ˔ ෳͷHPSPVUJOFΛಉ࣌ʹѲ͢Δඞཁ͕͋Γೝෛՙߴ ༁Θ͔ΒΜ
Slide 14
Slide 14 text
HPSPVUJOFηʔϑͷ୲อ ˔ ෳͷHPSPVUJOF͔ΒมΛಉ࣌ʹಡΈॻ͖ͯ͠ͳ͍ঢ়ଶ ˓ ଞͷݴޠͰʮεϨουηʔϑʯͱݴ͏ ˔ DIBOOFMTZOD.VUFYΛͬͯHPSPVUJOFηʔϑʹ͠Α͏ͱࢼΈΔ ˓ ࡉ͔͍มͰରࡦ࿙Ε͕ͪ͠ ͍ͭͷؒʹ͔͕ ॻ͖ΘͬͯΔ
Slide 15
Slide 15 text
DIBOOFMͷϒϩοΩϯά ˔ DIBOOFMʹ༰ྔҎ্ͷΛૹ৴͠Α͏ͱ͢ΔͱϒϩοΫ͞ΕΔ ˔ DIBOOFM͕ҲΕΔͱҙਤͤͣϒϩοΩϯά͕ൃੜ͢ΔՄೳੑ ˓ ϦΫΤετ͕গͳ͍ͱݦࡏԽ͠ʹ͍͘ ٸʹΞϓϦέʔγϣϯࢭ ·ͬͨΜ͚ͩͲ
Slide 16
Slide 16 text
͜Εશ෦ϋϚΓ·ͨ͠
Slide 17
Slide 17 text
Ͳ͏ཱ͔͔ͪͬͨʁ
Slide 18
Slide 18 text
ͦͷલʹ
Slide 19
Slide 19 text
ࡐͱͳΔฒߦॲཧΛ ͬͨΞϓϦέʔγϣϯ
Slide 20
Slide 20 text
৽͍͠Իָͱग़ձ͏ָ͠͞Λ͋ͳͨʹ
Slide 21
Slide 21 text
3FMBZN ϦϞʔτϫʔΫதͷ࡞ۀ༻#(.Λ 4/4Ͱืू ༑ୡͱͷυϥΠϒதʹྲྀ͢ۂΛ ֤ʑͷεϚϗ͔Βࣗ༝ʹՃ օ͕ௌָ͖͍ͨۂΛͭͷεϐʔΧʔͰָ͠ΊΔ8FCΞϓϦ
Slide 22
Slide 22 text
3FMBZNͷಛ օ͕ௌָ͖͍ͨۂΛͭͷεϐʔΧʔͰָ͠ΊΔ8FCΞϓϦ
Slide 23
Slide 23 text
3FMBZNͷ։ൃ ˔ ֶੜͷʮझຯ։ൃʯ ˔ 044Ͱ։ൃ ˓ IUUQTHJUIVCDPNDBNQIPSSFMBZNTFSWFS ˓ IUUQTHJUIVCDPNDBNQIPSSFMBZNDMJFOU ˔ ༻ٕज़(P 7VF
Slide 24
Slide 24 text
3FMBZNʹ͓͚Δʮηογϣϯʯ ˔ ͭͷ࠶ੜΛද͢୯Ґ ˓ /ਓͷϢʔβʢࢀՃऀʣ͕ηογϣϯʹࢀՃͰ͖Δ ˓ .ۂָۂΛՃͰ͖Δ ͜Ε͕ηογϣϯ ˞ηογϣϯʹΧϥΦέϧʔϜͱߟ͑Δͱཧղ͍͔͢͠
Slide 25
Slide 25 text
ฒߦॲཧΛ͍ͬͯΔՕॴ
Slide 26
Slide 26 text
ࢀՃऀಉ࢜ͷϦΞϧλΠϜಉظ ˔ ۂͷՃɺ࠶ੜ։࢝ͷΠϕϯτΛશͯͷʹө͍ͤͨ͞ ˔ 8FC4PDLFUΛ࣮ͬͯݱ ˓ 4FSWFSˠ$MJFOU
Slide 27
Slide 27 text
ηογϣϯͷ࠶ੜঢ়گͷཧ ˔ ࠶ੜঢ়گͷมԽΛࢹ ˔ ηογϣϯʹHPSPVUJOF ˔ Πϕϯτ8FC4PDLFUͰ৴
Slide 28
Slide 28 text
ۂͷ࠶ੜ͕ऴྃͨ͠λΠϛϯάͰ%#ͷߋ৽Πϕϯτͷ৴Λ͍ͨ͠ ͳͥηογϣϯཧHPSPVUJOF͕ඞཁͳͷ͔ʁ ΞϓϦέʔγϣϯଆͰλΠϚʔΛ࣋ͬͯ࠶ੜऴྃΛݕ͢Δ͜ͱʹ ˔ 4QPUJGZ8FC"1*ʹ8FCIPPL͕ͳ͍ ˔ ʮ͍ͭۂͷ࠶ੜ͕ऴ͔ྃͨ͠ʯΛΔ͕͢ͳ͍
Slide 29
Slide 29 text
ϋϚͬͨͱ͜Ζ
Slide 30
Slide 30 text
࿈ଧ͢Δͱฦͬͯ͜ͳ͘ͳΔ"1*
Slide 31
Slide 31 text
࿈ଧ͢Δͱฦͬͯ͜ͳ͘ͳΔ"1* ˔ ָۂͷεΩοϓૢ࡞Λߦ͏ΤϯυϙΠϯτ ˓ ୟ͘ͱ࣍ͷۂʹભҠ͢Δ ˔ NT͓͖ʹλοϓͨ͠Βͳ͘ಈ࡞ ˔ ࿈ଧͨ͠ΒϨεϙϯε͕ฦͬͯ͜ͳ͘ͳΔ
Slide 32
Slide 32 text
Slide 33
Slide 33 text
εΩοϓ"1*ͷ࣮Λੳ εΩοϓ"1*ඇಉظͰηογϣϯͷ࠶ੜঢ়گΛߋ৽ ηογϣϯऴྃঢ়ଶͳΒ#BE3FRVFTUͯ͠SFUVSO 4QPUJGZ8FC"1*Λୟ͍ͯۂΛεΩοϓ TLJQ$Iͱ͍͏DIBOOFMΛ௨ͯ͡ɺηογϣϯཧHPSPVUJOFʹ "1*͕ݺΕͨ͜ͱΛૹ৴ B λΠϚʔͷ࣌ؒΛϦηοτ͢Δඞཁ͕͋Δ "DDFQUFE )BOEMFSHPSPVUJOFऴྃ
Slide 34
Slide 34 text
DIBOOFMͷૹ৴͕ոͦ͠͏
Slide 35
Slide 35 text
HPSPVUJOFͷϥΠϑαΠΫϧΛ ҙࣝͯ͠ DIBOOFMͷ௨৴Λௐࠪ͢Δ
Slide 36
Slide 36 text
HPSPVUJOFͷϥΠϑαΠΫϧΛҙࣝ͢Δ ˔ HPSPVUJOF͕ʮ͍ͭ։࢝͞ΕΔ͔ʯʮ͍ͭऴྃ͢Δ͔ʯΛߟ͑Δ ˔ DIBOOFMͷૹ৴࣌ʹHPSPVUJOF͕ੜ͖͍ͯΔ͔Ͳ͏͔Λߟ͑Δ ϥΠϑαΠΫϧΛҙࣝ͢ΔͱDIBOOFMͷόάΛൃݟ͍͢͠
Slide 37
Slide 37 text
؆୯ͳྫ ˔ HPSPVUJOF#͍ͭૹ৴ͯ͠ྑ͍ ˔ HPSPVUJOF"ૹ৴Ͱ͖ͳ͍߹͕͋Δ "ˠ#ʹૹ͍ͬͯΔίʔυ͕ ͋Εόάͷةݥ
Slide 38
Slide 38 text
࣮ࡍʹߟ͑ͯΈΔ
Slide 39
Slide 39 text
TLJQ$Iͷड͚औΓଆͰߦ͍ͬͯͨॲཧ ड͚औΓଆηογϣϯཧHPSPVUJOF ˔ ࣍ʹ࠶ੜ͢Δۂ͕ଘࡏ͢Δ߹ ࣍ͷۂΛ4QPUJGZͷΩϡʔʹՃ ˔ શͯͷۂͷ࠶ੜ͕ऴΘͬͨ߹ ηογϣϯΛऴྃঢ়ଶʹભҠɺ%#Λߋ৽ શͯͷʹηογϣϯऴྃΠϕϯτΛૹ৴ HPSPVUJOFΛऴྃ ˡո͍͠
Slide 40
Slide 40 text
˔ ͷεΩοϓͰηογϣϯ͕ऴྃ ˔ ʙ/ͷεΩοϓॲཧDIBOOFM͕ ͦͷ͏ͪҲΕ్ͯத͔ΒϒϩοΫ Կ͕ى͍͔ͬͯͨ͜ )BOEMFS͕ϒϩοΫ͞Ε Ϩεϙϯε͕ฦΒͳ͍ࣄଶʹ
Slide 41
Slide 41 text
ҰԠରࡦΛ͍ͯͨ͠ ˔ ࠶ੜঢ়ଶΛνΣοΫ͠ɺऴྃঢ়ଶͳΒ#BE3FRVFTUͰSFUVSO ˔ τϥϯβΫγϣϯͷϩοΫ͕͖ͪΜͱ͔͔͍ͬͯͳ͔ͬͨ ˓ εΩοϓͷঢ়ଶมߋ͕ө͞ΕΔલͷ࠶ੜঢ়ଶΛऔಘ͍ͯͨ͠ ˓ ߴසͰϦΫΤετ͕དྷͳ͍ͱ࠶ݱ͠ͳ͍
Slide 42
Slide 42 text
ఆతͳରԠ DIBOOFMͷઃܭΛม͑Δʹ͕͔͔࣌ؒΔͱஅɺఆతͳରԠΛߦ͏ ˔ దͳϩοΫΛऔΔ ˔ εΩοϓ"1*ͷϦΫΤετഁغ ˓ 4QPUJGZ8FC"1*ͷϨεϙϯε͕͍ͷͰͦͦ࿈ଧ͞Εͨ͘ͳ͍ ˓ ࿈ଧ͞ΕͨΒ͍͔ͭ͘ͷϦΫΤετഁغͯ͠͠·͏
Slide 43
Slide 43 text
εΩοϓ"1*ͷϦΫΤετഁغ DIBOOFMͷDBQҎ্ͷϦΫΤετഁغ͢Δ func sendToSkipCh() { if len(skipCh) < cap(skipCh) { skipCh <- struct{}{} } }
Slide 44
Slide 44 text
˔ DIBOOFMपΓͷόά͕͔͋ͬͨΒͱ͍ͬͯɺDIBOOFMΛۦͯ͠όά ͷରࡦΛ͠ͳ͍͍ͯ͘ ˔ ͬͱखલͷஈ֊Ͱॲཧ͢Εɺ؆୯ʹରॲͰ͖Δ͜ͱଟ͍ ͨͩ͠ɺٕज़తʹഊײ ฒߦॲཧͷόάΛฒߦॲཧҎ֎ͷͱ͜ΖͰରࡦ
Slide 45
Slide 45 text
શମઃܭϨϕϧͰ ࠜຊతͳରࡦΛߟ͑ͯΈΔ
Slide 46
Slide 46 text
DIBOOFMͷॴ༗ݖΛߟ͑Δ ˔ ߟ͑ํͷ ʮ(PݴޠʹΑΔฒߦॲཧʯʹͯղઆ ˔ DIBOOFMΛੜͨ͠HPSPVUJOFͷΈ͕DIBOOFMૹ৴Մೳ ˔ ͦͷଞͷHPSPVUJOFಡΈࠐΈͷΈՄೳ ˔ DIBOOFMͷDMPTFͷϋϯυϦϯά͕͍͢͠ func SkipCh() <-chan struct{} { return skipCh } ϥΠϑαΠΫϧͷ͍ํ͕DIBOOFMͷॴ༗ݖΛ࣋ͯ ૹ৴͕ϒϩοΫ͞ΕͣʹࡁΉ
Slide 47
Slide 47 text
εΩοϓ"1*ʹ͓͚ΔTLJQ$Iͷॴ༗ݖ ˔ /ݸͷ)BOEMFSHPSPVUJOF͔Β DIBOOFMૹ৴͕ඞཁ ˔ ੜଆͰॴ༗ݖΛ࣋ͯͯͳ͍ঢ়گ ૹ৴ଆͷHPSPVUJOFͰDIBOOFMΛੜͯ͠ɺηογϣϯཧHPSPVUJOFʹͤͳ͍
Slide 48
Slide 48 text
˔ ͜͜Ͱ$PNNBOEFSͱ໋໊ ˔ $PNNBOEFS͕ηογϣϯཧHPSPVUJOFͷॴ༗ݖΛ࣋ͭ ˔ ηογϣϯૢ࡞$PNNBOEFSHPSPVUJOFΛܦ༝͢Δ ͣͬͱىಈ͍ͯ͠ΔHPSPVUJOFΛ༻ҙ
Slide 49
Slide 49 text
˔ $PNNBOEFS)BOEMFSΑΓੜ͖ͳͷͰϒϩοΫ͞ΕΔ͜ͱͳ͍ ˔ )BOEMFSଆͷॲཧ͕؆୯ʹ ͜ͷํ๏ͷϝϦοτ
Slide 50
Slide 50 text
σϝϦοτ ˔ ༻͢ΔHPSPVUJOF͕૿͑Δɺશମ૾͕Ѳͮ͠Β͍ ˓ ࠷ॳʹڍ͛ͨʮશମѲͷ͠͞ʯ
Slide 51
Slide 51 text
ฒߦॲཧϞϦϞϦͰؤுΔ͔Ͳ͏͔νʔϜ࣍ୈ ˔ ؤுΔͳΒ ˓ શମ૾͕Ѳ͠ʹ͍͘ɺυΩϡϝϯτͷඋͱͯॏཁ ˓ ͖Ε͍ͳίʔυͰ͋ΕυΩϡϝϯτෆཁ͋·Γ௨͡ͳ͍ʢओ؍ʣ ˔ ͜ΕΒʹࢿ͕Ͱ͖ͳ͍ͳΒͰ͖Δ͚ͩฒߦॲཧΛආ͚Δͷख ˓ εΩοϓ"1*ͷఆରԠͷΑ͏ʹ͍ͬͯ͘ ˓ ͦΕ͚ͩͰेͳέʔεଟ͍ ˓ ຊʹඞཁͳͱ͜ΖͰϐϯϙΠϯτͰ͍ͬͯ͘
Slide 52
Slide 52 text
·ͱΊ
Slide 53
Slide 53 text
·ͱΊ ˔ 3FMBZNͷ"1*αʔόͷ࣮தʹฒߦॲཧؔ࿈ͰϋϚͬͨࣄྫΛհ ˓ ࿈ଧ͢Δͱฦͬͯ͜ͳ͘ͳΔ"1* ˔ HPSPVUJOFͷϥΠϑαΠΫϧॴ༗ݖΛҙࣝͯ͠ઃܭ͢Δͱྑͦ͞͏ ˔ ฒߦॲཧͰϞϦϞϦͰؤுΔ͔Ͳ͏͔νʔϜ࣍ୈ ˓ ؤுΔ߹͖ͪΜͱࢿ͍ͯ͘͜͠ͱ͕େࣄ ਏ͞ΛΓӽ͑ͯΑΓྑ͍ฒߦॲཧϥΠϑΛʂ
Slide 54
Slide 54 text
ࢀߟϦϯΫ ˔ 3FMBZN ˓ IUUQTSFMBZNDBNQIOFU ˔ $PODVSSFODZJTOPUQBSBMMFMJTN 5IF(P#MPH ˓ IUUQTCMPHHPMBOHPSHXB[BUBML ˔ (PݴޠʹΑΔฒߦॲཧ c,BUIFSJOF$PY#VEBZ ࢁޱ ೳ