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
fukuokarb02
Search
あそなす
December 31, 2017
Technology
0
540
fukuokarb02
あそなす
December 31, 2017
Tweet
Share
More Decks by あそなす
See All by あそなす
How to make the Groovebox
asonas
2
1.3k
RubyKaigi 2025 pre-event
asonas
0
780
Practical The One Person Framework
asonas
1
2.3k
kosendj-sharp-1-report
asonas
0
110
The ScrumMaster's Guide to the Galaxy
asonas
4
1.7k
Setsuna -counterfeit killer-
asonas
0
160
Electrical Artistic Web App Engineer
asonas
0
410
070kosenconf
asonas
0
300
Web Driven life
asonas
2
690
Other Decks in Technology
See All in Technology
分解し、導き、託す ログラスにおける“技術でリードする” 実践の記録
hryushm
0
450
テストコードにはテストの意図を込めよう(2025年版) #retechtalk / Put the intent of the test 2025
nihonbuson
PRO
10
1.9k
Next.jsと状態管理のプラクティス
uhyo
6
2.3k
さくらのクラウド開発の裏側
metakoma
PRO
18
5.5k
Kaigi Effect 2025 #rubykaigi2025_after
sue445
0
160
Google CloudのAI Agent関連のサービス紹介
shukob
0
100
人間性を捧げる生成AI時代の技術選定
yo4raw
1
800
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
15
4.8k
Amplifyとゼロからはじめた AIコーディング。失敗と気づき
mkdev10
1
150
kernelvm-brain-net
raspython3
0
630
newmo の創業を支える Software Architecture と Platform Engineering
110y
5
560
Azure & DevSecOps
kkamegawa
2
200
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
68
11k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
41
2.3k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
The Language of Interfaces
destraynor
158
25k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
The Cost Of JavaScript in 2023
addyosmani
49
7.8k
Music & Morning Musume
bryan
47
6.5k
The Invisible Side of Design
smashingmag
299
50k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
24
2.7k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Transcript
RubyͰຖͷੜ׆Λ
BTPOBT IUUQBTPOBT גࣜձࣾTQJDFMJGF 5.*9 45&&34 ߴઐଔ %+ ϩʔυόΠΫ ྉཧ
ࠓ͢͜ͱ w ৗੜ׆Ͱࠔ͍ͬͯΔ͜ͱ w ͦΕΒΛղܾ͢ΔͨΊͷϑϨʔϜϫʔΫ
ৗੜ׆Ͱࠔ͍ͬͯΔࣄ w ཹक൪͍ͯ͠Δೣͷ༷ࢠ͕ؾʹͳΔ w ਪͯ͠ΔΞΠυϧΩϟϥʹؔ͢ΔใΛಀ͢ w ΤΞίϯిؾͷফ͠Εɺ伴ͷดΊΕ w ൩ޚ൧ͷϨγϐΛܾΊΔ w
FUDʜ
ৗੜ׆Ͱࠔ͍ͬͯΔࣄ w ཹक൪͍ͯ͠Δೣͷ༷ࢠ͕ؾʹͳΔ w ਪͯ͠ΔΞΠυϧΩϟϥʹؔ͢ΔใΛಀ͢ w ΤΞίϯిؾͷফ͠Εɺ伴ͷดΊΕ w ൩ޚ൧ͷϨγϐΛܾΊΔ w
FUDʜ
ཹक൪͍ͯ͠Δೣͷ༷ࢠ 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
"VUPNBUPSBQQ w NBD04ͷૉͳڍಈΛϓϩάϥϜͰ͖Δ w ಈ͔ͤΔ04ݶఆ͞ΕΔ͕ɺڥߏங͕ෆཁ w (6*ͰϙνϙνͰ͖ΔͷͰϓϩάϥϛϯάͰ͖ͳ͍ਓʹ w ىಈʹXIFOFWFSHFNΛͬͯDSPOUBCΛཧ w
ϑΝΠϧૢ࡞ͳͲΛ3VCZ͕୲͢Δ
"VUPNBUPSBQQ
"VUPNBUPSBQQͷ5JQT w ࡞ͨ͠ABQQA5FSNJOBM͔Βݺͼग़ͤΔ w ʮύοέʔδͷ༰Λදࣔʯ w l./Contents/MacOS/Application Stubz w ࣮ߦϑΝΠϧͱͯ͠ଘࡏ͍ͯ͠Δ
w DSPOUBC͔Βݺͼग़͚ͩ͢ • `* * * * * SOME_PATH/orusuban.app/Contents/MacOS/Application\ Stub`
ϑΟʔυόοΫ w ͓खܰʹΓ͍ͨ͜ͱ͕Ͱ͖ͨɻ w ѹతͳͱଈ࠲ʹೣͷࣸਅ͕දࣔ͞ΕΔମݧͷྑ͞ w DSPOUBCͰؒʹຕࡱӨ w ࣌ؒͰຕɺͰ ຕ
w ग़ઌͷ௨৴ڥ͕ྑ͍ͱݶΒͳ͍ w ຕͷը૾ͷμϯϩʔυ͋Μ·Γݱ࣮త͡Όͳ͍ w ͱݴ͑ɺೣ͕͍ࣸͬͯΔࣸਅ͕ݟ͍ͨʜ
গ͠Ϛγͳղܾํ๏ W
JNBHFTOBQ ⒎NQFH w JNBHFTOBQɿNBD04ͰΠϯλʔόϧࡱӨͱ͔Ͱ͖Δͭ w IUUQJIBSEFSTPVSDFGPSHFOFUDVSSFOUNBDPTYJNBHFTOBQ w ⒎NQFHɿಈըΛͭ͘Δͷʹศརͳͭ w ΠϯλʔόϧࡱӨͨ͠ը૾Λ⒎NQFHͰಈըʹͯ͠͠·͏
JNBHFTOBQ ⒎NQFH w JNBHFTOBQͷىಈ͕݁ߏ͍ͷͰʹ͚ͩͷࡱӨ w ଟΧϝϥσόΠεͷೝࣝʹ͕͔͔࣌ؒͬͯΔʁ w ͬͯຕ͔͠ࡱΕͳ͍ w ಈըʹͯͪ͠ΐͬͱऐ͍͠
ϑΟʔυόοΫ w ಈըʹͳͬͨҝɺઍຕͷࣸਅΛݟΔ͜ͱݮͬͨ w ૬มΘΒͣೣ͕ࣸͬͨॠؒΛଊ͑ΒΕͳ͍͜ͱ͋Δʜ w )JHI4JFSSBʹͳͬͯJNBHFTOBQ͕ಈ͔ͳ͍ʜ
ݱࡏͷղܾํ๏ W
QPMZTOBQ ⒎NQFH JNBHFNBHJDL 7JNFP 3VCZ w QPMZTOBQɿJNBHFTOBQΆ͍ͷΛࣗͰॻ͍ͨ w 4XJGU
w JNBHFNBHJDL w ը૾ॲཧͷͭ w 7JNFP w ಈըߘͰ͖Δ8FCαʔϏε w 3VCZ
QPMZTOBQ w 4XJGU w ΠϯλʔόϧࡱӨ͕ग़དྷΔ w 0QFO$7ͰࡱӨͰ͖ͨ w ͕ɺґଘؔʜ w
%PDLFSͰཧ͠Α͏ʹσόΠεपΓͰϋϚΓଓ͚ͨ w ݕࡧͨ͠ΒΑΓߴػೳͳͷ͕DIP͞ΜͷϒϩάͰݟ͔ͭͬ ͨͷͰͦͬͪΛ͏ํ͕͍͍͔ʜʜ
*NBHF.BHJDL w ͭͷը૾ͷࠩΛऔಘ͢Δ w 0QFO$7ͰͰ͖ΔΆ͍ w ͕ɺґଘؔʜ ճ
EJ⒎ͷ༷ࢠ w OຕͱO ຕͷը૾Λൺֱ͢Δ
EJ⒎ͷ༷ࢠ w OຕͱO ຕͷը૾Λൺֱ͢Δ
EJ⒎ͷ༷ࢠ w OຕͱO ຕͷը૾Λൺֱ͢Δ
EJ⒎ͷ༷ࢠ w ADPNQBSFAͷ݁ՌͰͲΕҐ͕ࠩ͋Δ͔Λฦ͢ w ʮΑΓେ͖͔ͬͨΒࠩ༗Γʯͱ͢Δ
3VCZ w ֤ϛυϧΣΞͷάϧʔతͳׂ w ϑΝΠϧૢ࡞ͱ͔ศར w ࡱӨͱผͷϓϩηεͰಈ͔͢ w ࡱӨඵʹຕɺ3VCZʹҰ w
ຕͷࣸਅΛݩʹಈըΛͭ͘Δ w ͍͍ͩͨඵҐͷಈըʹͳΔ
ಈը࡞ͷ४උ w ࡱӨͨࣸ͠ਅΛҰγϯϘϦοΫϦϯΫͰผͷσΟϨΫτ ϦʹϦϯΫ͢Δ w ϑΝΠϧ໊Λ࿈൪ͱͯ͠ѻ͏ͱιʔτָ͕ w TFSJFTKQH TFSJFTKQH
None
7JNFP w %SPQCPYͷ༰ྔෆͷͨΊ w Ԟ͞Μͱͷݶఆެ։ʹ͍ͯ͠Δ w 4MBDLʹ*ODPNJOH8FCIPPLΛͬͯ௨
7JNFP w IUUQTHJUIVCDPNCPP[WJNFP@NF w ͦΕͳΓʹ׆ಈ͍ͯ͠ΔHFN
σϞ
ӡ༻ w ఔηοτΞοϓͰ͖Δ w ৗతʹͬͯͳ͍ϚγϯͰӡ༻͍ͯ͠Δ w CSFXVQHSBEFͱ͔͢Δͱґଘ͕ؔഁ໓͢Δ w ϛυϧΣΞͷΞοϓσʔτؼޙʹΔ w
֓Ͷ҆ఆ͖ͯͨ͠
ӡ༻ͷ༷ࢠ
ӡ༻ͷ༷ࢠ
ӡ༻ͯ͠Έͯ w ݹ͍ϚγϯΛ͍ͬͯͯɺ3VCZͷΞοϓσʔτͱ͔ϛυ ϧΣΞͷΞοϓσʔτͳͲ͋Μ·ΓߦΘͳ͍ w ҆қͳॴʹઃஔ͢ΔͱೣʹͲ͔ͭΕͯϚγϯ͕མԼ͢Δ ͜ͱ w ҆қʹిݯέʔϒϧΛஔ͢Δͱೣʹט·ΕΔ
ϑΟʔυόοΫ w ఆج४ΛʮʮΑΓେ͖͔ͬͨΒࠩ༗Γʯͱ͢Δʯͱ ͍ͯ͠ΔͷͰؒͷࡱӨ࣌ͷϊΠζ͕ࠩͱͯ͠ग़Δ͜ͱ ͋Δ w ೣͷͲ͖ͭʹऑ͍
࣍ͷղܾํ๏ WʹΉ͚ͯ
࣍ͷվળ w ޡఆͷରॲ w ؒग़ֻ͚Δͱ ຕͷը૾͕ू·Δ w ػցֶशͳͲΛͯ͠ೣΆ͍ͷ͕͍ࣸͬͯΔͷΛݕͰ͖Δʁ ͔ʁ w
ೣͷͲ͖ͭͷରॲ w Ͳ͖ͭҎ֎ʹిݯέʔϒϧט·ΕΔ w খܕԽˍ֎෦όοςϦԽͯ͠น͔ΒΔ͢ʁ
·ͱΊ w ৗੜ׆Λվળ͢Δͷʹϓϩάϥϛϯά͢ΔͱḿΔ w ༵େͳͷͮ͘Γͷଓ͖ײ w ͷͮ͘ΓͷϞνϕʔγϣϯΛҡ࣋͢ΔҝͷϑϨʔϜϫʔΫ w ՝Λݟ͚ͭΔ w
ϞνϕʔγϣϯΛݟ͚ͭΔ w ղܾํ๏ w ϑΟʔυόοΫ
͓·͚ w &MMPͱ͍͏ศརͳͭ͋Δ w IUUQTXXXLJDLTUBSUFSDPNQSPKFDUT WJWJFONVMMFSVMP