Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
What's a well-behaved Rails extension gem?
Search
Shinichi Maeshima
September 06, 2025
Technology
970
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
What's a well-behaved Rails extension gem?
ながらRuby会議01
https://regional.rubykaigi.org/nagara01/
でのスポンサーLT資料です
Shinichi Maeshima
September 06, 2025
More Decks by Shinichi Maeshima
See All by Shinichi Maeshima
How to Design Configuration for Rails Applications
willnet
1
680
wkhtmltopdfの次どうするか問題2026
willnet
2
1.9k
メタプログラミングRuby問題集の活用
willnet
2
2k
rails g authenticationから学ぶRails8.0時代の認証
willnet
5
5.9k
Sidekiq vs Solid Queue
willnet
15
15k
どうしてこうなった?から理解するActive Recordの関連の裏側
willnet
6
1.7k
Exceptional Rails
willnet
6
8.5k
Breaking the Flaky Test Cycle
willnet
2
2.6k
mrskで広がるインフラの選択肢
willnet
1
1.3k
Other Decks in Technology
See All in Technology
ハードウェアコンペでもAI駆動開発が進んでいる話
iotengineer22
1
720
NDIでApple Vision Proにリアルタイム映像送信
jyouryuusui
0
110
AIは「聞けば答える」から「任せると自分で進める」へ - JACTIMペナン地域部会・ペナン三水会講演
knishioka
0
110
事業活動を AI Ready にする攻めと守りのデータエンジニアリング / data-engineering-for-ai-ready-business
pei0804
7
2.8k
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
4
1.1k
宣言型部分更新は何を解決しどこへ向かうのか
shuta13
1
420
スプシの手作業からの解脱 ~更新はClaude Codeに、見せ方と使い方はGASアプリに任せる~
kentarofujii
0
140
その Valkey 使いこなしていますか?
onk
PRO
5
1.2k
Snapshot Testing in Practice: Predictable and Reliable SwiftUI Views
fespinoza
0
220
分析AIエージェントを育てる、動く環境を育てる
codatum
1
1.1k
アウトプット初心者、半年間のふりかえり
4o1sobblue
0
400
Classmethod Company Deck
satoshi7
1
520
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
310
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
570
Bash Introduction
62gerente
615
220k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
540
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.9k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
480
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5.2k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
280
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