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
ScalaMatsuri CFPひとめぐり / ScalaMatsuri CFP quick ...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Taisuke Oe
January 08, 2020
Technology
520
0
Share
ScalaMatsuri CFPひとめぐり / ScalaMatsuri CFP quick tour
Presented on January 8th 2020 at Pre ScalaMatsuri meetup.
Taisuke Oe
January 08, 2020
More Decks by Taisuke Oe
See All by Taisuke Oe
ScalaMatsuriの座長を募集するワケ / Why we're looking for new chairperson
taisukeoe
0
1.6k
なぜ Scala 3 で変わったのか / Why things are changed in Scala3?
taisukeoe
6
3.1k
実践Monix導入 / Monix in Action
taisukeoe
4
1.3k
Scalaで関数型 再入門
taisukeoe
13
2.6k
Other Decks in Technology
See All in Technology
AI時代から振り返るTerraform drift運用の歴史 / AI Age Reflections on the History of Terraform Drift Operations
aeonpeople
0
510
OpenID Connectによるサービス間連携
takesection
0
120
GitHub Copilot のこれまでとこれから: From Copilot to Collaborative Agents
yuriemori
1
210
管理アカウント単一運用からAWS Organizationsに移行するの大変で滅
hiramax
0
260
AIが変えた"品質の守り方"
kkakizaki
13
4.8k
組織の中で自分を経営する技術
shoota
0
170
基礎から解説!Icebergで紐解くSnowflake×Databricks連携の現在地
cm_yasuhara
0
340
【ハノーバーメッセ振り返りイベントat名古屋】データは集約からAI起点の収集に ~組織内・組織間でのデータ連携~
tanakaseiya
0
130
実践 TanStack Start ― 新規プロダクトを開発して確立した、サーバーとクライアント境界の設計パターン / Practical TanStack Start Server-Client Boundary Patterns
kaminashi
2
330
自作エディターをOSSにして分かった、一人に刺さる開発が世界を動かす理由
shinyasaita
1
440
LLM時代のリファクタリング戦略_AIエージェントによる段階的・安全なTS移行方法
play_inc
0
210
Oracle Cloud Infrastructure:2026年5月度サービス・アップデート
oracle4engineer
PRO
1
170
Featured
See All Featured
New Earth Scene 8
popppiees
3
2.3k
Odyssey Design
rkendrick25
PRO
2
630
Between Models and Reality
mayunak
4
300
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
220
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
340
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
370
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
310
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.7k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
Believing is Seeing
oripsolob
1
130
Transcript
4DBMB.BUTVSJ $'1ͻͱΊ͙Γ ϓϨ4DBMB.BUTVSJ
ࣗݾհ w 5BJTVLF0F w 5XJUUFS!0&@VJB w 4DBMB.BUTVSJΛओ࠵͍ͯ͠·͢ɻ w εϐʔΧʔܦݧ w
4DBMB%BZT w +$$POG w 4DBMBؔαϛοτ w 4DBMB.BUTVSJͳͲ
ࠓ͍͑ͨ͜ͱ w εϐʔΧʔָ͍ͬͯ͠Α w εϐʔΧʔͱͯ͠ୈҰาΛ౿Έग़͢ಓ͠Δ
͑ΒΕͳ͍͜ͱ w ❌εϐʔΧʔͱͯ͠ͷϕετϓϥΫςΟε w ❌4DBMB.BUTVSJͰԠืηογϣϯ͕࠾༻͞ΕΔํ๏
ΞδΣϯμ w ͦͦɺͳͥΧϯϑΝϨϯεͰΔͷ͔ʁ w εϐʔΧʔʹͳΔʹɺͲ͏͢Ε͍͍ͷ͔ʁ
ͳͥΧϯϑΝϨϯεͰ Δͷ͔ʁ
ͳͥΧϯϑΝϨϯεͰ Δͷ͔ʁ ࢲͷ߹ w εϐʔΧʔʹͳΔͷ͕ɺҰ൪ָ͘͠աͤ͝Δɻ w ษڧ͢ΔϞνϕʔγϣϯʹͳΔɻ w ͕ࣗਪٕ͢ज़Λɺਖ਼͍͍͠ํͱͱʹΊΒΕΔɻ w
ࢀՃඅͷෛ୲͕ݮΔʢՄೳੑ͕ߴ͍ʣɻ
w ࣗΛͬͯ͘Β͏͖͔͚ͬʹͳΔɻ w ໘ന͍Πϕϯτʹ༠ͬͯΒ͑ͨΓɺظతʹࣗ ͷࣄʹܨ͕ͬͨΓ͢Δɻ w ॳର໘ͷਓɺࣗͷ͖ͳʢొஃωλʣͰ͔͠ ͚͖ͯͯ͘ΕΔ্͕͕֬Δɻ w ͦͷݶΓͷೱ͍ू·ΓʢεϐʔΧʔσΟφʔͳͲʣͰٞ
Ͱ͖Δɻ ͳͥΧϯϑΝϨϯεͰ Δͷ͔ʁ ࢲͷ߹
εϐʔΧʔʹͳΔʹ Ͳ͏͢Ε͍͍ͷʁ
εϐʔΧʔʹͳΔʹ Ͳ͏͢Ε͍͍ͷʁ w ηογϣϯެืܕͷΧϯϑΝϨϯεͰΑ͋͘ΔྲྀΕ ςʔϚΛܾΊΔ $'1ʹԠื͢Δ མ݁ՌΛΔ τʔΫͷ४උ͢ΔʢεϥΠυΛ࡞Δʣ ຊ൪ʹΔ
εϐʔΧʔʹͳΔʹ Ͳ͏͢Ε͍͍ͷʁ w 4DBMB.BUTVSJͷྲྀΕ ςʔϚΛܾΊΔΠϚίί $'1ʹԠื͢Δʜ"OZXIFSFPO&BSUIక མ݁ՌΛΔʜ݄த τʔΫͷ४උ͢ΔʢεϥΠυΛ࡞Δʣʜ݄ ຊ൪ʹΔʜ݄ɾ
ςʔϚΛܾΊΔ
ࠓ͕ͧ͘͞Μ ΑΖ͓͘͠ئ͍͠·͢ʂ ࢀߟϓϨ4DBMB.BUTVSJͷͱ͖ͷࢿྉ
$'1ʹԠื͢Δ
$'1ʹԠื͢Δ w ͜ͷ߹ɺ$'1$BMMGPS1SPQPTBMT1SFTFOUBUJPOTͷ ུɻ w ηογϣϯͷҰൠืूͷ͜ͱɻ w $'1ʹର͢ΔԠืͷ͏ͪɺ࠾༻͞Εͨͷ͕λΠϜςʔϒ ϧׂΓͯΒΕ·͢ɻ
4DBMB.BUTVSJ$'1 w ࠓͷΧϯϑΝϨϯε̐τϥοΫʂ w ৄࡉͪ͜Β w IUUQTTDBMBNBUTVSJPSHKBDGQ
Ԡืཁ߲ൈਮ Scala Scala 40 100 20 ) 200 300 (
) 3 1 Repository Pull Request
Ԡืཁ߲ൈਮ Scala Scala 40 100 20 ) 200 300 (
) 3 1 Repository Pull Request
4DBMBϏΪφʔͷఆٛ ͜ͷΧςΰϦɺScalaͰίʔυΛॻ͖࢝Ίͨਓ͕ΑΓScalaΛ͍͜ͳͯ͠ɺૉૣ͘σόοάͨ͠Γɺద ͳநԽΛ͍͜ͳͨ͠ΓɺΫϦʔϯͰ҆શͳίʔυΛॻ͚ΔΑ͏ʹͳΔͨΊͷηογϣϯͰ͢ɻ ྫ͑ ɺҎԼͷΑ͏ͳࢀՃऀΛରͱͨ͠ηογϣϯ͕֘͠·͢ɻ • ScalaͷίϨΫγϣϯૢ࡞Λ͢Δͱ͖ʹmap, flatMap, filter, findͳͲɺجຊతͳͷҎ֎͋·Γͬͨ
͜ͱ͕ͳ͍ɻ • forࣜͰॻ͚Δͷͱͦ͏Ͱͳ͍ͷͷ۠ɺॻ͚Δ͕݅Α͔͘Βͳ͍ɻ • OptionɺTryɺEitherͷ͍͚͕Α͔͘Βͳ͍ɻ͍ͭྫ֎Λ͛ͯ͠·͏ɻ • case classͱclassɺabstract classɺtraitͳͲͷҧ͍͕Α͔͘Βͳ͍ɻ • ύλʔϯϚονΛɺmatchࣜҎ֎Ͱͬͨ͜ͱ͕ͳ͍ɻෳͷύλʔϯΛΈ߹Θ͍ͤͯͬͯͳ͍ɻ • ܕύϥϝʔλʔimplicitͷ͍ॴ͕Α͔͘Βͳ͍ɻͦΕΒ͕ΘΕͨίʔυΛಡΊͳ͍ɻ ৽͍͠ΓޱͰ͜͏͍ͬͨجૅΛղઆ͢Δηογϣϯɺ࠶ೖ͢ΔηογϣϯͳͲɺ͞·͟·ͳΓޱ ͰͷηογϣϯΛืू͠·͢ɻͥͻ͝Ԡื͍ͩ͘͞ɻ
બߟํ๏ൈਮ ScalaMatsuri 2 w ͲͪΒͷબߟํ๏ʹ߹Θͤͨํ͕௨Γ͍͢ɺʢࠓ ಛʹʣͳ͍Ͱ͢ɻ w ԦಓͰมԽٿͰɺۀؔ࿈ͰझຯܥͰܴͰ͢ɻ
4DBMB.BUTVSJ$'1 w కΊΓ"OZXIFSFPO&BSUI w +45
4DBMB.BUTVSJམ w ηογϣϯืूͷకΊΓ͔Βɺि͔ؒΒϲ݄͙Β͍Ͱૹ ͞Ε·͢ɻ4DBMB.BUTVSJͰɺ݄ࠒʙ݄ॳ०Λ༧ఆ͍ͯ͠ ·͢ɻ w Α͋͘ΔޡղΑ͋͘Δޡղʮ࠾༻͞Εͳ͍࣭͕͍ʯͰ͋ Γ·ͤΜɻૉΒ͍͠ηογϣϯͰɺௌऺͷʹ͋Θͳ͔ͬ ͨΓɺΧςΰϦͷภΓʹΑͬͯ࠾༻͞Εͳ͔ͬͨΓ͠·͢ɻ ؾΛམͱ͞ͳ͍Ͱ͍ͩ͘͞ɻ
w 4DBMB.BUTVSJͰʹΞϯΧϯϑΝϨϯεΛ։࠵͠·͢ɻ ʹొஃ͕ܾఆ͞Ε·͢͠ɺଟ͍ͷͰɺͥͻͦͪΒ νϟϨϯδͯ͠Έ͍ͯͩ͘͞ɻ
εϥΠυ࡞ w εϥΠυ࡞͠͡ΊΔલʹɺࢫΛ໌֬ʹ͠·͠ΐ͏ʂ w ʮҰ൪͍͑ͨϝοηʔδʯͬͯͳΜͩΖʁࣗͷϝο ηʔδΛཧղͯ͠Β͏ʹɺͲΜͳࣝࠜڌ͕ඞཁ ͩΖ͏ʁͲ͏͓͖͍ͯ͑ͯͨ͠ࣄ࣮ͬͯɺͳΜͩΖ ͏ʁ
ٕज़తݕূ w ٕज़తͳهड़ʹؒҧ͍͕ͳ͍͔ɺࣗͰݕূ͢ΔบΛͭ ͚·͠ΐ͏ɻ w ݴ༿ͷఆ͕ٛਖ਼͔֬ओޠ͕దͳେ͖͔͞ w அݴ͍ͯ͠Δͷʹ͍ͭͯɺྫ֎ଘࡏ͠ͳ͍ͷ͔
ٕज़తݕূ w ίʔυΛॻ͍ͯಈ͔ͯ͠ݕূͯ͠ΈΔ w ΦϑΟγϟϧͷυΩϡϝϯτʢධͷྑ͍ʣॻ੶ͳͲ ͱɺໃ६͕ͳ͍͔ௐΔ w ʢ044ͳΒʣ֘͢ΔιʔείʔυΛಡΉ w ͦͷ্Ͱɺಉ྅ͳͲʹϨϏϡʔΛґཔ͢Δͷྑ͍ϓϥ
ΫςΟεͰ͢ʂ
࿅श w εϥΠυΛΑΓྑ͘͢ΔͨΊͷ࿅श w εϥΠυ͕Ұ௨ΓͰ͖ͨΒɺ·ͣεϥΠυͷϒϥο γϡΞοϓͷͨΊʹܰ͘࿅शͯ͠Έ·͠ΐ͏ɻ w ͻͱΓͰ࿅श w ·ͣҰਓͰ௨ͯͬͯ͠ΈΔͷ͕ΦεεϝͰ͢ɻ୯७
ʹ׳ΕΔ͚ͩͰͳ͘ɺͷےಓͷෆࣗવ͞ɺͳ ෦ͳͲʹؾ͖ͮ·͢ɻ
࿅श w εϥΠυͷϒϥογϡΞοϓ͕ਐΜͰ͖ͨΒɺࣾൃදձ ɺษڧձͳͲͷ࿅शॴΛͭ͘Γ·͠ΐ͏ɻ w ϑΟʔυόοΫΛੵۃతʹΒ͏ͱɺࢫͷෆ໌ྎͳ ɺٕज़తͳؒҧ͍ͳͲʹؾ͖͍ͮ͢Ͱ͢ɻ
εϥΠυఏग़ w ΧϯϑΝϨϯεʹΑͬͯඞཁͰ͢ɻ w 4DBMB.BUTVSJͰɺӳޠɾࣈນ$P$ͷ֬ೝͷͨΊɺ ݄ͷఏग़Λ͓ئ͍͍ͯ͠·͢ɻ w ͦͷޙඍमਖ਼ՄೳͰ͢ɻͦͷ߹ɺεϥΠυΛ ࠶ૹ͍ͯͩ͘͠͞ɻ
ຊ൪લͷ࿅श w ൃදʹ׳ΕΔͨΊʹɺ࿅श͍͖ͯ͠·͠ΐ͏ɻ࠷ॳͷ͏ͪ ɺࣗͷ͍ͯ͠Δ༷ࢠΛಈըͰࡱͬͯݟฦ͢ͱɺ͍Ζ͍ Ζͳؾ͖͕͋Γ·͢ɻ w ࿅श͢Ε͢Δ΄ͲɺྲྀெʹΕΔΑ͏ʹͳΓ·͢ɻྲྀெʹ ΕΔͱɺࣗ৴͕ੜ·Ε·͢ʂʢٯʹͯ͘͠࿅श͕ෆे ͩͱɺ͏·͘Εͣʹɺ༨ܭʹযͬͨΓ͠·͢ʜʣ w
࣭͞Εͦ͏ͳ͜ͱʹ͍ͭͯɺௐ͓͖ͯ·͠ΐ͏ɻΈΜͳ ͷલͰ࿅श͢ΔͱɺԿʹಥͬࠐ·ΕΔ͔ɺΑ͘Θ͔Γ·͢ɻ
ຊ൪ w εϥΠυΛ࡞ΓࠐΜͰɺ࿅शे͓͚ͯ͠ɺ͋ͱຊ ൪ͰΔ͚ͩͰ͢ɻલ͙ͬ͢Γ৸ͯɺΧϯϑΝϨϯ εָ͠Ή͜ͱʹूத͠·͠ΐ͏ʂ w εϐʔΧʔʹͳΔͷͬͯɺ༐ؾ͕͍Δ͜ͱͰ͢ΑͶɻΈ ͳ͞Μɺ·ͣୈҰาΛ౿Έग़͞Εͨ͜ͱ͕ɺૉΒ͠ ͍ͱࢥ͍·͢ɻ w
εϐʔΧʔʹͳΔ͜ͱͰɺΑΓָ͍࣌ؒ͠Λաͤͨ͝Γɺ ྑ͖ग़ձ͍͕͋Δ͜ͱΛف͍ͬͯ·͢ʂ