Rails 3.2.8をUbuntuに一からインストールしてみる
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 ...
Rails 3 の環境でstylesheetにlessを使う
Rails 3.2では、javascriptやstylesheetはassetにまとめられます。 ここにまとめられたものは 例えばstylesheetであれば自動的に「コントローラ名.css.scss」がcssコンパイルされ、 リンクされます。自分で指定する場合は <%= stylesheet_link_tag "users" %> とすればリンク出来ます。 さて、Rails3.2では、stylesheetはscssが、JavaScriptはCoffeScriptがそれぞれ 標準で使 ...
VMware ESXi 5.1で仮想マシンのディスクをシックプロビジョニングからシンプロビジョニングに変更する
VMware ESXi 5.1上の仮想マシンのディスクを変換出来るのか? と思って調査してみました。 まず、VMware ESXi 5.1にアクセスするために VMware ESXi 5.1にSSH出来るように設定する必要があります。 VShere Clientを開き、サーバの構成の中から「セキュリティプロファイル」を選択します。 サービスのプロパティを開き、SSHを開始します。 同様に、ESXiシェルを開始します。 これで、VMware ESXiにSSHでリモートログイン出来るようになります。 ...
lsyncの同期ファイル検知数上限と変更方法
lsyncdは、ディレクトリの変更を検知して、即座に同期させるというモジュールです。 ファイルの追加・変更・削除などがリアルタイムに同期される便利な物です。 便利なのですが、同期ファイルを増やしすぎると、上限に引っかかって、同期されなくなったりします。 lsyncdはディレクトリの変更を検知するためにinotifyというAPIを使用します。 このAPIでの検知出来るファイルの上限が lsyncdがディレクトリ内の変更を検知するために使う「inotify」には、「1ユーザが監視できる最大ディレクト ...
explzhの64bit版でtarを使う
explzhのアーカイバDLLの自動アップデートでは どうもtarの64bit版はリストに含まれていないようで、tarファイルを解凍しようとするとtar64.dllを入れろと出てきます。 この場合、SuperASF の作者様のサイトよりダウンロード可能なtar64.dllをインストールすることでtar解凍ができるようになります。 tar64.dllをインストールするには 上記サイトよりtar64.dllをダウンロード後解凍し tar64.dll、tar64.libの二つをc:\windows\s ...
WinSCPで自動でディレクトリの同期
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 Playerで、仮想マシンのメモリ空間をファイルベースでは無く実メモリベースで実行する
なんか難しいお題ですが ようは.vmemという拡張子が付くファイルを生成せずに仮想マシンを実行するという話です。 この.vmemという拡張子が付くファイルは、仮想マシンの設定のメモリ量に応じてサイズが増えます。 2Gのメモリを指定したら、このファイルも2G。 さすがに2Gともなると、ファイルアクセスでずいぶんとパフォーマンスが削られてしまうので この2Gの.vmemファイルを作らないで仮想マシンを実行したいと思います。 設定方法は .vmxという仮想マシンの定義ファイルがあるのですが、このファイ ...
Rubyで$amp;などの文字参照をデコードする
Rubyで「&」などの文字参照をデコードするには CGI.unescapeHTML('test&リリース') とすると test&リリース という感じで変換してくれる。
Play Frameworkでapplication.confではなく、別の設定ファイルを読み込んで起動する設定
application.confには前環境で共通の内容を設定 prod.confには、本番環境用のみのものを設定 という感じで、本番と開発で設定を分けたいなと思います。 これを実現するには 起動時のパラメータに以下のような設定を追加することで実現出来ます。 config.resource=prod.conf このconfig.resourceというのは、Play プロジェクト内のリソースとしてのprod.confを読み込みます、という設定なので、 confディレクトリに格納しておく必要があります ...