Ruby,Ruby on Rails メモ

Rubyで「&」などの文字参照をデコードするには CGI.unescapeHTML('test&リリース') とすると test&リリース という感じで変換してくれる。

Play framework2

application.confには前環境で共通の内容を設定 prod.confには、本番環境用のみのものを設定 という感じで、本番と開発で設定を分けたいなと思います。 これを実現するには 起動時のパラメータに以下のような設定を追加することで実現出来ます。 config.resource=prod.conf このconfig.resourceというのは、Play プロジェクト内のリソースとしてのprod.confを読み込みます、という設定なので、 confディレクトリに格納しておく必要があります ...

VMWare

VMware Player 5.0がリリースされたみたいです。 変更内容が以下のようです。 ウィンドウズ・ベースのユーザ・インターフェースへの改良 仮想デバイスの改良 VMware Playerの非商用利用ライセンス ネットワーク・アダプタを形成? あとは、VMware Workstation 9で改良された部分もあるようなので、それも取り込まれているはずです。 で、早速入れてみたら、vmnetcfg.exeが取り出せません。 インストーラに含まれなくなったようです。 物が無いなら対応策は無いん ...

Windows

Windows 8 / Windows Server 2012 / Windows Server 2012 Essentialで採用される、 Storage Space(記憶域)について、ちょっと試してみました。 何を試したかというと、 あまりみなさん気にしなさそうな事なんですが そもそもハードが壊れた時に復旧出来るのか? と言うこと。 Storage Space(記憶域)についての記事はたくさん出てきてて、概要はよく分かりました。 ディスクが壊れた時もディスクを付け替えるだけで復旧出来ると言う ...

ubuntu

UbuntuでTimeZoneを変更する方法 一応、2種類ある。 zoneinfoファイルをコピーする cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime dpkgの再設定ツールで更新するdpkg-reconfigure tzdata であるが、 localtimeへのコピーだとdpkgの設定にタイムゾーン情報が載らないようなので dpkg-reconfigure tzdata を使った方が良いようです。

Scala

今回のお題は プログラムをやってて、ある程度数値をいじる方にはもう一般的な事かもしれませんが 四捨五入です。 Scalaで。 わかりやすいように例を挙げますと 画像サイズを比率を保ったまま縮小する処理を書いてみます。 // もとの画像のサイズ val heightBefore = BigDecimal(2048) val widthBefore  = BigDecimal(1506) // 縮小後のサイズ val widthAfter   = BigDecimal(250) // widthを2 ...

未分類

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() とする