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
Shinichi Maeshima
July 14, 2018
Programming
13
6.4k
技術顧問という働き方
Rails Developers Meetup 2018 Day 3 Extreme で発表したスライドです
Shinichi Maeshima
July 14, 2018
Tweet
Share
More Decks by Shinichi Maeshima
See All by Shinichi Maeshima
メタプログラミングRuby問題集の活用
willnet
2
1.5k
rails g authenticationから学ぶRails8.0時代の認証
willnet
5
4.7k
What's a well-behaved Rails extension gem?
willnet
0
780
Sidekiq vs Solid Queue
willnet
14
14k
どうしてこうなった?から理解するActive Recordの関連の裏側
willnet
6
1.6k
Exceptional Rails
willnet
6
8.1k
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
AIに任せる範囲を安全に広げるためにやっていること
fukucheee
0
110
CSC307 Lecture 11
javiergs
PRO
0
590
Ruby x Terminal
a_matsuda
7
580
Claude Code、ちょっとした工夫で開発体験が変わる
tigertora7571
0
200
オブザーバビリティ駆動開発って実際どうなの?
yohfee
3
690
CDIの誤解しがちな仕様とその対処TIPS
futokiyo
0
170
Raku Raku Notion 20260128
hareyakayuruyaka
0
430
encoding/json/v2のUnmarshalはこう変わった:内部実装で見る設計改善
kurakura0916
0
310
RubyとGoでゼロから作る証券システム: 高信頼性が求められるシステムのコードの外側にある設計と運用のリアル
free_world21
0
210
コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions
handlename
0
160
Premier Disciplin for Micro Frontends Multi Version/ Framework Scenarios @OOP 2026, Munic
manfredsteyer
PRO
0
210
AI時代のソフトウェア開発でも「人が仕様を書く」から始めよう-医療IT現場での実践とこれから
koukimiura
0
130
Featured
See All Featured
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
80
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
620
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
96
WENDY [Excerpt]
tessaabrams
9
36k
KATA
mclloyd
PRO
35
15k
The Limits of Empathy - UXLibs8
cassininazir
1
240
Claude Code のすすめ
schroneko
67
220k
From π to Pie charts
rasagy
0
140
Building AI with AI
inesmontani
PRO
1
760
Raft: Consensus for Rubyists
vanstee
141
7.3k
Utilizing Notion as your number one productivity tool
mfonobong
4
240
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
60
51k
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. Ͳ͏ͨ͠Βٕज़ސʹͳΕ ·͔͢ʁ • ͜ͷΓํͩͱʮΓ߹͍ͷ * Γ߹͍͕ࣗ Λސʹ͍͍ͯΔͱײ͍ͯ͡Δ߹͍ʯʹ ґଘ͢Δ •
ίʔυॻ͍ͯൃද͍͖ͯ͠·͠ΐ͏
(࠶ܝ)ٕज़ސͷध ཁͱڙڅ͕ͬͱ ૿͑ΔͱΈΜͳͨͷ ͘͠։ൃͰ͖Δ ͣ
ڵຯ͋Δਓ૬ஊ ͍ͩ͘͞