ましめも

技術系メモ

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

Future内でThread.sleepはするな

前回の記事(Scala ExecutionContextって何 / Futureはスレッド立ち上げじゃないよ - ましめも) で import scala.concurrent.ExecutionContext.Implicits.global とは何なのか、そもそも ExecutionContext とは ということについて解説した。おさらい Executi…

Scala ExecutionContextって何 / Futureはスレッド立ち上げじゃないよ

こういう人は、あとあと処理が詰まったり理解できない挙動が起きたりして困るので注意。 よくわからないけどコンパイル時に怒られるので import scala.concurrent.ExecutionContext.Implicits.global を書いている Future.apply は 「スレッドを立ち上げて非…

IntelliJ IDEAさんがplayの自動生成ファイルを認識してくれない

play2.3で自動生成するコード(ReverseRoutingやView)をIntelliJ IDEAが認識してくれないことがあるのでその解決方法をメモ認識されていない様子(Assets.atが赤い) 1) File -> Project Structure 2) Modulesを開き、targetの下を見る src_managed/main/contro…

お手軽Akka Schedulerとハマりポイント

定期実行処理を簡単に行えるAkka Schedulerというものがある。Akkaはplay framework上から簡単に使うことができるので、バッチ処理等を行うのにとても便利。 Schedulerには次のようなメソッドが定義されている*1。 def schedule(initialDelay: FiniteDuratio…

playのRequest#remoteAddressで取れるのはIPアドレスではない

ちゃんと細かくドキュメントを読まず http://www.playframework.com/documentation/2.1.0/HTTPServer の書くままに設定してると痛い目にあう 突然カンマ区切りのIPアドレスがやってくる FugaLogging.write(id, "投稿しました", request.remoteAddress) こん…

play frameworkでPUT, DELETE, PATCH等のリクエストを<form>から受け取る

RESTfulなパスにしたいとき、<form>タグでmethod=PUT, DELETE等を送れない問題*1にぶち当たることがある。 全部POSTで送ればいいのだが、どうしてもPUTやDELETEを使いたいRESTful脳な人のための解決方法。 解決方法 Railsはこの願いを叶えるために_methodというパ</form>…

play framework 2.2でテスト用configを設定する

FakeApplicationで指定のconfigを読み込ませたい場合(例えばconf/test.conf)は次のようにすれば読み込むことができる。 "テストケース" should { "ふがほげ" in { running(new FakeApplication with DevSettings { def devSettings: Map[String, String] = M…