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
Rails な受託の会社でぼくがやっていること / What I do in a Rails ...
Search
takkanm
March 22, 2019
Technology
6
13k
Rails な受託の会社でぼくがやっていること / What I do in a Rails consulting company
RailsDM 201903 での発表
takkanm
March 22, 2019
Tweet
Share
More Decks by takkanm
See All by takkanm
わたしの知っているRubyKaigiとESM / The relationship between RubyKaigi and ESM that I know
takkanm
0
410
Learn Programming Essence from Ruby patches
takkanm
4
2.2k
UpdateAdhoqToSupportRails5
takkanm
0
1.4k
That I speak when talking about language that starts from R
takkanm
3
2.5k
journey through the programming language(censored edition)
takkanm
1
260
10th anniversary Rubyist Magazine
takkanm
0
190
ordk03-ninja-talk
takkanm
0
580
ソーシャルコーディング時代のふつうのプログラマサバイバルガイド
takkanm
17
7.3k
bookshelf_in_my_head.pdf
takkanm
0
130
Other Decks in Technology
See All in Technology
Recoil脱却の現状と挑戦
kirik
3
480
ecspressoの設計思想に至る道 / sekkeinight2025
fujiwara3
12
2.1k
VLMサービスを用いた請求書データ化検証 / SaaSxML_Session_1
sansan_randd
0
140
Microsoft Learn MCP/Fabric データエージェント/Fabric MCP/Copilot Studio-簡単・便利なAIエージェント作ってみた -"Building Simple and Powerful AI Agents with Microsoft Learn MCP, Fabric Data Agent, Fabric MCP, and Copilot Studio"-
reireireijinjin6
1
180
少人数でも回る! DevinとPlaybookで支える運用改善
ishikawa_pro
4
1.9k
生成AIによる情報システムへのインパクト
taka_aki
1
210
経験がないことを言い訳にしない、 AI時代の他領域への染み出し方
parayama0625
0
270
「手を動かした者だけが世界を変える」ソフトウェア開発だけではない開発者人生
onishi
15
7.8k
手動からの解放!!Strands Agents で実現する総合テスト自動化
ideaws
3
400
データエンジニアがクラシルでやりたいことの現在地
gappy50
3
750
OpenTelemetry の Log を使いこなそう
biwashi
5
1.1k
【Λ(らむだ)】最近のアプデ情報 / RPALT20250729
lambda
0
140
Featured
See All Featured
Music & Morning Musume
bryan
46
6.7k
GraphQLとの向き合い方2022年版
quramy
49
14k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
How GitHub (no longer) Works
holman
314
140k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
Being A Developer After 40
akosma
90
590k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
Practical Orchestrator
shlominoach
190
11k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
283
13k
Transcript
Rails ͳडୗͷձࣾͰ ΅͕͍ͬͯ͘Δ͜ͱ ࡾଜ ӹོ a.k.a takkanm ӬγεςϜϚωδϝϯτ ΞδϟΠϧࣄۀ෦ /
Asakusa.rb
Who am I • ӬγεςϜϚωδϝϯτ ΞδϟΠϧࣄۀ෦ • RubyΞδϟΠϧάϧʔϓ νʔϑϓϩάϥϚʔ •
Asakusa.rb ϝϯόʔ • 1 of 6 ਓ͍ΔύʔϑΣΫτRubyஶऀ
ࠂ
None
https://esminc.connpass.com/event/123239/
ࠓͷ
Θͨ͠ͱ Rails • Ruby ֶੜͷͱ͖͔Β (2004)͙Β͍ • Rails 0.6
͙Β͍ʹ৮͚ͬͨͲɺ͓ࣄͰ͏Α͏ʹͳͬͨͷ 2008 ͷ Rails2 ͙Β͍ͷͱ͖ • Railsษڧձ@౦ژͱ͍͏ษڧձͷ N ͷ։࠵ऀ
ࠓͷ༰ ͦΜͳΘ͕ͨ͠ӬγεςϜϚωδϝϯτͱ͍͏ Rails ʹΑΔγε ςϜ։ൃΛϝΠϯͱͨ͠डୗձࣾͰͲ͏ࣄΛ͍ͯ͠Δ͔ͱ͍͏ Λ͠·͢ɻʮʑϓϩδΣΫτͰͲ͏ࣄΛ͍ͯ͠Δ ͔ʯɺʮ৽͍͕ؒ͠དྷͨͱ͖Ͳ͏͍ͯ͠Δ͔ʯɺʮϓ ϩδΣΫτ֎ͷ׆ಈΛͲ͏͍ͯ͠Δ͔ʯͱ͍͏؍Ͱ͓ ͑Ͱ͖Εͱࢥ͍·͢ɻ
What is ӬγεςϜϚωδϝϯτ ΞδϟΠϧࣄۀ෦ ?
ESMΞδϟΠϧࣄۀ෦ͷྺ࢙ • 2000 ͙Β͍ʹମͱͳΔࣄॴͷൃ • ݩɺXP ΞδϟΠϧએݴʹײԽ͞Εͨਓؒͨͪͷू·Γ • 2006 ͙Β͍͔Β
Ruby Ͱࣄ͍ͯͧ͘͠એݴ
ESMΞδϟΠϧࣄۀ෦now • Ruby ʹΑΔγεςϜ։ൃΛߦ͍ͬͯΔϝϯόʔ 21 ໊ • ϕςϥϯͱएख͕ࠞࡏ • ࣗϕςϥϯͱएखͷத͙ؒΒ͍(ͱ͓ͬͯΔ
ʑͷࣄ
Ӭͷࣄͱͯ͠Δ͜ͱ • Ҋ݅ަবͷஈ֊ͷଧͪ߹ΘͤݟੵΓ • νʔϜϝϯόʔͷબఆ • ϓϩδΣΫτͷӡӦɺ݉։ൃ
ׂѪ
ʑͷϓϩδΣΫτͷ ։ൃͷࡍʹ͍ͬͯΔ͜ͱ ҙ͍ࣝͯ͠Δ͜ͱ
ීஈ͍ͬͯΔ͜ͱ • ಋೖ͢ΔϥΠϒϥϦϛυϧΣΞͷબఆͱஅ • ίʔυϨϏϡʔ • ϓϩδΣΫτΛ͑ͯར༻Ͱ͖ΔΑ͏ʹ͢Δ
ϛυϧΣΞϥΠϒϥϦͷબఆ • ӡ༻ɾอकΛ୭͕Δ͔Λߟ͑Δ • ՄೳͳݶΓܾఆΛΒͤΔ
ྫ) background job ʹԿΛ͏͔ • sucker_punch Λ͍ΕͯɺՄೳͳݶΓ ActiveJob Ͱ࣮ݱͰ͖Δ ൣғͰϓϩδΣΫτΛਐΊΔ
• γεςϜͷ͜ͱ͕Θ͔͖ͬͯͨ͋ͨΓͰɺ͜ͷ··͢͢ΊΔ͔ɺ DB ΛΩϡʔͱͯ͠͏ͷʹ͢Δ͔ɺ
ίʔυϨϏϡʔ • ߟྀ࿙ΕͷέʔεύϑΥʔϚϯεʹؔΘΓͦ͏ͳ͕ͳ͍͔ Λ֬ೝ • ҙਤ͕ͪΌΜͱΘΔίϝϯτΛ৺͔͚Δ • ͕ࣗड͚ೖΕΔ֮ޛ͕ͯΔ͔Ͳ͏͔
ίʔυϨϏϡʔΏΔΊ • ઃܭํࣄલʹνʔϜͰ͢Γ͋ΘͤΔ • ίʔυϨϏϡʔͰݫ͍͠ײ͡ʹͳΔͷɺͦ͜·Ͱʹ͕͋ Δͱࢥ͍ͬͯΔͷͰɺͦ͜Λ͍͚ͯ͠ΔΑ͏ʹ͢Δ • ҰఆྔͷࢦఠΛ͠ͳ͍ͱ͍͚ͳ͍ͱஅͨ͠ΒɺϨϏϡʔΛࣙ ΊͯҰॹʹΔͱ͍͏͜ͱΛબ͢Δ
ϓϩδΣΫτΛ͑ͯར༻Ͱ͖ΔΑ͏ʹ͢ Δ • ϓϩδΣΫτͷίʔυΛॻ͖ͳ͕Βɺ൚༻తʹͰ͖ͦ͏ͳՕॴ ΛgemʹΓग़ͯ͠ΈΔ • ࣮ࡍɺ·ͨ͏͔Ͳ͏͔ޒޒ • େ࡞͡Όͳͯ͘࡞Δ͜ͱΛ༏ઌ
͜͏͍͏ϨϕϧͰgemʹ͍ͯ͠Δ • esminc/operate_do • AS::CurrentAttributes Έ͍ͨͳͷΛ࣮ݱ͢Δͭ • esminc/jis_x_0401 • JISX0401ͷͨΊͷϥΠϒϥϦ
• esminc/s3_reproxy_download • S3 ʹ͋ΔϑΝΠϧΛ X-REPROXY-URL ΛͬͯฦͤΔΑ͏ʹ͢Δ
͍ͬͯͯͲ͏͔ • ʮҙຯ͋ΔΜͰ͔͢ʯͱ͔ʮηϯεͳ͍ʯΈ͍ͨͳ͜ͱΛݴΘ ΕΔ͜ͱ͋Δ • ͜͏͍͏͜ͱ͕Ͱ͖ΔϑοτϫʔΫͷܰ͞ΛࣗͰ͍ͬͯ ͍ͨ • ෑډͷ͞Λԋग़ͯ͠ɺଞͷਓʹͬͯΒ͑ΔΑ͏ʹͨ͠ ͍
৽͍͕͖ؒͨ͠ͱ͖
Ӭଜʹ͋ͨΒ͍͕͖ؒͬͯͨ͠ • ͬͯ͘Δස 1, 2 ਓ͙Β͍(৽ଔআ͘ • Ruby ͷ͓ࣄܦݧΊ •
ҟۀछస৬
ΦϯϘʔσΟϯάࣄ
ΦϯϘʔσΟϯάࣄ "
ܾΊΒΕͨͷ͕ͳ͍ཧ༝ • ਓʹΑͬͯঢ়گ͕ҧ͏ • ೖࣾλΠϛϯάʹΑͬͯࣾঢ়گ͕ҧ͏ • Railsʹର͢Δڭҭࢿྉੈͷதʹ͋ΔͷͰࣗ࡞͢ΔϞνϕʔ γϣϯ͕͍
ͰɺͲ͏͍ͯ͠Δ͔ • ೖࣾΔ͜ͱܾ·͓ͬͯΓ์ஔ͍ͯ͠ΔΘ͚Ͱͳ͍ • ϓϩδΣΫτͷঢ়گͦͷϓϩδΣΫτͷϝϯόʔΛΈͯɺ͜ ͷਓ͕͍ΔͳΒ҆৺ͱ͍͏ϓϩδΣΫτͰͷ OJT
Θ͕ͨ͠ΈΔͱ͖ͷํ • ଞͷνʔϜʹଐ͞Ε͔ͯΒɺ৽͍͠ϝϯόʔͱͦͷϓϩδΣ ΫτͷνʔϜ͕ࠔΒͳ͍Α͏ʹ͍ͨ͠ • ද໘తͳٕज़ཁૉͳͲϓϩδΣΫτʹΑͬͯҧ͏ͷͰɺͦΕ ΒΛࢧ͑ΔͱͳΔࣝߟ͑ํΛ·ͣʹ͚ͭͯཉ͍͠
ϓϩδΣΫτʹೖͬͯࠔΔ͜ͱ • Ruby on Rails ͷίʔυ͕ॻ͚Δॻ͚ͳ͍͔ΑΓɺίϛϡχ έʔγϣϯ͕ͱΕͳ͍͜ͱ͕ͱͳΔ͜ͱ͕ଟ͍ • ϕςϥϯϦʔμʔͱͷࣝߟ͑ํͷΪϟοϓʹΑΓൃੜ͠ ͯͦ͏
ࠔΒͳ͍Α͏ʹͳΔͨΊʹ • Θ͔Βͳ͍͜ͱΛͪΌΜͱ͑ΒΕΔΑ͏ʹͳΔ • λεΫͷݟੵΓͱܭը͕Ͱ͖Δ • ࣄΛָ͘͠Ͱ͖ΔΑ͏ʹͳΔ
Θ͔Βͳ͍͜ͱΛ͑Δٕज़ॏཁ • Θ͔Βͳ͍͜ͱΛͪΌΜͱ͑Δͷ͍͠ • Θ͔Βͳ͍͜ͱ͕͋ΔͱɺͦͷΘ͔Βͳ͍··૬ஊͯ͠͠·͏ • ͦͷཻ͕େ͖͗͢Δͱɺฉ͖खԿ͕Θ͔Βͳ͍ͷ͔Θ͔Β ͣରԠ͕Ͱ͖ͳ͍
Θ͔Βͳ͍͜ͱΛཧղ͑͠ΒΕΔΑ͏ʹ • Λཧͯ͠ɺΓ͚ɺখ͘͞ղͰ͖ΔΑ͏ʹҙࣝͤ͞ Δ • ࣭Λͯ͠ɺҙ͍ࣝͯ͠ͳ͔ͬͨͱ͜ΖΛ͋ͿΓͩ͢ • ͍ͬͯΔ༻ޠ͕ਖ਼͍͔͠ͷ֬ೝ
λεΫͷݟੵΓͱܭը͕Ͱ͖Δ • ݟੵΓ͕Ͱ͖Δͱ͍͏͜ͱɺͦͷλεΫΛͲ͏͢ΕΕ Δ͔ͱ͍͏͜ͱ͕Θ͔Δͱ͍͏͜ͱ • ܭը͕Ͱ͖Δͱ͍͏͜ͱɺΞϥʔτΛ͋͛ΔλΠϛϯάΛࣗ ͰஅͰ͖Δ
ԿނݟੵΓͱܭըΛॏࢹ͢Δ͔ • ࣌ؒ༗ݶͳͷͰɺظ͢ΔظؒͰऴΘΔ͔ͱ͍͏͜ͱʹେ͖ ͍ؔ৺͕ΑͤΒΕΔ • ݟੵΓʹΑͬͯɺΔ͜ͱ͕໌֬ʹͳͬͨΓɺଞͷਓͱͷҙ ࣝ͋Θ͕ͤͰ͖ΔΑ͏ʹͳΔ • ܭըʹΑͬͯɺ͕ࣗͲ͜ʹ͍ͯɺຊདྷͲ͜ʹ͍ͳ͍ͱ͍͚ ͳ͍͔ΛҙࣝͰ͖ΔΑ͏ʹͳΔ
ࣄָ͍͠ʁ • Γ͍ͨͱࢥ͍ͬͯͨ͜ͱΛฏனؒʹͰ͖ΔΑ͏ʹͳΔͷͰɺ ؤுΓ͗͢Δ • λεΫΛҰਓͰᘳʹ͜ͳ͢ͱ͍͏ҙࣝͰΞϥʔτ͕͋͛ΒΕ ๊ͣ͑ࠐΉ • ࢦఠ͞ΕΔ͜ͱ͕ຯ
ଉൈ͖ͱܹ • దͳλΠϛϯάͰΛ͔͚ͯɺաूதΛආ͚Δ • Rails ։ൃํ๏ͳͲͷCͷΑ͏ͳΛҙࣝతʹ͢Δ • OSS ͷίϯτϦϏϡʔγϣϯνϟϯεΛڭ͑Δ •
ϓϩδΣΫτͱؔͷͳ͍ίʔυΛॻ͍ͯΒ͏
࠷ۙߦͬͨड͚ೖΕ
۩ମతʹͲ͏͍͏͜ͱΛ͔ͬͨ(1) • ࡞ۀΛᝦͰλεΫղͯ͠Β͍ɺݟੵΓΛ͠ɺΧϨϯμʔ ʹϚοϐϯάͯ͠ɺຖ࣮Λ֬ೝ͠ɺݟੵΓɺܭըͷ֬ೝ Λ͢Δ • ௨Γ͕͢ΓͷϝϯόʔʹΞδϟΠϧ TDD ͳͲͷӬͷΧϧ νϟʔͷՁʹͳ͍ͬͯΔ͜ͱͷࡶஊΛͯ͠Β͏
۩ମతʹͲ͏͍͏͜ͱΛ͔ͬͨ(2) • Γͳͦ͏ͳ͕ࣝΘ͔͖ͬͯͨͱ͜ΖͰɺීஈͷ࡞ۀͱผ ͷ՝(ࠓճ shell ࡞Γ)Λ༩͑Δ • ҧ͏ϓϩδΣΫτʹߦ͘લʹ;Γ͔͑ΓΛͯ͠ɺݱঢ়ͷ֬ೝͱ ࣍ͷظΛ͑Δ
ϓϩδΣΫτ֎ͷ׆ಈ
WebγεςϜ։ൃ͍͠ • ૿͑ଓ͚Δकඋൣғ • มΘΓଓ͚ΔτϨϯυ • ҠΓมΘΔࣗͷڵຯ
ࣗͷࣄʹର͢Δෆ҆ • ࣗͷಘҙྖҬͰղܾ͍ͯ͠Δ͚ͩͰɺຊʹͦΕ͕ྑ͍ํ๏ ͩͬͨͷ͔ • Rails + ݟͷͳ͍ͷϕετϓϥΫςΟε૬ͷ͜ͱ͕ਖ਼ ͍͔͠ݕূͰ͖ͳ͍
RailsʹಛԽͨ͠डୗձࣾͷδϨϯϚ • ઐՈΛޏ͑ΔΘ͚Ͱͳ͍ • ϓϩδΣΫτʹϩοΫΠϯ͞ΕΔͱ৽͍͜͠ͱΛܦݧͰ͖ΔՄ ೳੑ͕Լ͕Δ • Կͷٕज़ͷϓϩδΣΫτʹ͋ͨΔͷ͔༧ଌ͕ͨͯΕͳ͍
ԿނRailsΛࣙΊͳ͍ͷ͔(ݸਓͷݟղ) • ͓٬༷ͷΛզʑ͕ૉૣ͘ղܾ͢Δಓ۩ͱͯ͠ fit ͔ͨ͠Β • RubyΛબΜͰ͘ΕΔ͓٬༷ͱ૬ੑ͕Α͍ • RubyίϛϡχςΟ͕͖
ࠓޙRubyͰࣄΛ͍ͯͨ͘͠Ίʹ ΑΓ͏·͘ͳ͍͚ͬͯΔΑ͏ʹ
ͦ͜Ͱ࢝ΊͨऔΓΈ • ۀ࣌ؒͷ 10% Λҧ͏࡞ۀʹׂΓͯΔΈ͕͋Δ • ϓϩδΣΫτ֎ͷϝϯόʔͰνʔϜΛΉ • ࣗͷڵຯ͕͋Δٕज़ཁૉΛ༻͍ͯԿ͔Λ࡞Δ
͜ͷऔΓΈͷࢥ • Ұਓ͕શ෦͍ͬͯΔͱ͍͏ͷ͍͠ͷͰɺ୭͔͕Կ͔Λͬ ͍ͯΔͱ͍͏ঢ়گΛ࡞Δ • ϓϩδΣΫτͰͰ͖ͳ͍͜ͱΛΔ͜ͱͰʑͷܹΛ૿͢ • ීஈҙࣝ͠ͳ͍ͱࢼͤͳ͍͜ͱΛࢼͯ͠ܦݧͱͯ͑͠ΒΕ ΔΑ͏ʹ͢Δ
1 ଓ͚ͯΘ͔ͬͨ͜ͱ • ࠷ॳීஈͷ։ൃʹ͍͚ۙͲख͕·ΘΒͳ͍͜ͱΛҙ͕ࣝͨ͠ɺ ڵຯ͕ͦ͜·ͰͷͷΛܧଓ͢Δͷ͍͠ • औΓΈͷΰʔϧΛେ͖͗ͨ͘͢͠ • ܖͱ͕ͯ࣌ؒ֬͠อ͞Ε͍ͯΔͱ͍͑ɺϓϩδΣΫτঢ়گ ʹΑ͕ͬͯ࣌ؒ֬อ͞Εͳ͍
1ଓ͚ͨ݁ՌΛলͯ͠ • ՌΛٻΊͳ͍ • ษڧͰऴΘΒͳ͍Α͏ʹ͢Δ • ڵຯͱۀͷڑΛҙࣝ͢Δ
2ͷݱঢ় • 2 ਓνʔϜ͕ 2 ͭͱɺ 1 ਓνʔϜ͕ 1 ͭ
• ͍ͬͯΔ༰ɺΠϯϑϥɺϑϩϯτΤϯυɺαʔόϨεͳ Ͳ༷ʑ
·ͱΊ
ࣗͷࠜఈʹ͋Δ͜ͱ • ͪΌΜͱऴΘΒͤͭͭɺ͍͔ʹָ͕ࣗ͠ΊΔཁૉΛͭ͘Δ͔ • ࣗΛԿ͔͠ΒΞοϓσʔτ͍͖͔͚ͯͬ͘͠Λ࡞Δ
ͪΌΜͱऴΘΒͤͭͭɺָ͠ΊΔΑ͏ʹ • ݱ࣮Λݟͳ͕ΒऴΘΒͤΔ͜ͱ͕ɺΘͨ͠ͷࣄ • ࣄͱ͍͑ɺָ͘͠ͳ͍͜ͱ͋·ΓΓͨ͘ͳ͍ • ͜ΕΛཱ྆͢ΔͨΊʹɺࣗͷͰ͖Δ͜ͱΛ૿͍ͯ͘͠ඞཁ ͕͋Δ
ΞοϓσʔτΛ͢Δ͖͔͚ͬΛҙࣝ͢Δ • ಉ͡ΓํΛ͍ͯ͠Δ͜ͱɺΑ͍͜ͱ͔ͩΒͳͷ͔ɺଦੑͳ ͷ͔Λߟ͑Δ • ࠓΑΓΑ͍Γํ͕͋Δ͔ɺҧ͏͜ͱΛͬͯΈͳ͍ͱΘ͔ Βͳ͍
େࣄͳ͜ͱRubyɾRailsίϛϡχςΟ͔ ΒֶΜͩ • RubyRailsͷ·ΘΓʹ͍Δਓ͔ͨͪΒɺ͍ΖΜͳܹΛ͏͚ղ ऍͯ͠ɺࣗͷΓํΛࡧ͍ͯ͠Δ • RubyɾRailsίϛϡχςΟͰ͏͚ͨ͜ͱΛฦ͍͚ͯ͠ΔΑ͏ʹࣗ ͳ͍͖͍ͬͯͨ
࠷ޙʹ
OedoRubyKaigi02 • 2012/02 ʹߦΘΕͨ Asakusa.rb ͷ Meetup • جௐߨԋୡਓ Dave
Thomas • ςʔϚϥϕϧʹ͍ͭͯ
https://magazine.rubyist.net/ /articles/0039/ 0039-MetPragdaveAtAsakusarb.html
Ruby-ಓ(by Dave Thomas) • OOP ͚͕ͩ།Ұͷํ๏͡Όͳ͍ • खଓ͖ܕ͚͕ͩϓϩάϥϜΛॻͨͬͨ͘Ұͭͷํ๏Ͱͳ͍ • ”Α͍”ίʔυ͚͕ͩίʔυͳΘ͚͡Όͳ͍
• Ruby͕࠷্ͷϓϩάϥϛϯάݴޠͬͯΘ͚͡Όͳ͍ • ͦͦ࠷্ͷϓϩάϥϛϯάݴޠͳΜͯͳ͍
Α͍ߦಈΛ͠Α͏ by Dave Thomas Έͳ͞Μɺ࿅श͍ͯ͠·͔͢ʁɹࣗ৴खΛಈ͔ͯ͠࿅श͢Δ͜ ͱ͔Βੜ·Ε·͢ɻ͔ࣝΒੜ·Ε·ͤΜɻ͍ͭͲ͏ͬͯ࿅श ͨ͠Β͍͍ͩΖ͏ͱߟ͑·͠ΐ͏ɻͦΜͳΘ͚ͰɺΤΩεύʔτͱ ݺΕΔਓϕετϓϥΫςΟεɺϥϕϧΛ৴͢Δ͜ͱΊ·͠ΐ ͏ɻϥϕϧ͋ͳͨΛࢥߟఀࢭͤ͞·͢ɻϥϕϧ͋ͳͨΛʹΊ ·͢ɻϥϕϧ͕͋ͳͨΛڱΊΔ͜ͱʹͳΓ·͢ɻࣗࣗʹϥϕϧΛ
షΔͷΊ·͠ΐ͏ɻ͋ͳ͕ͨԿऀ͔͋ͳ͕ͨԿΛ͢Δ͔Ͱܾ ·Γ·͢ɻ໊ࢺͰͳ͘ಈࢺͰ͍·͠ΐ͏ɻΑ͍ߦಈΛ͠·͠ΐ͏ʂ