ikeike443のブログ

ソフトウェアビジネスに関心がある系のブログ

Scala

Scalaのカバレッジツールの定番scctがMaven Central Repoに

アップロードされてました。(com.github.scctの方。com.github.seratch.reaktorの方は id:seratch さんでしょう) http://search.maven.org/#search%7Cga%7C1%7Cscct誰がやったんだろ。このスレ見る限り、まだ本人からのコメントはないけど。 https://githu…

SBTメモ:Scctの並列実行を止めるには

下記のように設定するといいらしい。社内のPull Requestレビューしてて知った。多分動くよ(試してないけどね!)。 parallelExecution in Scct := false, parallelExecution in ScctTest := false,

Play2 + Scala のカバレッジツールで一番マシなのは scct かな?

この記事は Play or Scala Advent Calendar 2012 12/10 分の記事です。 使ってる Play のバージョンは 2.0.4 です。Scala のバージョンは 2.9.1 ですよ。 なんかjacoco4sbtだめ 以前jacocoとjenkinsの記事を書いたんですが、jacocoだと余計なカバレッジまで…

Salat(play-salat)で日付型のカラムにJodaTimeを使う方法

Play Scala でアプリを作る際、データベースにMongoDBを採用するってのは、結構ある話かなと思います。 PlayでMongoDBを使おうと思うと、play-salat を使うことになると思います。SalatはMongoDB用のORMです。SalatでJoda Timeを使う方法をメモ書きしておき…

sublime-scalariform が Package control に登録されました!

コマンドパレット(Ctrl+Shift+p)から、Package Control Install package を選び、"scala" で検索して下さい。 上記のように候補が出てくるので、 "scalariform" を選んでクリックしてください!!よろしくおねがいします!!

WEB+DB Press vol.71 にPlay framework特別企画記事を書きました

Playの普及を進めるには、メジャーな技術系雑誌に書かないとなあと思い、今年の2,3月くらいから技術評論社さんと企画の相談をしていたのですが、なかなか実現しませんでした。それが8月に入って急遽15ページいただけることになり、締切りは8月末ってのにちょ…

ScalaのソースコードをフォーマットするSublime Text 2 プラグイン書いた

Sublime-Scalariformというプラグインを書きました。 https://github.com/ikeike443/Sublime-ScalariformScalaにはScalariformというデファクトっぽい(?)ソースコードフォーマッタがあります。 例えばEclipseのScala-IDE内でも使われているようです。こいつ…

Scala 2.9.x で Dynamic に XML をゴニョゴニョする

コードが下記なんだけど、うまく動かない。 http://pastie.org/1469213 ので、チョット直してみた。誰かのGistをフォークして直したので、上に関係ないのも入ってるけど気にしない。下半分のDynamicXMLを見てね。(上半分も動くように直したけど) 使うとき…

Play2 Scala + jacoco4sbt + jenkins でカバレッジを取る

Play2 Scalaで作ったプロジェクトをJenkins上で自動テストするのは簡単。フリースタイルジョブで作ってシェルの実行のところに下記のように書いてやれば普通に動く。JUnitスタイルのXMLを吐いてくれるので、テスト結果をJenkins上で綺麗に整形してみることが…

今日覚えたこと

scala> "ab" map Map('a'->'b', 'b'->'c') res109: String = bc なぜこれが動くのか。 Map#apply http://www.scala-lang.org/api/current/scala/collection/Map#apply(A):B Retrieves the value which is associated with the given key. This method invoke…

第3回Playframework勉強会 #play_ja をやりました

去る7月14日、勉強会をやりました。下記がその要項です。 http://playframeworkja.doorkeeper.jp/events/1231-%E7%AC%AC3%E5%9B%9Eplayframework%E5%8B%89%E5%BC%B7%E4%BC%9A-play_ja70人で募集をかけたところ、3時間で満席になってしまいました。本当にあり…

SquerylのPostgresqlAdapterはSerial型に対応していないのかな?

PostgresqlのSerial型って、{テーブル名}_{カラム名}_seqという名前のシーケンスを暗黙的に作った上で自動的に内部でnextvalを呼び出してくれるものだと思うのですが、違いましたっけ。結構理解が適当なので、間違っているのかもしれない。。 ともあれ、Sque…

ドメインオブジェクトからJSONへのアンマーシャルがだるい

このページの説明を見ててあーダルいなと思いました。 import play.api.libs.json._ case class User(id: Long, name: String, friends: List[User]) implicit object UserFormat extends Format[User] { def reads(json: JsValue): User = User( (json \ "i…

メモ

Scala勉強中 Collectionについていろいろ試してみた。 結論もなければ整理もしてないので悪しからず。。 MapやListに関数を入れられる scala> val m = Map("func" -> {i:Int=>i*3}) m: scala.collection.immutable.Map[java.lang.String,Int => Int] = Map(f…

Play! framework 概要 Tipsもあるよ!

Play! Advent Calendar 2011 一日目ということで、軽めの話をします。 おさらい:Play!とは Play!はJavaで軽量に素早く開発できるフレームワークです。 Play!についてよく知らない人が圧倒的多数だと思いますので、ものすごく簡単に説明しますね。 Play!はJa…

第二回 Playframework 勉強会 in Tokyo やりました #play_ja

10月8日にPlayframework勉強会をやりました。 http://atnd.org/events/19107 当初は30人規模の会場でやろうとしていたんですが、あっという間に定員を倍以上オーバーしてしまったため、急遽100人規模の会議室を借りて開催しました。 ニフティさんにも打診し…

Playframework勉強会やります

今週の土曜日に、Playframework勉強会を執り行ないます。 http://atnd.org/events/19107あいにく既に満席ですが、当日になってキャンセルされる方がでる可能性もあります。興味が有る方はとりあえず補欠登録してみてください。当日来てみたら入れた、って可…

Playframework 1.2 雑感

なんだかすっかり遅くなっちゃったけど、Play1.2がリリースされたので、リリースノートを読みながら確認をば。 1.2 概要 全体的に、意欲的なアップデートと言えそう。 dependenciesコマンドの追加、テスト時のsurefireの出力サポート、等々、やっとCI周りが…

IntelliJ IDEA で Playframwork の Scala モジュールを動かした

Play ScalaでWebアプリ書きたいっす。 っていうか多分来年、社内アプリとしてScala使って書くっす。なんでわざわざScalaで、とかは聞かないで。 フレームワークはLiftじゃなくてPlayを使うっす。なんでそんなマイナーなのを、とか聞かれても特に答えとか持っ…

xmemcachedというクライアントがKestrelをサポートしているらしい

http://code.google.com/p/xmemcached/wiki/Getting_Started#Talk_with_KestrelKestrelはflagをセットしても勝手に無視しちゃうので、flagに相当する値をflagではなくvalueの先頭4バイトに押し込むことで対応しているようだ。 ちょっと強引だけど、使えるの…

Kestrelはflagを無視する

Kestrel ignores memcache flags チケットとしても起票されてたみたいだけど、その後特に対応することもなく閉じられたみたい。 Twitter内部ではflagを使ってないんでしょうね。。Scalaを学習して改修するか、バイト配列のまんまでやり取りするしかないんか…

Kestrelをmemcached client for Javaで使うと

下記にあるTokyo Tylantの問題と同じ事が起こるっぽいです。 http://blog.myfinder.jp/2009/01/tokyo-tyrant.htmlKestrelはflagを常に0で返す動きをしているように見えます。詳細はまた今度ちゃんと調べますが、手許ではそれを裏付ける動きをしている気がし…

Kestrelのビルド方法がsbtに変わった

Twitter社で使われているというMQサーバのKestrel。memcachedとプロトコル互換性があってシンプルで使いやすそう。 http://github.com/robey/kestrel最近、ビルドをAntからsbtに変えたみたいです。sbtってのはscala界隈で使われてるっぽいビルドツール。 htt…