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.4k
What's a well-behaved Rails extension gem?
willnet
0
740
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.2k
アプリケーションを長期にわたって無理なく運用するためのたったひとつの方法
willnet
2
2.3k
Other Decks in Programming
See All in Programming
フロントエンド開発の勘所 -複数事業を経験して見えた判断軸の違い-
heimusu
7
2.7k
AI によるインシデント初動調査の自動化を行う AI インシデントコマンダーを作った話
azukiazusa1
1
610
Python札幌 LT資料
t3tra
7
1.1k
[KNOTS 2026登壇資料]AIで拡張‧交差する プロダクト開発のプロセス および携わるメンバーの役割
hisatake
0
190
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
160
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
2.2k
ゆくKotlin くるRust
exoego
1
220
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
6
1.7k
SourceGeneratorのススメ
htkym
0
170
AI 駆動開発ライフサイクル(AI-DLC):ソフトウェアエンジニアリングの再構築 / AI-DLC Introduction
kanamasa
11
6.1k
Fluid Templating in TYPO3 14
s2b
0
120
2年のAppleウォレットパス開発の振り返り
muno92
PRO
0
190
Featured
See All Featured
It's Worth the Effort
3n
188
29k
Between Models and Reality
mayunak
1
180
Bash Introduction
62gerente
615
210k
BBQ
matthewcrist
89
10k
SEO for Brand Visibility & Recognition
aleyda
0
4.2k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Thoughts on Productivity
jonyablonski
74
5k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
130
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.2k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
440
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. Ͳ͏ͨ͠Βٕज़ސʹͳΕ ·͔͢ʁ • ͜ͷΓํͩͱʮΓ߹͍ͷ * Γ߹͍͕ࣗ Λސʹ͍͍ͯΔͱײ͍ͯ͡Δ߹͍ʯʹ ґଘ͢Δ •
ίʔυॻ͍ͯൃද͍͖ͯ͠·͠ΐ͏
(࠶ܝ)ٕज़ސͷध ཁͱڙڅ͕ͬͱ ૿͑ΔͱΈΜͳͨͷ ͘͠։ൃͰ͖Δ ͣ
ڵຯ͋Δਓ૬ஊ ͍ͩ͘͞