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
今日から始めるスカライフ~MajiでKoiする5秒前~
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Natsumi
December 22, 2017
Programming
1.1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
今日から始めるスカライフ~MajiでKoiする5秒前~
12/21のD3イベント「教養としてのScala」の20min枠でお話ししたスライドです。
Natsumi
December 22, 2017
More Decks by Natsumi
See All by Natsumi
チームでElm開発。〜TEAに導かれし者たち〜
natsumisawa
0
1.1k
Other Decks in Programming
See All in Programming
JavaDoc 再入門
nagise
1
420
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
14
7.1k
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
580
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
2.3k
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
620
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
150
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
300
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
1
300
さぁV100、メモリをお食べ・・・
nilpe
0
160
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
130
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
240
ローカルLLMを使ってB2Bサービスを作っていての学び
yaotti
0
220
Featured
See All Featured
How to make the Groovebox
asonas
2
2.2k
Optimising Largest Contentful Paint
csswizardry
37
3.7k
Leo the Paperboy
mayatellez
7
1.9k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1k
Faster Mobile Websites
deanohume
310
32k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
260
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
630
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
55k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
330
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
44k
Transcript
ࠓ͔Β࢝ΊΔεΧϥΠϑ d.BKJͰ,PJ͢Δඵલd Scalaʹ
ᖒͳͭΈ גࣜձࣾϏζϦʔν)3.04ࣄۀ෦ʢ৽ଔʣ αʔόʔαΠυΤϯδχΞ େֶͷઐ߈ֶ͚ͩͲ΄΅ະܦݧঢ়ଶͰೖࣾ ϓϩάϥϛϯάܦݧ ೖࣾલ SVCZϲ݄4DBMBϲ݄
ೖࣾޙ KBWBϲ݄4DBMB͘Β͍
ઓུਓࣄΛ࣮ݱ͢Δ #͚αʔϏεΛͰʑ։ൃத
ࠓͷΰʔϧ ࠓ൩͔Β͙͢ɹɹɹɹɹΛॻ͖࢝ΊΒΕΔঢ়ଶʹͳΔʂ ͦͯ͠εΩʹͳΔʂ ɾ4DBMBͰXFCΞϓϦͭ͘Γ͍ͨΑ ɾֶशํ๏ʹ໎͍ͬͯΔΑ ɾβηπͨ͠Α #
ࠓ͓͢͠Δ͜ͱ w ࢲ͕ɹʹ,PJ͢Δ·ͰͷաఔͰ ͖ͬͯͨ۩ମతͳֶशํ๏Λ͝հ͠·͢ʂ ʊਓਓਓਓਓਓਓʊ ʼɹԿ͕͋ͬͨͷɹʻ ʉ:?:?:?:?:?:ʉ ίϫΠ εΩ
ࠓ͓͠͠ͳ͍͜ͱ w 4DBMBͷ۩ମతͳจ๏ w Ϟ⚪υͱ͔ʜ
ʹ,PJ͢Δ·ͰͷετʔϦʔ ୈҰষɹॖ·ͬͨ4DBMBͱͷΩϣϦ ୈೋষɹͨͷ͍͠ʂίϨΫγϣϯૢ࡞ ࠷ऴষίϨΫγϣϯΛࢲ͕ʮͭ͘Δʯʁ d,PJ͕࢝·Δ༧ײd
ୈҰষॖ·ͬͨ4DBMBͱͷΩϣϦ
Έͳ͞Μɺ ɹɹɹɹʹͲͷΑ͏ͳΠϝʔδΛ ࣋ͨΕ͍ͯ·͔͢ʁ ؔܕʁ
Έͳ͞Μɺ ɹɹɹɹʹͲͷΑ͏ͳΠϝʔδΛ ࣋ͨΕ͍ͯ·͔͢ʁ ؔܕʁ ؔܕʁ ϋΠϒϦουݴޠʁ ҉ͷܕมʁ Ϟφυʁ ίϫΠ ֶशίετߴͦ͏
લ ʢͨͿΜʣ.F UPP ʮίϫΠΉ͔͍ͣ͠Θ͔Μͳ͍ʯ
·ͣ4DBMB͕Կऀͳͷ͔ Δඞཁ͕͋ͬͨ
ͦ͜Ͱ
ʮ·ͣίϨಡ͏ʯ ͱΑ͘ݴΘΕΔίοϓຊΛߪೖ
ͲΜͳຊʁ w ݴޠઃܭऀͰ͋Δ ΦμεΩʔઌੜ ͕ɹɹɹɹɹͷࢥʹ͍ͭͯޠ͍ͬͯΔ w ʮͲ͏ॻ͘ͷ͔ʯ͔Β ʮͳͥͦ͏ॻ͘ͷ͔ʯ·Ͱॻ͍ͯ͋Δ w ӳޠ൛1%'ແྉ%-Մೳʂ
QSPHSBNNJOHJOTDBMBͰݕࡧ IUUQDDpUOTVSVdEFO4DBMBQSPHSBNNJOH@JO@TDBMB@OEQEG ͕͔ͩ͠͠ ʊਓਓਓਓਓʊ ʼɹβηπɹʻ ʉ:?:?:?:ʉ
ͲΜͳຊʁ w ݴޠઃܭऀͰ͋Δ ΦμεΩʔઌੜ ͕ɹɹɹɹɹͷࢥʹ͍ͭͯޠ͍ͬͯΔ w ʮͲ͏ॻ͘ͷ͔ʯ͔Β ʮͳͥͦ͏ॻ͘ͷ͔ʯ·Ͱॻ͍ͯ͋Δ w ӳޠ൛1%'ແྉ%-Մೳʂ
QSPHSBNNJOHJOTDBMBͰݕࡧ IUUQDDpUOTVSVdEFO4DBMBQSPHSBNNJOH@JO@TDBMB@OEQEG
ίοϓຊΞΧσϛοΫ͗͢
ͦ͜ͰࢲΛٹͬͯ͘Εͨͷ͕
ɹʊਓਓਓਓਓਓਓਓਓਓਓਓʊ ʼɹ%XBOHP͞Μͷݚमࢿྉɹʻ ʉ:?:?:?:?:?:?:?:?:?:ʉ
None
w EXBOHP͞Μͷ৽ଔ͚ 4DBMBݚमࢿྉ w ॳ৺ऀʹͰஸೡͳղઆ w ͱ͖ͬͭ͢͞ ͲΜͳࢿྉʁ
࣮ࡍͷϖʔδ ݁ߏଟ͍Ͷ
ɹɹɹɹɹɺ w ίϨΫγϣϯૢ࡞ w έʔεΫϥε w ύλʔϯϚον ͔͑͞ΕಡΊΔΑ͏ʹͳΔ CZʢ͔ͨ͠ʣ ΦμεΩʔઌੜ
˒େࣄʂʂ
ʢଞֶΜͰ͍Δͱͦͷ͏͔ͪΔʘ ?P? ʗʣ
͜Ε͚ͩͰ͍ͩͿ͓͖ۙͮʹͳΕͨ εΩ❤ɾɾɾɾɾ
ֶΜͰ͍͘͏ͪʹɺ ʮͳΜͰ͜͏͍͏֓೦͋ΔΜͩΖ͏ʁʯ ମܥతʹֶͼͨ͘ͳ͖ͬͯͨ
ͦ͏ͳͬͨͱ͖ʹ෮࡞ۀ %XBOHP͞Μͷ ݚमࢿྉ ͳΜͰʁ ͳΔ΄Ͳʂ
͜ͷηοτͰΑΓͱͷΩϣϦ͕ॖ·ͬͨ εΩϨϕϧ❤ɾɾɾɾ
ୈೋষɹͨͷ͍͠ʂίϨΫγϣϯૢ࡞
ɹͰXFCΞϓϦͭ͘Δ ˺ ίϨΫγϣϯૢ࡞
ͳ͔ͥͱ͍͏ͱʜ
͜͏͍͏ σʔληοτ͕͋ͬͨͱ͠·͢ ۂ໊ ΞʔςΟετ໊ ൃച େεΩʂ ྋࢠ ݄ .BKJͰ,PJ͢Δඵલ ྋࢠ
݄ େεΩʂ ྋࢠ ݄ #FTU4FMFDUJPO ՚ݪ๎ඒ .BKJͰ,PJ͢Δඵલ ྋࢠ ݄ .BKJͰ,PJ͢Δඵલ ྋࢠ ݄
> -JTU< σʔλΛऔಘ
ཉ͍͠ͷʹͳΔΑ͏ʹ Ճ͍ͯ͘͠ > -JTU< ྋࢠͱ՚ݪ๎ඒ ͱ͍͏ΞʔςΟετ͕ ͓ؾʹೖΓͷΑ͏Ͱ͢Ͷ σʔλΛऔಘ
ཉ͍͠ͷʹͳΔΑ͏ʹ Ճ͍ͯ͘͠ > -JTU< ྋࢠͱ՚ݪ๎ඒ ͱ͍͏ΞʔςΟετ͕ ͓ؾʹೖΓͷΑ͏Ͱ͢Ͷ ͍͍ͩͨ͜͏͍͏͜ͱ͢Δ σʔλΛऔಘ
ཉ͍͠ͷʹͳΔΑ͏ʹ Ճ͍ͯ͘͠ > -JTU< ྋࢠͱ՚ݪ๎ඒ ͱ͍͏ΞʔςΟετ͕ ͓ؾʹೖΓͷΑ͏Ͱ͢Ͷ ͍͍ͩͨ͜͏͍͏͜ͱ͢Δ σʔλΛऔಘ ͜͜ͰԿΛ͍ͯ͠Δͷʁ
> < ॏෳΛͳ͘͢ ؔ > <
ൃച ݹ͍ॱʹ͢Δؔ > < > <
> < > <ྋࢠ ྋࢠ ՚ݪ๎ඒ ΞʔςΟετ໊ ͚ͩؔ͢ ྋࢠͱ՚ݪ๎ඒ ͱ͍͏ΞʔςΟετ͕
͓ؾʹೖΓͷΑ͏Ͱ͢Ͷ ʂ
ྋࢠͱ՚ݪ๎ඒ ͱ͍͏ΞʔςΟετ͕ ͓ؾʹೖΓͷΑ͏Ͱ͢Ͷ > < > <ྋࢠ ྋࢠ ՚ݪ๎ඒ Ұ࿈ͷૢ࡞ΛৼΓฦΔͱ
ྋࢠͱ՚ݪ๎ඒ ͱ͍͏ΞʔςΟετ͕ ͓ؾʹೖΓͷΑ͏Ͱ͢Ͷ > < > <ྋࢠ ྋࢠ ՚ݪ๎ඒ ͍͍ͩͨ
ίϨΫγϣϯૢ࡞ ͔ͯ͠͠ͳ͍ʂ Ұ࿈ͷૢ࡞ΛৼΓฦΔͱ
ͱ͍͏͜ͱ
ίϨΫγϣϯૢ࡞͕ Ͱ͖ΔΑ͏ʹͳΕ
ͲΜͳͷ͕͖ͯ ࣗࡏʹ065165Ͱ͖ΔΑ͏ʹͳΔ > < > <
ʁʁʁ ཁ͢Δʹɺ ͲΜͳͷͰ࡞ΕΔΑ͏ʹͳΔ
ίϨΫγϣϯૢ࡞ େࣄ
ίϨΫγϣϯૢ࡞ େࣄ ͱ͍͑
Ͳ͏ͬͨΒ Ͱ͖ΔΑ͏ʹͳΔͷʜ
Ͳ͏ͬͨΒ Ͱ͖ΔΑ͏ʹͳΔͷʜ ͜ͷίϨΫγϣϯૢ࡞ ៉ྷͰ͢Ͷʔɻ ”ίϫΠ
ͦ͜ͰࢲΛٹͬͯ͘Εͨͷ͕
ʊਓਓਓਓਓʊ ʼɹ4DBMBɹʻ ʉ:?:?:?:ʉ
IUUQBQFSJPEJDOFUQIJMTDBMBT 4DBMB w 4DBMBಠಛͷίϨΫγϣϯૢ࡞ʹ ׳ΕΔͨΊͷ؆୯ͳूʂ w ղ͍͍ͯΔ͏ͪʹɺ ʮϧʔϓʯ͔Βʮ࠶ىʯΓସΘΔ w ͳΜͷ০Γؾͳ͍࣭ૉͳαΠτ͚ͩͲ
·Δͱָ͍͠ʂ
ิ w ʙ·Ͱ͕ -JTUͷίϨΫγϣϯૢ࡞ͷ w ͦΕҎֶ߱ͬΆ͗ͯ͢ʢπϥΠʣ w -JTU͚ͩͰेྗͭ͘
Ͳ͏ͬͯղ͘ͷʁ
Φεεϝͷඋ
ͻͩ͠·͞Μͷ αΠτ πϤΠ ςΩετΤσΟλ ͱͯ͠
IUUQTTDBMBpEEMFJP w ΦϯϥΠϯ্Ͱ4DBMBͷίʔυΛॻ͍ͯ ϫϯΫϦοΫͰ࣮ߦ͢Δ͜ͱ͕Ͱ͖Δ w 4DBMBͷΛαΫοͱ ࢼͯ͠ΈΔͷʹྑ͍ ˢ͜͜ʹίʔυΛॻ͘
w 4DBMBͷओͳίϨΫγϣϯϝιουҰཡΛ δϟϯϧ͝ͱʹ·ͱΊͯ͘Ε͍ͯΔ w νʔτγʔτ w 4DBMBͰ͏͖ϝιου ͔͜͜Β୳͢ ͻͩ͠·͞Μͷ αΠτ
IUUQXXXOFKQBTBIJIJTIJEBNB IPNFUFDITDBMBDPMMFDUJPONFUIPEIUNM
4DBMBͷͨͷ͍͠ʂղ͖ํ ࠳ં͠ͳ͍
4DBMBͷΛಡΜͰɺ ԿΛ͢Ε͍͍ͷ͔Ѳ͢Δ Ὅ*/165 Ὅ065165 ࠷ޙͷཁૉΛऔಘ͢Ε͍͍ͷͩ
ͻͩ͠·͞ΜͷαΠτΛνϥݟ͢Δ ࠷ޙͷཁૉΛऔಘ͢Δϝιου͋Δ͔ͳʁ
ϩδοΫΛߟ͑Δ ۭͷ-JTU͕Ҿʹ͞Εͨ࣌ࢮͳͳ͍͔ͳ
࣮ߦͯ͠ΈΔ 'JEEMFͷὊ36/ϘλϯΆͪͬͱԡ͢ʂ
ղ͚ͨʂ ͨͷ͠ʔʔʂ
ίϨΫγϣϯૢ࡞͕ ៉ྷʹ͔͚ͨʂ ͨͷ͠ʔʔʂ
ίϨΫγϣϯૢ࡞͕ ៉ྷʹ͔͚ͨʂ ͨͷ͠ʔʔʂ ͜͏ͬͨΒ ͬͱ៉ྷʹ͔͚ΔΑɻ
͘͏͏ɺɺɻ
Ͱ ͨͷ͠ʔʔʂ ͨͷ͠ʔʔʂ
͜ͷΑ͏ʹͯ͠ɺ
͜ͷίϨΫγϣϯૢ࡞ ៉ྷ͡Όͳ͍Ͱ͔͢ʁʢ৺ͷʣ ͍͔ͭ͠ࢲ
ίϨΫγϣϯૢ࡞ͱྑ͘Ͱ͖ͨ εΩ❤ɾɾɾ
࠷ऴষίϨΫγϣϯΛࢲ͕ʮͭ͘Δʯʁ d,PJ͕࢝·Δ༧ײd
-JTU࡞Εͳ͍ͱ ҰਓલͰͳ͍Ͱ͢Ͷ
None
ཁʮےτϨ͠Ζʯ
-JTUΛʮͭ͘Δʯͱʁ ɾ-JTUͱ͍͏ΫϥεΛࣗ࡞͢Δɹɹɹɹ scala.collection.immutable.ListΛ࠶࣮͢Δͱ͍͏͜ͱ ɾϝιουʢJT&NQUZͱ͔NBQͱ͔qBU.BQͱ͔ʜ Λࣗ࡞͢Δ ‑͜ΕΛશ෦ࣗͰ࠶࣮͢Δͱ͍͏͜ͱ
ࢲ੍࡞த
͘͢͝ษڧʹͳΔ
ͳΜͰ͔ͱ͍͏ͱɺ
ࠓ·ͰͷࣝΛ૯ಈһ͠ͳ͍ͱ ͭ͘Εͳ͍͔Βʂ
ΈΜͳߦ͘Αʂ
ͦΜͳ͜ΜͳͰ
None
εΩͩͳ εΩ❤❤ ”ͬͱ૿ͤΔΑ͏ʹؤுΓ·͢
·ͱΊ
·ͱΊ ͣͬͱલ͔Β̇
·ͱΊ ɹɹͷ͜ͱ͕ؾʹͳͬͯͨ
·ͱΊ ͦΕ͏ɺ ɹɹɹʹ,PJ͢ΔඵલͰ͢ʂ
·ͱΊ ΈΜͳͰʹ ,PJ͠·͠ΐ͏❤
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ