akishin999の日記

調べた事などを書いて行きます。

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

Ruby のヒアドキュメントのあまり見かけない使い方

最近知った Ruby のヒアドキュメントのあまり見かけない(?)機能をいくつか備忘録としてまとめてみました。 メソッドの引数に渡せる 以下のようにしてヒアドキュメントをメソッドの引数にそのまま渡せます。 def here_method(arg1, arg2, arg3) puts arg1 …

Ubuntu 12.10 へ mroonga をインストールする

Tritonn の後継で MySQL 5.1 以降で日本語全文検索を可能にする mroonga を Ubuntu 12.10 にインストールした際のメモです。 MySQL 5.5 のインストール まずは MySQL 本体をインストールします。 ここでは apt から以下をインストールしました。 % sudo apt-…

tmux + tmuxinator が便利

最近ローカルの開発環境を Ubuntu 12.10 に上げていろいろ弄っていたのですが、遅ればせながらやっと導入してみた tmux + tmuxinator がかなり便利だったのでご紹介。tmux は GNU screen などと同様のターミナルマルチプレクサと呼ばれるソフトウェアです。 …

rbenv のインストール用シェルスクリプト

環境構築の度に毎回 rbenv を入れるのが面倒だったので、簡単なインストールスクリプトを書いてみました。 こんな感じで実行すると ~/.rbenv ディレクトリ以下に rbenv + ruby-build + rbenv-gemset がインストールされます。 % wget https://raw.github.com…

Monit でお手軽に外部のサーバを監視する

Monit はサーバ内のプロセスやリソースの使用率などを監視する為に使われる事が比較的多いようですが、実は外部の Web サーバに対する URL 監視や Ping 監視などもとても簡単に設定できるため非常に便利です。というわけで、Monit を使用して外部のサーバの…

mail コマンドで from を変更する方法まとめ

シェルスクリプトでメール送信する際などに from を変更したい場合が時々あるのですが、ディストリビューションによってオプションの指定方法が異なっていたりすることが度々・・・。毎回調べるのも面倒なので、この機会にまとめてみました。 mail コマンド…

Ruby の sprintf で名前付きパラメータ

先日会社の後輩に教えて貰ったんですが、Ruby 1.9 から Kernel.#sprintf や String#% が Hash を受け取れるようになっていたんですね。 ずっと知らなかったんですが、便利だと思ったので試してみました。これにより、文字列で SQL での名前付きプレースホル…

Ruby で PDF にフッタを埋め込む

Pdftk を使用して Ruby から PDF にフッタを埋め込む方法を調べてみました。 ちなみに Ruby のバージョンは以下です。 # ruby -v ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux] Pdftk のインストール Pdftk は大抵のディストリビューションで…

Ruby 1.9 の正規表現の名前付きキャプチャ

Ruby 1.9 の正規表現では名前付きキャプチャが使えるそうなので、いまさらですがちょっと試してみました。適当なサンプルを思いつかなかったので、とりあえず Apache の Common Log Format 文字列を分解してみます。 正規表現が若干適当なのは名前付きキャプ…

I18n のバックエンドにデータベースを使用する

Rails 3.2.7 で I18n のバックエンドに RDBMS を使う、というのを試してみました。 i18n-active_record という gem を使うようです。まずはお試し用のプロジェクトを作成します。 RDBMS には MySQL を選択しました。 $ rails new i18n_backend_example -d my…

CentOS 6.2 用に Ruby 1.9.3 p194 の RPM を作成する

CentOS 6.2(x86_64)上で Ruby 1.9.3 p194 の RPM を作成してみました。 当初 checkinstall を使おうと思ったのですが、紆余曲折ハマった挙句、結局上手く行かなかったため、rpmbuild を使いました。 必要なライブラリのインストール # yum groupinstall -y "…

Gitlab で作成したリポジトリでのコミットメール送信とリポジトリのミラーリング

実運用するにあたっては結構重要な push 時のコミットメール送信とバックアップとしてのリポジトリのミラー作成についてまとめてみました。 他に良いやり方があるかもですが、手元では以下のようにして実現しています。 コミットメール送信 まずは gitolite …

CentOS 6.2 に gitolite v3.03、GitLab v2.6.2 をインストールする

前回 試した時から結構バージョンが上がったようなので、gitolite 3.03 & GitLab 2.6.2 をインストールしてみました。2013.08.16 追記 新しいバージョンについて記事を書いています。 こちらも参照してください。 GitLab 5.4.0 を CentOS 6.4 にインストール…

GitLab を Apache2 + Passenger で動かしてみる

前回インストールした GitLab を Apache + Passenger で動作するように設定してみます。 httpd、httpd-devel は既にインストール済みのものとします。2013.08.16 追記 新しいバージョンについて記事を書いています。 こちらも参照してください。 GitLab 5.4.…

CentOS 6.2 に GitLab をインストールする

少し前に GitHub クローンである GitLab を検証していた際の環境構築メモを整理がてらまとめてみました。GITLAB http://gitlabhq.com/現在公式リポジトリでは 2.3.1 が最新のようですが、試した時のバージョンなので 2.2.0 での記事になっています。2013.08.…

CentOS 6.2 用に Apache 2.4.1 の RPM を作成する

CentOS 6.2(i686)用に先日リリースされた Apache 2.4.1 の RPM を作成しインストールしてみました。 事前準備 開発用ツールのインストール。 # yum groupinstall -y "Development Tools" yum リポジトリに EPEL を追加。 # rpm --import http://ftp.riken.jp…

VMware Player 上の CentOS で yum が使えない

VMware Player 上に CentOS 6.2 をインストールしたのですが(ネットワークは NAT)、yum を実行すると以下のようなエラーが発生してしまいました。 # yum update Loaded plugins: fastestmirror, refresh-packagekit, security Loading mirror speeds from ca…

gitolite のユーザ管理の仕組み

Git

最近になって gitolite を使ってみたのですが、かなり便利ですね。gitolite では OS のユーザを作成せずに、SSH の公開鍵を登録するだけでユーザを追加できる仕組みになっているのですが、これって一体どうやっているのでしょうか。gitolite ユーザの author…

tmail-1.2.7 で Encoding::CompatibilityError

Ruby 1.9.3 で Rails 2.3.12 アプリケーションを動かしてみたところ、iso-2022-jp でメールを送信している箇所で以下のようなエラーが発生しました。 incompatible encoding regexp match (ASCII-8BIT regexp with ISO-2022-JP string) /var/rails_apps/exam…