$30 off During Our Annual Pro Sale. View Details »

Ruby30周年イベント オープニング / Ruby30th Opening

Ruby30周年イベント オープニング / Ruby30th Opening

プログラミング言語Ruby30周年記念イベント
https://30.ruby.or.jp/
https://www.youtube.com/watch?v=cmd5NdMjHkI
イベント前後の反応:
https://twitter.com/search?q=%23ruby30th

Shintaro Kakutani

February 25, 2023
Tweet

More Decks by Shintaro Kakutani

Other Decks in Technology

Transcript

  1. View Slide

  2. View Slide

  3. View Slide

  4. *O.FNPSZPG

    %PDUPS$ISJT4FBUPO
    IUUQTUXJUUFSDPN
    fl
    BWPSKPOFTTUBUVT

    View Slide

  5. SVCZUI

    View Slide

  6. ԿͰ΋͍͍ΑʂϋογϡλάΛ෇͚ͯπΠʔτͯ͠Έͯʂ

    View Slide

  7. ֯୩৴ଠ࿠
    @kakutani

    Rubyist-ist, ݸਓࣄۀओ
    Ұࣾ
    ೔ຊ3VCZͷձཧࣄ
    ג
    Ӭ࿨γεςϜϚωδϝϯτސ໰

    ϑΟϤϧυϒʔτΩϟϯϓސ໰
    3VCZ,BJHJ4FÑPS0SHBOJ[FS

    View Slide

  8. https://rubykaigi.org/2023
    4VQFS&BSMZ#JSEͱεϙϯαʔϒʔε׬ച🏯🏔⛲

    ଞͷࢀՃొ࿥΍εϙϯαʔਃ͠ࠐΈ͸·ͩՄೳͰ͢🙏

    View Slide

  9. ʰݚᮎ3VCZϓϩάϥϛϯάʱങͬͯ͘ΕʙR
    3VCZ,BJHJͰ+FSFNZʹਖ਼ࣜ൛ͷॻ੶Λ౉͍ͨ͠💪

    View Slide


  10. ೥લɺօ͞Μ͸ԿΛ͍ͯ͠·͔ͨ͠ʜ

    ʮ͜ͷӉ஦ʹ·ͩଘࡏ͍ͯ͠ͳ͔ͬͨʯͱ͍͏3VCZJTU΋Ұఆ਺Ҏ্͍ͦ͏ʜ🥹

    View Slide

  11. IUUQTKBXJLJQFEJBPSHXJLJ೥ͷ೔ຊެ։өը݄͡Όͳ͍͚ͲɺͲ͏΍Βࢲ͸ʰδϡϥγοΫύʔΫʱ ެ։
    ΛֶׂͰՏݪொͷөըؗͰ؍͍ͯͨΑ͏Ͱ͢🦕 🦖 ౰࣌͸6/*9
    ͷ͜ͱ͸஌Βͳ͔ͬͨ😂
    ɻͳ͓೥͸ଞʹ΋ʰϩϘίοϓʱʰΧούͷࡾฏʱʰ௜໧ͷઓ؋ʱʰΩϟϓςϯɾεʔύʔϚʔέοτʱʰύτϨΠόʔUIF.PWJFʱʰϒϨΠϯσουʱ
    ͳͲྺ࢙త໊࡞
    ͕ެ։͞Εͨ೥Ͱͨ͠ɻͪͳΈʹʰஉ͸ͭΒ͍Αʱ͸ऴ൫ؒۙͷୈ࡞Ͱɺদࡔܚࢠ͕ώϩΠϯͷ߳઒ϩέɻόϒϧ͕஄͚ͯຬஉͷब৬͕ܾ·Βͳ͍ճͩͬͨ ಪ࣍࿠ͷԑஊ

    View Slide

  12. _
    ͋ͳͨͷ3VCZ͸Ͳ͔͜Βʜ

    View Slide

  13. ࢲͷ৔߹͸ɺδϡϯΫಊॻళ஑ାຊళͷ'1$ॻϑϩΞͰʮ͢΂͕͍ͯͪͲ͖
    ʹى͖ͨʯͷͰͨ͠ ଟগલޙ͸͋ΔͷͰŧŔŕŪ੝ͬͯ·͢
    👀🧺🥋🪐👀

    View Slide

  14. ʮڰ͍ͬͯΔͷ͸ɺԶ͔ʁੈք͔ʁʯŠŠ৘ใαʔϏεۀͱ͍͏໊ͷߥഇͨ͠΢ΣΠετϥϯυͰɺݩ4&ϚοΫε͸ɺաڈʹٹ͑ͳ͔ͬͨϓϩδΣΫτͷݬ
    ֮ͱݬௌʹ൥Θ͞Εɺڰؾʹ৵͞Ε͍ͯΔͷ͸ۀքͳͷ͔ࣗ਎ͳͷ͔ᐆດʹͳΔதɺੜଘຊೳʹ͚ͩಥ͖ಈ͔͞ΕW3VCZΠϯλʔϓϦλʔΛۦΔʜ🤘🎸🥁⚡🚛🔥☠
    https://twitter.com/kakutani/status/966549150501281793

    View Slide

  15. Note To Programmers


    Even programmers can be whole people in the real world. XP is an
    opportunity to test yourself, to be yourself, to realize that maybe
    you’ve been fine all along and just hanging with the wrong crowd.


    View Slide

  16. ͦͯ͠l಺ͳΔฏ࿨ Πϯφʔϐʔε
    z☺ΛಘͨͷͰ͋ͬͨͱαʜ🐼🐢🦊

    View Slide


  17. ͸͡·Γ͔Β೥ʜͳΜ͔͍ͭ·Ͱ΋ಉ͡Α͏ͳ࿩Λ͠ଓ͚͍ͯΔͳ ŦŘŷƀţͳ࡞Ո
    ੑͱ͍͏͜ͱʹ͓͍ͯͯ͠΋Β͑Ε͹
    🧟

    View Slide

  18. ʰϫʔϧζɾΤϯυਲͬͺΒ͍͕ੈքΛٹ͏ʂʱ
    Πϯάϥϯυ͸χϡʔϔΠϰϯͰࡀͷࠒɺѱ༑ͨͪͱʮ൩ͰݢͷύϒΛ͸͢͠͝Δ ΰʔϧσϯϚΠϧ
    ʯʹ࠳ંͨ͠ޙɺߴଔແ৬࣮Ո฻Β͠ͷओਓެ͸೥ޙʹҰ೦ൃىɺΰʔϧ
    σϯϚΠϧʹ࠶௅ઓ͠Α͏ͱொΛग़ͨಉڃੜͨͪʹٱͼ͞ʹձ͍ʹ͍͘ͱશһࣾձతʹ੒ޭ͍ͯͯ͠ʜΈ͍ͨͳ͍͍࿩😇 🍻 🤖 ⚠ 8JLJQFEJBͷl෺ޠz͸ωλόϨ͔ͩΒؾΛ͚ͭͯ
    ͪͳΈʹ্໺ͷӺલʹʮ5IF8PSME&OEʯͱ͍͏੯໊͍͠લͷ
    ϏΞύϒ͕͋ͬͯɺͳ͔ͳ͔ѱ͘ͳ͍Ϗʔϧ͕ҿΊΔͷͰօ͞Μ΋ػձ͕͋ͬͨΒͦͪΒʹ΋଍ΛӡΜͰ͍ͩ͘͞🥳 ·ͨΤυΨʔɾϥΠτ؂ಜͷຊ࡞ͷͻͱͭલͷ؂ಜ࡞඼͸3VCZ,BJHJͷ໊෺ίϯςϯπʮ3VCZ$PNNJUUFSTWTUIF8PSMEʯͷ
    λΠτϧͷݩωλͰ΋͋ΔʰείοτɾϐϧάϦϜ74஍ࠈͷݩΧϨ܉ஂ 4DPUU1JMHSJNWTUIF8PSME
    ʱ
    ͳͷͰ ͳͥݩωλͳͷ͔ͷ༝དྷΛ࿩͢ʹ͸͜ͷ༨ന͸ͪΐͬͱڱ͍ͷͰলུ
    ɺͦͬͪ΋Α͔ͬͨΒ؍͍ͯͩ͘͞💕 🎸 👾 ⚡

    View Slide

  19. View Slide

  20. View Slide

  21. View Slide

  22. ຊ೔ͷϥΠτχϯάτʔΫ͸࣋ͪ࣌ؒͻͱΓ෼ Yඵ<>
    ͕εϩοτɺͱ͍͏఻౷తͳελΠϧͰ͓ಧ͚͠·͢⚡
    ৄ͘͠͸lϥΠτχϯάτʔΫεྺ࢙PSJHJOBM<ݕࡧ>zͩ

    View Slide

  23. View Slide

  24. View Slide

  25. ߴڮ͞Μͱࢲ
    w ਓྨ্࢙ॳͷ3VCZ,BJHJɺͦͷΦʔϓχϯά௚ޙ
    ͷτʔΫ͕ʮ3VCZͷྺ࢙ʯ Αͬͯγʔζϯॳճͷ
    ͷΦʔϓχϯά௚ޙͷτʔΫ΋౰વl5IF)JTUPSZ
    PG3VCZUI"OOJWFSTBSZ&Ezͳͷͩͬͨ

    w ࠓ೔͸ͦͷप೥ه೦൛ͩο ૉఢͳ1%'΋ݟͯͶ

    w ࢲ͸ݱࡏl3VCZJTUJTUzΛࣗশ͍ͯ͠Δ͕ɺ͜ͷޠ͸
    BSUPO͞Μ͕ߴڮ͞ΜΛܗ༰ͨ͠ൃݴʹ༝དྷ͢Δ
    w ݱଘ͢Δ།Ұͷࢲͷl্࢘z😇աڈʹࢲ͸lߴڮϝιουzͷ௥͔ͬ
    ͚Λͯͨ࣌͠ظ΋͋Δͷͩʜ
    ೥ࠒ 04$౦ژͰʮ1P&""ͷಡॻձͬͯଓ͖΍Βͳ͍ΜͰ͔͢ ʯͱߴڮ͞Μ͔Β੠Λ͔͚ͯ΋Βͬͨ͜ͱ͕͖͔͚ͬͰɺlδϟϰΝͷ
    حົͳ๯ݥz΍3VCZ,BJHJɺlٕज़ॻ͸࣮࣭ແྉzͱ͍ͬͨݱࡏͷࢲʹ޲͚ͯਓੜ͕ۂ͕͍ͬͯͬͨͷͰ͋ͬͨʜ

    View Slide

  26. ͳͻ͞Μͱࢲ
    w --4BUVSEBZ
    ͷʮ--δϟϯέϯʯͰΫϥΠΞϯτ
    1FSM 1ZUIPO 1)1 3VCZ
    ͕઀ଓ͢ΔαʔόʔΛʮެฏΛظ
    ͨ͢Ίʹ ŪŰ
    ʯ+BWBͰॻ͍͍ͯͨͷ͕͔ͬ͜Α͔ͬͨ😎
    w lੜ׆ൃදձzΛఏএͨ͠େߐށ3VCZձٞͰͷʮେߐށ
    )551ΫϥΠΞϯτֆרʯ͕lͲΜͳੜ׆ͳΜͩʜ😵💫zͱ
    ͍͏ѹרͷτʔΫ͔ͩΒΈΜͳ͋ͱͰݕࡧͯ͠
    w ͦͷੲɺҰੜͿΜͷProcess.forkΛॻ͍ͯsetup.rbΛಡ
    Έ·͘ΔϓϩδΣΫτΛϚωʔδ͍͖ͯͨͩ͠·ͨ͠😵
    ࢲ͸3VCZͷ໳Λ͙ͬͨ͘௚ޙͷࠒ͸38JLJͷϖʔδΛಡΈ;͚͍ͬͯͨͷͰɺ֏͞Μɺ
    ͳͻ͞Μɺਢ౻͞Μ͸ࢲʹͱͬͯ͸lಛڃ-FHFOEBSZ3VCZJTUTzͳͷͰͨ͠

    View Slide

  27. ߕԵ͚ͭ೉͍ྗ࡞ἧ͍ͷԠื͕ͨ͘͞Μू·ͬͨͷͰɺlArray#sampleͰબΜͰ΋Α͍ͷͰ͸ zͱఏҊ͚ͨ͠ͲɺͲ͏΍Β׆༻
    ͞Εͨͷ͸(PPHMFεϓγͷ3"/%ؔ਺ͩͬͨͦ͏Ͱ͢ʜ🥹 3VCZ,BJHJ5FBNͰ͸ʮ໎ͬͨΒArray#sampleʯ͕ఆ൪ūůŦƄ

    View Slide

  28. :VHVJ͞Μͱࢲ
    w ͨͿΜॳΊͯ௚઀͓ձ͍ͨ͠ͷ͸ॳظͷ3BJMTษڧձ
    ˏ౦ژͳͷ͔ͳʜ ʙ͋ͨΓ

    w ͍ͪ͹Μͷࢥ͍ग़͸:VHVJ͞ΜೖࠢͷʰॳΊͯͷ
    3VCZʱ🦒ͷδϡϯΫಊͰͷτʔΫηογϣϯͷ͓૬
    खʹࢦ໊͍͍ͯͨͩͨ͜͠ͱ ޫӫͰͨ͠☺

    w ͓࿩Λฉ͚Δͷ͸ٱͼ͞ͳͷͰָ͠ΈɻҰ࣌ظ
    3VCZ,BJHJͰ͸͓ݟ͔͚͠ͳ͔ͬͨ࣌ظ΋͚͋ͬͨ
    Ͳɺ·͓ͨ໨ʹ͔͔ΕΔΑ͏ʹͳͬͯ͏Ε͍͠Ͱ͢🥳
    ॻళ ͱ͍͏͔δϡϯΫಊॻళ஑ାຊళ'ͷ٤஡εϖʔε
    Ͱٕज़ॻͷτʔΫηογϣϯΛ
    ΍Δͱ͍͏ϧʔτΛ։୓ͨ͠ͷ͸ࢲͷ͸ͣʜ Ͱ΋࠷ॳʹ࣮૷ͨ͠ͷ͸ߴڮ͞Μ͔΋

    View Slide

  29. Ԟ͞Μͱࢲ
    w ţŠƄŘڃϋοΧʔͱ͸͋Μ·ΓབྷΜͩ͜ͱͳ͍͚Ͳ😂

    ͍ͭ΋μδϟϨπΠʔτɺָ͠Έʹͯ͠·͢

    w $07*%Ҏલͷ3VCZ,BJHJͷʮ3VCZ$PNNJUUFST
    WTUIF8PSMEʯͰ٬੮͔ΒΑ͘Ӷ͍࣭໰΍ఏҊ͞Ε͍ͯ
    ͯʮ͔͍͍ͬ͜ʙɺWTUIF8PSMEײʙʯͱউखʹ੝Γ
    ্͕͍ͬͯͨ☺
    w ౦ژ3VCZձٞ
    Ҏདྷͷ3VCZίϛϡχςΟ޲͚ొ
    ஃͳͷͰ͸ʜ ࿙ΕͯͨΒţŶŵŤƃ

    3VCZ,BJHJͷ࠙਌ձͷલʹͪΐͬͱ͕࣌ؒ͋ͬͯɺᷫԂͷఱԼҰ඼ͰฒΜͰͨΒͨ
    ·ͨ·લʹ͍ͨͷ͕Ԟ͞ΜͰͨ͠ɻͨͿΜͦͷͱ͖͕ॳΊͯͷ͝ѫࡰͰɺগ͓͠࿩͠Ͱ͖
    ͯʮţŖŰƅŖŰŕŜŖɺ΍͍͞͠ʙ🤗ʯͱ͍͏ࢥ͍ग़͕͋ͬͨ·ͨ3VCZ,BJHJ΋དྷ͍ͯͩ͘͞

    View Slide

  30. ·ͭ΋ͱ͞Μͱࢲ
    w 3VCZͷ༁ॻͰ͸͍ͭ΋ૉ੖͍͠ʮ೔ຊޠ൛·͕͖͑ʯΛ͋
    Γ͕ͱ͏͍͟͝·͢

    ۀ຿࿈བྷࠓճ΋ָ͠Έʹ͍ͯ͠·͢🙏

    w ͍·3VCZ,BJHJ͕ଘଓ͍ͯ͠Δͷ͸.BU[ͷ͓͔͛ͳͷͩ

    ৄ͘͠͸lΞϜείϩοέങऩࣄ݅<ݕࡧ>z

    w ͍ͭͧ΍ͷ3VCZ$POGͰ෦԰ʹύεϙʔτΛ๨Εͨ··ŧŐŕŞ
    ŗřŪۭͯ͠ߓʹண͍ͯ͠·ͬͨࡍɺ͋ͷͱ͖ۭߓ·Ͱ.BU[ʹ
    λΫγʔͰύεϙʔτΛಧ͚ͤͨ͞3VCZJTUͰ͢🕊😂

    lτϥϒϧରԠ͸ŠŠςϯγϣϯ͕ΞΨĊŠzΈ͍ͨͳ͜ͱݴͬͯ·ͨ͠ʜ

    ւ֎ͷΧϯϑΝϨϯεʹԟ࿏ɾ෮࿏Ͱ͝Ұॹ͢Δ͜ͱ͕Կ౓͔͋ͬͯʮ.BU[ͷಉߦऀͰ͢ʯΈ͍ͨͳπϥͯ͠ࠃࡍઢ
    τϥϯδοτͰϥ΢ϯδʹજೖͯ͠ແݶʹϏʔϧΛҿ·ͤͯ΋ΒͬͨΓɺ൩͝͸ΜΛޚ૬൐͍͍ͤͯͨͩͨ͞Γɺϗς
    ϧͷ޿ʑͱͨ͠LFZOPUFTQFBLFS༻TVJUFSPPNͰ"TBLVTBSCͷϛʔτΞοϓΛ։࠵ͤͯ͞΋ΒͬͨΓͨ͠ͳʜ✈ վ
    Ίͯจࣈྻʹ͢ΔͱׂͱϋνϟϝνϟͳབྷΈํΛ͍ͯ͠·͢Ͷʜ
    ͘Ε͙Ε΋͓਎ମʹؾΛ͚ͭͯɺ௕णͱൟӫΛ🖖

    View Slide

  31. Ҫ্͞Μͱࢲ
    w ೥ࠒɺlզ͕ࣾ͸͜Ε͔Β3VCZͰ࢓ࣄ͢Δͧ😤z
    ͱܾΊ͕ͨͲ͜ʹ3VCZͷ࢓ࣄ͕͋Δ͔Θ͔Βͣɺl/B$M
    ʹฉ͚͹͋Δ΍Ζʜzͱ҆қʹl3VCZͰ࢓ࣄ͕ʜ͍ͨ͠Μ
    Ͱ͢ʜzͱ͓ئ͍͠ʹ͍ͬͨΒɺ͓࢓ࣄ͍͚ͨͩ·ͨ͠☺
    w দߐͰ։࠵͞ΕΔ3VCZ8PSME$POGFSFODF͸ॳճͷ
    ೥ҎདྷJOQFSTPO։࠵͸օۈͳͷ͚ͩΕͲɺͳ͔ͥ
    ΫϩʔδϯͰಥવΠδΒΕΔ͜ͱ͕ଟ͍ ଟ͔ͬͨ


    😇ࠓ೔ͷΫϩʔδϯά΋ࢲ͸ʮ଴ػʯͯͨ͠΄͏͕ྑ͍ʜŕũŠŪ
    w 0447JTJPOࣾͳΔṖͷ৽૊৫ͷϏδϣϯ͕ŝŬūſ👀
    3VCZ,BJHJ΋͍͍͚Ͳ3VCZ8PSME$POGFSFODF͸8FCαΠτ΍഑৴Ͱ͸఻ΘΒͳ͍ಠಛͷຯΘ͍ དྷΕ͹ʜΘ͔Δʜ

    ͱɺࢁӄͷඒຯ͍͠ྉཧͱञͱԹઘͱਆ࿩ͱɺౡࠜͷӈଆͷௗऔʹਫ໦͛͠Δϩʔυ΍ٰ࠭ͰϚουϚοΫεͬ͜͝΋Ͱ
    ͖ΔͷͰɺΈΜͳߦ͘ͱ͍͍ͱࢥ͏ ࢲ͸ߦͧ͘ʙ
    ɻࠓ೥͸ਆ༗݄Ͱ͠ΐ͏͔🌞 ͦΕͱ΋ֈ༗݄Ͱ͠ΐ͏͔🦀

    View Slide

  32. https://rubykaigi.org/2023
    4VQFS&BSMZ#JSEͱεϙϯαʔϒʔε׬ച🏯🏔⛲

    ଞͷࢀՃొ࿥΍εϙϯαʔਃ͠ࠐΈ͸·ͩՄೳͰ͢🙏

    View Slide

  33. ʰݚᮎ3VCZϓϩάϥϛϯάʱങͬͯ͘ΕʙR
    3VCZ,BJHJͰ+FSFNZʹਖ਼ࣜ൛ͷॻ੶Λ౉͍ͨ͠💪

    View Slide

  34. View Slide

  35. View Slide

  36. SVCZUI

    View Slide

  37. ԿͰ΋͍͍ΑʂϋογϡλάΛ෇͚ͯπΠʔτͯ͠Έͯʂ

    View Slide

  38. View Slide