Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Erlang and Elixir Fest 2018 Keynote

Erlang and Elixir Fest 2018 Keynote

16-JUN-2018 Akihabara Convention Hall / my history of involving in Erlang and Elixir communities and why Erlang and Elixir are attractive systems (presentation in Japanese)
Erlang and Elixir Fest 2018 キーノート
Note: revised to include the last-minute modification and to avoid possible national flag rule violation against the flag of Sweden.

Kenji Rikitake

June 16, 2018
Tweet

More Decks by Kenji Rikitake

Other Decks in Programming

Transcript

  1. ErlangͱElixir͕ಥ͖෇͚Δ΋ͷ ͋Δ͍͸ੑೳͱ҆શͷऴΘΓͳ͖ઓ͍ʹ͍ͭͯ Erlang/OTPͱͷ͜ͷ10೥ΛৼΓฦΓͭͭߟ͑Δ Kenji Rikitake / Erlang and Elixir Fest

    2018 16-JUN-2018 1
  2. ྗ෢ ݈࣍ Γ͖͚ͨ ͚Μ͡ 2018೥6݄16೔ Erlang and Elixir Fest 2018

    ळ༿ݪίϯϕϯγϣϯϗʔϧ @jj1bdx Kenji Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018 2
  3. [PR] ͓࢓ࣄืूதͰ͢ 53ࡀ / ϓϩάϥϛϯάྺ44೥ ιϑτ΢ΣΞΤϯδχΞྺ28೥໨ Erlang/OTPྺ11೥໨ ྗ෢݈ٕ࣍ज़࢜ࣄ຿ॴ ॴ௕ ϖύϘݚڀॴ

    ٬һݚڀһ ઌ݄·Ͱ7ϲ݄C++ͱC#ͱsvnͱVisual Studioͷ࢓ࣄͯ͠·ͨ͠ Kenji Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018 3
  4. ͜ͷ10೥ΛৼΓฦΔ Kenji Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018

    4
  5. Erlang/OTPͱͷग़ձ͍ Kenji Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018

    5
  6. 2008೥2݄ Cݴޠʹઈ๬͍ͯͨ͠ ౦ژ ೔ຊڮ ؙળ खʹͱͬͯΈͨ ໘ന͍ ͙͢ʹ௨ൢͰങͬͯಡΜͩ Kenji Rikitake

    / Erlang and Elixir Fest 2018 16-JUN-2018 6
  7. Erlang/OTPίϛϡχςΟ΁ ࠷ॳ͸FreeBSDͰͷ͏Δ͏ඵύον͔Β ͦͷ͏ͪWindowsͱࠞͥͨΓ͍Ζ͍Ζ࣮ݧ ౰࣌͸ηΩϡϦςΟؔ࿈ͷݚڀΛ͍ͯͨ͠ SSHͷRPCͱ͔ࢥ͍ͭ͘ …ൃදͰ͖ͦ͏ Kenji Rikitake / Erlang

    and Elixir Fest 2018 16-JUN-2018 7
  8. 2010೥3݄ Erlang Factory SF Bay 2010 Kenji Rikitake / Erlang

    and Elixir Fest 2018 16-JUN-2018 8
  9. ௕͍෇͖߹͍͕࢝·Δ Kenji Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018

    9
  10. 2011೥9݄ ౦ژͰ Erlang Workshop ࣮ߦҕһ௕Λ΍Γ੾Δ Kenji Rikitake / Erlang and

    Elixir Fest 2018 16-JUN-2018 10
  11. ࣮͸2011೥ʹ ͍͢͝Eຊ ͦͯ͠ Erlang In Anger …ͷݪయͱͳΔϓϨθϯ͕ αϯϑϥϯγείͰߦΘΕͨ Kenji Rikitake

    / Erlang and Elixir Fest 2018 16-JUN-2018 11
  12. ໘ന͘ͳ͖ͬͯͨ Kenji Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018

    12
  13. Elixirͱͷग़ձ͍ * * Elixirͷϩΰ͸PlataformatecͰ঎ඪొ࿥࡞ۀதͷͨΊڐՄͳ͘࢖͏͜ͱ͸Ͱ͖·ͤΜɻ Kenji Rikitake / Erlang and Elixir

    Fest 2018 16-JUN-2018 13
  14. 2014೥3݄ Erlang Factory SF Bay 2014 Kenji Rikitake / Erlang

    and Elixir Fest 2018 16-JUN-2018 14
  15. José Valim Kenji Rikitake / Erlang and Elixir Fest 2018

    16-JUN-2018 15
  16. Dave Thomas Kenji Rikitake / Erlang and Elixir Fest 2018

    16-JUN-2018 16
  17. িܸతͳߨԋ ݁ߏͳ෺ٞΛৢͯ͠େมͩͬͨΈ͍ͨͰ͕͢ Kenji Rikitake / Erlang and Elixir Fest 2018

    16-JUN-2018 17
  18. Catalyze changes มԽͷ৮ഔͱͳΕ Kenji Rikitake / Erlang and Elixir Fest

    2018 16-JUN-2018 18
  19. ߨԋ಺༰ʢͷཁࢫʣ Erlang͸ಡΈʹ͍͘! Ϩίʔυ͕೉͍͠! υΩϡϝϯτ͕ͳ͍! ͳΜͱ͔͠Α͏ͥ! Kenji Rikitake / Erlang and

    Elixir Fest 2018 16-JUN-2018 19
  20. ༗ݴ࣮ߦ Dave Thomas͸ Elixirͱؔ࿈ٕज़ͷ ϓϩϞʔγϣϯʹ ਚྗ ࣗ෼Ͱ1࡭ PragProgͰ7࡭ Kenji Rikitake

    / Erlang and Elixir Fest 2018 16-JUN-2018 20
  21. 2016೥ ϓϩάϥϛϯά Elixir೔ຊޠ൛ొ৔ RubyίϛϡχςΟ ͷਓୡΛͪ´ ͱݟ͔͚ΔΑ͏ʹ ͳͬͨ Kenji Rikitake /

    Erlang and Elixir Fest 2018 16-JUN-2018 21
  22. 2018೥ 2݄ʹେࣄ݅ Kenji Rikitake / Erlang and Elixir Fest 2018

    16-JUN-2018 22
  23. erlang-questions ϝʔϦϯάϦετʹͯ ͜ͱ΋͋Ζ͏ʹࠩผ༻ޠΛ ࣗ෼ͷϨϙδτϦʹ෇͚ͯ ͠·ͬͨਓ͕͍ͨ ͍͢͝EຊͱErlang In Angerͷ ஶऀ͕߅ٞ Kenji

    Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018 23
  24. େ࿦૪ ऩर͢Δͷ͕େมͩͬͨΒ͍͠Ͱ͢ Kenji Rikitake / Erlang and Elixir Fest 2018

    16-JUN-2018 24
  25. 2018೥5݄31೔ʙ6݄1೔ ε΢ΣʔσϯͷετοΫϗϧϜʹͯ Code BEAM STO 2018 Kenji Rikitake / Erlang

    and Elixir Fest 2018 16-JUN-2018 25
  26. ձٞͷςʔϚʢͷҰ෦ʣ Open Erlang 20प೥ BEAMίϛϡχςΟͷ༥߹ ೔ৗͱͯ͠ͷμΠόʔγςΟ Kenji Rikitake / Erlang

    and Elixir Fest 2018 16-JUN-2018 26
  27. ௕͍લৼΓΛऴΘΓ·͢ Kenji Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018

    27
  28. ErlangͱElixir ͦͯͦ͠ͷଞͷLFE, efene, Alpaca, clojerl, luerl, etc. Ͳ͕͓͍͍͜͠ͷ? Kenji Rikitake

    / Erlang and Elixir Fest 2018 16-JUN-2018 28
  29. ྗ෢ͷߟ͑ΔϝϦοτ Immutability σΟʔϓίϐʔ ࢀরΛ࢖Θͳ͍ Kenji Rikitake / Erlang and Elixir

    Fest 2018 16-JUN-2018 29
  30. ैདྷͷݴޠ ม਺͸࠶ར༻ ࢀর͔͠ίϐʔ͠ͳ͍ Ͱ͖ΔݶΓ࣮ମΛڞ༗ ↑͢΂ͯόάͷݩ Kenji Rikitake / Erlang and

    Elixir Fest 2018 16-JUN-2018 30
  31. ैདྷͷݴޠͷݪଇ ۃྗίϐʔͨ͘͠ͳ͍ ۃྗϝϞϦΛઅ໿͍ͨ͠ ҆શΑΓ΋ޮ཰ ୅ೖͷཤྺΛऔΕͳ͍ Kenji Rikitake / Erlang and

    Elixir Fest 2018 16-JUN-2018 31
  32. C++Ͱࠔͬͨ͜ͱ ม਺͸஋? ࢀর? const෇͖? ͳ͠? ίϯετϥΫλ͸͍ͭಈ͘? std::unique_ptr<> ͋Δ͍͸ shared_ptr<> →ෳ਺ͷໃ६͢ΔηϚϯςΟΫε͕ಉ࣌ʹଘࡏ

    Kenji Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018 32
  33. Erlang΍ElixirͰ͸ࠔΓ·ͤΜ ม਺͸͢΂࣮ͯମ Ұ౓֬ఆ࣮ͨ͠ମ͸ෆม ୅ೖ͸ඞͣ৽͍࣮͠ମΛ࡞Δ ࢀরΛߟ͑ͳ͍͍͔ͯ͘Βָ ʢETSͱ͔ϓϩηεࣙॻͱ͔࢖͏ͱେมͰ͕͢ʣ Kenji Rikitake / Erlang

    and Elixir Fest 2018 16-JUN-2018 33
  34. Erlang΍Elixirͷݪଇ ඞཁͳΒͲΜͲΜίϐʔ ϝϞϦઅ໿͸GCͰ ޮ཰ΑΓ΋҆શ ୅ೖͷཤྺΛऔΕΔ Kenji Rikitake / Erlang and

    Elixir Fest 2018 16-JUN-2018 34
  35. JavaScriptͷྫ // var a = {first: 1, second: 2} //

    b = a // ࢀরͷΈͷڞ༗ { first: 1, second: 2 } // a.second = 3 3 // b // ཁૉͷ࣮ମ͸ڞ༗ { first: 1, second: 3 } // b == { first: 1, second: 3 } false // ͳͥ? // ӈଆ͸ίϯετϥΫλͳͷͰҰக͠ͳ͍ Kenji Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018 35
  36. Erlang/OTPͷྫ %%% ୅ೖ͢Δ࣮ମ͸ৗʹ৽ͭ͘͘͠ΒΕΔ %%% ࠶୅ೖ͸ͦ΋ͦ΋Ͱ͖ͳ͍ % A1 = {1,2,3}. {1,2,3}

    % B1 = A1. {1,2,3} % ίϐʔ͕Ͱ͖Δ % A2 = setelement(3,A1,4). {1,2,4} % B1 =:= {1,2,3}. true Kenji Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018 36
  37. Erlang΍ElixirͷσϝϦοτ ͱͯ΋஗͍ ൃ૝ͷస׵͕ඞཁ Ruby΍PHPͷΑ͏ʹ͸ॻ͚·ͤΜ Kenji Rikitake / Erlang and Elixir

    Fest 2018 16-JUN-2018 37
  38. Erlangͷ։ൃऀͷҰਓ Joe Armstrong͸ Ͳ͏ߟ͍͑ͯΔͷ͔ Kenji Rikitake / Erlang and Elixir

    Fest 2018 16-JUN-2018 38
  39. Kenji Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018 39

  40. Erlang/ElixirͰେࣄͳ͜ͱ ܰྔฒߦϓϩηε ΤϥʔϋϯυϦϯά ʢͱɺimmutabilityͩͱɺྗ෢͸ࢥ͍ͬͯ·͢ʣ Kenji Rikitake / Erlang and Elixir

    Fest 2018 16-JUN-2018 40
  41. ܰྔฒߦϓϩηε 1 ॲཧաఔ͸ͦΕͧΕϓϩηεʹׂΓ౰ͯΒΕͯฒߦʹॲཧ ೖྗ ॲཧ ग़ྗ ೖྗ1 → ॲཧ1 →

    ग़ྗ1 ೖྗ2 → ॲཧ2 → ग़ྗ2 ೖྗ3 → ॲཧ3 → ग़ྗ3 ೖྗ4 → ॲཧ4 → ग़ྗ4 1 Francesco Cesarini, Simon Thompson, "Erlang Programming", O'Reilly Media, 2009, p. 112, Figure 4-14 ΑΓྗ෢݈࣍ʹΑͬͯ࠶ߏ੒ Kenji Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018 41
  42. ܰྔϓϩηεͷίϯτϩʔϧ 2 ࡞Δͷ͸spawnҰൃ མͱ͢ͷ͸link΍monitorͰOK ͖Ε͍ʹམͱ͢ͷ͸େม ϓϩηεΩϡʔ͕٧·Δͱऴྃ ॲཧ͕஗͍ͷͰ஫ҙ 2 ࡢ೥ͷElixir Conf

    Japan 2017ͷ@voluntasʹΑΔߨԋʮͳͥ Erlang/OTP Λ࢖͍ଓ͚Δͷ ͔ʯΛࢀর Kenji Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018 42
  43. ErlangͷΤϥʔϋϯυϦϯά ϦϯΫ (link) Ϟχλʔ (monitor) Kenji Rikitake / Erlang and

    Elixir Fest 2018 16-JUN-2018 43
  44. Kenji Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018 44

  45. Kenji Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018 45

  46. Erlang/Elixirͷࠓޙ Kenji Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018

    46
  47. جຊཧ೦ Lagom är bäst ΄Ͳ΄Ͳͳͷ͕Ұ൪ྑ͍ Kenji Rikitake / Erlang and

    Elixir Fest 2018 16-JUN-2018 47
  48. ΄Ͳ΄Ͳɺͱ͸ ҆શ͸ߴ଎Խʹ༏ઌ खΛൈ͔ͣʹߴ଎Խ έϯΧ͠ͳ͍/ͤ͞ͳ͍ίϛϡχςΟ ٸ͕ͣͰ͖Δ͜ͱΛண࣮ʹ΍͍ͬͯ͘ Kenji Rikitake / Erlang and

    Elixir Fest 2018 16-JUN-2018 48
  49. ૊ΈࠐΈ෼໺΁ͷԠ༻ GRiSP / Nerves / ֤छ૊ΈࠐΈϘʔυͰͷ࣮ߦ Kenji Rikitake / Erlang

    and Elixir Fest 2018 16-JUN-2018 49
  50. ࠓޙͷൃలͷ༧૝ େن໛(>1000ϊʔυ)Ϋϥελ ϒϩοΫνΣʔϯ (Aeternity) Erlang/ElixirҎ֎ͷ֤छݴޠ Gradual Type System Language Server

    Protocol Kenji Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018 50
  51. Erlang/ElixirίϛϡχςΟ ଞͷݴޠʹ͘Β΂Δͱখ͞ͳίϛϡχςΟͰ͢ ͍͢͝ਓͩΒ͚ͰษڧͰ͖·͢ Elixirͷ͓͔͛Ͱ৽͍͠ਓ΋૿͑·ͨ͠ ೉͍͠ݴޠγεςϜͳͷͰϨϕϧ͕ߴ͍Ͱ͢ ඈͼࠐΜͰ͍͘ͱ਌੾ʹͯ͘͠Ε·͢ Kenji Rikitake / Erlang

    and Elixir Fest 2018 16-JUN-2018 51
  52. ੑೳΑΓ΋҆શΛ ༏ઌͰ͖ΔਓͳΒ͹ Erlang΍Elixirʹ ޲͍͍ͯΔͱࢥ͍·͢ Kenji Rikitake / Erlang and Elixir

    Fest 2018 16-JUN-2018 52
  53. ࠷ޙʹࡢ೥ʹҾ͖ଓ͖ ͓ئ͍ Kenji Rikitake / Erlang and Elixir Fest 2018

    16-JUN-2018 53
  54. ίϛϡχςΟʹ ೔ຊͷਓ͕ ͍·ͤΜ Kenji Rikitake / Erlang and Elixir Fest

    2018 16-JUN-2018 54
  55. ೔ຊࠃ֎Ͱ ӳޠͷ ੒ՌൃදΛ! Kenji Rikitake / Erlang and Elixir Fest

    2018 16-JUN-2018 55
  56. ΑΖ͘͠ ͓ئ͍͠·͢! Kenji Rikitake / Erlang and Elixir Fest 2018

    16-JUN-2018 56
  57. ँࣙ ͜ͷߨԋ͸ GMOϖύϘגࣜձࣾ ϖύϘݚڀॴͷ ͝ࢧԉͰ࣮ݱ͠·ͨ͠ ͋Γ͕ͱ͏͍͟͝·͢ Kenji Rikitake / Erlang

    and Elixir Fest 2018 16-JUN-2018 57
  58. [PR] ྗ෢݈ٕ࣍ज़࢜ࣄ຿ॴͰ͸ ͓࢓ࣄืूதͰ͢ ͝૬ஊ׻ܴக͠·͢ ͥͻ࠙਌ձͰ͓੠͕͚͍ͩ͘͞ Kenji Rikitake / Erlang and

    Elixir Fest 2018 16-JUN-2018 58
  59. ͓͠·͍ ͋Γ͕ͱ͏͍͟͝·ͨ͠ ࣭͝໰ΛͲ͏ͧ Kenji Rikitake / Erlang and Elixir Fest

    2018 16-JUN-2018 59
  60. ࣸਅ౳ΫϨδοτ • Title: Samuel Wong on Unsplash.com • José Valim:

    By Augie De Blieck from USA (elixirconf-47), CC BY 2.0, via Wikimedia Commons • Dave Thomas: By James Davidson (Flickr: Dave Thomas) CC BY 2.0, via Wikimedia Commons • Pragmatic Bookshelf Elixir/OTP/Phoenix books page • ϦϯΫʹΑΔྫ֎γάφϧૹ৴ྫ • ϞχλʔʹΑΔྫ֎ϝοηʔδૹ৴ྫ: ྗ෢݈࣍ɺʮErlangͰֶͿฒߦϓϩάϥϛϯάୈ8ճʯɺ Software Design 2015೥11݄߸ɺٕज़ධ࿦ࣾɺp. 124ͷਤΛ࠶ߏ੒ɻ • ε΢Σʔσϯࠃض: By Jon Harald Søby and others. Public domain, via Wikimedia Commons • ϖύϘݚڀॴϩΰ: GMOϖύϘגࣜձࣾ • εϥΠυதͷॻ੶ͷදࢴͱதදࢴʹ͍ͭͯ͸ΦʔϜࣾɺNo Starch Press, Pragmatic Bookshelfͷ ॻ੶৘ใΛઐΒॻ੶঺հͷ໨తͰ࢖༻͍ͯ͠·͢ɻ • ্هʹ஫ऍͷͳ͍ࣸਅɺਤɺֆʹ͍ͭͯ͸ྗ෢݈͕࣍ࡱӨɺฤूɺ੍࡞͍ͯ͠·͢ɻ Kenji Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018 60