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
Scalaの現場から学ぶ設計:座談会 / genba sekkei vol 2
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
集約のエンティティ
March 19, 2022
Programming
760
0
Share
Scalaの現場から学ぶ設計:座談会 / genba sekkei vol 2
2022年3月19日に開催された ScalaMatsuri 2022 で開催した座談会のスライドです。
https://scalamatsuri.org/
集約のエンティティ
March 19, 2022
More Decks by 集約のエンティティ
See All by 集約のエンティティ
組織を強くするPdMのマインド / PMHub vol.2
pictiny
5
820
戦略的DDDは重いのか? / Is strategic DDD heavy?
pictiny
4
3.1k
戦略的DDDを実践するための跳躍力 / OOC 2024
pictiny
9
11k
どうしてこうなった命名集 ~🔥編~ / OOC 2024 LT
pictiny
7
5.1k
おかしな名前 ~ 🔥編 ~ / Strange Name
pictiny
1
340
ドローンの会社は生成AIをどう活用するか / Generative AI Bounenkai 2023
pictiny
0
500
日報には"今日の一番大きな成果"を書こう / Kichijoji.pm 34
pictiny
1
1.3k
Scalaの現場から学ぶ設計 告知 / genba sekkei vol.2 announce
pictiny
1
190
現場から学ぶシステム設計:座談会 / genba sekkei vol 1
pictiny
5
2k
Other Decks in Programming
See All in Programming
瑠璃の宝石に学ぶ技術の声の聴き方 / 【劇場版】アニメから得た学びを発表会2026 #エンジニアニメ
mazrean
0
190
まかせられるPM・まかせられないPM / DevTech GUILD Meetup
yusukemukoyama
0
110
Vibe NLP for Applied NLP
inesmontani
PRO
0
130
Radical Imagining - LIFT 2025-2027 Policy Agenda
lift1998
0
250
「接続」—パフォーマンスチューニングの最後の一手 〜点と点を結ぶ、その一瞬のために〜
kentaroutakeda
5
2.5k
Codex CLIのSubagentsによる並列API実装 / Parallel API Implementation with Codex CLI Subagents
takatty
2
860
CDK Deployのための ”反響定位”
watany
1
550
Symfonyの特性(設計思想)を手軽に活かす特性(trait)
ickx
0
130
3分でわかるatama plusのQA/about atama plus QA
atamaplus
0
130
安いハードウェアでVulkan
fadis
1
930
年間50登壇、単著出版、雑誌寄稿、Podcast出演、YouTube、CM、カンファレンス主催……全部やってみたので面白さ等を比較してみよう / I’ve tried them all, so let’s compare how interesting they are.
nrslib
4
730
見せてもらおうか、 OpenSearchの性能とやらを!
shunta27
1
180
Featured
See All Featured
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
190
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
670
Reality Check: Gamification 10 Years Later
codingconduct
0
2.1k
How to Talk to Developers About Accessibility
jct
2
170
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
110
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9k
A Tale of Four Properties
chriscoyier
163
24k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
270
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
510
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
We Have a Design System, Now What?
morganepeng
55
8.1k
Transcript
Scalaの現場から学ぶ 設計 座談会 2022.03.19
None
本セッションについて • アルプは社内で定期的に設計についての相談会を実施 • 今回はScalaMatsuriのバーチャルブースを借りて相談会の出張版となります • 質問やコメントはDiscordの #alp-雑談と実況 チャンネルにご投稿ください •
ツイッターのハッシュタグ #genba_sekkei もご利用ください
今日のテーマ オブジェクト指向(OOP)と関数型(FP)について
アルプにおけるOOPとFP • アルプではScalaでOOPをしっかりやっている ◦ DDDにも注力している • 同時にFPのエッセンスもプロダクトに取り入れている ◦ 一番の具体例は Eff
• アルプでのFP ◦ 静的型付き言語の表現力を上げるために使っている ◦ 可読性を上げるためのアーキテクチャの一部 相談(トークテーマ) • 設計の観点で、どういうときにFP(OOP)の要素が役に立つか • こう使うと可読性が上がるよね、などの言語化
OOPとFPの対立 • OOPとFPは対比して語られることが多い ◦ 部分的には相反しているかもしれないけど ◦ 全てが相反しているわけではない • ステートレスなOOPはOOPではないのか? ◦
そんなはずはない • 相反していないから、部分的に共存できる ◦ 両方の要素を実用的に取り入れている Scalaいいよね 相談(トークテーマ) • 双方のいいところを両取りしていくには • 何が相反していて、何が相反していないのか
2022年のFP • FPはどうしても難しい話から入ってしまいがち ◦ 高階関数、モナド、モナトラ • アルプではあまり意識せずにFPのエッセンスを使えている ◦ モナドがわからなくても for式で合成してくれる便利な道具(
Eff)がある • 他社の事例にもそういう流れはないのだろうか ◦ FPが実は身近になっている説 相談(トークテーマ) • FPが身近になっている事例があれば