Ruby」タグアーカイブ

Redmine v2.3.2をCentOS v5.9へ再インストール

2011頃にさくらVPSに構築したRedmine v1.x.xをRedmine v2.3.x系にアップグレードしようと試みたが、DBのマイグレーションが手間なのと、Subversionからのソースコードダウンロードだと今後のupdateがかなり効率化できる為、この際再インストールする事にした。対象環境はCentOS v5.9だが作業中に幾つか引っかかったところがあるので、今後の備忘録も兼ねて下記に纏めておく。尚、作業に際しては原則下記の公式ブログに記載の手法で進めていく。
参考:Redmine 2.3をCentOS 6.4にインストールする手順 | Redmine.JP Blog
以降はそれ以外の作業や作業中のエラー、留意点、対処法など。
続きを読む

Ruby 1.9.3インストール: yumリポジトリ追加時の依存性の欠如エラー – libyaml

ほったらかしにしていたとある自鯖のRedmineのアップグレードに際し、Ruby 1.9系のビルドに必要なlibyamlをyumでインストールする為にEPELリポジトリを追加しようとしたら下記のエラーが発生。尚、epel-releaseパッケージのURLは以下のページより確認。

よくよく確認したら対象OSバージョンがv5.9だった。。

v5.x系のパッケージをインストールするのも何だし、先ずはOSをv6.x系にUpgradeするかな。いや、v5.x系からv6.x系へのアップグレードはコマンドではなくOSの再インストール推奨されていることを考えると、一先ず、v5.x系でlibyamlをインストールする。

後はRuby v1.9.3のインストール作業となる。

Linux: RedmineとSubversionのインストール・設定例

Linux(ここではCentOS)にプロジェクト管理ソフトウェアであるRedmine 1.2.2とバージョン管理システムであるSubversionのインストール方法と設定例を以下に紹介。想定としては、WebサーバやDB以外は何も設定されていないサーバ環境を対象とした手順。すでにインストールしているものや設定済みのものは適時読み飛ばし下さい。
※参考サイトは記事の末尾をご参照。
続きを読む

JavaとRubyで文字列の終端の扱いの違い

RubyのコードをJavaに書き直す際に注意する相違点が幾つかあったので、そのうちの一つを挙げてみます。特に文字列関係は色々やりにくいです。

Rubyでは文字を[]で指すとき終端文字の次の添え字を指すとnilを返します。これをCで言う文字列の終端文字’\0’のように考え、if文などの判定に用いることが出来ます。

対して、Javaで同じような書式で書こうものなら、

のように例外でキャッチしなければなりません。

実行結果

まぁ、str.length()を用いて文字列長でcharAtで指す文字が文字列の末尾かどうかを判定することで制御すればよいまでの話かもしれません。

今回はとあるアルゴリズムを移植上、気づきが色々あったのでこうした機会に言語仕様に対する理解を深めていきたいです。