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
Continuous Architecting and Rails: From rails n...
Search
Koji SHIMADA
PRO
July 30, 2021
Technology
4.5k
16
Share
Continuous Architecting and Rails: From rails new to Your Own Architecture
銀座Rails#35での発表資料です
https://ginza-rails.connpass.com/event/216491/
Koji SHIMADA
PRO
July 30, 2021
More Decks by Koji SHIMADA
See All by Koji SHIMADA
ソフトウェアアーキテクトのための意思決定術: Create Decision Readiness—The Real Skill Behind Architectural Decision
snoozer05
PRO
33
11k
日本Rubyの会: これまでとこれから
snoozer05
PRO
6
310
Rubyist入門: The Way to The Timeless Way of Programming
snoozer05
PRO
7
660
One Enishi After Another
snoozer05
PRO
0
280
ソフトウェアアーキテクトのための意思決定術: Software Architecture and Decision-Making
snoozer05
PRO
26
8.4k
WHOLENESS, REPAIRING, AND TO HAVE FUN: 全体性、修復、そして楽しむこと
snoozer05
PRO
9
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
Other Decks in Technology
See All in Technology
Discordでリモートポケカしてたら、なぜかDOを25分間動かせるようになった話
umireon
0
120
新規サービス開発におけるReact Nativeのリアル〜技術選定の裏側と実践的OSS活用〜
grandbig
2
180
Azure Lifecycle with Copilot CLI
torumakabe
0
190
幾億の壁を超えて/Beyond Countless Walls(JP)
ikuodanaka
0
110
NOSTR, réseau social et espace de liberté décentralisé
rlifchitz
0
160
Proxmox超入門
devops_vtj
0
170
AIがコードを書く時代の ジェネレーティブプログラミング
polidog
PRO
3
680
AIエージェントを構築して感じた、AI時代のCDKとの向き合い方
smt7174
1
170
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
380
AI前提とはどういうことか
daisuketakeda
0
180
"SQLは書けません"から始まる データドリブン
kubell_hr
1
270
NgRx SignalStore: The Power of Extensibility
rainerhahnekamp
0
210
Featured
See All Featured
The Mindset for Success: Future Career Progression
greggifford
PRO
0
300
Git: the NoSQL Database
bkeepers
PRO
432
67k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Building Applications with DynamoDB
mza
96
7k
The Curious Case for Waylosing
cassininazir
0
290
Code Review Best Practice
trishagee
74
20k
Bash Introduction
62gerente
615
210k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.8k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.3k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Music & Morning Musume
bryan
47
7.1k
Transcript
ౡాߒೋ !TOPP[FS ۜ࠲3BJMT ܧଓతΞʔΩςΫςΟϯάͱ3BJMT FROM rails new TO YOUR
OWN ARCHITECTURE ENISHI TECH INC.
ࠓɺ͓͢͠Δ͜ͱ
Տ͞Μ͔Β͍͍ͨͩͨΦϑΝʔ 3BJMTͷܦݧ͘ɺϚΠΫϩαʔϏεʹؔ͢Δॻ੶༁͍ͯ͠Δ ౡా͞Μʹɺ3VCZ3BJMTͷΤϯδχΞ͕ϚΠΫϩαʔϏεʹͭ ͍ͯΔ͖͜ͱɺ͓͍ͬͯͨํ͕ྑ͍Α͏ͳΛͯ͠΄͍͠ l
ϚΠΫϩαʔϏεʹؔ͢Δॻ੶
㾎ϞϊϦεμϝͰɺ͜Ε͔ΒϚΠΫϩαʔϏεͳͷʁ 㾎3BJMTϞϊϦεͷ໊ࢺͷΑ͏ʹݴΘΕΔ͚Ͳɺ8FCΞ ϓϦ͏3BJMTͰॻ͔ͳ͍ํ͕͍͍ͷʁ Α͋͘Δ࣭
㾎ϞϊϦεμϝͰɺ͜Ε͔ΒϚΠΫϩαʔϏεͳͷʁ 㾎3BJMTϞϊϦεͷ໊ࢺͷΑ͏ʹݴΘΕΔ͚Ͳɺ8FCΞ ϓϦ͏3BJMTͰॻ͔ͳ͍ํ͕͍͍ͷʁ ͦΜͳ͜ͱͳ͍Ͱ͢ɻͳͥͳΒʜ Α͋͘Δ࣭
ͲͪΒ͕ྑ͍ѱ͍ͱ͍͏Ͱͳ͍͔Β w ϞϊϦεͱϚΠΫϩαʔϏεͷͲͪΒΛબͿ͔ ΞʔΩςΫνϟ্ͷܾఆ w ࣗͨͪͷγεςϜʹͱͬͯదͳߏΛબͿ͜ͱ͕େ
⚠ͦΕΑΓ։ൃऀͱͯ͠ؾΛ͚ͭͳ͍ͱ͍͚ͳ͍͜ͱ
⚠ͦΕΑΓ։ൃऀͱͯ͠ؾΛ͚ͭͳ͍ͱ͍͚ͳ͍͜ͱ "SDIJUFDUVSFJOEJGGFSFOUEFTJHO ΞʔΩςΫνϟʹແؔ৺ͳઃܭ
"SDIJUFDUVSFJOEJGGFSFOUEFTJHO ։ൃऀ͕ΞʔΩςΫνϟΛؾʹͤͣʹઃܭΛਐΊΔ͜ͱ ΞʔΩςΫνϟʹແؔ৺ͳઃܭ
"SDIJUFDUVSFJOEJGGFSFOUEFTJHO ։ൃऀ͕ΞʔΩςΫνϟΛؾʹͤͣʹઃܭΛਐΊΔ͜ͱ ΞʔΩςΫνϟʹແؔ৺ͳઃܭ ಛʹߟ͑ͳ͠ʹΞʔΩςΫνϟ͕ܾఆ͞ΕΔ 㾎աڈͷϓϩδΣΫτͷΞʔΩςΫνϟΛ୯ʹίϐʔ͢Δ 㾎Α͋͘ΔΞʔΩςΫνϟ͔ͩΒͱ͔ձࣾͷඪ४͔ͩΒͱ ͍͏ཧ༝ͰΞʔΩςΫνϟ͕બΕΔ
"SDIJUFDUVSFJOEJGGFSFOUEFTJHOʹΑͬͯҾ͖ى͜͞ΕΔ͜ͱ w γεςϜʹద͞ͳ͍ΞʔΩςΫνϟ͕બΕΔ ❌ظ͢ΔΑ͏ͳγεςϜΛߏஙͰ͖ͳ͍
"SDIJUFDUVSFJOEJGGFSFOUEFTJHOʹΑͬͯҾ͖ى͜͞ΕΔ͜ͱ w γεςϜʹద͞ͳ͍ΞʔΩςΫνϟ͕બΕΔ ❌ظ͢ΔΑ͏ͳγεςϜΛߏஙͰ͖ͳ͍ w ͨ·ͨ·దͳΞʔΩςΫνϟ͕બΕΔ ❌։ൃ͕ਐΉ͏ͪʹΞʔΩςΫνϟ͕ܦྼԽ͠ɺϝϯςφϯεͰ ͖ͳ͘ͳͬͯ͠·͏
"SDIJUFDUVSFJOEJGGFSFOUEFTJHOʹΑͬͯҾ͖ى͜͞ΕΔ͜ͱ w γεςϜʹద͞ͳ͍ΞʔΩςΫνϟ͕બΕΔ ❌ظ͢ΔΑ͏ͳγεςϜΛߏஙͰ͖ͳ͍ w ͨ·ͨ·దͳΞʔΩςΫνϟ͕બΕΔ ❌։ൃ͕ਐΉ͏ͪʹΞʔΩςΫνϟ͕ܦྼԽ͠ɺϝϯςφϯεͰ ͖ͳ͘ͳͬͯ͠·͏ ❌ޙ͔ΒੳͰ͖ͣɺϏοΫόϯϦϥΠτͤ͟ΔΛಘͳ͘ͳΔ
େࣄͳͷ"SDIJUFDUVSFGPDVTFEEFTJHO
ΞʔΩςΫνϟʹؔ৺Λ࣋ͭ
ࠓɺ͓͢͠Δ͜ͱ wιϑτΣΞΞʔΩςΫνϟͱ
ࠓɺ͓͢͠Δ͜ͱ wιϑτΣΞΞʔΩςΫνϟʹ͍ͭͯ
ࠓɺ͓͢͠Δ͜ͱ wιϑτΣΞΞʔΩςΫνϟʹ͍ͭͯ wΞʔΩςΫςΟϯάʹ͍ͭͯ
ࠓɺ͓͢͠Δ͜ͱ wιϑτΣΞΞʔΩςΫνϟʹ͍ͭͯ wΞʔΩςΫςΟϯάʹ͍ͭͯ wΞʔΩςΫςΟϯάͱ3BJMTʹ͍ͭͯ
ౡాߒೋ !TOPP[FS
Vision IT Systems Teams Organization Management Execution Management Business Process
Talent Development ENISHI TECH INC.
Ruby no Kai
None
ࠓɺ͓͢͠Δ͜ͱ wιϑτΣΞΞʔΩςΫνϟʹ͍ͭͯ wΞʔΩςΫςΟϯάʹ͍ͭͯ wΞʔΩςΫςΟϯάͱ3BJMTʹ͍ͭͯ
ࠓɺ͓͢͠Δ͜ͱ wιϑτΣΞΞʔΩςΫνϟʹ͍ͭͯ wΞʔΩςΫςΟϯάʹ͍ͭͯ wΞʔΩςΫςΟϯάͱ3BJMTʹ͍ͭͯ
ιϑτΣΞΞʔΩςΫνϟʁ
ΞʔΩςΫνϟ ͋Δڥʹ͓͚ΔγεςϜͷجຊతͳ֓೦ੑ࣭Λɺγες ϜͷཁૉؔɺઃܭਐԽͷݪଇͱͯ͠۩ݱԽͨ͠ͷ ʢ*40*&$*&&&ʣ
ΞʔΩςΫνϟ ͋Δڥʹ͓͚ΔγεςϜͷجຊతͳ֓೦ੑ࣭Λɺγες ϜͷཁૉؔɺઃܭਐԽͷݪଇͱͯ͠۩ݱԽͨ͠ͷ ʢ*40*&$*&&&ʣ
ΞʔΩςΫνϟ ͋Δڥʹ͓͚ΔγεςϜͷجຊతͳ֓೦ੑ࣭Λɺγες ϜͷཁૉؔɺઃܭਐԽͷݪଇͱͯ͠۩ݱԽͨ͠ͷ ʢ*40*&$*&&&ʣ ΞʔΩςΫνϟͷݩͱͳΔͷ
ΞʔΩςΫνϟͷݩͱͳΔͷ ΞʔΩςΫνϟܾఆཁҼ
ΞʔΩςΫνϟܾఆཁҼ wٕज़తͳ੍ wϏδωε্ͷ੍ wػೳཁ݅ w࣭ಛੑ
ΞʔΩςΫνϟܾఆཁҼ wٕज़తͳ੍ wϏδωε্ͷ੍ wػೳཁ݅ w࣭ಛੑ Ұ൪ੳ͕͘͠ɺݟམͱ͞Ε͕ͪͳཁૉ
࣭ಛੑ wػೳͱڞʹιϑτΣΞγεςϜʹඋΘ͍ͬͯΔ͜ͱ͕ظ ͞ΕΔ࣭ཁૉ wʮʙੑʯʮΠϦςΟʢJMJUZʣʯͱݺΕΔ อकੑɺՄ༻ੑɺোੑɺ৴པੑɺύϑΥʔϚϯεɺςετ༰қ ੑɺ֦ுੑɺΞδϦςΟɺεέʔϥϏϦςΟɺϢʔβϏϦςΟʜ
ػೳཁ݅Λຬ͍࣭ͨͯͯ͠ಛੑ͕උΘ͍ͬͯͳ͍ͱ γεςϜͱͯ͠ेͰͳ͍
ΞʔΩςΫνϟ ͋Δڥʹ͓͚ΔγεςϜͷجຊతͳ֓೦ੑ࣭Λɺγες ϜͷཁૉؔɺઃܭਐԽͷݪଇͱͯ͠۩ݱԽͨ͠ͷ ʢ*40*&$*&&&ʣ
ΞʔΩςΫνϟ ͋Δڥʹ͓͚ΔγεςϜͷجຊతͳ֓೦ੑ࣭Λɺγες ϜͷཁૉؔɺઃܭਐԽͷݪଇͱͯ͠۩ݱԽͨ͠ͷ ʢ*40*&$*&&&ʣ
ΞʔΩςΫνϟ ͋Δڥʹ͓͚ΔγεςϜͷجຊతͳ֓೦ੑ࣭Λɺγες ϜͷཁૉؔɺઃܭਐԽͷݪଇͱͯ͠۩ݱԽͨ͠ͷ ʢ*40*&$*&&&ʣ
ߏɺ͋ΔཁૉͱผͷཁૉΛؔͰܨ͙͜ͱʹΑͬͯੜ ·ΕΔɻʢதུʜʣཁૉɺιϑτΣΞͷجຊతͳߏ ୯Ґͩɻͦͯ͠ɺؔɺཁૉ͕ࣄΛߦ͏ࡍʹͲͷΑ͏ʹ ࿈ܞ͢Δ͔Λࣔͨ͠ͷͩɻ γεςϜͷཁૉؔߏ
ιϑτΣΞΞʔΩςΫνϟʹ͓͚Δߏ w Ϟδϡʔϧʢઃܭཁૉʣͷߏ w ίϯϙʔωϯτʢ࣮ߦཁૉʣͷߏ w Πϯϑϥʢཧཁૉʣͷߏ
ιϑτΣΞΞʔΩςΫνϟʹ͓͚Δߏ w Ϟδϡʔϧʢઃܭཁૉʣͷߏ w ίϯϙʔωϯτʢ࣮ߦཁૉʣͷߏ w Πϯϑϥʢཧཁૉʣͷߏ
ιϑτΣΞΞʔΩςΫνϟʹ͓͚Δߏ w Ϟδϡʔϧʢઃܭཁૉʣͷߏ w ίϯϙʔωϯτʢ࣮ߦཁૉʣͷߏ w Πϯϑϥʢཧཁૉʣͷߏ
ιϑτΣΞΞʔΩςΫνϟʹ͓͚Δߏ w Ϟδϡʔϧʢઃܭཁૉʣͷߏ w ίϯϙʔωϯτʢ࣮ߦཁૉʣͷߏ w Πϯϑϥʢཧཁૉʣͷߏ
ιϑτΣΞΞʔΩςΫνϟʹ͓͚Δߏ w Ϟδϡʔϧʢઃܭཁૉʣͷߏ w ίϯϙʔωϯτʢ࣮ߦཁૉʣͷߏ w Πϯϑϥʢཧཁૉʣͷߏ ͲΕ͔͚ͩͰμϝ શ෦ΛରԠ͚ͮͯ దʹػೳ͢ΔܗΛߟ͑Δ
ΞʔΩςΫνϟ ͋Δڥʹ͓͚ΔγεςϜͷجຊతͳ֓೦ੑ࣭Λɺγες ϜͷཁૉؔɺઃܭਐԽͷݪଇͱͯ͠۩ݱԽͨ͠ͷ ʢ*40*&$*&&&ʣ
ΞʔΩςΫνϟ ͋Δڥʹ͓͚ΔγεςϜͷجຊతͳ֓೦ੑ࣭Λɺγες ϜͷཁૉؔɺઃܭਐԽͷݪଇͱͯ͠۩ݱԽͨ͠ͷ ʢ*40*&$*&&&ʣ
ઃܭਐԽͷݪଇ ΞʔΩςΫνϟܾఆ
ΞʔΩςΫνϟܾఆ ҎԼʹӨڹΛ༩͑ΔΑ͏ͳࣄʹର͢Δܾఆ wߏ w࣭ಛੑ wґଘؔ wΠϯλʔϑΣΠε wߏஙํ๏
ΞʔΩςΫνϟܾఆ ҎԼʹӨڹΛ༩͑ΔΑ͏ͳࣄʹର͢Δܾఆ wߏ w࣭ಛੑ wґଘؔ wΠϯλʔϑΣΠε wߏஙํ๏ ʮͳͥʯ͕ॏཁ
ΞʔΩςΫνϟ ͋Δڥʹ͓͚ΔγεςϜͷجຊతͳ֓೦ੑ࣭Λɺγες ϜͷཁૉؔɺઃܭਐԽͷݪଇͱͯ͠۩ݱԽͨ͠ͷ ʢ*40*&$*&&&ʣ
ΞʔΩςΫνϟ ͋Δڥʹ͓͚ΔγεςϜͷجຊతͳ֓೦ੑ࣭Λɺγες ϜͷཁૉؔɺઃܭਐԽͷݪଇͱͯ͠۩ݱԽͨ͠ͷ ʢ*40*&$*&&&ʣ
ΞʔΩςΫνϟʹ͍ͭͯͷ·ͱΊ ΞʔΩςΫνϟͱɺΞʔΩςΫνϟܾఆཁҼʹج͍ͮͯͳ ͞ΕͨɺγεςϜͷߏ࣭ಛੑɺґଘؔɺΠϯλʔϑ ΣΠεɺߏஙख๏ͳͲʹର͢Δܾఆ
ΞʔΩςΫνϟʹؔ৺Λ࣋ͭͨΊͷ ΞΫςΟϏςΟ
ʢ̍ʣ࣭ಛੑ ͕ࣗࠓܞΘ͍ͬͯΔγεςϜʹͱͬͯ ಛʹॏཁͳ࣭ಛੑΛڍ͛ͯΈΑ͏
ʢ̎ʣߏ ͕ࣗࠓܞΘ͍ͬͯΔγεςϜͷ ͦΕͧΕͷߏΛඳ͍ͯΈΑ͏
ʢ̏ʣΞʔΩςΫνϟܾఆ ͕ࣗࠓܞΘ͍ͬͯΔγεςϜͷ ΞʔΩςΫνϟܾఆΛڍ͛ͯΈΑ͏
ࠓɺ͓͢͠Δ͜ͱ wιϑτΣΞΞʔΩςΫνϟʹ͍ͭͯ wΞʔΩςΫςΟϯάʹ͍ͭͯ wΞʔΩςΫςΟϯάͱ3BJMTʹ͍ͭͯ
ࠓɺ͓͢͠Δ͜ͱ wιϑτΣΞΞʔΩςΫνϟʹ͍ͭͯ wΞʔΩςΫςΟϯάʹ͍ͭͯ wΞʔΩςΫςΟϯάͱ3BJMTʹ͍ͭͯ
ΞʔΩςΫςΟϯά γεςϜͷϥΠϑαΠΫϧΛ௨ͨ͡ΞʔΩςΫνϟͷߏɺ ఆٛɺදݱɺจॻԽɺୡɺదͳ࣮ͷೝূɺҡ͓࣋Α ͼվળͷϓϩηε ʢ*40*&$*&&&ʣ
ݱʹ͓͚ΔΞʔΩςΫςΟϯάͷલఏ
ݱʹ͓͚ΔΞʔΩςΫςΟϯάͷલఏ ϓϩδΣΫτ։ൃˠϓϩμΫτ։ൃ
ݱʹ͓͚ΔΞʔΩςΫςΟϯάͷલఏ ϓϩδΣΫτ։ൃˠϓϩμΫτ։ൃ
ݱʹ͓͚ΔΞʔΩςΫςΟϯάͷલఏ ϓϩδΣΫτ։ൃˠϓϩμΫτ։ൃ wະ͕গͳ͍ˠະ͕ଟ͍ w༗ظݶͷ׆ಈˠແظݶͷ׆ಈ wʢଓ͖ʰϢχίʔϯاۀͷͻΈͭʱͰʣ
ݱʹ͓͚ΔΞʔΩςΫςΟϯάͷલఏ ϓϩδΣΫτ։ൃˠϓϩμΫτ։ൃ wະ͕গͳ͍ˠະ͕ଟ͍ w༗ظݶͷ׆ಈˠແظݶͷ׆ಈ wʢଓ͖ʰϢχίʔϯاۀͷͻΈͭʱͰʣ
ະ͕ଟ͍ ͬͯͷ௨Γɺطͷͱ͍͏ͷ͕͋Δɻ͜Εզʑ͕͍ͬͯΔ ͱ͍ͬͯΔ͜ͱͩɻ·ͨɺطͷະ͋Δɻ͢ͳΘͪɺݱ࣌Ͱ طͰͳ͍ͱΘ͔͍ͬͯΔࣄฑͩɻ͔͠͠ɺະͷະ͋Δɻ͜Ε զʑ͕Βͳ͍ͱ͍͏͜ͱ͑͞Βͳ͍͜ͱͩɻ l ʵ%POBME3VNTGFME
lιϑτΣΞΞʔΩςΫνϟͱॏཁͳઃܭஅΛද͠ɺͦͷॏཁ ੑมߋͷίετʹΑܾͬͯ·Δ IUUQTUXJUUFSDPN(SBEZ@#PPDITUBUVT ʵ(SBEZ#PPDI ҰํͰΞʔΩςΫνϟܾఆॏ͍
ίπɿܾఆΛ࣋ͯΔݶΓΒͤΔ w࠷ऴ࣌ʢMBTUSFTQPOTJCMFNPNFOUʣ wܾఆΛԼ͠ଛͶΔͱɺॏཁͳସҊ͕ͳ͘ͳΔ࣌ w࠷େ࣌ʢNPTUSFTQPOTJCMFNPNFOUʣ wܾఆ͢Δ͜ͱͰ࠷ྑ͍લ͖ͳӨڹΛ༩͑Δ࣌
ݱʹ͓͚ΔΞʔΩςΫςΟϯάͷલఏ ϓϩδΣΫτ։ൃˠϓϩμΫτ։ൃ wະ͕গͳ͍ˠະ͕ଟ͍ w༗ظݶͷ׆ಈˠແظݶͷ׆ಈ wʢଓ͖ʰϢχίʔϯاۀͷͻΈͭʱͰʣ
ݱʹ͓͚ΔΞʔΩςΫςΟϯάͷલఏ ϓϩδΣΫτ։ൃˠϓϩμΫτ։ൃ wະ͕গͳ͍ˠະ͕ଟ͍ w༗ظݶͷ׆ಈˠແظݶͷ׆ಈ wʢଓ͖ʰϢχίʔϯاۀͷͻΈͭʱͰʣ
ϓϩμΫτ։ൃऴΘΒͳ͍
ϓϩμΫτ։ൃऴΘΒͳ͍ wʮҡ͓࣋Αͼվળͷϓϩηεʯ͕ΞʔΩςΫςΟϯάͷओʹͳΔ γεςϜʹ࣮ݱ͞ΕͨΞʔΩςΫνϟΛอޢ͍ͯ͘͠ඞཁ͕͋Δ wϏδωεςΫϊϩδʔಈ͍͍ͯ͘ ΞʔΩςΫνϟܾఆཁҼͷมԽʹରԠ͍ͯ͘͠ඞཁ͕͋Δ
ϓϩμΫτ։ൃऴΘΒͳ͍ wʮҡ͓࣋Αͼվળͷϓϩηεʯ͕ΞʔΩςΫςΟϯάͷओʹͳΔ γεςϜʹ࣮ݱ͞ΕͨΞʔΩςΫνϟΛอޢ͍ͯ͘͠ඞཁ͕͋Δ wϏδωεςΫϊϩδʔಈ͍͍ͯ͘ ΞʔΩςΫνϟܾఆཁҼͷมԽʹରԠ͍ͯ͘͠ඞཁ͕͋Δ
ϓϩμΫτ։ൃऴΘΒͳ͍ wʮҡ͓࣋Αͼվળͷϓϩηεʯ͕ΞʔΩςΫςΟϯάͷओʹͳΔ γεςϜʹ࣮ݱ͞ΕͨΞʔΩςΫνϟΛอޢ͍ͯ͘͠ඞཁ͕͋Δ wϏδωεςΫϊϩδʔಈ͍͍ͯ͘ ΞʔΩςΫνϟܾఆཁҼͷมԽʹରԠ͍ͯ͘͠ඞཁ͕͋Δ
ϓϩμΫτ։ൃऴΘΒͳ͍ wʮҡ͓࣋Αͼվળͷϓϩηεʯ͕ΞʔΩςΫςΟϯάͷओʹͳΔ γεςϜʹ࣮ݱ͞ΕͨΞʔΩςΫνϟΛอޢ͍ͯ͘͠ඞཁ͕͋Δ wϏδωεςΫϊϩδʔಈ͍͍ͯ͘ ΞʔΩςΫνϟܾఆཁҼͷมԽʹରԠ͍ͯ͘͠ඞཁ͕͋Δ
ݱʹ͓͚ΔΞʔΩςΫςΟϯάͷલఏ ϓϩδΣΫτ։ൃˠϓϩμΫτ։ൃ wະ͕গͳ͍ˠະ͕ଟ͍ w༗ظݶͷ׆ಈˠແظݶͷ׆ಈ wʢଓ͖ϢχίʔϯاۀͷͻΈͭͰʣ
Ͳ͏ΞʔΩςΫςΟϯά͍͔ͯ͘͠
ݱͷΞʔΩςΫςΟϯά w ඞཁेͳΞʔΩςΫνϟ͔Β࢝ΊΔ w γεςϜͷΞʔΩςΫνϟ͕ܦྼԽ͠ͳ͍Α͏อޢ͠ଓ͚Δ w ΞʔΩςΫνϟܾఆγεςϜ͕αϙʔτ͠ͳͯ͘ͳΒͳ͍࣭ ಛੑΛఆظతʹݟ͠ɺܧଓతʹϦΞʔΩςΫςΟϯά͍ͯ͘͠
ݱͷΞʔΩςΫςΟϯά w ඞཁेͳΞʔΩςΫνϟ͔Β࢝ΊΔ w γεςϜͷΞʔΩςΫνϟ͕ܦྼԽ͠ͳ͍Α͏อޢ͠ଓ͚Δ w ΞʔΩςΫνϟܾఆγεςϜ͕αϙʔτ͠ͳͯ͘ͳΒͳ͍࣭ ಛੑΛఆظతʹݟ͠ɺܧଓతʹϦΞʔΩςΫςΟϯά͍ͯ͘͠
ݱͷΞʔΩςΫςΟϯά w ඞཁेͳΞʔΩςΫνϟ͔Β࢝ΊΔ w γεςϜͷΞʔΩςΫνϟ͕ܦྼԽ͠ͳ͍Α͏อޢ͠ଓ͚Δ w ΞʔΩςΫνϟܾఆγεςϜ͕αϙʔτ͠ͳͯ͘ͳΒͳ͍࣭ ಛੑΛఆظతʹݟ͠ɺܧଓతʹϦΞʔΩςΫςΟϯά͍ͯ͘͠
ݱͷΞʔΩςΫςΟϯά w ඞཁेͳΞʔΩςΫνϟ͔Β࢝ΊΔ w γεςϜͷΞʔΩςΫνϟ͕ܦྼԽ͠ͳ͍Α͏อޢ͠ଓ͚Δ w ΞʔΩςΫνϟܾఆΞʔΩςΫνϟܾఆཁҼʢಛʹ࣭ಛੑʣ Λఆظతʹݟ͠ɺͦΕʹ߹ΘͤͯܧଓతʹϦΞʔΩςΫςΟϯ ά͍ͯ͘͠
ܧଓతΞʔΩςΫςΟϯά
$POUJOVPVTBSDIJUFDUVSF
ਐԽతΞʔΩςΫνϟ
ϞϊϦε͔Β࢝ΊͯΞʔΩςΫνϟΛਐԽ͍ͤͯ͘͞
ΞʔΩςΫςΟϯάܧଓతͳ׆ಈ w ඞཁेͳΞʔΩςΫνϟ͔Β࢝ΊΔ w γεςϜͷΞʔΩςΫνϟ͕ܦྼԽ͠ͳ͍Α͏อޢ͠ଓ͚Δ w ΞʔΩςΫνϟܾఆΞʔΩςΫνϟܾఆཁҼʢಛʹ࣭ಛੑʣ Λఆظతʹݟ͠ɺͦΕʹ߹ΘͤͯܧଓతʹϦΞʔΩςΫςΟϯ ά͍ͯ͘͠
ࠓɺ͓͢͠Δ͜ͱ wιϑτΣΞΞʔΩςΫνϟʹ͍ͭͯ wΞʔΩςΫςΟϯάʹ͍ͭͯ wΞʔΩςΫςΟϯάͱ3BJMTʹ͍ͭͯ
ࠓɺ͓͢͠Δ͜ͱ wιϑτΣΞΞʔΩςΫνϟʹ͍ͭͯ wΞʔΩςΫςΟϯάʹ͍ͭͯ wΞʔΩςΫςΟϯάͱ3BJMTʹ͍ͭͯ
ΞʔΩςΫςΟϯά͔Βݟͨ3BJMT
ΞʔΩςΫςΟϯά͔Βݟͨ3BJMTʢ̍ʣ ։ൃॳظʹ࠷খݶͷΞʔΩςΫνϟܾఆΛ༩͑ͯ͘ΕΔ
None
$POWFOUJPOPWFS$POGJHVSBUJPO 3BJMTͷϛογϣϯͷҰ෦ɺ8FC༻ͷใγεςϜΛ࡞͢Δ։ൃऀ͕໘͢ Δɺްͯ͘૿͑ଓ͚͍ͯΔ෮తͳҙࢥܾఆͷδϟϯάϧʹᭊΛৼΔ͏͜ͱͰ ͢ɻ͜ͷΑ͏ͳҙࢥܾఆԿઍ͋Γ·͕͢ɺຊདྷҰͰࡁΉ͜ͱͰ͢͠ɺ ୭͔͕ΘΓʹͬͯ͘ΕΔͷͰ͋ΕɺͦΕʹӽͨ͜͠ͱ͋Γ·ͤΜɻ l ຊޠ༁ɿIUUQTRJJUBDPNUBLBIBTIJNJUFNTE ff FFDCEBDઃఆΑΓنDPOWFOUJPOPWFSDPO fi
HVSBUJPO IUUQTSVCZPOSBJMTPSHEPDUSJOF
5IFNFOVJTPNBLBTF Կ͕ඒຯ͍͔͔͠Βͳ͍ͷʹɺϨετϥϯͰԿΛจ͢Ε͍͍ͷ͔ɺͲ͏ͬ ͯΘ͔ΔͷͰ͠ΐ͏͔ʁɹͦ͏Ͱ͢ͶɺγΣϑʹબΜͰΒ͑ɺԿ͕ʮඒຯ͍͠ ͷʯ͔Θ͔Βͳ͍͏͔ͪΒɺͨͿΜʮඒຯ͍͠ͷʯʹ͋Γ͚ͭ·͢ ɻͦΕ͕ ʮ͓·͔ͤʯͰ͢ ɻྉཧͷୡਓͰͳͯ͘ɺ҉தࡧͷӡͤͰͳͯ͘ɺඒຯ͠ ͍ͷΛ৯ΔͨΊͷํ๏ͳͷͰ͢ ɻ l
ຊޠ༁ɿIUUQTRJJUBDPNUBLBIBTIJNJUFNTE ff FFDCEBDϝχϡʔ͓·͔ͤUIFNFOVJTPNBLBTF IUUQTSVCZPOSBJMTPSHEPDUSJOF
7BMVFJOUFHSBUFETZTUFNT ౷߹γεςϜͰɺͨ͘͞ΜͷෆඞཁͳநԽΛݮ͠ɺϨΠϠʔؒ ͷॏෳΛݮΒ͠ʢαʔόʔͱΫϥΠΞϯτͷ྆ํͷςϯϓϨʔτͷΑ ͏ͳʣɺԿΑΓɺͲ͏ͯ͠ඞཁʹͳΔ·ͰɺγεςϜΛࢄ͢ Δ͜ͱΛආ͚Δ͜ͱ͕Ͱ͖·͢ ɻ l ຊޠ༁ɿIUUQTRJJUBDPNUBLBIBTIJNJUFNTE ff FFDCEBDՁͷ౷߹͞ΕͨγεςϜWBMVFJOUFHSBUFETZTUFNT
IUUQTSVCZPOSBJMTPSHEPDUSJOF
ΞʔΩςΫςΟϯά͔Βݟͨ3BJMTʢ̍ʣ ։ൃॳظʹ࠷খݶͷΞʔΩςΫνϟܾఆΛఏڙͯ͘͠ΕΔ w ߏ.7$ɺϞϊϦεɺσΟϨΫτϦߏ w ࣭ಛੑΞδϦςΟ w ґଘؔϞϊϦε෦Ͱͷ݁߹ w ΠϯλʔϑΣΠε3&45GVMͳ"1*ઃܭɺ"DUJWF3FDPSEύλʔϯʜ
w ߏஙํ๏ϞϊϦεͷ୯ҰσϓϩΠ
ΞʔΩςΫςΟϯά͔Βݟͨ3BJMTʢ̎ʣ ܧଓతͳΞʔΩςΫςΟϯάʹରͯ͠։͔Ε͍ͯΔ
/PPOFQBSBEJHN Ұͭͷத৺తͳΞ ΠσΞΛܝ͛ͯɺ͔ͦ͜Βཧతؼ݁ͱͯ͠ΞʔΩςΫνϟͷج൫ Λಋ͜͏ͱ͢Δڧ͘৺ͳओு͕͋Γ·͢ ɻ ʜུʜ 3BJMTͦ͏Ͱ͋Γ·ͤΜɻҰຕͷᘳͳͰ͋Γ·ͤΜɻΩϧτͰ͢ ɻଟ͘ͷ ҟͳΔΞ
ΠσΞύϥμΠϜͷෳ߹ମͰ͢ ɻͦͷଟ͘ͷͷɺ୯ಠͰҰͭҰͭରൺ ͤ͞Εɺ௨ৗରཱ͍ͯ͠ΔͱݟΒΕΔΑ͏ͳͷ͔͠Ε·ͤΜɻͰɺࢲͨͪ ͕Ζ͏ͱ͍ͯ͠ΔͷͦͷΑ͏ͳରཱͰ͋Γ·ͤΜɻ l ຊޠ༁ɿIUUQTRJJUBDPNUBLBIBTIJNJUFNTE ff FFDCEBD།ҰͷύϥμΠϜͳ͍OPPOFQBSBEJHN IUUQTSVCZPOSBJMTPSHEPDUSJOF
1SPHSFTTPWFSTUBCJMJUZ 3BJMTͷΑ͏ʹҎ্લ͔Βଘࡏ͍ͯ͠ΔγεςϜͰɺࣗવͱߗԽʹ͔͏͕͋Γ ·͢ ɻͲΜͳมߋͰɺաڈͷڍಈʹґଘ͍ͯͨ͠୭͔ʹͱͬͯɺʹͳΔՄೳੑ͍͘ ΒͰ͋Γ͑·͢ ɻͦͯ͠ɺ࣮ࡍʹͦΕ͕ͯ·Δਓʹͱͬͯެฏͳཧ༝Ͱ͢ ɻ ͔͠͠ɺ͋·ΓอकతͳʹࣖΛ͚͗ͯ͢͠·͏ͱɺͦͷରଆʹԿ͕͋Δ͔͕ݟ͑ͳ͘ ͳͬͯ͠·͍·͢ ɻࢲͨͪɺਐԽͱͷͨΊʹɺ࣌ʹ͋͑ͯյͨ͠ΓɺΓํΛม͑
ͨΓ͠ͳ͚ΕͳΓ·ͤΜɻ l ຊޠ༁ɿIUUQTRJJUBDPNUBLBIBTIJNJUFNTE ff FFDCEBD҆ఆੑΑΓਐาQSPHSFTTPWFSTUBCJMJUZ IUUQTSVCZPOSBJMTPSHEPDUSJOF
ΞʔΩςΫςΟϯά͔Βݟͨ3BJMTʢ̎ʣ ܧଓతͳΞʔΩςΫςΟϯάʹରͯ͠։͔Ε͍ͯΔ w ಉظͰॲཧ͖͔͢ɺඇಉظͰॲཧ͖͔͢ w "DUJWF+PC w ߏͷਐతͳΓସ͑ w 3BJMT&OHJOFɺ7JFX$PNQPOFOU
w ʜ
͕͜͏ͨ͠ಛΛඋ͍͑ͯΔཧ༝ʢԾઆʣ
3BJMTɺ%))ͨͪʹͱͬͯͷ࣮ΞʔΩςΫνϟͰ͋Δ͔Β w ͱͱ͕#BTFDBNQͷ࣮ΞʔΩςΫνϟʢΛநԽͨ͠ͷʣ w %))ͷΞʔΩςΫνϟܾఆ͕ө͞Ε͍ͯΔ w ࠓͬͱଟ͘ͷ3BJMT։ൃνʔϜʹͱͬͯͷ࣮ΞʔΩςΫνϟʹ ͳ͍ͬͯΔ
࣮ΞʔΩςΫνϟ͔ͩΒܧଓతʹΞʔΩςΫςΟϯά͞Εଓ͚͍ͯΔ w ٕज़తͳ੍ʢΞʔΩςΫνϟܾఆཁҼʣ͕มΘΕɺΞʔΩςΫν ϟܾఆมΘΔ w 3BJMT͕ਐԽ͢Δඞવੑ w 3BJMTΛΞοϓσʔτ͢Δ͜ͱͰɺΞʔΩςΫνϟܾఆͷ࠷৽ͷબࢶ Λखʹ͠ଓ͚ΒΕΔ w
ࢲ͕ͨͪ3BJMTΛΞοϓσʔτ͠ଓ͚Δඞવੑ
·ͱΊΔͱ Α͘Ͱ͖ͯΔ
ͳͷ͚ͩΕͲʜ
⚠։ൃऀͱͯ͠ؾΛ͚ͭͳ͍ͱ͍͚ͳ͍͜ͱ "SDIJUFDUVSFJOEJGGFSFOUEFTJHO ΞʔΩςΫνϟʹແؔ৺ͳઃܭ
"SDIJUFDUVSFJOEJGGFSFOUEFTJHOʹͳΒͳ͍Α͏ʹؾΛ͚ͭΔ w 3BJMT͕༩͑ͯ͘ΕΔͷ͋͘·Ͱ࠷খݶͷΞʔΩςΫνϟܾఆ w ͦ͜ʹࣗͨͪͷγεςϜͷΞʔΩςΫνϟܾఆཁҼߟྀ͞Ε͍ͯ ͳ͍ ඞཁेͳΞʔΩςΫνϟࣗͨͪͰఆٛ͠ͳͯ͘ͳΒͳ͍ ܧଓతʹࣗͨͪͰࣗͨͪͷΞʔΩςΫνϟΛΞʔΩςΫςΟϯά ͍͔ͯ͠ͳͯ͘ͳΒͳ͍
"SDIJUFDUVSFJOEJGGFSFOUEFTJHOʹͳΒͳ͍Α͏ʹؾΛ͚ͭΔ w 3BJMT͕༩͑ͯ͘ΕΔͷ͋͘·Ͱ࠷খݶͷΞʔΩςΫνϟܾఆ w ͦ͜ʹࣗͨͪͷγεςϜͷΞʔΩςΫνϟܾఆཁҼߟྀ͞Ε͍ͯ ͳ͍ ඞཁेͳΞʔΩςΫνϟࣗͨͪͰఆٛ͠ͳͯ͘ͳΒͳ͍ ͦͯͦ͠ΕΛࣗͨͪͰܧଓతʹΞʔΩςΫςΟϯά͍͔ͯ͠ͳͯ͘ ͳΒͳ͍
ࣗͨͪͷΞʔΩςΫνϟʹؔ৺Λ࣋ͪ ܧଓతʹΞʔΩςΫςΟϯά͍ͯ͜͠͏
ౡాߒೋ !TOPP[FS ۜ࠲3BJMT ܧଓతΞʔΩςΫςΟϯάͱ3BJMT FROM rails new TO YOUR
OWN ARCHITECTURE ENISHI TECH INC.