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
One Enishi After Another
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Koji SHIMADA
PRO
October 18, 2025
Programming
310
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
One Enishi After Another
Rails Girls Sapporo 2ndでの発表資料です
https://railsgirls.com/sapporo-2nd.html
Koji SHIMADA
PRO
October 18, 2025
More Decks by Koji SHIMADA
See All by Koji SHIMADA
ソフトウェアアーキテクトのための意思決定術: Create Decision Readiness—The Real Skill Behind Architectural Decision
snoozer05
PRO
35
12k
日本Rubyの会: これまでとこれから
snoozer05
PRO
6
360
Rubyist入門: The Way to The Timeless Way of Programming
snoozer05
PRO
8
690
ソフトウェアアーキテクトのための意思決定術: Software Architecture and Decision-Making
snoozer05
PRO
26
8.7k
WHOLENESS, REPAIRING, AND TO HAVE FUN: 全体性、修復、そして楽しむこと
snoozer05
PRO
10
25k
スタッフエンジニアの道: The Staff Engineer’s Path
snoozer05
PRO
55
21k
ソフトウェアアーキテクチャメトリクスの基礎: Software architecture metrics in a nutshell
snoozer05
PRO
35
15k
これから学ぶ人のための ソフトウェアアーキテクチャ入門: Software architecture is a tool to enhance our humanity
snoozer05
PRO
44
28k
ソフトウェアアーキテクチャ・ ハードパーツ: Software Architecture The Hard Parts
snoozer05
PRO
12
6.5k
Other Decks in Programming
See All in Programming
技術的負債解消で開発者の未来を開く- AIの力でコード刷新
kmd2kmd
0
110
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
410
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
210
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
160
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
710
Make SRE Operations Easier with Azure SRE Agent
kkamegawa
0
6.8k
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
5.3k
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.7k
Strategic Design in the Frontend: Moduliths & Micro Frontends @DDDEurope
manfredsteyer
PRO
0
110
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
550
AIだと陥りがちなJakarta EE最新技術への移行時の落とし穴と解決策
tnagao7
0
110
A2UI という光を覗いてみる
satohjohn
1
140
Featured
See All Featured
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
160
Building Flexible Design Systems
yeseniaperezcruz
330
40k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
What's in a price? How to price your products and services
michaelherold
247
13k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
200
Documentation Writing (for coders)
carmenintech
77
5.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
150
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
530
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
170
Transcript
ONE ENISHI AFTER ANOTHER ౡాߒೋ !TOPP[FS 4BU 3BJMT(JSMT4BQQPSPOE
ౡాߒೋ!TOPP[FS
from Sapporo, with love for Ruby.
Vision IT Systems Teams Organization Management Execution Management Business Process
Talent Development ENISHI TECH INC.
Ruby no Kai
None
None
Ͳ͏ͧΑΖ͓͘͠ئ͍͠·͢
ONE ENISHI AFTER ANOTHER ౡాߒೋ !TOPP[FS 4BU 3BJMT(JSMT4BQQPSPOE
ONE ENISHI AFTER ANOTHER ౡాߒೋ !TOPP[FS 4BU 3BJMT(JSMT4BQQPSPOE
ԑ ͑ʹ͠
ԑى ͑Μ͗
ԑ͋ΔҼՌʢݪҼͱ݁Ռʣͷ࿈ʹɺผͷҼՌͷ࿈͕ۮવʹೖΓࠐΈɺ৮͢Δ͜ͱ ىԑ͕ͦΕͧΕͷҼՌʹԿΒ͔ͷӨڹΛՃ͑ɺ୯ಠͰਐߦͨ͠߹ͱҟͳΔ݁Ռ͕ੜ͡Δ͜ͱ ࢁ㟒ल༤ʰᣭͷܦӦɿԑ͔ΒىΛੜΉਓͮ͘Γɾͮ͘ΓʱΑΓ ԑى ͑Μ͗
wԑىͷݩͱͳΔෳͷҼՌ͕ؔۮવʹަࠩ͢Δ wᣭͰͦΕͧΕͷҼՌ͕ؔަࠩ͢Δ͜ͱʹΑͬͯԑى͕ੜ͡Δ ᣭ ͍ͯ͢Μ ࢁ㟒ल༤ʰᣭͷܦӦɿԑ͔ΒىΛੜΉਓͮ͘Γɾͮ͘ΓʱΑΓ 👇 👇
ᣭͱͯ͠ͷ3BJMT(JSMT4BQQPSPOE
3BJMT(JSMT4BQQPSPOEͰࢀՃऀͷΈͳ͞Μʹੜ·Εͨԑ 🔀ιϑτΣΞΛ࡞Δ׆ಈͱͷԑ ࣗͷιϑτΣΞΛ࡞ΕΔ͔͠Εͳ͍Մೳੑ 🔀ಓ۩ٕज़ͱͷԑ 3VCZɺ3BJMTɺλʔϛφϧɺ74$PEFɺ)FSPLVʜ 🔀ਓͱͷԑ ίʔνɺελοϑɺࢀՃऀ
ԑ͔ΒىΛੜΉ ԑʹࢸΓͯҰॠʹແʹ͋͏ɻͦΕ͕৺ͷͱΊΑ͏ɺମͷ;ΕΑ͏ ͰࣄΛى͜͠ʢىʣɺͦΕΑΓࠓ·Ͱଓ͚ͯདྷͨΕΔҼՌͷߦಈ͕ɺ يಓΛͣΕΏ͖ɺ·ͨͣΕ͕ͨɺيಓʹ෮͠ߦ͘ͳΓ ೆํ۽ೇʰٓ๏ཾॻ؆ʱ ʢڧௐҾ༻ऀʹΑΔʣ l
w ରʹҙࣝΛ͚ɺੵۃతʹಇ͖͔͚Δ͜ͱͰԑ͔Βى͕ੜ͡Δ w ྑ͘ͳΔʹɺ·͔ͣࣗΒ৺Λ։͘͜ͱ w ح৺ w ڵຯؔ৺ w ָ͠Ήؾ࣋ͪ
৺ͷͱΊΑ͏ɺମͷ;ΕΑ͏ͰࣄΛى͜͢
w ڵຯͷͳ͍ͷΛڵຯ͋Δͷʹม͑Δ༐ؾɺ·ͣͬͯΈΔ͜ͱͰى͖Δ w ʮࢼ͢ʯͱ͍͏ԑ͕ɺ࣍ͷىΛੜͤ͡͞ΔՄೳੑΛੜΉ ͷલʹདྷͨόεʹɺ·ͣͬͯΈΔ͜ͱ l ߥມʰ͙͢ʹཱͭͷ͙͢ʹཱͨͳ͘ͳΔʱ
ԑ͔Β ىΛੜΉ
ࣗͷͨΊͷιϑτΣΞΛॻ͘ େࣄͳ͜ͱ lϓϩϑΣογϣφϧzͷΑ͏ʹΖ͏ͱ͠ͳ͍ ڵຯɺح৺ɺָ͠͞Λେࣄʹ͢Δ ฤΈྉཧΈ͍ͨʹɺࣗपΓͷਓ͕ຬ͢ΔͷΛ࡞ΔͷͰΑ͍
ϓϩάϥϛϯάΛֶͿ ʮࣗͷح৺ؔ৺ɺײੑΛ༬͚ΒΕΔରʯΛݟ͚ͭग़͠ɺ ͦΕΛֶͿ͜ͱͰɺ࣍ͷΑ͏ͳྲྀΕ͕ੜ·ΕΔ l ߥມʰ͙͢ʹཱͭͷ͙͢ʹཱͨͳ͘ͳΔʱ ษڧ͢Δͷ͕ͱָͯ͘͠ɺتͼɺͤʹͳΔ ͤΛײ͓͔ͨ͛͡ͰɺษڧʹΑͬͯಘͨͷ͕ͯ͢ ݂ʹͳΔ
ֶΜͩ͜ͱ͕ʹ͍࣮ͭͨײɺษڧͷָ͠͞Λײͯ͡ɺ ͞ΒʹڵຯΛٻͯ͠Έͨ͘ͳΔ
None
IUUQTDPNNPOTXJLJNFEJBPSHXJLJ'JMF.BSJBO@8SJHIU@&EFMNBO@ KQH ݟͨ͜ͱ͕ͳ͍ͷʹͳΕͳ͍ .BSJBO8SJHIU&EFMNBO l
h t t p s : / / r u
b y k a i g i . o rg ϓ ϩ ά ϥ ϛ ϯά ݴ ޠ Λ ࡞ ͬ ͯ ͍ Δ ਓ ͨ ͪ Λ ݟ ʹ ͍ ͘
h t t p s : / / r u
b y k a i g i . o rg 5 I F 3 V C Z $ P N N V O J U Z ͱ ͷ ܨ ͕ Γ Λ ֬ ೝ ͢ Δ
h t t p s : / / k a
i g i o n r a i l s . o rg 8F C Ξ ϓ Ϧ έ ʔ γϣ ϯ Λ ࡞ ͬ ͯ ͍ Δ ਓ ͨ ͪ Λ ݟ ͯ Έ Δ
h t t p s : / / k a
i g i o n r a i l s . o rg 8F C Ξ ϓ Ϧ έ ʔ γϣ ϯ Λ ࡞ ͬ ͯ ͍ Δ ਓ ͨ ͪ Λ ݟ ͯ Έ Δ
ίϛϡχςΟʹࢀՃͯ͠ΈΔ 3VCZίϛϡχςΟ IUUQTTDSBQCPYJPSVCZKQҬSC
ίϛϡχςΟʹࢀՃͯ͠ΈΔ 3VCZίϛϡχςΟ IUUQTTDSBQCPYJPSVCZKQҬSC ͷίϛϡχςΟ OV͞ΜUPNJP͞Μͷհͯ͘͠Ε͍ͯͨͷͳͲΛࢀߟʹ
ίϛϡχςΟΛ࢝ΊͯΈΔ IUUQTOPUFDPNDP@CBDIJFOOFDCFBDC
ίϛϡχςΟΛ࢝ΊͯΈΔ IUUQTOPUFDPNDP@CBDIJFOOFDCFBDC
ԑى ܧଓ͍ͯ͘͠
ᣭͱͯ͠ͷ3BJMT(JSMT4BQQPSPOE
ܧଓ͢Δԑىͷ݁Ռͱͯ͠ͷ3BJMT(JSMT4BQQPSPOE
ZFBSTBHPʜ
None
None
l+PZGVM3VCZz
None
IUUQTUIFCSJEHFKQMJOEBMJVLBTJOUFSWJFX
IUUQTUIFCSJEHFKQMJOEBMJVLBTJOUFSWJFX
None
IUUQTTOPP[FSIBUFOBCMPHKQFOUSZ
IUUQTTOPP[FSIBUFOBCMPHKQFOUSZ
None
None
ܧଓ͢Δԑىͷ݁Ռͱͯ͠ͷ3BJMT(JSMT4BQQPSPOE
ܧଓ͢Δԑىͷىͱͯ͠ͷ3BJMT(JSMT4BQQPSPOE
IUUQTXXX fl JDLSDPNQIPUPTSFDPNQJMF@OFU ͍ܰؾ࣋ͪͰɺͱΓ͋͑ͣ ͬͯΈΔ͜ͱ͕؊ཁͩͱ ࢥ͍·͢ɻʜ·ͣॻ͍ͯΈ ͳ͍ͱ࢝·Γ·ͤΜ͔Βɻ l <SVCZ>
ܧଓ͢Δԑىͷىͱͯ͠ͷ3BJMT(JSMT4BQQPSPOE ͜ͷͰͰ͖ͨʮԑʯ͔Β ࣍ͷͨ͘͞Μͷʮىʯ͕ੜ·Εଓ͍͍͖ͯ·͢Α͏ʹ
ONE ENISHI AFTER ANOTHER ౡాߒೋ !TOPP[FS 4BU 3BJMT(JSMT4BQQPSPOE
ॻ੶ɿ wೆํ۽ೇʰೆํϚϯμϥʱʢՏग़จݿʣ wߥມʰ͙͢ʹཱͭͷ͙͢ʹཱͨͳ͘ͳΔʱʢϓϨδσϯτࣾʣ wάϨʔεɾϘχʔʰࣗͰʮ࢝Ίͨʯঁͨͪʱʢւͱ݄ࣾʣ w4BN3VCZʰ"HJMF8FC%FWFMPQNFOUXJUI3BJMTʱʢ1SBHNBUJD#PPLTIFMGʣ จɿ wʰᣭͷܦӦɿԑ͔ΒىΛੜΉਓͮ͘Γɾͮ͘ΓʱIUUQTSFQPTJUPSZNVTBTIJBDKQETQBDFCJUTUSFBN NVTBTIJ@@@@@@@ZBNBTBLJQEG 8FCɿ wʰ3BJMT(JSMTͷ͖ͭͮʮ3BJMT(JSMTNPSFʯʱIUUQTCMPHDMFBODPEFSDPNVODMFCPCUIFDMFBOBSDIJUFDUVSFIUNM
wʰϓϩάϥϛϯάͷָ͠͞Λଟ͘ͷঁੑʹ͍͑ͨɿʮ3BJMT(JSMTʯ࢝ऀͷϦϯμɾεΧε͞ΜʹΠϯλϏϡʔʱIUUQTUIFCSJEHFKQ MJOEBMJVLBTJOUFSWJFX өըɿ wʰ0OF#BUUMF"GUFS"OPUIFSʱ ࢀߟจݙ