2011-01-01から1年間の記事一覧

Scalala コンソール

Scalala (https://github.com/scalala/Scalala) をちょこっと使うのに便利なように scalala-console を用意しました。https://github.com/akr4/scalala-consolesbt の initialCommands で import しているだけですw たくさん import しないと使えないんです…

2.5 Evaluating the GroupLens data set

GroupLens (http://www.grouplens.org/) が提供しているデータセットを使ってみようの回。映画のリコメンデーションサイト MovieLens のデータが様々なサイズで提供されています。http://www.grouplens.org/node/73 今回はこのうち MovieLens 100k を使いま…

2.3 Evaluating a recommender/2.4 Evaluating precision and recall

今回は 2.3 Evaluating a recommender と 2.4 Evaluating precision and recall です。Recommender を評価するために Evaluator が用意されています。 ここで使うのは以下 3 種。 AverageAbsoluteDifferenceRecommenderEvaluator 予測と実際の値の差 (絶対値…

whitepaper-config: アプリケーション設定ツールキット

Scala アプリケーションの設定をサポートするツールキット whitepaper-config を作りました。 https://github.com/akr4/whitepaper/tree/develop/config 設定を Scala コードとして書いておくと、実行時に環境に応じた設定を選択します。 設定ファイルを外出…

try-catch-finally を scala.util.control.Exception で書いてみる

11 月 10 日に daimon.scala Scala School#1 に参加してきました。Scala School (http://twitter.github.com/scala_school/basics2.html) の Exceptions のところ、try-catch-finally を使う例に対して「優れたプログラミングスタイルの例ではありません。」…

MIA勉強会: ch02 RecommenderIntro

最初のプログラム例、2.2.2 Creating a recommender の RecommenderIntro クラスを動かしてみます。最近はなんでも Scala で書きたいので Scala で書き直します。まず sbt の設定。project/build.scala。ローカルリポジトリにインストールした mahout を参照…

MIA 勉強会: 開発環境構築

Mahout in Action の "1.4.1 Installing Mahout" には 0.5 をダウンロードしてきて IDE で開けって書いてあるけどよくわからないので本家サイトの方法を試します。Quickstart (https://cwiki.apache.org/confluence/display/MAHOUT/Quickstart)このページの …

MIA 勉強会

Mahout in Action 自習勉強会をはじめました。これからちょくちょく書いていく予定です。

Unfiltered on Heroku

Heroku で Scala がサポートされたので Unfiltered を動かしてみました。https://github.com/akr4/heroku-unfiltered package net.physalis.herokuunfiltered import unfiltered.request._ import unfiltered.response._ import unfiltered.netty._ import u…

github で dotfiles 管理はじめました

https://github.com/akr4/dotfiles整理しながら少しずつ追加していくつもりです。 rake install でシンボリックリンクを作ります。erb でメールアドレスなどを置換するようにしています。 こちらの方のを参考にして作りました。 https://github.com/ryanb/do…

コレクションの sliding()

sliding() はコレクションをウィンドウをずらしながら参照する Iterator を返します。 scala> (1 to 5).iterator.sliding(3).toList res19: List[Seq[Int]] = List(List(1, 2, 3), List(2, 3, 4), List(3, 4, 5))これの存在を最近知りました。 Daimon.scala …

コレクションの iterate()

コレクションクラスのコンパニオンオブジェクトに定義されている iterate が便利ですね〜 このエントリ[Scala][joda-time] 期間でループ - Secret Staircase on はてなで 1 日ごとの Stream を作りましたが、iterate 使えばもっとシンプルに書けます。 Strea…

logback-classic

ちゃんと理解していなかったので整理。ロギングフレームワークとして Logback を使うときは slf4j-api.jar logback-core.jar logback-classic.jar が必要。maven なら logback-classic だけ指定しておけば依存性が解決される。logback-classic の名前からわ…

[Java][JPA] JPA で大きなテーブルを走査する

JPA で行数の多いテーブルを select して getResultList() すると全部メモリに展開するので効率が良くないです。こういうとき、JDBC なら ResultSet をオープンしたままループしますし、S2JDBC なら iterate() 使いますね。ところが JPA には適切な方法がな…

Twitter API ポケットリファレンス

献本いただきました。 Twitter API ポケットリファレンスTwitter4J の作者 @yusukey による Twitter API のリファレンスです。 これだけのものがしかも日本語で読めるなんてありがたいですね。API リファレンスだけでなく、API を使う上で知っておくべき OAu…

[Scala][joda-time] 期間でループ

○月○日〜○月○日まで日毎にループしたい場合、Stream 使うと便利ですね。こういう前提で import org.scala_tools.time.Imports._ val start = new DateTime(2011, 1, 1, 0, 0, 0, 0) val end = new DateTime(2011, 1, 8, 0, 0, 0, 0) val interval = new Inte…