Skip to content

Instantly share code, notes, and snippets.

@satoshihirose
Last active January 31, 2016 08:06
Show Gist options
  • Save satoshihirose/09aa88935e751a062d79 to your computer and use it in GitHub Desktop.
Save satoshihirose/09aa88935e751a062d79 to your computer and use it in GitHub Desktop.

ScalaMatsuri 2016

http://scalamatsuri.org/

DAY 1

Refactoring in Scala

僕のスライドこちらです。スクリーンが見づらい場合はお手元でご確認ください https://t.co/MtTi7m7DE5 #ScalaMatsuri #sm_a

— がくぞ (@gakuzzzz) January 30, 2016
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
  • Sumarry
    • Value Typeを使ってbugを埋め込みにくいコードに
      • まず実際の物理表現と意味表現を分離(Type Alias)
      • 静的型検査の力を活用して間違いを検出しやすくしました(Tagged Type or Value Classes)
      • ジェネリクスによってボイラープレートを減らしました(Phantom Types)
    • レイヤー境界で必要になる値型の変換方法
      • レイヤー境界ではフレームワーク、ライブラリに応じた変換処理が必要になります。
      • Iso や Prism を使うことでコードの依存性を下げDRYにできます。
      • マクロを使って、Iso の定義のボイラープレートを無くす事ができます。(Experimental)
  • 感想
    • Tagged Type便利そう。
    • IsoやPrismの概念、関数型っぽい。
    • 確かにLong型よりもUserId型(Value Type)を定義すると分かりやすかったりbugの埋め込みを減らせる気もするけれども、それが原因でDBとの境界に気を使ってコード量を増やしたりパフォーマンスに気を使ったする箇所を増やしたりするトレードオフだなって感じだった。

なぜリアクティブは重要か

本日の資料です。毎度ながら詰め込み過ぎなのでバンバン流していきます…。ぜひお手元で見ながらお聞き下さい。 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>

バッチを Akka Streams で再実装したら100倍速くなった話

13:40〜の講演資料はこちらです! | バッチを Akka Streams で再実装したら100倍速くなった話 https://t.co/Dc9VPKXWF1 #ScalaMatsuri #sm_a

— Negoro Kazuki (@negokaz) January 30, 2016
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

ScalaコードはJVMでどのように表現されているのか

#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>

レジリエンスが無ければ、他は無いも同じ

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>

The Zen of Akka

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>

DAY 2

Kafka Tuning

#ScalaMatsuri #sm_b 資料ですhttps://t.co/rQuUaTLGZj
"Apache Kafkaを使ったマイクロサービス基盤"

— Kenji Yoshida (@xuwei_k) January 31, 2016
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

Scalaz入門

リアクティブシステム入門

Typesafe Reactive Platformで作るReactive System入門https://t.co/ukCt8ltzdX
#ScalaMatsuri #sm_c

— にわタコ (@niwatako) January 31, 2016
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

Typesafeの人にリアクティブについて聞こう/Reactive adoption with Typesafe members

Scala で機械学習/Machine Learning using Scala

パネルディスカッション:Scala社内教育 /Discussion Forum: Scala Education in Companies

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment