Scala

Monix v3.0.0-RC2からTask.applyの挙動が変わっている

最近、Monix というScalaの非同期プログラミング用ライブラリを使い始めました。 monix.io 最初は、最新安定版である v2.3.3 で色々触ってみて「これは使える!楽しい!」となって、v3.x 系の方はどんな感じかなと思いバージョンを上げてみると、メソッド名…

Scala関西Summit 2018のスライドのリンク集(WIP)

Scala関西Summit 2018 で公開されたスライドを集めてみました。順不同です。随時更新していきます。 Scalaでのドメインモデリングのやりかた by @j5jk2o さん DatabricksとSparkではじめる [データ分析/機械学習] 実践入門 by @smdmts さん 明日から使える実…

「Mastering Functional Programming」を読んだ

Packt Publishing の Mastering Functional Programming を読みました。今回はこの本について書きたいと思います。 www.packtpub.com どんな本か この本はざっと次のような内容が書かれています。ちなみに言語はScalaです。 関数型、命令型プログラミング双…

若者にScalaを1ヶ月間試行錯誤しながら教えてみた話

はじめに 私が所属する開発チームでは、メインのプログラミング言語としてScalaを使用しています。小規模なチームでScalaが書けるメンバーは数名程度。それぞれのメンバーは、コードを書きながらインフラをやりながら人によってはプロダクトマネジメントもや…

Scala界隈マップ(関東地方版)をお試しで作ってみた

今朝、ふとこんなことを思い付きました。 Scalaを採用する企業が昔と比べて増えてきたのでネット系ベンチャー地図みたいなので可視化したら楽しそう。こんな感じで。 https://t.co/ApsMNLxkGf— shinharad (@shinharad) 2018年8月30日 というわけで、ちょっと…

Scalaの名前渡しパラメータが参照する度に評価されるってどこに明記されてるか調べてみた

恥ずかしい話なんですが、Scala の名前渡しパラメータ (by-name parameter) がメソッドの中でパラメータを参照する度に評価されてしまうことを知りませんでした。つまりこういうことですね。 def f: Int = { println("hello") 0 } def g(v: => Int) = { v + …

ScalaでXMLを加工する

Scala で XML を扱う機会ってまだまだあるのかなと思ってます。 例えば、既存システムの WebAPI が XML 形式しか対応してなかった場合とか。そうしたときに、Scala の XML リテラルで直接 XML を書くとか、XML を探索して特定要素の値を抽出するとかだったら…

circeのdecodeでデフォルト値を設定する

Scala の JSONライブラリ circe で、JSON を decode する際にフィールドが欠落していたらデフォルト値に置き換える方法について書きます。結構前からある機能なのでご存知の方も多いかもしれません。 つまり、こういうケースですね。 import io.circe.generi…