タグ

ブックマーク / modegramming.blogspot.com (3)

  • [FP] Scalaへの道

    例題勉強会で出たプログラム例をまとめて例題を作りました。 テキストファイル内の欧文単語を単語の長さで以下の三種類に分類してオブジェクトに設定する短 : 3文字以下中 : 7文字以下長 : 8文字以上以下ではこの例題にそって説明していきます。 準備分類した単語を設定するオブジェクトとしてcase classのWordsを中心としたクラスとコンパニオンオブジェクトを用意しました。 例題はテキストファイルを解析して、case class Wordsに解析結果を設定する処理になります。 package sample case class Words( smalls: Vector[String], middles: Vector[String], larges: Vector[String] ) { def +(word: String): Words = { if (word.length <=

    advblog
    advblog 2015/06/30
  • JSONライブラリ性能比較

    Spark SQL 1.3の登場を機にバッチ処理基盤の刷新を考えています。この流れの中でJobSchedulerやSpark SQLDockerで動かす試み(Docker ComposeでMySQLを使う,DockerでSpark SQL)などを行ってきました。 バッチをSpark SQLで記述し、データや計算量の規模に応じてDocker Cluster(e.g. ECS)またはSpark Cluster(e.g. EMR)を選択してバッチ処理を実行するという枠組みが見えてきました。 次に考えておきたいのはバッチ処理で使用する要素技術の選択です。今回はJSONライブラリについて性能の観点から味見してみました。 なお、あくまでも味見レベルの測定なので、条件を変えると違った結果になる可能性も高いです。また、ありがちですが性能測定プログラムにバグがあって結果が逆にでるようなことがあるかもしれま

    advblog
    advblog 2015/05/25
  • 関数型言語の技術マップ

    要求開発アライアンスの定例会で『Object-Functional Analysis and Design: 次世代モデリングパラダイムへの道標』というタイトルでセッションを行うことになりました。 セッション時間が50分なので、かなり俯瞰した形での全体像の説明になりそうですが、関連する要素技術の数が多いのと、内容が込み入っているので、ブログで補足説明をすることにしました。 今回はその第一弾です。 「関数型言語の関連技術」として用意した以下の図を説明します。関数型プログラミング言語レベルの説明はScalaを対象にします。 Disclaimer2008年にScalaをはじめて足掛け4年、関数型プログラミングとは、どうも数学を使ってプログラミングしていくことらしい、ということが分かってきました。 ScalaをBetter Javaとして使うのであれば、そこまで頑張らなくてもよいのですが、関数型言

    関数型言語の技術マップ
    advblog
    advblog 2012/03/04
  • 1