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をホームにするWeb技術者ができること/let-o...
Search
MOROHASHI Kyosuke
March 23, 2019
Programming
2k
2
Share
全体がいい感じになるために、私たちRailsをホームにするWeb技術者ができること/let-our-whole-system-grow
RailsDM 2019 での発表資料です
MOROHASHI Kyosuke
March 23, 2019
More Decks by MOROHASHI Kyosuke
See All by MOROHASHI Kyosuke
Railsの気持ちを考えながらコントローラとビューを整頓する/tidying-rails-controllers-and-views-as-rails-think
moro
5
440
dynamic!
moro
11
19k
Identifying User Idenity
moro
23
28k
Simplicity on Rails -- RDB, REST and Ruby
moro
18
20k
ちょうどよい Rails E2E テスト/enough-good-rails-e2e-test
moro
6
2.6k
フレームワークを作らない方法/How NOT to build frameworks
moro
4
1.3k
フォームオブジェクトとの向き合い方/Grow Form Objects up
moro
1
2.2k
チームによるいきいきとしたソフトウェア開発/an-alive-team-grows-software
moro
3
3.5k
Web-E2E-Testing-from-Ruby
moro
5
620
Other Decks in Programming
See All in Programming
飯MCP
yusukebe
0
480
Going Multiplatform with Your Android App (Android Makers 2026)
zsmb
1
280
我々はなぜ「層」を分けるのか〜「関心の分離」と「抽象化」で手に入れる変更に強いシンプルな設計〜 #phperkaigi / PHPerKaigi 2026
shogogg
2
780
PHPのバージョンアップ時にも役立ったAST(2026年版)
matsuo_atsushi
0
290
AI Assistants for YourAngular Solutions @Angular Graz, March 2026
manfredsteyer
PRO
0
150
今年もTECHSCOREブログを書き続けます!
hiraoku101
0
220
Symfonyの特性(設計思想)を手軽に活かす特性(trait)
ickx
0
120
20260315 AWSなんもわからん🥲
chiilog
2
190
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
180
Coding as Prompting Since 2025
ragingwind
0
680
forteeの改修から振り返るPHPerKaigi 2026
muno92
PRO
3
210
[PHPerKaigi 2026]PHPerKaigi2025の企画CodeGolfが最高すぎて社内で内製して半年運営して得た内製と運営の知見
ikezoemakoto
0
320
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
150
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
160
Optimizing for Happiness
mojombo
378
71k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.9k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.2k
AI: The stuff that nobody shows you
jnunemaker
PRO
4
510
Test your architecture with Archunit
thirion
1
2.2k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
27
3.4k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.5k
The Cult of Friendly URLs
andyhume
79
6.8k
Transcript
શମ͕͍͍ײ͡ʹͳΔͨΊʹɺ ࢲͨͪ3BJMTΛϗʔϜʹ͢Δ 8FCٕज़ऀ͕Ͱ͖Δ͜ͱ 2019-03-23 Rails Developers Meetup 2019 ॾڮګհ
@moro
‣ ࣸਅ
Kyosuke MOROHASHI @moro
!5 SMS? What's SMSってなにをやってる会社なの?
https://twitter.com/sunaot/status/1002392476492038144
“ 情報インフラを構築することで、⾼齢社会を 取り巻く⼈びと、⾼齢社会で働く⽅や事業者の⽅、 ⾼齢者ご⾃⾝やそのご家族などがイキイキと ⽣活できる社会の実現を⽬指しています。 — https://www.bm-sms.co.jp/philosophy/
!8 &
吳䒭⠓爡ؒأ ٥ ؒي ٥ ؒأ 匌❨鿪庥⼒蓎Ⱅ㕦⡝♶⹛欵蓎Ⱅ㕦ةٙ٦ https://www.bm-sms.co.jp ؒٝآص،䱰欽؟؎ ز https://careers.bm-sms.co.jp/engineer/
join us!
શମ͕͍͍ײ͡ʹͳΔͨΊʹɺ ࢲͨͪ3BJMTΛϗʔϜʹ͢Δ 8FCٕज़ऀ͕Ͱ͖Δ͜ͱ
‣ 3BJMTੲͱࠓ ‣ ϢʔβʔʹՁΛಧ͚Δ͍ͬͯ͏͚Ͳ ‣ શମΛ͍͍ײ͡ʹ͢Δ ‣ ݁
3BJMTΛऔΓר͘ ੲͱࠓ
3BJMT ͳͲαʔόଆ8FCٕज़ ΛऔΓר͘ ੲͱࠓ
ٕज़τϐοΫͱͯ͠ͷ3BJMT ੲͱࠓ
‣ 3BJMT͕ग़࢝Ίͨɺ3BJMT8FCΞϓϦ ٕज़తτϐοΫͷ࠷ઌͷҰͭͩͬͨɻ ‣ 001 -JHIUXFJHIU-BOHVBHF ϑϧελοΫϑϨʔϜϫʔΫ ‣ "KBY 3&45
5%% ΞδϟΠϧ ษڧձ ҬίϛϡχςΟʔ ‣ ͍·ଓ͘ɺ͍ΖΜͳࢼΈ͕Ͱ͖ͯͨɻ ‣ ˞ͪΖΜʮ͕ͯ͢3BJMTͷ͓͔͛ʯͱ͍͏Θ͚Ͱͳ͍Α ࢲͷࢹͰ;Γ͔͑Δ ੲ
‣ ͷ࠷ઌͰͳͦ͞͏ɻ ‣ Ϟμϯ+4 .JDSPTFSWJDFT %FW0QT "* .- ʜ ‣
ʮ͋ͨΓ·͑ʯʹͳͬͨ ‣ ʮ࠷ઌʯʹ·ͨͳΔ͔͠Εͳ͍͠ɺ ͳΒͳ͍͔͠Εͳ͍ɻ ‣ ͨͩɺ·ͨ͠ͳͬͯલͱҧ͏ɻ ࠓ
‣ (PPEFOPVHIͱͯ͠ΘΕ͍ͯΔ ‣ ͢ͰʹͬͯΔͱ͜Ζͨ͘͞Μ͋Δ͠Ͷɻ ‣ ࠓͰ͍͍બࢶͩͱࢥ͏ ‣ ͪΖΜɺઈ໓ͯ͠΄͘͠ͳ͍ 3BJMTઈ໓͢Δ
‣ ୯Ұͷ3BJMTΞϓϦ͚ͩͰ݁͢Δ͜ͱ ͳ͘ͳ͖ͬͯͨɻ ͔ͱݴͬͯੲͱಉ͡Ͱͳ͍
‣ 3BJMTੲͱࠓ ‣ ࠷৽ͷٕज़Ͱͳ͘ͳ͖ͬͯͨ ‣ ϢʔβʔʹՁΛಧ͚Δ͍ͬͯ͏͚Ͳ ‣ શମΛ͍͍ײ͡ʹ͢Δ ‣
݁
3BJMTΞϓϦ ੲͱࠓ
‣ ୯Ұͷ8FCΞϓϦͰ΄΅݁͢Δɻ ‣ ಛఆͷαʔϏεɾۀɾϓϩμΫτ͕ؔ৺ͷର ‣ ֎෦࿈ܞಛผͳͱ͜Ζ͚ͩɻ ੲ3BJMT͕ग़࢝Ίͨࠒ
‣ 8FCͷαʔϏεͭͰ݁͢Δ͜ͱ ΄΅ͳ͍ɻ ‣ ʮαʔϏεͭʯͰɺଟ͘ͷཁૉٕज़͕ඞཁ ‣ ֎෦࿈ܞ͢Δͷ͕ৗɻ ࠓ
֎෦࿈ܞ͢Δͷ͕ৗ
֎෦࿈ܞ͢Δͷ͕ৗ
‣ ཁૉٕज़ͷઐԽ͕ਐΜͰ͍Δɻ ‣ ݸʑͷཁૉٕज़ʹ࠷దʹͳΔΑ͏ γεςϜׂ͕͞ΕΔɻ ‣ ͦΕͧΕͷz֎෦zʹͦΕͧΕͷతɾ ࢥ͕͋Δɻ
֎෦࿈ܞ͢Δͷ͕ৗ
‣ ʮඇಉظͬͯಉظΛߟ͑Δ͜ͱͩΑͶʯ ‣ !N@TFLJ͞Μ͕ݴͬͯͨؾ͕͢Δ ཁग़య ‣ׂ͞ΕͨࣄΛ߹ྲྀͤ͞Δɻ ‣߹ྲྀͤ͞ΔͱॳΊͯϢʔβʔʹಧ͘ɻ ʮׂͬͯ߹ྲྀ͢Δ͜ͱͩΑͶʯ
‣ ߦಈੳͯ͠.-ͰϦίϝϯυ͢Δ༰݁ՌΛ εϚϗΞϓϦʹͨ͠Γɻ ‣ छྨͷ.JDSPTFSWJDFTΤϯυϙΠϯτ͔Βͱ͖ͬͯ ͨσʔλΛ3FBDUΞϓϦʹΘͨͨ͠Γɻ ߹ྲྀͤ͞ΔͱॳΊͯϢʔβʔʹಧ͘
‣ αʔϏεͷӡӦελοϑ͕ɺͦΕͧΕͷઐࣝΛ ͱʹίϯςϯπΛՃߋ৽৹ࠪͨ͠Γɻ ιϑτΣΞ࣮͚ͩͰͳ͍
‣ ͍ΖΜͳઐՈՌ͕8FCٕज़Λ௨͍ͬͯ͘ɻ ‣ +40/PWFS)551ͱ͔ ‣ 41"ͱ͔ɺTJOHMFQBHF͡Όͳͯ͘+4 )5.-ͱ͔ ‣ ཧը໘ͱ͔ ‣
ͦͯ͠Ϣʔβʔʹಧ͘ɻ ߹ྲྀͷͱͯ͠ͷ8FCΞϓϦέʔγϣϯ
‣ 3BJMTੲͱࠓ ‣ ࠷৽ͷٕज़Ͱͳ͘ͳ͖ͬͯͨ ‣ ֎෦ͷ͍ΖΜͳͷͱ࿈ܞ͢Δඞཁ͕ग़͖ͯͨ ‣ ϢʔβʔʹՁΛಧ͚Δ͍ͬͯ͏͚Ͳ ‣
શମΛ͍͍ײ͡ʹ͢Δ ‣ ݁
3BJMTΞϓϦʹٻΊΒΕΔ͜ͱ ੲͱࠓ
‣ ୯ҰͷγεςϜͱͯ͠ɺσʔλͷ ग़͠ೖΕΛ্खʹߦ͏ɻ ‣ σʔλΛ͖Ε͍ʹೖΕΔɺೖΕ͘͢͢Δɻ ‣ շదͳҰށݐͯΛ࡞Δɻ ੲ
‣ ͞·͟·ͳਓ͕ͨͪ࣋ͪدΔՁΛ ߹ྲྀͤ͞ΔॴͱͳΔɻ ‣ ͍Ζ͍Ζͳਓͷॅ·͏֗ͷ׆ಈΛ͍͍ײ͡ʹ͢Δɻ ‣ ϩϘοτ͕࡞ͬͨΛϨʔϧͰӡΜͰίϯςφʹೖΕͯTIJQJUʙ̇ ࠓ
ྫ TFDSFRͷ͕͔͔࣌ؒΔ ϨίϝϯυΤϯυϙΠϯτΛ ܧଓͯ͠վળ͢Δࢪࡦ
‣ TFD͔͔Δͱ8FCಉظແཧ ‣ ඇಉظBOEPSΩϟογϡ ‣ ඇಉظͰऔΔͱ͖ͷ"1*Ͳ͏͢Δ ‣ Ωϟογϡ͢Δͱͯ͠ɺΩʔͱύʔδλΠϛϯάͷઃܭʜ
‣ Ϩίϝϯυ͢ΔࠜڌσʔλͷΘͨ͠ํ ‣ ‣ ྔ ‣ ϓϥΠόγʔ ‣ ޮՌΛͲ͏ͬͯଌఆ͠Α͏ ‣ ϩάऔಘͷΈɺ͍·͋ΔൣғͰΓΔ ‣ Ͳ͏͍͏ϩάΛͲ͏͍͏ޮՌͱΈͳ͍͍ͤ TFDSFRͷ͕͔͔࣌ؒΔϨίϝϯυΤϯυϙΠϯτΛܧଓͯ͠վળ͢Δࢪࡦ
‣ ୭͕Ͳ͏ੳ͢Δ ‣ ԿΛͬͯޮՌ͕͋ͬͨͱஅͰ͖Δ ‣ վળͷͨΊͷ৽ΞϧΰϦζϜΛͲ͏ͬͯػೳՃ͠Α͏ ‣ ύϥϝʔλมߋ͚ͩͰ͍͚Δ
‣ ͍͚ͳ͍ͱͯ͠ɺ͍ͭมߋͰ͖Δ ‣ ൺֱͷͨΊʹฒߦӡ༻͢ΔΈ ‣ ϨίϝϯυΤϯδϯ͕٧·ͬͨΓམͪͨΓͨ͠ΒͲ͏͠Α͏ ‣ ٕज़తʹΓͨ͠Γ ‣ ࠔͬͨϢʔβʔ͞ΜʹँͬͨΓॿ͚ͨΓ TFDSFRͷ͕͔͔࣌ؒΔϨίϝϯυΤϯυϙΠϯτΛܧଓͯ͠վળ͢Δࢪࡦ
‣ Ϛδ ‣ ҰݸҰݸ͕ɺٕज़తʹͪΐ͏εΰΠͱݶΒͳ͍ɻ ‣ ݸผʹʮ;ͭ͏ʯͷ͜ͱͷ΄͏͕ଟ͍ ‣ ͦΕͧΕͷͷઐՈͱͯ͠ɺͬͱεΰΠಉ྅ νʔϜϝϯόʔ͕͍ͨΓ͠·ͤΜ
ͥΜͿҰਓͰϚελʔ͢Δ
‣ ΞϓϦج൫ ‣ Πϯϑϥ43& ‣ "*ݚڀ։ൃ ‣ اըϚʔέλʔ ‣ Ϣʔβʔαϙʔτ
৭Μͳ৬ೳͷਓ͕͍ͨͪΔ
‣ଟ͘ͷ߹ɺ8FCΞϓϦͷίϛοτΛ͏ɻ ‣ҰݸҰݸͷػೳՃͦ͜·Ͱ͘͠ͳ͍ɻ ‣ͰͦΕΛܧଓతʹ͍͍ײ͡ʹ͢Δͷ͍͠ɻ ‣৭Μͳਓͷࢥ͕͋ΔͷͰɻ ࣋ͪدͬͨՌΛEFMJWFS͢Δ
‣ ͍͍ײ͡ʹ߹ྲྀ͢ΔʹͳΔɻ ‣ ૬ޓʹΑ͍ίϛϡχέʔγϣϯΛઃܭͯ͠ ‣ ՌΛྲྀ௨ͤ͞ΔΠϯλʔϑΣʔεΛఏڙ͢Δ ‣͍͠ɻ ‣͚ͲɺϢʔβʔʹՁΛಧ͚ΔͨΊʹඞཁͳ͜ͱɻ z8FCΞϓϦΛ࡞Δ৬ೳzΛ࣋ͭਓ͕ͨͪͰ͖Δͱ͍͍͜ͱ
‣ ͍͍ײ͡ʹ߹ྲྀ͢ΔʹͳΔɻ ‣ ૬ޓʹΑ͍ίϛϡχέʔγϣϯΛઃܭͯ͠ ‣ ՌΛྲྀ௨ͤ͞ΔΠϯλʔϑΣʔεΛఏڙ͢Δ ‣͍͠ɻ ‣͚ͲɺϢʔβʔʹՁΛಧ͚ΔͨΊʹඞཁͳ͜ͱɻ z8FCΞϓϦΛ࡞Δ৬ೳzΛ࣋ͭਓ͕ͨͪͰ͖Δͱ͍͍͜ͱ
‣ 3BJMTੲͱࠓ ‣ ࠷৽ͷٕज़Ͱͳ͘ͳ͖ͬͯͨ ‣ ֎෦ͷ͍ΖΜͳͷͱ࿈ܞ͢Δඞཁ͕ग़͖ͯͨ ‣ ৭Μͳ৬ೳͷਓ͕ͨͪग़ձ͏ʹͳ͖͍ͬͯͯΔ ‣ ϢʔβʔʹՁΛಧ͚Δ͍ͬͯ͏͚Ͳ
‣ શମΛ͍͍ײ͡ʹ͢Δ ‣ ݁
Ϣʔβʔʹ ՁΛಧ͚Δ ͍ͬͯ͏͚Ͳ
‣ ओޠ ‣ ࢲ͕ ‣ ࢲͨͪΤϯδχΞ͕ ‣ ࢲͨͪͷ\αʔϏε ࣄۀ
ձࣾ^શମ͕ ϢʔβʔʹՁΛಧ͚Δ͍ͬͯ͏͚Ͳ
‣ Ϣʔβʔͱ ‣ Πϯλʔωοτͷ͜͏ʹ͍ΔɺαʔϏεར༻ऀ ‣ ར༻ऀͷ͜ͱΛҰॹʹߟ͑Δɺ৫ͷؒ ‣ ͦ͏͍͏৫ͷ͕ؒ͏ιϑτΣΞϓϩμΫτ Λ࡞Δɺ։ൃνʔϜͷϝϯόʔ
ϢʔβʔʹՁΛಧ͚Δ͍ͬͯ͏͚Ͳ
‣ ʮࢲʯଞͷ৬ೳͷਓʹՁΛఏڙͯ͠ɻ ‣ ʮࢲͨͪʯΈΜͳ͕ͦΕͧΕͷ৬ೳΛੜ͔ͯ͠ ੈͷதΛ͍͖͍͖͍ͤͨ͞ɻ ഉଞͰͳ͘ϑϥΫλϧߏ
‣ ͍·ͷ8FCͷαʔόଆͬͯΑཱ͍ͪҐஔ ͩͱࢥ͏ɻ ‣ ৫֎ͷʰ͍ΖΜͳਓ͕ॅ·͏֗ʱ ͱͯ͠ͷιϑτΣΞશମΛ͍͍ײ͡ʹ͢Δɻ ‣ ʮΤίγεςϜʯͷγεςϜ શମΛ͍͍ײ͡ʹ͢Δ
‣ גࣜձࣾΤεɾΤϜɾΤεੵۃ࠾༻த ‣ 3BJMTੲͱࠓ ‣ ϢʔβʔʹՁΛಧ͚Δ͍ͬͯ͏͚Ͳ ‣ ʮࢲͨͪʯͱʮϢʔβʔʯͷϑϥΫλϧߏɻ11͡Όͳ͍Αɻ ‣ શମΛ͍͍ײ͡ʹ͢Δ
‣ ݁
શମΛ ͍͍ײ͡ʹ͢Δ
ιϑτΣΞʹॅ·͏ਓͨͪʹ͖߹͏
‣ ҰॹʹՁΛఏڙ͢ΔɺʮӡӦ͕ಘҙͳਓͨͪʯ͕ ;ͩΜॅ·͏ͱ͜Ζɻ ‣ ςʔϒ ϧΛ$36%͢Δ͚ͩͩͱΓͳ͍͜ͱ͕ଟ͍Αɻ ͨͱ͑ཧը໘
‣ ॅ·͏ਓͨͪͷϚΠϯυηοτΛଚॏͯ͠ɺ ιϑτΣΞʹ͠Α͏ɻ ‣ ϢϏΩλεݴޠɺυϝΠϯΤΩεύʔτɺ%$*ʜ ‣ Ϟδϡʔϧׂͷ͚ͩ͡Όͳ͍ ձ͠Α͏
‣ ੍ޚͷํͷܾఆݖΛɺॅ·͏ਓࣗʹҕͶΔɻ ‣ ίʔυϕʔεʹॅ·͏զʑɺίʔυϕʔεͷ͋ΓํΛ ৄ͘͠ͳ͍ਓʹܾΊΒΕͨ͘ͳ͍Ͱ͢ΑͶ ‣ ҙͯ͠ҭ͍ͯͯ͘ͱɺ݁Ռͱͯ͠Ͱ͖Δ ͜ͱ͋Δ
‣ 3BJMTϛϥΫϧ lϑϨʔϜϫʔΫzΛ࡞Βͳ͍
‣ ίʔυʹॅ·͏ࢲͨͪϓϩάϥϚʹ ‣ Α͍ΠϯλʔϑΣʔεͱίϛϡχέʔγϣϯͷ Λఏڙͯ͘͠Εɺ ‣ ιϑτΣΞͷ͍खʹՁΛಧ͚ΔͷΛ खॿ͚ͯ͘͠ΕΔɻ 3VCZ3BJMT
‣ ιϑτΣΞͷ͍खʹͱ͍͍ͬͯײ͡ʹɻ ‣ ʮ3BJMT͕ʰಈ͍ͯ΄͍͠Α͏ʹʱಈ͔ͳ͔ͬͨ ΒͦΕόάʯ ‣ Έ͍ͨͳ͜ͱΛ!ZVHVJ͞Μݴͬͯͨؾ͕ ཁग़య 3VCZ3BJMTͷΑ͏ʹৼΔ͏
ͱɺ͍͏ͷΛ Ұൠͱͯ͠ɺ ෆཁͱࢥ͏ਓ͋·Γ͍ͳ͍
‣ αʔϏε։ൃࢤΤϯδχΞ ‣ ʮࢲͷαʔϏεʯͰϢʔβʔʹՁΛఏڙ͍ͨ͠ ‣ ٕज़ࢤΤϯδχΞ ‣ ͜ͷ͍͢͝৽ٕज़Λద༻͍ͨ͠ ‣ ͦΕͧΕͷࢤͷͻͱ͕ʮશମʯʹͱͬͯେࣄ
ͳͷؒҧ͍ͳͯ͘ɻ ‣ ྑ͘͠·͠ΐ͏ ΩϟϦΞύεͱͯ͠ҙࣝ͢Δͷ͕͍͠
‣ ΈΜͳͷࣄΛ߹ྲྀͤ͞Δ͜ͱʹ ؔ৺Λ࣋ͭࢤੑʹɺ໊લ͕͋ΔͱΑ͍ɻ ‣ ͍͍ͷࢥ͍͍ͭͨΒڭ͍͑ͯͩ͘͞ ‣ ఆʮશମΛ͍͍ײ͡ʹ͢Δʯ ʲ؇ืʳ͜ͷࢤΛද͢Α໊͍લ
‣ 3BJMTੲͱࠓ ‣ ϢʔβʔʹՁΛಧ͚Δ͍ͬͯ͏͚Ͳ ‣ શମΛ͍͍ײ͡ʹ͢Δ ‣ ʮΈΜͳͷࣄΛ߹ྲྀͤ͞Δ͜ͱʯʹڵຯΛ࣋ͭɺͱ͍͏ ΩϟϦΞͷํੑΛ͝ఏҊͨ͠ɻ ‣
݁
݁
શମ͕͍͍ײ͡ʹͳΔͨΊʹɺ ࢲͨͪ3BJMTΛϗʔϜʹ͢Δ 8FCٕज़ऀ͕Ͱ͖Δ͜ͱ
"શମ͕͍͍ײ͡ʹ ͳΔ͜ͱʹڵຯΛ࣋ͪɺ ͦ͏͠Α͏ͱ͢Δ
‣ ͞·͟·ͳਓͨͪͷίϛϡχέʔγϣϯͷͱͳΔ͜ͱɺ ݩؾ͚ͮΔ͜ͱɻ ‣ ָͬͯ͘͠ͳΔΠϯλʔϑΣʔεΛ࡞Δ͜ͱɻ ‣ ͲΜͲΜࣄͨ͘͠ͳΔ6* ‣ ͲΜͲΜୟ͖ͨ͘ͳΔ"1* ‣
ࢲͨͪશһͰఏڙ͢ΔՁͷ૯Λେ͖͘͢Δ ͨΊʹٕज़Λ͏͜ͱɻ
‣ ͱ͍͏ࢤʹ֮ࣗతʹͳΓͳ͕Βɺ ͍ΖΜͳઐՈͱͷʑͷࣄΛָ͠Ή͜ͱɻ