<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>僕のスライドこちらです。スクリーンが見づらい場合はお手元でご確認ください https://t.co/MtTi7m7DE5 #ScalaMatsuri #sm_a
— がくぞ (@gakuzzzz) January 30, 2016
- Sumarry
- Value Typeを使ってbugを埋め込みにくいコードに
- まず実際の物理表現と意味表現を分離(Type Alias)
- 静的型検査の力を活用して間違いを検出しやすくしました(Tagged Type or Value Classes)
- ジェネリクスによってボイラープレートを減らしました(Phantom Types)
- レイヤー境界で必要になる値型の変換方法
- レイヤー境界ではフレームワーク、ライブラリに応じた変換処理が必要になります。
- Iso や Prism を使うことでコードの依存性を下げDRYにできます。
- マクロを使って、Iso の定義のボイラープレートを無くす事ができます。(Experimental)
- Value Typeを使ってbugを埋め込みにくいコードに
- 感想
- Tagged Type便利そう。
- IsoやPrismの概念、関数型っぽい。
- 確かにLong型よりもUserId型(Value Type)を定義すると分かりやすかったりbugの埋め込みを減らせる気もするけれども、それが原因でDBとの境界に気を使ってコード量を増やしたりパフォーマンスに気を使ったする箇所を増やしたりするトレードオフだなって感じだった。
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>本日の資料です。毎度ながら詰め込み過ぎなのでバンバン流していきます…。ぜひお手元で見ながらお聞き下さい。 https://t.co/anE0sH8mFc #ScalaMatsuri #sm_a
— Yuta Okamoto (@okapies) January 30, 2016
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>「猫という考え方」 の発表資料です #ScalaMatsuri #sm_c - https://t.co/LWC5f6Xhqq
— eugene yokota (@eed3si9n_ja) January 30, 2016
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>13:40〜の講演資料はこちらです! | バッチを Akka Streams で再実装したら100倍速くなった話 https://t.co/Dc9VPKXWF1 #ScalaMatsuri #sm_a
— Negoro Kazuki (@negokaz) January 30, 2016
#ScalaMatsuri 2016 1/30(土) 14:30 - 14:45 「ScalaコードはJVMでどのように表現されているのか」で使用したスライドを公開しました!https://t.co/yJvz4EhAqF
— じゅくちょー Koichi Sakata (@jyukutyo) 2016, 1月 30
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>Here is the full 1 h version of my #ScalaMatsuri talk today (without translation) /cc @momotas210 https://t.co/NRbrKXVjuM
— Jonas Bonér (@jboner) January 30, 2016
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>Published my slides for the #zen of #akka talk at #ScalaMatsuri, どぞ: https://t.co/lE8it9l2hx
— Konrad Malawski (@ktosopl) January 31, 2016
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>#ScalaMatsuri #sm_b 資料ですhttps://t.co/rQuUaTLGZj
— Kenji Yoshida (@xuwei_k) January 31, 2016
"Apache Kafkaを使ったマイクロサービス基盤"
- 参考
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>Typesafe Reactive Platformで作るReactive System入門https://t.co/ukCt8ltzdX
— にわタコ (@niwatako) January 31, 2016
#ScalaMatsuri #sm_c