Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Rails な受託の会社でぼくがやっていること / What I do in a Rails ...
Search
takkanm
March 22, 2019
Technology
14k
6
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Rails な受託の会社でぼくがやっていること / What I do in a Rails consulting company
RailsDM 201903 での発表
takkanm
March 22, 2019
More Decks by takkanm
See All by takkanm
わたしの知っているRubyKaigiとESM / The relationship between RubyKaigi and ESM that I know
takkanm
0
460
Learn Programming Essence from Ruby patches
takkanm
4
2.4k
UpdateAdhoqToSupportRails5
takkanm
0
1.6k
That I speak when talking about language that starts from R
takkanm
3
2.6k
journey through the programming language(censored edition)
takkanm
1
300
10th anniversary Rubyist Magazine
takkanm
0
240
ordk03-ninja-talk
takkanm
0
630
ソーシャルコーディング時代のふつうのプログラマサバイバルガイド
takkanm
17
7.4k
bookshelf_in_my_head.pdf
takkanm
0
150
Other Decks in Technology
See All in Technology
【Findyテック文化祭ワークショップ】新卒エンジニア&採用担当と作る、 なりたい姿と今やるべき一歩
dip_tech
PRO
0
150
The kernel report
ennael
PRO
1
150
AI駆動開発で仕様はどこまで書くべきか? ― 人とAIの責務境界から考える開発プロセスの実践
takahiromatsui
1
250
カンファレンスに参加した後の浮遊感とセルフケア
pauli
0
250
AIに書かせて、プラットフォームで縛る ― EKSプラットフォームで実践した責任境界と権限設計
elmodev09
1
1.1k
TiDBファミリーにDWHが新登場!! TiDB最新情報 / TiDB update 202609
yoshiakiyamasaki
0
160
メルカリにおけるAI時代の高速プロトタイピング基盤「Arca」
ryotarai
18
13k
Swap and Memory Reclaim - Squeezing Out More RAM
ennael
PRO
1
1.4k
音声コミュニティを守るAI監視基盤_ 90%以上の入力削減を支えたServerless設計と運用判断
shuheioka123
0
120
Lambda MicroVMsは常駐サーバーの代わりに なるか? Kiro Crew を動かして検証してみた / Kiro Crew on Lambda MicroVMs
k_adachi_01
2
340
ScotSecure West 2026 - Glasgow
raybugg
0
210
AIに賢く動いてもらうためのコンテキスト〜Snowflake女子会 vol.8
snowwmn0824
0
200
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Designing for humans not robots
tammielis
254
26k
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
240
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
270
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
490
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
3
4.3k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
850
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.1k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
510
Into the Great Unknown - MozCon
thekraken
41
2.7k
Git: the NoSQL Database
bkeepers
PRO
432
67k
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 Έͳ͞Μɺ࿅श͍ͯ͠·͔͢ʁɹࣗ৴खΛಈ͔ͯ͠࿅श͢Δ͜ ͱ͔Βੜ·Ε·͢ɻ͔ࣝΒੜ·Ε·ͤΜɻ͍ͭͲ͏ͬͯ࿅श ͨ͠Β͍͍ͩΖ͏ͱߟ͑·͠ΐ͏ɻͦΜͳΘ͚ͰɺΤΩεύʔτͱ ݺΕΔਓϕετϓϥΫςΟεɺϥϕϧΛ৴͢Δ͜ͱΊ·͠ΐ ͏ɻϥϕϧ͋ͳͨΛࢥߟఀࢭͤ͞·͢ɻϥϕϧ͋ͳͨΛʹΊ ·͢ɻϥϕϧ͕͋ͳͨΛڱΊΔ͜ͱʹͳΓ·͢ɻࣗࣗʹϥϕϧΛ
షΔͷΊ·͠ΐ͏ɻ͋ͳ͕ͨԿऀ͔͋ͳ͕ͨԿΛ͢Δ͔Ͱܾ ·Γ·͢ɻ໊ࢺͰͳ͘ಈࢺͰ͍·͠ΐ͏ɻΑ͍ߦಈΛ͠·͠ΐ͏ʂ