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
180
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
Model Mondays S2E01: Advanced Reasoning
nitya
0
420
AWS全冠したので振りかえってみる
tajimon
0
150
VCpp Link and Library - C++ breaktime 2025 Summer
harukasao
0
210
監視のこれまでとこれから/sakura monitoring seminar 2025
fujiwara3
8
1.2k
Perk アプリの技術選定とリリースから1年弱経ってのふりかえり
stomk
0
120
OpenTelemetry Collector internals
ymotongpoo
5
560
Definition of Done
kawaguti
PRO
5
390
Long journey of Continuous Delivery at Mercari
hisaharu
1
230
CI/CDとタスク共有で加速するVibe Coding
tnbe21
0
220
Amazon Q Developer for GitHubとAmplify Hosting でサクッとデジタル名刺を作ってみた
kmiya84377
0
3.5k
ユーザーのプロフィールデータを活用した推薦精度向上の取り組み
yudai00
0
440
工具人的一生: 開發很多 AI 工具讓我 慵懶過一生
line_developers_tw
PRO
0
720
Featured
See All Featured
Scaling GitHub
holman
459
140k
Balancing Empowerment & Direction
lara
1
320
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Building Applications with DynamoDB
mza
95
6.4k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.9k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Typedesign – Prime Four
hannesfritz
42
2.7k
The Language of Interfaces
destraynor
158
25k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
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 Έͳ͞Μɺ࿅श͍ͯ͠·͔͢ʁɹࣗ৴खΛಈ͔ͯ͠࿅श͢Δ͜ ͱ͔Βੜ·Ε·͢ɻ͔ࣝΒੜ·Ε·ͤΜɻ͍ͭͲ͏ͬͯ࿅श ͨ͠Β͍͍ͩΖ͏ͱߟ͑·͠ΐ͏ɻͦΜͳΘ͚ͰɺΤΩεύʔτͱ ݺΕΔਓϕετϓϥΫςΟεɺϥϕϧΛ৴͢Δ͜ͱΊ·͠ΐ ͏ɻϥϕϧ͋ͳͨΛࢥߟఀࢭͤ͞·͢ɻϥϕϧ͋ͳͨΛʹΊ ·͢ɻϥϕϧ͕͋ͳͨΛڱΊΔ͜ͱʹͳΓ·͢ɻࣗࣗʹϥϕϧΛ
షΔͷΊ·͠ΐ͏ɻ͋ͳ͕ͨԿऀ͔͋ͳ͕ͨԿΛ͢Δ͔Ͱܾ ·Γ·͢ɻ໊ࢺͰͳ͘ಈࢺͰ͍·͠ΐ͏ɻΑ͍ߦಈΛ͠·͠ΐ͏ʂ