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

Rails 2.x系で、論理削除と言ったら、もうこれ!というのが acts_as_paranoid でした。 Rails 3.x系では rails3_acts_as_paranoid を使います。 インストールの方法は GemFileに gem "rails3_acts_as_paranoid", "~>0.2.0" と追記して bundle実行 ※Rails3.1の場合は、GemFileに書くプラグインのバージョンが"~>0.1.4"になります。 ※Rails3.0の場合は、Gem ...

Ruby,Ruby on Rails 3 Tips

UbuntuにRails3.2.8の実行環境を一からインストールしてみます。 Ubuntuは12.04を使用します。 まずは Rubyから、と言いたい所ですが、必要パッケージ類から sudo apt-get install make build-essential libssl-dev zlib1g-dev \ apache2-mpm-prefork apache2-prefork-dev libapr1-dev libaprutil1-dev \ libcurl4-openssl-dev li ...

Ruby,Ruby on Rails 3 Tips

Rails 3.2では、javascriptやstylesheetはassetにまとめられます。 ここにまとめられたものは 例えばstylesheetであれば自動的に「コントローラ名.css.scss」がcssコンパイルされ、 リンクされます。自分で指定する場合は <%= stylesheet_link_tag "users" %> とすればリンク出来ます。 さて、Rails3.2では、stylesheetはscssが、JavaScriptはCoffeScriptがそれぞれ 標準で使 ...

VMWare

VMware ESXi 5.1上の仮想マシンのディスクを変換出来るのか? と思って調査してみました。 まず、VMware ESXi 5.1にアクセスするために VMware ESXi 5.1にSSH出来るように設定する必要があります。 VShere Clientを開き、サーバの構成の中から「セキュリティプロファイル」を選択します。 サービスのプロパティを開き、SSHを開始します。 同様に、ESXiシェルを開始します。 これで、VMware ESXiにSSHでリモートログイン出来るようになります。 ...

ubuntu

lsyncdは、ディレクトリの変更を検知して、即座に同期させるというモジュールです。 ファイルの追加・変更・削除などがリアルタイムに同期される便利な物です。 便利なのですが、同期ファイルを増やしすぎると、上限に引っかかって、同期されなくなったりします。 lsyncdはディレクトリの変更を検知するためにinotifyというAPIを使用します。 このAPIでの検知出来るファイルの上限が lsyncdがディレクトリ内の変更を検知するために使う「inotify」には、「1ユーザが監視できる最大ディレクト ...

Windows

explzhのアーカイバDLLの自動アップデートでは どうもtarの64bit版はリストに含まれていないようで、tarファイルを解凍しようとするとtar64.dllを入れろと出てきます。 この場合、SuperASF の作者様のサイトよりダウンロード可能なtar64.dllをインストールすることでtar解凍ができるようになります。 tar64.dllをインストールするには 上記サイトよりtar64.dllをダウンロード後解凍し tar64.dll、tar64.libの二つをc:\windows\s ...

Windows

WinSCPにはコマンドモードがありますが このコマンドモードでスクリプトを少しだけ書いて実行してあげると サーバのディレクトリとWindows上のフォルダの中身を自動で同期してくれる。 スクリプトというのは option batch on open bnavi@192.168.1.100 sync remote -filemask="| .svn/;*.log" -delete C:\Users\hogehoge\Documents\eclipse /home/hogehoge/product ...

VMWare

なんか難しいお題ですが ようは.vmemという拡張子が付くファイルを生成せずに仮想マシンを実行するという話です。 この.vmemという拡張子が付くファイルは、仮想マシンの設定のメモリ量に応じてサイズが増えます。 2Gのメモリを指定したら、このファイルも2G。 さすがに2Gともなると、ファイルアクセスでずいぶんとパフォーマンスが削られてしまうので この2Gの.vmemファイルを作らないで仮想マシンを実行したいと思います。 設定方法は .vmxという仮想マシンの定義ファイルがあるのですが、このファイ ...

Ruby,Ruby on Rails メモ

Rubyで「&amp;」などの文字参照をデコードするには CGI.unescapeHTML('test&amp;リリース') とすると 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 ...