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

Comment that actually works

Comment that actually works

https://icare.connpass.com/event/261601/

【iCARE Dev Meetup #36】Rejected CFP 供養会 2022
での発表資料です。

Masafumi Okura

November 16, 2022
Tweet

More Decks by Masafumi Okura

Other Decks in Programming

Transcript

  1. ಈ࡞͠ͳ͍ίϝϯτ͸ ͨͩͷίϝϯτͳͷͰ ಈ࡞͢ΔίϝϯτΛ࡞ͬͨ ʲiCARE Dev Meetup #36ʳRejected CFP ڙཆձ 2022

    OKURA Masafumi, 2022-11-16
  2. RubyKaigi

  3. ϓϩϙʔβϧ

  4. མͪͨʘ(^o^)ʗ

  5. ༨ஊ

  6. ϓϩϙʔβϧ͸ બͿଆ΋େม

  7. མͪΔʹѱ͍ Ͱ͸ͳ͍

  8. ؓ࿩ٳ୊

  9. ࣗݾ঺հ • ໊લɿେ૔խ࢙ʢ͓͓͘Β·͞;Έʣ • ॴଐɿϑϦʔϥϯε • ՝֎׆ಈɿKaigi on RailsɺAlbaɺGrow.rbͳͲ •

    झຯɿᘖᘣɺOSSɺొஃɺίϛϡχςΟࢀՃͳͲ
  10. ͓୊ɿಈ࡞͢ΔίϝϯτΛ࡞ͬͨ࿩ 1.ͳͥ࡞Ζ͏ͱࢥͬͨͷ͔ʁ 2.ͲͷΑ͏ʹ࣮૷ͨ͠ͷ͔ʁ 3.ΞΠσΞΛࢥ͍͖ͭɺ࣮ݱ͢Δ·Ͱ

  11. ಈ࡞͢Δίϝϯτ

  12. Xa https://github.com/ okuramasafumi/xa

  13. eXecutable annotation

  14. 1. ͳͥ࡞Ζ͏ͱ ࢥͬͨͷ͔

  15. ͦΕɺίϝϯτ ͡Όͳͯ͘΋ Α͘ͳ͍ʁ

  16. ྫɿ ʮ͜ͷΫϥεΛܧঝͨ͠ αϒΫϥε͸fooϝιουΛ ΦʔόʔϥΠυ͢Δ͜ͱʯ

  17. ίϝϯτ͕ ͋ͬͯ΋ ಡ·ΕΔͱ͸ ݶΒͳ͍

  18. ίϝϯτ಺ͷࢦࣔ ͸ಈ࡞͸͠ͳ͍

  19. ಈ࡞͢Δίϝϯτ ͱ͸ʁ

  20. DSLͱͯ͠ͷ ίϝϯτ

  21. Rubyͷදݱྗ ͳΒՄೳͰ͸ʁ

  22. 2. ͲͷΑ͏ʹ ࣮૷ͨ͠ͷ͔

  23. ΤσΟλ΁

  24. 3. ΞΠσΞΛ ࢥ͍͖ͭɺ ࣮ݱ͢Δ·Ͱ

  25. ΞΠσΞΛ࣮ݱ͢ΔͨΊͷώϯτ I.ࠣࡉͳಈػΛେ੾ʹ͢Δ II.ݴޠΛΑ͘ཧղ͢Δ III.࡞Γଓ͚Δ

  26. ⅰ. ࠣࡉͳಈػΛ େ੾ʹ͢Δ

  27. ࢥ͍͖ͭ

  28. ՗ཱͪ

  29. ࣗ෼ҰਓͰ͸ ͳ͍ͷ͔΋ʁ

  30. PoC (Proof of Concept)

  31. ਺࣌ؒͰ ࡞ͬͯΈΔ

  32. ⅱ. ݴޠΛΑ͘ ཧղ͢Δ

  33. ݴޠ͸࠷΋ جຊతͳπʔϧ

  34. XaʹඞཁͩͬͨRubyͷ஌ࣝ • ϒϩοΫͷத਎Λઐ༻ͷධՁΦϒδΣΫτͰinstance_eval͢Δ͜ͱ ͰɺͦͷΦϒδΣΫτͷதʹཁૉΛด͡ࠐΊΔ͜ͱ͕Ͱ͖Δ • ϝιουݺͼग़͠͸ׅހ͕লུͰ͖Δ • ฏจͬΆ͍ݟͨ໨΋࣮ݱͰ͖Δ • TracePointΛ࢖͑͹DSLͷ಺༰Λޙ͔ΒݕূͰ͖Δ

  35. Ruby͍͢͝

  36. ݴޠΛΑ͘ཧղ ͍ͯ͠ͳ͍ͱ ࡞Εͳ͍΋ͷ΋͋Δ

  37. ⅲ. ࡞Γଓ͚Δ

  38. Xa͸ࣗ෼͕࡞ͬͨ ͍͍ͩͨ7ݸ໨ ͘Β͍ͷgem

  39. ࡞͖ͬͯͨgemͷҰ෦ • YusoɿӡૹྉۚσʔλϕʔεɺॳΊͯ࡞͕ͬͨϝϯς͞Εͯͳ͍ • AlbaɿJSONγϦΞϥΠβɺ୅ද࡞ • rubocop-sensibleɿRuboCopͷطఆͷઃఆΛஔ͖׵͑Δ • necoɿίϚϯυύλʔϯͷ࣮૷ɺվमத •

    tiny_hooksɿίʔϧόοΫ࣮૷ɺActiveSupportΑΓ͔ͳΓ଎͍
  40. ౷Ұੑ͸ͳ͍

  41. ͋Ε͜Εࢼ͢

  42. ୅ද࡞ͷAlba͸ ଟ෼4ͭ໨ ͘Β͍ͷgem

  43. ࡞Γଓ͚Δ

  44. ·ͱΊ

  45. ΞΠσΞΛܗʹ ͢ΔͨΊʹඞཁͳ ΋ͷ

  46. ΞΠσΞͦͷ΋ͷ

  47. ٕज़

  48. ҙࢥ

  49. ΍ͬͯΈΑ͏ʂ

  50. Happy hacking!