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
技術顧問という働き方
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Shinichi Maeshima
July 14, 2018
Programming
6.4k
13
Share
技術顧問という働き方
Rails Developers Meetup 2018 Day 3 Extreme で発表したスライドです
Shinichi Maeshima
July 14, 2018
More Decks by Shinichi Maeshima
See All by Shinichi Maeshima
メタプログラミングRuby問題集の活用
willnet
2
1.6k
rails g authenticationから学ぶRails8.0時代の認証
willnet
5
5k
What's a well-behaved Rails extension gem?
willnet
0
840
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
Other Decks in Programming
See All in Programming
PHPer、Cloudflare に引っ越す
suguruooki
1
140
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
300
Claude CodeでETLジョブ実行テストを自動化してみた
yoshikikasama
0
1.2k
Cache-moi si tu peux : patterns et pièges du cache en production - Devoxx France 2026 - Conférence
slecache
0
340
GitHubCopilotCLIをはじめよう.pdf
htkym
0
330
Surviving Black Friday: 329 billion requests with Falcon!
ioquatix
0
2.9k
書籍「ユーザーストーリーマッピング」が私のバイブル
asumikam
4
480
開発とはなにか、Essenceカーネルで見えるもの
ukin0k0
0
110
How We Benchmarked Quarkus: Patterns and anti-patterns
hollycummins
1
180
リセットCSSを1行消したらアクセシビリティが向上した話
pvcresin
4
500
The Less-Told Story of Socket Timeouts
coe401_
3
1.1k
過去のレビュー知見をSkillsで資産化した話
pkshadeck
PRO
1
1.7k
Featured
See All Featured
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
210
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
How STYLIGHT went responsive
nonsquared
100
6.1k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
290
Darren the Foodie - Storyboard
khoart
PRO
3
3.3k
Un-Boring Meetings
codingconduct
0
280
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
34
Paper Plane (Part 1)
katiecoart
PRO
0
7.3k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
780
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Transcript
ٕज़ސͱ͍͏ಇ ͖ํ @willnet
ࣗݾհ • લౡਅҰ aka @willnet or @netwillnet • ginza.rb ͔Βདྷ·ͨ͠
• https://github.com/willnet • https://twitter.com/netwillnet • https://blog.willnet.in
ϑϦʔϥϯεRails ٕज़ސΛͭͭ͠ɺ ۭ͍ͨ࣌ؒͰ savanna.ioͳͲΛ ։ൃ͍ͯ͠·͢
ࠓͷςʔϚ 2΄Ͳٕज़ސΛͨ͜͠ͱͰؾ͍ͮͨ͜ͱͱ ՝ʹ͍ͭͯ͠·͢
ٕज़తͳ·ͨ ࣍ճͷRailsDMͰ
ͱ͜ΖͰɺٕज़ސ ͬͯͦͦͳΜ ͳΜͰ͠ΐ͏Ͷ
ٕज़ސͷ3ଐੑ ͓͓·͔ʹ3ͭʹྨͰ͖ͦ͏ • ৫ͮ͘Γଐੑ • ϓϩμΫτ্࣭ଐੑ • ༗໊ଐੑ
৫ͮ͘Γଐੑ • ৫ͱنଇΛͲ͏ͬͯ࡞͍͔ͬͯ͘ʁ • ͩΕΛͲ͏ͬͯ࠾༻͢Δ͔ʁ • ΤϯδχΞΛͲ͏ͬͯධՁ͢Δ͔ʁ ͳͲʹ͍ͭͯɺ͜Ε·Ͱͷܦݧ͔ΒΞυόΠε͢ ΔɻCTOܦݧऀͳͲʹଟ͍
ϓϩμΫτ্࣭ଐੑ • ઃܭٕज़બఆͲ͏͢Δ͔ • ίʔυͷ࣭ΛͲ͏ͬͯ͋͛Δͷ͔ • ࣾڭҭΛͲ͏͢Δ͔ ٕज़ྗΛධՁ͞Ε͍ͯΔਓʹଟ͍
༗໊ଐੑ • ◦͞Μ͕ٕज़ސͰ͋Δɺͱ͍͏ࣄ࣮͚ͩͰࣾ ֎ʹΞϐʔϧͰ͖Δ • ◦͞ΜͱͤΔͱ͍͏རްੜ
͜ΕΒ3ͭͷ͏ͪ1ͭ͘͠ ෳͷଐੑΛ࣋ͭͷ͕ٕज़ސ (ͷͣ) • ৫ͮ͘Γଐੑ • ϓϩμΫτ্࣭ଐੑ • ༗໊ଐੑ
@willnet ͷ߹ ϓϩμΫτ্࣭ଐੑ͕ϝΠϯ
ͲΜͳͱ͜ΖͰͬͯΔͷ • ݱࡏ4͓ࣾख͍͍ͯ͠·͢ • ࣾһΤϯδχΞ1໊ͷͱ͜Ζ͔Β2,30ਓ͘Β͍ ͷͱ͜Ζ·Ͱ • ෛ࠴ΛݮΒ͍ͨ͠ͱ͔ෛ࠴ΛͨΊͨ͘ͳ͍ձࣾ ͕ଟ͍ •
͍͍ͩͨͷձࣾͰि1͘Β͍ग़ࣾ͢ΔΑ͏ʹ͠ ͍ͯ·͢
ఆ͞ΕΔ࣭ • Q. ίϯςΩετεΠονͭΒ͘ͳ͍Ͱ͔͢ʁ • A. ͭΒ͍Ͱ͢ • Q. Ͱͳͥ4ࣾͬͯΔΜͰ͔͢ʁ
• A. Ϗδωε্ͷཧ༝Ͱ͢ɻ͋ͱҰԠϝϦοτ ͋ΔΜͰ͢Α
ෳࣾΛ͓ख͍͢Δ͜ͱͰ ͷྑ͞ • ޭମݧΛԣల։Ͱ͖Δ • ෯͍ͷ͍͠՝ʹ৮ΕΔ͜ͱ͕Ͱ͖Δ
ग़ࣾͯ͠ͳʹͬͯΔͷ • ઃܭͷ૬ஊʹͷΔ • ίʔυϨϏϡʔ͢Δ • ίʔυॻ͘ • ϖΞϓϩ͢Δ •
ࣾษڧձओ࠵͢Δ • ొஃϒϩάدߘ͢Δ
ͭ·Γ࣌ؒͰޮ Ռ͕͋Γͦ͏ͳ͜ ͱͳΒͳΜͰΔ
ϝΠϯʮRailsͱ γεςϜ։ൃͷݟ Λڞ༗͢Δʯ
Ͳ͏͢ΔͱݟΛ ޮΑ͘ڞ༗Ͱ͖ Δ͔ʁΛߟ͑ͯ·͢
͍Ζ͍Ζࢼͯ͠Έͨ • ࣾಡॻձ • ϨϏϡʔ • طଘίʔυͷϦϑΝΫλϦϯά • ϖΞϓϩ
ࣾಡॻձ • ྠಡܗࣜ • Ұਓ͕͋ΔఔԻಡ • ΩϦͷ͍͍ͱ͜ΖͰࢭΊͯ͠߹͍ • ͕ऴΘͬͨΒ࣍ͷਓ͕Իಡ͢Δ
ྠಡͷϝϦοτʗσϝϦοτ • ༧श͕͍Βͳ͍ • (ि1։࠵ͳͷͰ)ຊʹΑͬͯલճಡΜͩ༰ ΛΕ͍ͯΔ
ݟΛ͑Δͱ͍͏؍Ͱ Ͳ͏͔ • ଟ͘ͷਓʹॻ੶Λ௨ͯ͡ݟͷγΣΞ͕Ͱ͖Δ • ࢀՃऀͷϨϕϧײ͕·ͪ·ͪͳͷͰɺࡐʹ ΑͬͯޮՌ͕ബ͍ਓ͕͍Δ • ࡐબͿͷେม •
ྠಡܗࣜͳͷ੍ʹͳΔͷ͚ͩͲ༧शલ ఏʹͮ͠Β͍
ϨϏϡʔ • ;ͭ͏ʹPRΛΈͯϨϏϡʔ • ͢Ͱʹmasterʹ͋ΔίʔυΛΈͯϦϑΝΫλ ϦϯάͷํΛࣔ͢ɺΈ͍ͨͳͷ͋Δ
ϨϏϡʔͷϝϦοτ • खܰʹݟΛ͑ΒΕΔ
ϨϏϡʔͷσϝϦοτ • 1ճͰͳ͔ͳ͔ΘΒͳ͍ • 3ճಉ͡ࢦఠΛͯ͠಄ʹೖͬͯ͜ͳ͍ɺΈ ͍ͨͳͷ͕͋Δ • ! γνϡΤʔγϣϯ͕มΘΔͱμϝͳͷ͔ ʁ
ϨϏϡʔͷσϝϦοτ • ίʔυͷࠩʹରͯ͠ίϝϯτΛ͢Δ߹্ɺ ઃܭʹ͍ͭͯίϝϯτͮ͠Β͍ͷ͕ • tipsΛ͑ΔɺΈ͍ͨͳ͜ͱ͕ଟ͍ • ʮલఏ͔Βߟ͑ͨ͠΄͏͕ྑ͍ͷͰʯ ͱ͍͏PR͕͋ΔͱͭΒ͍
ϦϑΝΫλϦϯά ·͍ͣίʔυΛಡΈ͘͢͢աఔΛڞ༗͢Δ͜ ͱͰɺ·͍ͣίʔυͷ࠶ੜ࢈Λ͙
ϦϑΝΫλϦϯάͷྑ͠ѱ͠ • (બͨ͠ࡐ͕ྑ͘ͳ͔ͬͨՄೳੑ͋Δͷ ͚ͩͲ)ޮՌ͕͍·͍ͪͩͬͨͱײ͍ͯ͡Δ • ϦϑΝΫλϦϯάͷ༰Λݟͤͯɺ࣍ճద༻ ͢ΔλΠϛϯά͕Θ͔Βͳ͍ • ϨϏϡʔͷͱ͖ͱಉ͡
ϨϏϡʔϦϑΝΫλϦϯά ΛͬͯΈͯ • ! ͑ͨݟΛ뱌͢Δ༨༟͕ແ͍ͷͰʁ • λεΫͷظݶʹΘΕͯ༨༟͕ͳ͘ɺࣗͷ ࣝΛ૿͢͜ͱʹ࿑ྗΛׂ͚ͳ͍ࣄ͕ଟ͍ • ۀ͕ͯ͘͠ษڧ͢Δ͕࣌ؒऔΕͳ͍݁Ռɺ
ۀ͕͍͠·· • ͪΖΜۀΛͪΌΜͱճ͢ͷେࣄ
ຊདྷ։ൃϑϩʔ ΛؚΊͨۀͷ͋ Γํ͔Βߟ͑͢ ඞཁ͕͋Δͷ͚ͩ Ͳ…
ϖΞϓϩ • ΤϯδχΞ͕୲͍ͯ͠ΔλεΫΛϖΞϓϩͰ ਐΊ͍ͯΔ • (ϨϏϡʔͳͲͱൺͯ)ݟΘͬͯΔײ͕͡ ͋Δ • ͍·໘͍ͯ͠ΔʹΞυόΠε͢Δͱ ڹ͘ͷͰ
• ҰʹͻͱΓ͔͠ݟΛ͑ΒΕͳ͍ͷܽ ͚ͩͲɺݱঢ়͜ΕҎ্ͷํ๏͕ͳ͍
͜͜·Ͱͷ·ͱΊ • ݟΛ͑Δͱ͍͏ҙຯͰϖΞϓϩ͕Ұ൪ख Ԡ͕͑͋ͬͨ • ۀϑϩʔ͕มΘΔͱҰ൪ޮՌ͕ߴ͍ͷ͚ͩ Ͳɺͦ͜Λม͍͑ͯ͘ͷ͍͠ʼʻ
ٕज़ސͱ͍͏৬ ۀʹ͍ͭͯͷॴײ
ٕज़ސۀͷϝϦοτ • ݸਓͰͨͩίʔυΛॻ͘ΑΓόϦϡʔΛग़ͤ ͍ͯΔײ͕͋͡Δ • !
ٕज़ސۀͷσϝϦοτ • ίʔυΛॻ͕࣌ؒ͘ݮΔ • ίϯςΩετεΠον͕͍ͨΜ • ݶΒΕͨ࣌ؒͰόϦϡʔग़͞ͳ͍ͱ͍͚ͳ͍ϓ Ϩογϟʔ
ٕज़ސͷधཁͱڙڅ • ӅΕͨधཁͨ͘͞Μ͋Δ(Α͏ʹײ͡Δ) • ݟແ͠ͰϨʔϧΛ౿Έ֎͍ͯ͠ΔϓϩδΣΫ τଟ͍ • தͷਓࢹͰͦΕ͕ී௨ • ॳظϕϯνϟʔʹҰਓސ͕͍Δͱɺޙʹ
େ͖͕ࠩ͘ग़Δͣ
ٕज़ސͷधཁͱ ڙڅ͕ͬͱ૿͑Δ ͱΈΜͳͨͷ͘͠ ։ൃͰ͖Δͣ
धཁͱڙڅͷ՝ • ٕज़ސۀͷ༰ͷ໊ͷ͞ • ٕज़ސΛඞཁͱ͍ͯ͠Δձࣾ΄Ͳɺٕज़ސ ͱͷͭͳ͕Γ͕ͳ͍
࣌ؒ༨ͬͨΒFAQ
Q. Ͳ͏ͨ͠Βٕज़ސʹͳΕ ·͔͢ʁ A. ʮ͜Ε͔Βٕज़ސۀΖ͏ͱࢥͬͯ·͢ʔʯ ͱपΓʹએݴ͓ͯ͘͠ͱհͯ͠Β͑Δ1 1 ͋͘·Ͱ@willnetͷ߹Ͱ͢
Q. Ͳ͏ͨ͠Βٕज़ސʹͳΕ ·͔͢ʁ • ͜ͷΓํͩͱʮΓ߹͍ͷ * Γ߹͍͕ࣗ Λސʹ͍͍ͯΔͱײ͍ͯ͡Δ߹͍ʯʹ ґଘ͢Δ •
ίʔυॻ͍ͯൃද͍͖ͯ͠·͠ΐ͏
(࠶ܝ)ٕज़ސͷध ཁͱڙڅ͕ͬͱ ૿͑ΔͱΈΜͳͨͷ ͘͠։ൃͰ͖Δ ͣ
ڵຯ͋Δਓ૬ஊ ͍ͩ͘͞