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
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
愛される翻訳の秘訣
kishikawakatsumi
3
370
ThorVG Viewer In VS Code
nors
0
640
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
4
1.1k
Patterns of Patterns
denyspoltorak
0
420
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
39
26k
CSC307 Lecture 04
javiergs
PRO
0
620
ゆくKotlin くるRust
exoego
1
190
AI Agent Dojo #4: watsonx Orchestrate ADK体験
oniak3ibm
PRO
0
120
re:Invent 2025 トレンドからみる製品開発への AI Agent 活用
yoskoh
0
580
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
6
1.8k
JETLS.jl ─ A New Language Server for Julia
abap34
2
470
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
10
1.5k
Featured
See All Featured
The Curious Case for Waylosing
cassininazir
0
200
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.1k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
270
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
48
4 Signs Your Business is Dying
shpigford
187
22k
Faster Mobile Websites
deanohume
310
31k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
870
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
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͠·͠ΐ͏❤
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ