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
16
4.4k
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
Tweet
Share
More Decks by Koji SHIMADA
See All by Koji SHIMADA
Rubyist入門: The Way to The Timeless Way of Programming
snoozer05
PRO
6
450
One Enishi After Another
snoozer05
PRO
0
180
ソフトウェアアーキテクトのための意思決定術: Software Architecture and Decision-Making
snoozer05
PRO
26
7.7k
WHOLENESS, REPAIRING, AND TO HAVE FUN: 全体性、修復、そして楽しむこと
snoozer05
PRO
9
19k
スタッフエンジニアの道: The Staff Engineer’s Path
snoozer05
PRO
55
20k
ソフトウェアアーキテクチャメトリクスの基礎: Software architecture metrics in a nutshell
snoozer05
PRO
35
14k
これから学ぶ人のための ソフトウェアアーキテクチャ入門: Software architecture is a tool to enhance our humanity
snoozer05
PRO
44
27k
ソフトウェアアーキテクチャ・ ハードパーツ: Software Architecture The Hard Parts
snoozer05
PRO
12
6.3k
ソフトウェアアーキテクチャの基礎: Software Architecture in a Nutshell
snoozer05
PRO
70
45k
Other Decks in Technology
See All in Technology
Redux → Recoil → Zustand → useSyncExternalStore: 状態管理の10年とReact本来の姿
zozotech
PRO
15
7.9k
⽣成 AI で進化する AWS オブザーバビリティ
o11yfes2023
0
110
エンジニアにとってコードと並んで重要な「データ」のお話 - データが動くとコードが見える:関数型=データフロー入門
ismk
0
520
フライトコントローラPX4の中身(制御器)を覗いてみた
santana_hammer
1
140
Lazy Constant - finalフィールドの遅延初期化
skrb
0
200
米軍Platform One / Black Pearlに学ぶ極限環境DevSecOps
jyoshise
1
270
Amazon ECS デプロイツール ecspresso の開発を支える「正しい抽象化」の探求 / YAPC::Fukuoka 2025
fujiwara3
12
3k
コンピューティングリソース何を使えばいいの?
tomokusaba
1
160
なぜインフラコードのモジュール化は難しいのか - アプリケーションコードとの本質的な違いから考える
mizzy
52
16k
CDKの魔法を少し解いてみる ― synth・build・diffで覗くIaCの裏側 ―
takahumi27
1
150
『HOWはWHY WHATで判断せよ』 〜『ドメイン駆動設計をはじめよう』の読了報告と、本質への探求〜
panda728
PRO
5
1.8k
CloudFormationコンソールから、実際に作られたリソースを辿れるようになろう!
amixedcolor
1
190
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
303
21k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
11
930
Being A Developer After 40
akosma
91
590k
What's in a price? How to price your products and services
michaelherold
246
12k
Making Projects Easy
brettharned
120
6.4k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
RailsConf 2023
tenderlove
30
1.3k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
1.8k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
Six Lessons from altMBA
skipperchong
29
4.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.