Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
What's a well-behaved Rails extension gem?
Search
Shinichi Maeshima
September 06, 2025
Technology
0
710
What's a well-behaved Rails extension gem?
ながらRuby会議01
https://regional.rubykaigi.org/nagara01/
でのスポンサーLT資料です
Shinichi Maeshima
September 06, 2025
Tweet
Share
More Decks by Shinichi Maeshima
See All by Shinichi Maeshima
メタプログラミングRuby問題集の活用
willnet
2
1.3k
rails g authenticationから学ぶRails8.0時代の認証
willnet
5
4.2k
Sidekiq vs Solid Queue
willnet
14
13k
どうしてこうなった?から理解するActive Recordの関連の裏側
willnet
6
1.6k
Exceptional Rails
willnet
6
8k
Breaking the Flaky Test Cycle
willnet
2
2.3k
mrskで広がるインフラの選択肢
willnet
1
1.1k
アプリケーションを長期にわたって無理なく運用するためのたったひとつの方法
willnet
2
2.2k
HotwireからDHHが考えるこれからのRailsとJSの付き合い方を知る
willnet
14
14k
Other Decks in Technology
See All in Technology
Lookerで実現するセキュアな外部データ提供
zozotech
PRO
0
200
Bedrock AgentCore Memoryの新機能 (Episode) を試してみた / try Bedrock AgentCore Memory Episodic functionarity
hoshi7_n
2
1.8k
子育てで想像してなかった「見えないダメージ」 / Unforeseen "hidden burdens" of raising children.
pauli
2
320
Oracle Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
1
400
MySQLとPostgreSQLのコレーション / Collation of MySQL and PostgreSQL
tmtms
1
1.2k
[Neurogica] 採用ポジション/ Recruitment Position
neurogica
1
110
日本の AI 開発と世界の潮流 / GenAI Development in Japan
hariby
1
370
フィッシュボウルのやり方 / How to do a fishbowl
pauli
2
370
さくらのクラウド開発ふりかえり2025
kazeburo
2
1k
Knowledge Work の AI Backend
kworkdev
PRO
0
210
【開発を止めるな】機能追加と並行して進めるアーキテクチャ改善/Keep Shipping: Architecture Improvements Without Pausing Dev
bitkey
PRO
1
120
ハッカソンから社内プロダクトへ AIエージェント ko☆shi 開発で学んだ4つの重要要素
leveragestech
0
110
Featured
See All Featured
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.1k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
140
Optimizing for Happiness
mojombo
379
70k
Designing for Timeless Needs
cassininazir
0
93
ラッコキーワード サービス紹介資料
rakko
0
1.8M
30 Presentation Tips
portentint
PRO
1
170
Being A Developer After 40
akosma
91
590k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
16
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
750
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
51
43k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
410
Transcript
© SmartHR, Inc. 1 8IBUTBXFMMCFIBWFE3BJMTFYUFOTJPOHFN ͳ͕Β3VCZձٞεϙϯαʔ-5 લౡਅҰ !XJMMOFU 4NBSU)3ٕज़ސ
2025/09/06
͜ͷൃදͷ༰ w ͳ͕Β3VCZձٞͷϓϩϙʔβϧʹग़ ͨ͠ͷͷ͋͑ͳ͘མબͨ͠༰Ͱ͢ w 4NBSU)3ࣾͷεϙϯαʔ-5ΛΘͤ ͍͍ͯͨͩͯॖ൛Λ͠·͢ 2
લౡਅҰ !XJMMOFU ࣗݾհ גࣜձࣾ4NBSU)3Λ͡Ίͱͯ͠ෳࣾͰ ٕज़ސΛͯ͠·͢ ࠓ4NBSU)3ͷࢠΛඃ͍ͬͯ·͢ύʔ ΧʔΛண͍ͯ·͢
4NBSU)3ͰΤϯ δχΞΛืू͍ͯ͠ ·͢ʂʂʂʂʂʂ 4
ϑϧϦϞʔτϫʔΫ ͳͷͰذෞ͔ΒͰ ࣄͰ͖·͢ʂʂʂ 5
4NBSU)3ͷݸਓతͳΦε εϝϙΠϯτͪΌΜͱ͠ ͯΔͱ͜ΖͰ͢ ྫࣾ -5ձΛۀ࣌ؒதʹΔ 6
ͪΐͬͱฉ͍ͯΈ͍ͨͳʙ ͱ͍͏ͻͱ4NBSU)3ύʔ Χʔண͍ͯΔͻͱʹؾܰʹ ͔͚͍ͯͩ͘͠͞ʂʂʂ 7
None
ࠓ3BJMTΛ֦ு͢ΔHFN͕कΔ ͖͓࡞๏ʹ͍ͭͯ͠·͢
͓࡞๏ͬͯͳʹʁ ʮ3BJMTͷίϯϙʔωϯτ FY "DUJPO$POUSPMMFS#BTF Λ֦ு͢Δ ͱ͖ʹ"DUJWF4VQQPSUPO@MPBEΛ ར༻ͯ͠Ԇ࣮ߦ͢͠ʯ 10
ͭ·Γ 11
"DUJWF4VQQPSUPO@MPBEͱ w Ҿͷίϯϙʔωϯτ FY "DUJPO$POUSPMMFS#BTF ͕ϩʔυ͞ΕΔλΠ ϛϯά·ͰॲཧΛԆͤ͞Δϝιου w ରίϯϙʔωϯτ͕ಡΈࠐ·ΕͨޙͰ "DUJWF4VQQPSUPO@MPBEΛ࣮ߦͨ͠Βϒϩο
Ϋଈ࣮ߦ͞ΕΔ 12
ͳͥ"DUJWF4VQQPSUPO@MPBEΛ࣮ߦ͠ͳ ͚Ε͍͚ͳ͍ͷ͔ʁ ͓࡞๏௨Γॻ͔ͳ͍ͱద༻ͨͭ͠ Γͷઃఆ͕༗ޮʹͳΒͳ͍͔͠Ε ͳ͍ 13
લఏ3BJMTBQQMJDBUJPODPOGJHͷઃఆ ΰʔϧ͡Όͳ͍ w 3BJMTBQQMJDBUJPODPOGJHͷઃఆΛ֤ίϯϙʔω ϯτͷઃఆʹө͢Δ͜ͱͰॳΊͯద༻͞ΕΔ w 3BJMT SBJMUJFT ͋͘·Ͱ֤ίϯϙʔωϯτΛͭ ͳ͛ΔׂͰ͋Γɺίϯϙʔωϯτࣗମಠཱ
͍ͯ͠Δ w 3BJMTͷॳظԽ࣌ʹઃఆͷөͷొ͕ߦΘΕΔ 14
ίʔυྫ 15
ॳظԽॲཧͷॱ൪ DPOGJHBQQMJDBUJPOSC ֤ίϯϙʔωϯτͷઃఆө DPOGJHJOJUJBMJ[FST SC 16
લఏઃఆͷө֤ίϯϙʔωϯτ ΛԆϩʔυ͢ΔલఏͰ࡞ΒΕ͍ͯΔ w "DUJWF4VQQPSUPO@MPBEͰίϯϙʔωϯτ͕ ϩʔυ͞ΕͨλΠϛϯάʹҰؾʹઃఆΛద ༻͢Δߏʹͳ͍ͬͯΔ w ίϯϙʔωϯτͷϩʔυλΠϛϯά3BJMT ॳظԽ͕Ұ௨ΓऴΘͬͨޙΛఆ͍ͯ͠Δ 17
͜͜Ͱ͕Δ 3BJMTΛ֦ு͢ΔHFN͕࣍ͷΑ͏ʹ "DUJPO$POUSPMMFS#BTF ΛԆϩʔυ͠ͳ͍ͱʜʁ 18
DPOGJHJOJUJBMJ[FST SC࣮ߦલʹ֤ ίϯϙʔωϯτͷઃఆ͕ө͞ΕΔ DPOGJHBQQMJDBUJPOSC ֤ίϯϙʔωϯτͷઃఆө DPOGJHJOJUJBMJ[FST SC
͜͜Ͱ DPOGJHBDUJPO@DPOUSPMMFSBMMPX@EFQSFDBUFE@ QBSBNFUFST@IBTI@FRVBMJUZͳͲΛઃఆͯ͠ ৼΔ͍มΘΒͳ͍ 19
DPOGJHJOJUJBMJ[FST SCSBJMTΛΞοϓάϨʔ υ͢Δͱ͖ʹΑ͘ΘΕΔ CJOSBJMTBQQVQEBUFͱ͢Δͱ DPOGJHJOJUJBMJ[FST OFX@GSBNFXPSL@EFGBVMUT@9@:SCͳϑΝΠ ϧ͕࡞ΒΕͯɺஈ֊తʹ৽͍͠3BJMTͷσ ϑΥϧτઃఆʹΓସ͑ͯ͘͘͢͠ΕΔ 20
͔͓͠͠࡞๏ʹଇ͍ͬͯͳ͍HFNΛ͍ͬͯΔͱ ઃఆ͕ͨͣ͠Ͱ͖ͯͳ͍ɺͳΜ ͰʁͱͳΔ 21
͕͍ࣗͬͯΔ3BJMTΞϓϦέʔγϣϯʹ͓࡞๏ʹ ଇ͍ͬͯͳ͍HFN͕͋Δ͔Ͳ͏͔Λผ͢Δͷ͍͠ (FNGJMFMPDLΛݟΔͱݸҎ্ͷ HFNΛ͍ͬͯΔͳΜͯβϥ 22
ͦ͜Ͱࣗಈݕग़Ͱ͖ΔHFNΛ࡞Γ·ͨ͠ XJMMOFUBOUJ@NBOOFS@LJDL@DPVSTF 23
͍ํ w (FNGJMFͷҰ൪্ʹHFNlB OUJ@NBOOFS@LJDL@DPVSTFzΛՃ w SVCPDPQͷ#VOEMFS0SEFSFE(FNTDPQ͕ ༗ޮͳͱ͖ʹҰ൪্ʹདྷΔΑ͏ʹ໊લ Λ͍ͯ͠·͢ w "/5*@."//&3SBJMTCPPUΛ࣮ߦ͢Δ
24
3BJMTΛ֦ு͢ΔHFN։ൃऀ͕͓࡞๏ʹ४͡ ͍ͯΔ͔ςετ͢Δํ๏༻ҙ͍ͯ͠·͢ 25
͓࡞๏ʹ४͍ͯ͡ͳ͍HFNΛݟ͚ͭ ͨΒ0,Ͱͳ͍ HFNଆΛ͞ͳ͍ͱ͍͚ͳ͍ 26
ݸਓతʹͰ͖ΔൣғͰͬͯ·͢ w 13ҰൃͰͲ͏ʹ͔ͳΒͳ͍͜ͱଟ͍ͷͰಓʹͬͯ·͢ w TFFEGVHFNެࣜͤͳ͔ͬͨͷͰGPSLͨ͠IUUQT HJUIVCDPNXJMMOFUTFFEEP w IFBMUI@DIFDLHFN$*Λ͍ͯ͠·͢IUUQTHJUIVCDPN 1VSQMF%FWTIFBMUI@DIFDLQVMM w
TPSDFSZHFNϝϯςφʹͳͬͯվળதIUUQTHJUIVCDPN 4PSDFSZTPSDFSZ 27
ؒΛืू͍ͯ͠·͢ ࣗͷ୲ϓϩδΣΫτͰB OUJNBOOFS@LJDL@DPVSTFΛ࣮ߦ͢Δ ͓࡞๏ʹଇ͍ͬͯͳ͍HFN͕͋ͬͨΒί ϯτϦϏϡʔτ͢Δʂ 28
None