$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
今日から始めるスカライフ~MajiでKoiする5秒前~
Search
Natsumi
December 22, 2017
Programming
1
1k
今日から始めるスカライフ~MajiでKoiする5秒前~
12/21のD3イベント「教養としてのScala」の20min枠でお話ししたスライドです。
Natsumi
December 22, 2017
Tweet
Share
More Decks by Natsumi
See All by Natsumi
チームでElm開発。〜TEAに導かれし者たち〜
natsumisawa
0
1.1k
Other Decks in Programming
See All in Programming
生成AIを利用するだけでなく、投資できる組織へ
pospome
1
270
【CA.ai #3】Google ADKを活用したAI Agent開発と運用知見
harappa80
0
300
AIコードレビューがチームの"文脈"を 読めるようになるまで
marutaku
0
350
【Streamlit x Snowflake】データ基盤からアプリ開発・AI活用まで、すべてをSnowflake内で実現
ayumu_yamaguchi
1
120
dnx で実行できるコマンド、作ってみました
tomohisa
0
140
著者と進める!『AIと個人開発したくなったらまずCursorで要件定義だ!』
yasunacoffee
0
130
C-Shared Buildで突破するAI Agent バックテストの壁
po3rin
0
380
ゲームの物理 剛体編
fadis
0
330
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
390
Developing static sites with Ruby
okuramasafumi
0
260
TypeScriptで設計する 堅牢さとUXを両立した非同期ワークフローの実現
moeka__c
6
3k
ViewファーストなRailsアプリ開発のたのしさ
sugiwe
0
440
Featured
See All Featured
Embracing the Ebb and Flow
colly
88
4.9k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
1k
Building an army of robots
kneath
306
46k
The Language of Interfaces
destraynor
162
25k
Into the Great Unknown - MozCon
thekraken
40
2.2k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
Agile that works and the tools we love
rasmusluckow
331
21k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
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͠·͠ΐ͏❤
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ