未分類

apacheでリバースプロキシを設定した場合 mod_proxyは接続先のサービスが落ちている場合、その状態をキャッシュしてしまうようです。 デフォルト値は60秒 なので、アプリを再起動した場合に、リバースプロキシでサービスが落ちている事を検知すると 60秒間、503が返る事となります。 この60秒を5秒とか1秒とかに設定してやる事で、503エラーの頻度が減ります。 設定の仕方は ProxyPass / ProxyPassReverse / としている所を ProxyPass / retry=5 ...

Linux

Apache Solrを入れてみます。 ちょっと前までは、Apache Solrで日本語を扱う時は SenとかGosenとかの日本語形態素解析ライブラリを一緒に入れる必要がありました。 Apache Solr 3.6からは、Kuromojiという日本語形態素解析ライブラリがApache Solrに同梱されるようになりました。 これにより、日本語を扱う時、Apache Solrだけをインストールすれば良くなりました。 ということで、Apache Solrのインストールをしてみます。 まず、Apac ...

Linux

今まで0 0 1 1 *とか必死に書いていたのですが、マクロがあるようです。 Entry Description Equivalent To @yearly (or @annually) Run once a year 0 0 1 1 * @monthly Run once a month 0 0 1 * * @weekly Run once a week 0 0 * * 0 @daily (or @midnight) Run once a day 0 0 * * * @hourly Run o ...

未分類

主にバグフィックスとセキュリティアップデートのようです。

Linux,ubuntu

git config --global core.editor 'vim'

Ruby,Ruby on Rails 3 Tips,Ruby on Rails 3 プラグイン

Ruby on RailsからSolrを使うには、このプラグインを使うと良さそうだ sunspot_rails ホームページは sunspotプロジェクトの一部になっています。 インストールは Ruby on Rails 3の場合 gemfileに gem 'sunspot_rails' gem 'sunspot_solr' # optional pre-packaged Solr distribution for use in development を追加 あとは bundle instal ...

Play framework2,Scala

APIDOCとか、Documentをみたら、分かる事ではあるが、はまりやすいので書いておく def action1 = Action {   Ok.wi5hSession("test1" -> "value1") } def action2 = Action {   Ok.wi5hSession("test2" -> "value2") } とした場合に action1を叩いてからaction2を叩くと セッションの情報がtest2 -> value2だけになる ...

Play framework2,Scala

Scalaの開発をVMで行っているわけでありますが 素のPlay frameworkだと、色々やってるうちにメモリを浪費してしまうようです。 メモリリークでは無いけど、必要なメモリをどんどん確保してしまうみたい。 なので、ヒープの上限という意味で割り当てを指定してみます。 毎回Play起動時に指定するのは面倒なので、環境変数で。 #~/.bashrc を開いて、一番下あたりに export _JAVA_OPTIONS="-Xms256M -Xmx256M" と書き込んでターミナルを再起動します。 ...

未分類

MySQLに接続するように設定したPlay frameworkのアプリケーションで c.j.b.ConnectionHandle - Database access problem. Killing off all remaining connections in the connection pool. SQL State = 08S01 application - ! @6ai2nh1a8 - Internal server error, for request -> play.cor ...

Scala

import org.apache.commons.io.FileUtils val it = FileUtils.lineIterator( currentFile ) it.foreach(println) とかやりたい時に、そのままやってもエラーになってしまうが import scala.collection.JavaConversions._ を書いておくと、上記の書き方が出来るようになる ※補足 sbtでプロジェクトを管理している時にApache Commons IOを使う場合 bui ...

Scala

ソースはScala val info = new ImageInfo(FilePath) val image = new MagickImage(info) // イメージの情報を削除 image.profileImage("*", null)

Play framework2,Scala

Play frameworkは便利ですが、そのまま稼働させたい時などにわざわざ $> play $ start なんて打ちたくありません。 でも、playコマンドにそのままstartと引数を付けて叩くと、コマンド一発で起動する事が出来ます。 $> play start ところが、 $> play start 80 なんてやった場合に、ポートが80番にならない。 よくよく調べてみると、playコマンドに対してstartと80の引数が渡された状態のようで playはstartだけを ...

Play framework2,Scala

Ubuntu 11.xx上で、Play framework 2.0 for ScalaからImageMagickを使う ということで、今回のコンセプトですが cookpadにはtohuがある ぼくらにはない でもapacheのモジュールで作るのもしんどい という事で、Play framework for Scalaで作るという事なのです まずはJDKのインストール これは、 からダウンロードします。 しかし、SunがOracleに買収されたのは未だにショックです。。 というのはおいといて ダウン ...

Play framework2,Scala

Controllerの中などで、 Play.current.path.getPath() とする

VMWare

主な新しい修正としては VMware SCSI デバイスでの メモリーへのチェックされていない書き込み ということで、バグフィックスのようです。

Play framework2,Scala

Ruby on Railsは、フルスタックで、テーブルのスキーマもリビジョン管理が出来るフレームワークですが、Play! Frameworkもそれに近い事が可能となっています。 Ruby on Railsで言うマイグレーションファイルは、Play! Frameworkでは conf/evolutionsディレクトリになります。 このディレクトリに1.sqlという感じに、連番でsqlファイルを作成すると その順番で実行時にスキーマの更新が行われます。 では、この1.sqlのファイルの中身はというと ...

Scala

Scalaでパスを生成する時 素直にStringのジョインにする "/tmp" + "/" + "data" とか "/" + ("" /: Array("tmp", "data")) (_ + "/" + ?) とか毎回やるのが面倒になったので、 Array("tmp", "data") createPath という感じで/tmp/data という文字列を作れるようにしてみる。 trait createpathtrait; implicit def createpathimp(a: Array ...

Scala

sbtでパッケージ管理しているScalaのプロジェクトから 単体で実行できるjarファイルを作成するには。 sbt-assemblyというプラグインを使います。 githubはこちら インストールは プロジェクトのディレクトリ内で project/plugins.sbt というファイルを作り、この中に addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.7.4") resolvers += Resolver.url("sbt-plugin-rele ...

Scala

前の記事で、Scala IDEのインストールについては書きました。 その上で、sbtでパッケージ管理をしたいといった場合の方法です。 sbtのbuild.sbtなどで依存パッケージを定義した場合など、eclipseのビルドパスに反映されません。 そーいう時は、 sbteclipse というプラグインを使います。 githubはこちら このプラグインは、sbtで定義した依存関係をもとに、eclipseのビルドパスを設定してくれるという物です。 また、sbteclipseはsbt 0.11.2以降で ...

Hadoop

前回はHadoopのインストールで、今回がいきなり実用的な内容で、ちょっと基礎を飛ばしてますが、気にしない。 レコメンドというと、パッと思いつくのはAmazonのレコメンドではないでしょうか。 商品を見ていると、「この商品を買った人はこれも一緒に買っています。」といった感じの物ですね。 今回はこのレコメンドを簡単に実装する方法を探ってみます。 まず、解析後に欲しいデータとして あるアイテム(item1)に対して、関連するアイテム(item2,item3,item4)をひもづけるデータです。 デー ...