Slide 1

Slide 1 text

ιϑτ΢ΣΞͱΠϯλʔωοτͱาΜͩ೔ʑ ʢཁ໿൛ʣ ྗ෢ ݈࣍ ྗ෢݈ٕ࣍ज़࢜ࣄ຿ॴ / ϖύϘݚڀॴ 2018೥6݄22೔ ϖύϘ෱Ԭ ΍͍͞͠ൃදձ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 1

Slide 2

Slide 2 text

ྗ෢ ݈࣍ Γ͖͚ͨ ͚Μ͡ @jj1bdx 1965೥ੜ·Ε 53ࡀ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 2

Slide 3

Slide 3 text

@komei͔Βͷ͓୊ • ͲͪΒ͔ͱ͍͏ͱྗ෢͕͜Ε·ͰʹֶΜͰ͖ͨςΫχΧϧͳ෦ ෼Ͱͷ࿩Λฉ͖͍ͨ • ϖύݚݚڀձͰݴ͍ͬͯͨؔ਺ܕ͕޾ͤͱ͍͏ͷ͕ؾʹͳͬͯ ͍ͯɼ@komei͸ؔ਺ܕ͸ॻ͍ͨ͜ͱ͕ͳ͍ͷͰɼؔ਺ܕϓϩ άϥϛϯάͱΦϒδΣΫτࢦ޲ϓϩάϥϛϯάͷҧ͍ʹؔ͢Δ ൃද͕ฉ͖͍ͨ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 3

Slide 4

Slide 4 text

͜ͷൃදͷߏ੒ ʢ΋ͱ΋ͱ2࣌ؒͷͭ΋ΓͰ͍ͨΜͰ͕͢ϦϞʔτͩͱ͕͢͞ʹ2࣌ؒ͸ͭΒͦ͏ͳͷͰʣ ςΫχΧϧͳ࿩ʹߜΓ·͢ ΦϒδΣΫτࢦ޲ͱؔ਺ܕͷ࿩΋͠·͢ ࣗ෼ͷʢΩϟϦΞΩʔϊʔτతͳʣྺ࢙ͷ࿩΋͠·͢ ࣭ٙԠ౴͸࠷ޙʹ΋࣌ؒऔͬͯ·͕͢దٓͲ͏ͧ ൃද಺༰͸͋͘·Ͱྗ෢ݸਓͷݟղͰ͢ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 4

Slide 5

Slide 5 text

1973೥ 8ࡀ ෕ʹ FORTRANΛڭΘΔ • ෕ ྗ෢ৗ࣍ʢ1956೥ɺӈͷࣸਅʣ • খֶ2೥ੜͩͬͨ • 2࣍ํఔࣜͷղͷެࣜͱෳૉ਺Λ֮͑ͨ • ਺஋ܭࢉ͔Βίϯϐϡʔλʹೖ໳ͨ͠ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 5

Slide 6

Slide 6 text

FORTRANʢ1973೥෩ʣʹΑΔHello World PROGRAM HELLOWORLD C HELLO WORLD IN FORTRAN INTEGER I I = 10 500 FORMAT(1H ,12HHELLO WORLD!,1H ,11HAND NUMBER ,I5) WRITE(6,500) I STOP END Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 6

Slide 7

Slide 7 text

ϚΠΫϩίϯϐϡʔλʢϚΠίϯʣ • 1971೥ʹIntel 4004 → ࠷ॳͷϚΠίϯɺ༻్͸ి୎ • 1974೥ʹIntel 8080 → ·ͱ΋ʹ࢖͑Δ࠷ॳͷ8bitϚΠίϯ • 1975೥ʹMOS Technology 6502 → Apple ][ɺϑΝϛίϯ • 1976೥ʹZilog Z80 → ͍·ͩʹύνϯί୆Ͱ͸ओྲྀ • 1978೥ʹIntel 8086 → ͔͜͜Βݱ୅ͷx86_64΁ͷܥේ͕ଓ͘ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 7

Slide 8

Slide 8 text

ϚΠίϯͷΠϊϕʔγϣϯ • ίϯϐϡʔλΛICͱͯ͠૊ΈࠐΊΔΑ͏ʹͳͬͨ • ిࢠػثΛιϑτ΢ΣΞͰ੍ޚͰ͖ΔΑ͏ʹͳͬͨ • ίϯϐϡʔλ͕୭Ͱ΋ങ͑ΔΑ͏ʹͳͬͨ • ίϯϐϡʔλ͕୭Ͱ΋࡞ΕΔΑ͏ʹͳͬͨ • ιϑτ΢ΣΞΛ୭Ͱ΋ॻ͍ͯՔ͛ΔΑ͏ʹͳͬͨ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 8

Slide 9

Slide 9 text

ͦͯ͠Apple ][ͱͷ೔ʑ • 1978೥͔Βඦ՟ళͰ৮Γ౗͢ • 1979೥ʹ਌ʹങͬͯ΋Β͏ • GAME-APPLEίϯύΠϥΛॻ͖ɺTL/1 ͱ͍͏খ͞ͳݴޠͷେ͖ͳྗΛֶΜͩ • ήʔϜ΋ॻ͍ͨ • ωοτϫʔΫϋʔυ΋࡞ͬͨ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 9

Slide 10

Slide 10 text

1986೥: ແઢɺ௨৴ɺίϯϐϡʔλͷ༥߹ • 1985೥ʹNTTຽӦԽͱճઢࣗ༝Խ • ࠃڥΛ௒͑ͨࣗ༝ͳ௨৴͕Մೳʹͳͬͨ • UNIX͕͍Α͍ΑݸਓͰ΋࢖͑ΔΑ͏ʹͳͬͨ • ϚϧνλεΫɺϚϧνϢʔβɺλΠϜγΣΞϦϯά • ΞϚνϡΞແઢͰ΋ίϯϐϡʔλؒ઀ଓ͕Ͱ͖ΔΑ͏ʹͳͬͨ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 10

Slide 11

Slide 11 text

Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 11

Slide 12

Slide 12 text

1988೥: Πϯλʔωοτ ͱϫʔΫεςʔγϣϯ • WIDEϓϩδΣΫτൃ଍ • ೔ຊʹ΋TCP/IPωοτϫʔΫͱΠʔα ωοτ͕΍͖ͬͯͨ • ϫʔΫεςʔγϣϯͰUNIX • MicroVAXʢӈͷࣸਅʣ, ULTRIX, VMS • γϯάϧCPUͰͷฒߦॲཧΛֶͿ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 12

Slide 13

Slide 13 text

1990೥͝ΖͷϓϩάϥϛϯάελΠϧ • ࠓͱ͋·ΓมΘΒͳ͍͕ن໛͸খ͔ͬͨ͞ • 4.3BSD UNIX ʢݱࡏͷFreeBSD΍macOSͷ૆ઌʣ • ͻͨ͢ΒCݴޠɺΤσΟλ͸viɺͨ·ʹEmacs • VAXͷϝϞϦ͸࠷େ2GBɺ͜ΕΛ100ਓͰ෼͚ͨ • σΟεΫ͸10GBͱ͔20GB͋Ε͹ͨ͘͞Μͩͬͨ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 13

Slide 14

Slide 14 text

1990೥ 25ࡀ ޻ֶम࢜ Digital Equipment Corporation ೔ຊ๏ਓͷ ݚڀ։ൃηϯλʔͰࣾձਓੜ׆Λ࢝ΊΔ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 14

Slide 15

Slide 15 text

1990೥ʙ1992೥: VAX/VMSͷ։ൃ • ը໘੍ޚϥΠϒϥϦʢϛυϧ΢ΣΞʣΛ࡞͍ͬͯͨ • ࠃࡍి࿩ͰςϨΧϯɺόʔδϣϯ؅ཧγεςϜɺυΩϡϝϯτ࡞੒γεςϜɺ ϦϞʔτϩάΠϯ؀ڥɺඞཁͳ΋ͷ͸શ෦͋ͬͨ • ౰࣌ͱͯ͠͸࠷ઌ୺ͷ؀ڥͩͬͨɺ͕… • Φʔϓϯιʔε͡Όͳ͍ͷͰษڧ͸ࣾ಺Ͱ͔͠Ͱ͖ͳ͍ • VAXͱ͍͏ϋʔυʹґଘ͍ͯͨ͠ͷͰ଎౓্͕͕Βͳ͍ • ݁Ռͱͯ͠ڝ૪ྗΛࣦ͍࢖ΘΕͳ͘ͳ͍ͬͯͬͨ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 15

Slide 16

Slide 16 text

1992೥ 27ࡀ ݁ࠗɺస৬ɺେࡕ΁Ҡॅ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 16

Slide 17

Slide 17 text

ͦͷޙ1990೥୅͸Πϯλʔωοτͦͷ΋ͷΛ ݚڀςʔϚʹͯ͠׆ಈͨ͠ • 1995೥ͷWindows95ͷීٴҎલ͸ࣾձతೝ஌͕ಘΒΕͳ͔ͬͨ • ౰࣌ͷۈ຿ઌͷࣾ಺ωοτߏஙɺࣾ֎ϑΝΠΞ΢Υʔϧߏஙɺ ϓϩόΠμ΍ࣾ಺ؔ܎ऀͱͷંিɺ͢΂ͯ΍ͬͨ • ීٴ͢ΔʹͭΕҰࢁ౰ͯΑ͏ͱ͍͏ߟ͑ͷٕज़ͱؔ܎ͳ͍ਓୡ ͕܈͕͖ͬͯͨ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 17

Slide 18

Slide 18 text

͜ͷ··ωοτ԰Ͱ৯͍͚ͬͯΔͷ͔? ത࢜߸΋ͳ͘ݚڀ։ൃΛଓ͚͍͚ͯΔͷ͔? ↓ 2000೥12݄ ۈ຿ઌͷ෦ॺ͕ด࠯ͱͳΓࣙ৬ͨ͠ 2001೥1݄ KDDݚڀॴ΁༗ظܖ໿ࣾһͱͯ͠స৬ ʢ͙͢ʹKDDIݚڀॴʹͳΓݱࡏ͸KDDI૯߹ݚڀॴʣ ωοτϫʔΫͱ৘ใηΩϡϦςΟͷݚڀΛ࢝ΊΔ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 18

Slide 19

Slide 19 text

2002೥4݄ 37ࡀ େࡕେֶ৘ใՊֶݚڀՊത࢜ޙظ՝ఔʹೖֶ म࢜ͷޙ12೥Λܦͯ΍ͬͱݚڀੜ׆ʹೖ໳ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 19

Slide 20

Slide 20 text

2002೥5݄ Ξτϐʔͱഊ݂঱ҰาखલͰ౗ΕΔ ·Δ·Δ5िؒೖӃ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 20

Slide 21

Slide 21 text

ਓ͸͍ͭࢮ͵͔Θ͔Βͳ͍ ͳΒ͹΍Γ͍ͨ͜ͱ͸͙͢΍Ζ͏ ΍Βͳ͍Ͱޙչ͢ΔΑΓ͸ ΍ͬͯޙչͨ͠΄͏͕ͣͬͱ͍͍ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 21

Slide 22

Slide 22 text

ത࢜߸औಘͷݚڀςʔϚ • DNSͷUDPύέοτ௕ͱMTU • ࠷ۙͰ͸QUIC΍DTLS͕ಉ༷ͷ՝୊Λղܾத • MTU͸IPv4/IPv6ͰऔΓѻ͍͕·ΔͰҟͳΔͷͰ೉͍͠ • ࡕେ͔ΒNDAલఏͷσʔλఏڙΛड͚ͯ࿦จʹͨ͠ • T/TCPΛ࢖ͬͨDNSͷॲཧ࣌ؒ࡟ݮʹ΋औΓ૊Μͩ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 22

Slide 23

Slide 23 text

2005೥3݄ େࡕେֶ ത࢜ʢ৘ใՊֶʣ ݁Ռͱͯ͠ത࢜ͷࢿ֨ͷ͓͔͛Ͱ8೥ؒαϥϦʔϚϯΛ͞Βʹଓ͚Δ͜ͱ͕Ͱ͖ͨ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 23

Slide 24

Slide 24 text

2005೥ʙ2010೥: ৘ใ௨৴ݚڀػߏ(NICT) • ۀ຿ࢦࣔͰ΍Δݚڀ+ࣗओݚڀ • NICTERϓϩδΣΫτͷجૅઃܭ • DNSϖΠϩʔυ௕ͱDNSSECͷݚڀ • NGNͱIPv6ͷීٴʹؔ͢Δௐࠪݚڀ • Erlang/OTPͷηΩϡϦςΟ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 24

Slide 25

Slide 25 text

͜ͷ࣌ͷٕज़తͳઈ๬ ΋͏Cݴޠ͚ͩͰ͸৯͑ͳ͍ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 25

Slide 26

Slide 26 text

ͦͯ͠޷͖ʹͳͬͨͷ͸ Erlang/OTP • Immutability ʢ୅ೖޙͷม਺͸ෆมʣ • ܰྔฒߦϓϩηε • ΤϥʔϋϯυϦϯά • 2018೥ͷࠓͰ΋े෼௨༻͢Δݴޠγε ςϜͱͯ͠ɺElixirͱͱ΋ʹਐԽ͠ଓ͚ ͍ͯΔ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 26

Slide 27

Slide 27 text

໋ྩܕ͔Βؔ਺ܕ΁ͷ ൃ૝ͷస׵͕ࣗ෼Λٹͬͨ ͦͷޙ͋ΒΏΔݴޠγεςϜ͕ ؔ਺ܕͷύϥμΠϜΛऔΓೖΕ͍ͯΔ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 27

Slide 28

Slide 28 text

2010೥4݄ 45ࡀ ژ౎େֶ৘ใ؀ڥػߏ ڭत • ୯ஶͰݚڀ͕Ͱ͖ΔΑ͏ʹͳͬͨ • ࠃࡍձٞ࿦จΛ2ຊग़ͤͨ • ࠃࡍձٞͷ࣮ߦҕһ௕ΛମݧͰ͖ͨ • ژେͷεύίϯ͕࢖͑ͨ • ͓΋͠Ζ͍ݚڀ͕Ͱ͖͔ͨͲ͏͔͸ࣗ ৴͕ͳ͍ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 28

Slide 29

Slide 29 text

ͦͯ͠·ͨ΋౗Εɺࣦ৬ ژେͷ࢓ࣄ͸2012೥11݄ΑΓٳΈɺ2013೥1݄Ͱୀ৬ 2013೥2݄ʹErlang/OTPͷؔ࿈ͰBasho Technologiesͷ೔ຊ๏ਓʹब৬ ͔͠͠2013೥6݄ʹ༧ࢉ͕ͳ͘ͳͬͨͱ͍͏ձࣾ౎߹Ͱઓྗ֎௨ࠂ 2013೥9݄຤Λ΋ͬͯղޏɺ22೥6ϲ݄ͷαϥϦʔϚϯੜ׆ʹऴࢭූΛଧͭ 2013೥10݄ 48ࡀ ੖Εࣦͯۀऀʹͳͬͨ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 29

Slide 30

Slide 30 text

2014೥4݄ ੜ͖ΔͨΊʹݸਓࣄۀ։ۀ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 30

Slide 31

Slide 31 text

2016೥Ն ϖύϘݚڀॴ ઃཱͷ஌Βͤ ͙͢ʹԠืͨ͠ …࠾༻͍͍ͯͨͩͨ͠ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 31

Slide 32

Slide 32 text

ϖύϘͷจԽ • ଎Ͱ͍͍ͭͯ͘ͷ͕͍ͨ΁Μ • Ͱ΋ϖύϘʹ͸ॿ͚߹͏จԽ͕͋Δ • ࣗ෼ΑΓए͍ਓୡ͔Βγό͔Εͳ͕Β࢓ࣄͰ͖Δͷ͸وॏ • ͜Μͳձࣾ͸ͳ͔ͳ͔͋Γ·ͤΜ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 32

Slide 33

Slide 33 text

2018೥5݄ 7ϲ݄ଓ͍ͨC++ͱC#ͷ։ൃ࡞ۀΛऴ͑ͨ ʢΨνͳΦϒδΣΫτࢦ޲ͷ։ൃ࡞ۀʹ͔͔Θͬͨͷ͸࣮͸ਓੜॳͩͬͨʣ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 33

Slide 34

Slide 34 text

C++΍C#ͰͭΒ͔ͬͨ͜ͱ • σʔλʹϝιου͕͍ͬͭͯ͘͘Δˠঢ়ଶґଘʹͳΔ • ֊૚໊Λ͚ͭΔͷͰ໊લ͕௕͘ͳΔ • σʔλͳ͠Ͱ͸ϝιου͕ݪଇݺ΂ͳ͍ʢྫ֎͸͋Δ͕ʣ • σʔλΛऔΓѻ͏ͱ͖࣮ମͱࢀর͕ࠞࡏ͢Δ • ίϯετϥΫλ͕͍ͭݺ͹ΕΔͷ͔͕Θ͔Βͳ͍ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 34

Slide 35

Slide 35 text

Erlang/Elixirతͳؔ਺ܕϓϩάϥϛϯά • ؔ਺ͱσʔλͱ͸ಠཱ͍ͯ͠Δˠঢ়ଶґଘʹͳΒͳ͍ • Erlang͸ଟஈ֊૚Λ෇͚ͤ͞ͳ͍ʢElixir͸ڐ༰ʣ • σʔλ͕ͳͯ͘΋ؔ਺͸͍͘ΒͰ΋࡞ΕΔ • σʔλΛऔΓѻ͏ͱ͖͸࣮ମ͚ͩΛߟ͑Ε͹͍͍ • ୅ೖ͸ৗʹίϐʔͳͷͰίϯετϥΫλͷ͜ͱ͸ߟ͑ͳ͍͍ͯ͘ • ͦͷ୅ΘΓ஗͍ (GCͱcopy-on-write͕͋Δͱ͸͍͑) Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 35

Slide 36

Slide 36 text

ϓϩάϥϛϯά͸Ͳ͜ʹߦ͘ͷ͔ ҆શΑΓ΋଎౓? ଎౓ΑΓ΋҆શ? …͜ͷ2߲ରཱࣗମ͕ؒҧ͍ͬͯΔ ҆શ͸ඞਢɺ଎౓͸௥ՃػೳͰ͋Δ΂͖ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 36

Slide 37

Slide 37 text

Webͷ͢͹Β͠͞ɺݶքɺͦͷઌʹ͋Δ΋ͷ • HTTP(/2)͚ͩߟ͑Ε͹ྑ͘ͳͬͨɺ͸ͣ • Ͱ΋DNS΍TCP/IP͔Β͸ಀΕΒΕͳ͍ • Webͷઌʹग़ͯ͘Δͷ͸HTTP/2ࣗ਎ͷந৅Խ • ͦͯͦ͠ͷഎޙʹ͋ΔΧϦΧϦͷνϡʔχϯά • FastContainer΍Haconiwaͷग़൪ • ͞Βʹ͸ػցֶशͱʮਓ޻஌ೳʯͷग़൪ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 37

Slide 38

Slide 38 text

࠷ޙʹ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 38

Slide 39

Slide 39 text

2018೥6݄18೔ ೔ຊ࣌ؒޕલ7࣌58෼ ਒౓6ऑͷ஍਒Λ ࣗ୐Ͱମݧ͠·ͨ͠ 23೥લʹ΋ಉ͡Α͏ͳ͜ͱ͕͋Γ·ͨ͠ɺͰ΋·ͩੜ͖͍ͯ·͢ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 39

Slide 40

Slide 40 text

ʢࣦۀ΋ͨ͠͠ɺ࠳ં΋ͨ͠͠ɺਓੜ൓ল͢΂͖͜ͱ͹͔ΓͰ͕͢) ·ͩԶ͸ࢮͳͳ͍ ࢮΜͰͳΔ΋ͷ͔ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 40

Slide 41

Slide 41 text

͋Γ͕ͱ͏͍͟͝·ͨ͠ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 41

Slide 42

Slide 42 text

ࣸਅ౳ΫϨδοτ • ϖύϘݚڀॴϩΰ: GMOϖύϘגࣜձࣾ • ྗ෢ৗ࣍: ʮΞαώάϥϑʯ1956೥2݄5೔߸ͷը૾ΛWikipedia ΑΓҾ༻ɺpublic domain • Apple ][ͱͷࣸਅ: ʮिץே೔ʯ1982೥3݄1೔߸ΑΓҾ༻ • MicroVAX II: http://www.chookfest.net/computers/mv2.html Α ΓҾ༻ Kenji Rikitake / Pepabo Fukuoka 22-JUN-2018 (summarized version) 42