scala

sbt assemlby実行時にリソースフォルダを変更できるようにしたい

まずデフォルトのリソースフォルダを変更してみる sbt assemblyで実行可能jarを作成する際通常は"src/main/resources"がリソースフォルダとして使われますが、build.sbtにresourceDirectory in Compileの設定をすることによりデフォルトのリソースフォルダを…

Scalaでseqを操作してみる

scalaでSeqを操作してみる まず以下のcase classがあったとし、 case class Element(id: Int, time: java.sql.Timestamp) 初期のデータとして以下を保持する val elementSeq = Array( Element(1, new java.sql.Timestamp(new DateTime(2017, 8, 10, 16, 13).…

ScalaでfoldLeftを使ってみる

foldLeftを使ってみる foldLeft使用の覚書 list内の単語の集計を行って降順にする これだけでリスト内の単語の集計とソートが行える val countWordsList = List("a", "b", "c", "a", "d", "b", "e", "b") val wordAggregate = countWordsList.foldLeft(Map[S…

PlayFramework事始め

PlayFramework 事始め PlayFramework 事始め playのインストール プロジェクトの作成 activatorからプロジェクト作成 giter8からplayのプロジェクトを作成 コンソールの起動 サーバを起動 コンパイル テスト デバッグ sbtの利用 IDE eclipseで開発する Intel…

ApacheSparkの基本的なデータ操作

データ操作 Spark2.1で動作確認 build.sbt IDEAから実行できるようにbuild.sbtに以下を追加。対象のライブラリが存在しない場合はmaven_centralで確認する。 val sparkVersion = "2.1.0" libraryDependencies ++= Seq( "org.apache.spark" % "spark-core_2.1…

Apache Sparkを触ってみた

Apache Sparkとは? Hadoopと同じく分散処理のフレームワーク。HadoopではMapReduceと言って複数マシンで分散処理を行ってから結果をストレージに書き出す。1回の処理では終わらない場合はデータの処理フローを形成することになり、よみ出し→分散処理→書き込…

Scalaで数式をパースして整形表示

数式パーサ Scalaのコップ本を一通り読んだので振り返りも兼ねて数式をパースして計算、整形するDSLを実装したいと思います。全部自力で作れたら良いのですが、ソースコードはほとんど(http://blog.j5ik2o.me/entry/20101126/1290763057) とコップ本から拝借…

skinny事始め

scalaのフレームワークで簡単にとっつきやすそうのを探したらskinnyが良さそうだったので、触り始めた際のメモを残しておきたいと思います。 skinnyインストール(mac) $ brew updated $ brew install skinny プロジェクト作成から起動 $ skinny new プロジェ…

Scalaで新しく制御構造を作成する

Scalaで新しい制御構造を自作する Scalaは関数型言語にあるため関数が第一級のオブジェクトとなります。そのためJavaなどのオブジェクト指向言語と比べてどんな違いがあるかというと、関数を引数にして別の関数を呼び出すことができます。俗に言う高階関数と…

Scalaのfor式とflatMapについて

自分は職場では良くjava7でプログラミングするのでjava8のStream APIなどを触ることがないのですが、そのような状態だとscalaのfor式やflatMapに抵抗があったので簡単に使い方だけでもおさらいしてみたいと思います。まず、動作確認で使うクラスは以下になり…

アクターモデルについて調べてみた

バッチ処理でAkkaを使ってみたのでアクターモデルについて調べたことをまとめてみました。 scalaを触ったことがなく並列処理に興味があるけどやったことがないくらいの人が読める内容を目指したいと思います。 ・スレッドモデルについて ・アクターモデルに…

SCALA play frameworkと angular.jsでtodoアプリ開発

scala play frameworkとangular.jsを連携してTODOアプリを作ったのでメモ○概要 タイトルとステータス(終了、未終了)のステータスの情報を持ったTodoアプリを作成する。クライアントサイドではangular.jsを使いサーバーサイドではscalaのplay frameworkを使う…