Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
What's a well-behaved Rails extension gem?
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Shinichi Maeshima
September 06, 2025
Technology
840
0
Share
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
メタプログラミングRuby問題集の活用
willnet
2
1.6k
rails g authenticationから学ぶRails8.0時代の認証
willnet
5
5k
Sidekiq vs Solid Queue
willnet
15
14k
どうしてこうなった?から理解するActive Recordの関連の裏側
willnet
6
1.6k
Exceptional Rails
willnet
6
8.2k
Breaking the Flaky Test Cycle
willnet
2
2.4k
mrskで広がるインフラの選択肢
willnet
1
1.2k
アプリケーションを長期にわたって無理なく運用するためのたったひとつの方法
willnet
2
2.3k
HotwireからDHHが考えるこれからのRailsとJSの付き合い方を知る
willnet
14
14k
Other Decks in Technology
See All in Technology
AIAgentと取り組むKaggle
508shuto
2
360
20260516_SecJAWS_Days
takuyay0ne
2
500
実例から学ぶ GuardDuty(SSH BruteForce)調査の全体フローと勘所【SecurityJAWS】
cscengineer
PRO
0
120
2026-05-14 要件定義からソース管理まで!IBM Bob基礎ハンズオン
yutanonaka
0
170
そのSLO 99.9%、本当に必要ですか? 〜優先度付きSLOによる責任共有の設計思想〜 / Is that 99.9% SLO really necessary? Design philosophy of shared responsibility through prioritized SLOs
vtryo
0
830
業務に残された「良くない型」で考える「TypeScriptの難しさ」
sajikix
2
500
インプロセスQAのための要因から捉えるプロジェクトリスクマネジメントnano #1 開発リソース効率状態への対処 #jasstnano
barus_qa
0
190
AsyncStreamでマルチブロードキャストを実装する
1mash0
1
150
AIのために、AIを使った、Effect-TSからの脱却 〜テストを活用した安全なリファクタリングの進め方〜
bitkey
PRO
0
120
既存プロダクトQAから新規プロダクトQAへ
ryotakahashi
0
160
エムスリーテクノロジーズ株式会社 エンジニア向け紹介資料 / M3 Technologies Company Deck
m3_engineering
0
190
セキュリティ対策、何からはじめる? CloudNative環境の脅威モデリングと リスク評価実践入門 #cloudnativekaigi
varu3
5
1k
Featured
See All Featured
WENDY [Excerpt]
tessaabrams
10
37k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
10k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
260
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Code Review Best Practice
trishagee
74
20k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
120
Scaling GitHub
holman
464
140k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
A Tale of Four Properties
chriscoyier
163
24k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
200
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
910
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
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