Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Comment that actually works
Search
Masafumi Okura
November 16, 2022
Programming
1
170
Comment that actually works
https://icare.connpass.com/event/261601/
【iCARE Dev Meetup #36】Rejected CFP 供養会 2022
での発表資料です。
Masafumi Okura
November 16, 2022
Tweet
Share
More Decks by Masafumi Okura
See All by Masafumi Okura
Developing static sites with Ruby
okuramasafumi
0
310
Why doesn't Ruby have Boolean class - final version
okuramasafumi
0
350
Reading Rails 1.0 Source Code
okuramasafumi
0
320
RDoc meets YARD
okuramasafumi
4
190
Why doesn't Ruby have Boolean class?
okuramasafumi
0
32
My KaigiEffect at RubyKaigi 2025, part 1
okuramasafumi
1
79
Writing documentation can be fun with plugin system
okuramasafumi
0
230
Alba: Why, How and What's So Interesting
okuramasafumi
0
450
Why did my proposals get rejected?
okuramasafumi
1
790
Other Decks in Programming
See All in Programming
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
210
S3 VectorsとStrands Agentsを利用したAgentic RAGシステムの構築
tosuri13
6
360
TUIライブラリつくってみた / i-just-make-TUI-library
kazto
1
400
非同期処理の迷宮を抜ける: 初学者がつまづく構造的な原因
pd1xx
1
740
Github Copilotのチャット履歴ビューワーを作りました~WPF、dotnet10もあるよ~ #clrh111
katsuyuzu
0
120
AIコーディングエージェント(Gemini)
kondai24
0
250
Rediscover the Console - SymfonyCon Amsterdam 2025
chalasr
2
180
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
230
宅宅自以為的浪漫:跟 AI 一起為自己辦的研討會寫一個售票系統
eddie
0
510
複数人でのCLI/Infrastructure as Codeの暮らしを良くする
shmokmt
5
2.3k
SwiftUIで本格音ゲー実装してみた
hypebeans
0
450
LT資料
t3tra
6
970
Featured
See All Featured
KATA
mclloyd
PRO
33
15k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
87
Site-Speed That Sticks
csswizardry
13
1k
Ruling the World: When Life Gets Gamed
codingconduct
0
92
Measuring & Analyzing Core Web Vitals
bluesmoon
9
710
Faster Mobile Websites
deanohume
310
31k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
120
Designing Powerful Visuals for Engaging Learning
tmiket
0
180
Visualization
eitanlees
150
16k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
How STYLIGHT went responsive
nonsquared
100
6k
Transcript
ಈ࡞͠ͳ͍ίϝϯτ ͨͩͷίϝϯτͳͷͰ ಈ࡞͢ΔίϝϯτΛ࡞ͬͨ ʲiCARE Dev Meetup #36ʳRejected CFP ڙཆձ 2022
OKURA Masafumi, 2022-11-16
RubyKaigi
ϓϩϙʔβϧ
མͪͨʘ(^o^)ʗ
༨ஊ
ϓϩϙʔβϧ બͿଆେม
མͪΔʹѱ͍ Ͱͳ͍
ؓٳ
ࣗݾհ • ໊લɿେխ࢙ʢ͓͓͘Β·͞;Έʣ • ॴଐɿϑϦʔϥϯε • ՝֎׆ಈɿKaigi on RailsɺAlbaɺGrow.rbͳͲ •
झຯɿᘖᘣɺOSSɺొஃɺίϛϡχςΟࢀՃͳͲ
͓ɿಈ࡞͢ΔίϝϯτΛ࡞ͬͨ 1.ͳͥ࡞Ζ͏ͱࢥͬͨͷ͔ʁ 2.ͲͷΑ͏ʹ࣮ͨ͠ͷ͔ʁ 3.ΞΠσΞΛࢥ͍͖ͭɺ࣮ݱ͢Δ·Ͱ
ಈ࡞͢Δίϝϯτ
Xa https://github.com/ okuramasafumi/xa
eXecutable annotation
1. ͳͥ࡞Ζ͏ͱ ࢥͬͨͷ͔
ͦΕɺίϝϯτ ͡Όͳͯ͘ Α͘ͳ͍ʁ
ྫɿ ʮ͜ͷΫϥεΛܧঝͨ͠ αϒΫϥεfooϝιουΛ ΦʔόʔϥΠυ͢Δ͜ͱʯ
ίϝϯτ͕ ͋ͬͯ ಡ·ΕΔͱ ݶΒͳ͍
ίϝϯτͷࢦࣔ ಈ࡞͠ͳ͍
ಈ࡞͢Δίϝϯτ ͱʁ
DSLͱͯ͠ͷ ίϝϯτ
Rubyͷදݱྗ ͳΒՄೳͰʁ
2. ͲͷΑ͏ʹ ࣮ͨ͠ͷ͔
ΤσΟλ
3. ΞΠσΞΛ ࢥ͍͖ͭɺ ࣮ݱ͢Δ·Ͱ
ΞΠσΞΛ࣮ݱ͢ΔͨΊͷώϯτ I.ࠣࡉͳಈػΛେʹ͢Δ II.ݴޠΛΑ͘ཧղ͢Δ III.࡞Γଓ͚Δ
ⅰ. ࠣࡉͳಈػΛ େʹ͢Δ
ࢥ͍͖ͭ
ཱͪ
ࣗҰਓͰ ͳ͍ͷ͔ʁ
PoC (Proof of Concept)
࣌ؒͰ ࡞ͬͯΈΔ
ⅱ. ݴޠΛΑ͘ ཧղ͢Δ
ݴޠ࠷ جຊతͳπʔϧ
XaʹඞཁͩͬͨRubyͷࣝ • ϒϩοΫͷதΛઐ༻ͷධՁΦϒδΣΫτͰinstance_eval͢Δ͜ͱ ͰɺͦͷΦϒδΣΫτͷதʹཁૉΛด͡ࠐΊΔ͜ͱ͕Ͱ͖Δ • ϝιουݺͼग़ׅ͠ހ͕লུͰ͖Δ • ฏจͬΆ͍ݟ࣮ͨݱͰ͖Δ • TracePointΛ͑DSLͷ༰Λޙ͔ΒݕূͰ͖Δ
Ruby͍͢͝
ݴޠΛΑ͘ཧղ ͍ͯ͠ͳ͍ͱ ࡞Εͳ͍ͷ͋Δ
ⅲ. ࡞Γଓ͚Δ
Xa͕ࣗ࡞ͬͨ ͍͍ͩͨ7ݸ ͘Β͍ͷgem
࡞͖ͬͯͨgemͷҰ෦ • YusoɿӡૹྉۚσʔλϕʔεɺॳΊͯ࡞͕ͬͨϝϯς͞Εͯͳ͍ • AlbaɿJSONγϦΞϥΠβɺද࡞ • rubocop-sensibleɿRuboCopͷطఆͷઃఆΛஔ͖͑Δ • necoɿίϚϯυύλʔϯͷ࣮ɺվमத •
tiny_hooksɿίʔϧόοΫ࣮ɺActiveSupportΑΓ͔ͳΓ͍
౷Ұੑͳ͍
͋Ε͜Εࢼ͢
ද࡞ͷAlba ଟ4ͭ ͘Β͍ͷgem
࡞Γଓ͚Δ
·ͱΊ
ΞΠσΞΛܗʹ ͢ΔͨΊʹඞཁͳ ͷ
ΞΠσΞͦͷͷ
ٕज़
ҙࢥ
ͬͯΈΑ͏ʂ
Happy hacking!