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.2k
技術顧問という働き方
Rails Developers Meetup 2018 Day 3 Extreme で発表したスライドです
Shinichi Maeshima
July 14, 2018
Tweet
Share
More Decks by Shinichi Maeshima
See All by Shinichi Maeshima
Sidekiq vs Solid Queue
willnet
14
11k
どうしてこうなった?から理解するActive Recordの関連の裏側
willnet
6
1.4k
Exceptional Rails
willnet
6
7.4k
Breaking the Flaky Test Cycle
willnet
2
2.1k
mrskで広がるインフラの選択肢
willnet
1
1.1k
アプリケーションを長期にわたって無理なく運用するためのたったひとつの方法
willnet
2
2.1k
HotwireからDHHが考えるこれからのRailsとJSの付き合い方を知る
willnet
14
13k
Rails6.1で新しく入る機能について
willnet
12
16k
Concerns about Concerns
willnet
11
34k
Other Decks in Programming
See All in Programming
イベントソーシングとAIの親和性ー物語とLLMに理解できるデータ
tomohisa
1
150
型付け力を強化するための Hoogle のすゝめ / Boosting Your Type Mastery with Hoogle
guvalif
1
210
AIにコードを生成するコードを作らせて、再現性を担保しよう! / Let AI generate code to ensure reproducibility
yamachu
7
5.6k
External SecretsのさくらProvider初期実装を担当しています
logica0419
0
190
REST API設計の実践 – ベストプラクティスとその落とし穴
kentaroutakeda
2
230
生成AI時代のフルスタック開発
kenn
9
2k
医療系ソフトウェアのAI駆動開発
koukimiura
1
170
Feature Flag 自動お掃除のための TypeScript プログラム変換
azrsh
PRO
4
550
primeNumberでのRBS導入の現在 && RBS::Traceでinline RBSを拡充してみた
mnmandahalf
0
180
Cache Strategies with Redisson & Exposed
debop
0
120
SpringBootにおけるオブザーバビリティのなにか
irof
1
850
鯛変だったRubyKaigi 2025 ── それでも楽しかった!
pndcat
0
130
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
1
56
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
The Cost Of JavaScript in 2023
addyosmani
49
7.9k
Gamification - CAS2011
davidbonilla
81
5.3k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.2k
The World Runs on Bad Software
bkeepers
PRO
68
11k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
5
640
RailsConf 2023
tenderlove
30
1.1k
Balancing Empowerment & Direction
lara
0
70
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Into the Great Unknown - MozCon
thekraken
38
1.8k
Documentation Writing (for coders)
carmenintech
71
4.8k
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. Ͳ͏ͨ͠Βٕज़ސʹͳΕ ·͔͢ʁ • ͜ͷΓํͩͱʮΓ߹͍ͷ * Γ߹͍͕ࣗ Λސʹ͍͍ͯΔͱײ͍ͯ͡Δ߹͍ʯʹ ґଘ͢Δ •
ίʔυॻ͍ͯൃද͍͖ͯ͠·͠ΐ͏
(࠶ܝ)ٕज़ސͷध ཁͱڙڅ͕ͬͱ ૿͑ΔͱΈΜͳͨͷ ͘͠։ൃͰ͖Δ ͣ
ڵຯ͋Δਓ૬ஊ ͍ͩ͘͞