<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <id>http://maeda.farend.ne.jp/</id>
  <title>maeda.log</title>
  <updated>2012-03-10T05:53:36Z</updated>
  <link rel="alternate" href="http://maeda.farend.ne.jp/"/>
  <link rel="self" href="http://maeda.farend.ne.jp/feed.xml"/>
  <author>
    <name>MAEDA Go</name>
    <uri>http://maeda.farend.ne.jp/</uri>
  </author>
  <entry>
    <id>tag:maeda.farend.ne.jp,2012-03-10:/blog/2012/03/10/install-lokka-centos/</id>
    <title type="html">CentOS 5にLokkaをインストールした手順</title>
    <published>2012-03-10T05:53:36Z</published>
    <updated>2012-03-10T05:53:36Z</updated>
    <link rel="alternate" href="http://maeda.farend.ne.jp/blog/2012/03/10/install-lokka-centos/"/>
    <content type="html">&lt;p&gt;&lt;a href="http://lokka.org/"&gt;Lokka&lt;/a&gt; はRubyで記述されたシンプルなCMS。LokkaをCentOS 5.7にインストールしたのでその手順を記録しておく。&lt;/p&gt;
&lt;p&gt;まず、yumリポジトリに &lt;a href="http://fedoraproject.org/wiki/EPEL"&gt;&lt;span class="caps"&gt;EPEL&lt;/span&gt;&lt;/a&gt; を追加。libyaml-develとgitをインストールするため。&lt;/p&gt;
&lt;pre&gt;
rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
&lt;/pre&gt;
&lt;p&gt;Rubyをビルドするために必要なものをインストール。&lt;/p&gt;
&lt;pre&gt;
yum gorupinstall "Development Tools"
yum install openssl-devel readline-devel zlib-devel libyaml-devel
&lt;/pre&gt;
&lt;p&gt;Rubyのビルドおよびインストール。手順は省略。&lt;/p&gt;
&lt;p&gt;Lokkaをインストールするために必要なものをインストール。Lokkaで使うデータベースが決まっていれば、mysql-devel、postgresql-devel、sqlite-develのうち必要なものだけをインストールし、 &lt;code&gt;bundle install&lt;/code&gt; を実行するときの &lt;code&gt;--without&lt;/code&gt; オプションで使用しないデータベースを除外することもできる。&lt;/p&gt;
&lt;pre&gt;
yum install git
yum install mysql-devel postgresql-devel sqlite-devel libxml2-devel libxslt-devel
&lt;/pre&gt;
&lt;p&gt;ここまで準備すれば、あとは &lt;a href="http://lokka.org/getting-started"&gt;公式サイトの手順&lt;/a&gt; にしたがってインストールできる。&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>tag:maeda.farend.ne.jp,2012-03-10:/blog/2012/03/10/ruby-missing-pysh/</id>
    <title type="html">Ruby 1.9.3で "missing psych"</title>
    <published>2012-03-10T03:15:39Z</published>
    <updated>2012-03-10T03:15:39Z</updated>
    <link rel="alternate" href="http://maeda.farend.ne.jp/blog/2012/03/10/ruby-missing-pysh/"/>
    <content type="html">&lt;p&gt;Ruby 1.9.3をCentOS 5でビルドしてgemを実行したところ次のようなエラーが表示された。これは、Ruby 1.9.3ではYAMLパーサーとして従来のsyckにかわりpsychが使われるようになったため。psychはlibyamlを使用する。&lt;/p&gt;
&lt;p&gt;libyaml-develをインストールしてRubyをビルドしなおせば解決する。&lt;/p&gt;
&lt;pre&gt;
# gem
/usr/local/lib/ruby/1.9.1/yaml.rb:56:in `&amp;lt;top (required)&amp;gt;':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
RubyGems is a sophisticated package manager for Ruby.  This is a
basic help message containing pointers to more information.
&lt;/pre&gt;
&lt;h2&gt;libyaml-develをCentOSにインストールする手順&lt;/h2&gt;
&lt;p&gt;CentOSの標準のリポジトリにはlibyaml-develが含まれていないので、EPELリポジトリからインストールする。&lt;/p&gt;
&lt;p&gt;yumリポジトリにEPELを追加:&lt;/p&gt;
&lt;pre&gt;
rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
&lt;/pre&gt;
&lt;p&gt;libyaml-develをインストール:&lt;/p&gt;
&lt;pre&gt;
yum install libyaml-devel
&lt;/pre&gt;
&lt;h2&gt;CentOS 5でRubyをビルドする手順&lt;/h2&gt;
&lt;p&gt;CentOS 5上で、libyamlの件も含めて後で困ったことがおこらないようにRuby 1.9.3をビルドする手順。&lt;/p&gt;
&lt;pre&gt;
rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
yum gorupinstall "Development Tools"
yum install openssl-devel readline-devel zlib-devel libyaml-devel
&lt;/pre&gt;</content>
  </entry>
  <entry>
    <id>tag:maeda.farend.ne.jp,2012-03-05:/blog/2012/03/05/ruby-inifile-gem/</id>
    <title type="html">RubyでINIファイルを扱えるinifile gem</title>
    <published>2012-03-05T14:29:36Z</published>
    <updated>2012-03-05T14:29:36Z</updated>
    <link rel="alternate" href="http://maeda.farend.ne.jp/blog/2012/03/05/ruby-inifile-gem/"/>
    <content type="html">&lt;p&gt;inifile gemは、Windows用アプリケーションなどの設定ファイルとして使われることが多いINIファイルをRubyで扱うためのライブラリ。&lt;/p&gt;
&lt;p&gt;今回、以下のようなSubminの設定ファイルを読み取るのに利用した。&lt;/p&gt;
&lt;pre&gt;
[svn]
authz_file = /var/lib/submin/authz
userprop_file = /var/lib/submin/userproperties.conf
access_file = /var/lib/submin/htpasswd
repositories = /var/lib/submin/svn

[www]
base_url = /example/submin
svn_base_url = /example/svn
trac_base_url= /trac

[backend]
bindir = /usr/local/share/submin/bin

[generated]
session_salt = y.1Vml7LY6nm7ThA
&lt;/pre&gt;
&lt;h2&gt;インストール&lt;/h2&gt;
&lt;pre&gt;
gem install inifile
&lt;/pre&gt;
&lt;h2&gt;利用&lt;/h2&gt;
&lt;pre&gt;
ini = IniFile.load("/etc/submin/foo.conf")
puts ini['www']['base_url']
&lt;/pre&gt;
&lt;h2&gt;関連情報&lt;/h2&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://rubygems.org/gems/inifile"&gt;inifile&lt;/a&gt; (RubyGems.org)&lt;/li&gt;
&lt;/ul&gt;</content>
  </entry>
  <entry>
    <id>tag:maeda.farend.ne.jp,2012-03-04:/blog/2012/03/04/gnu-screen/</id>
    <title type="html">接続が切れても作業再開できるGNU screen</title>
    <published>2012-03-04T07:15:51Z</published>
    <updated>2012-03-04T07:15:51Z</updated>
    <link rel="alternate" href="http://maeda.farend.ne.jp/blog/2012/03/04/gnu-screen/"/>
    <content type="html">&lt;p&gt;インターネット越しにsshでサーバに接続しているとき、通信回線の不調など何らかの原因で接続が切れることがある。接続が切れると、作業中のコマンドも強制終了させられてしまい、重要な作業・時間がかかる作業をおこなっているときなどは特に困る。&lt;/p&gt;
&lt;p&gt;&lt;span class="caps"&gt;GNU&lt;/span&gt; screenを使うとsshの接続が切れてもサーバが動作している限りは処理が継続される。改めて接続し直せば問題なく作業を再開できる。&lt;/p&gt;
&lt;h2&gt;インストール&lt;/h2&gt;
&lt;p&gt;CentOSの場合、yumコマンドでインストールできる。&lt;/p&gt;
&lt;pre&gt;
yum install screen
&lt;/pre&gt;
&lt;h2&gt;使用方法&lt;/h2&gt;
&lt;h3&gt;新たなウィンドウの作成&lt;/h3&gt;
&lt;p&gt;接続が切れても作業を再開するためには、screenで新たに作成したウィンドウで作業する。以下のコマンドで新たなウィンドウが作成され、そのウィンドウに接続された状態となる。&lt;/p&gt;
&lt;p&gt;-Sオプションの後にはわかりやすいウィンドウ名（以下の例では20110304_resize_partition）を付けておく。&lt;/p&gt;
&lt;pre&gt;
screen -S 20110304_resize_partition
&lt;/pre&gt;
&lt;h3&gt;ウィンドウの一覧表示&lt;/h3&gt;
&lt;p&gt;-lsオプションでウィンドウのPIDと名前の一覧が表示される。&lt;/p&gt;
&lt;pre&gt;
# screen -ls
There is a screen on:
	21064.20110304_resize_partition	(Attached)
1 Socket in /var/run/screen/S-root.
&lt;/pre&gt;
&lt;h3&gt;作業の再開(既存のウィンドウへの接続)&lt;/h3&gt;
&lt;p&gt;-xオプションで指定したPIDのウィンドウに接続できる。&lt;/p&gt;
&lt;pre&gt;
screen -x 21064
&lt;/pre&gt;
&lt;h3&gt;ウィンドウを閉じる&lt;/h3&gt;
&lt;p&gt;ウィンドウから exit コマンドで抜ければ削除される。&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>tag:maeda.farend.ne.jp,2012-02-26:/blog/2012/02/26/svn_untouched/</id>
    <title type="html">長期間更新されていないファイルをsvnの作業コピーから探す</title>
    <published>2012-02-26T05:07:41Z</published>
    <updated>2012-02-26T05:07:41Z</updated>
    <link rel="alternate" href="http://maeda.farend.ne.jp/blog/2012/02/26/svn_untouched/"/>
    <content type="html">&lt;p&gt;Subversionの作業コピー内のファイルを、リビジョンが古い順に一覧表示するスクリプトを作成した。&lt;/p&gt;
&lt;p&gt;このスクリプトを作成した目的はwebサイトのメンテナンスのため。サイト内で長期間更新されていないページを探して見直しを行うために利用した。&lt;/p&gt;
&lt;h2&gt;実行した様子&lt;/h2&gt;
&lt;p&gt;以下はRedmineのtrunkに対してスクリプトを実行した様子。作業コピー内のファイルがリビジョン順に表示される。長期間更新されていないファイルが先に表示される。&lt;/p&gt;
&lt;pre&gt;
4,files/delete.me
31,log/delete.me
44,db/migrate/005_issue_start_date.rb
49,vendor/plugins/rfpdf/MIT-LICENSE
49,vendor/plugins/rfpdf/test/test_helper.rb
62,db/migrate/008_create_user_preferences.rb
62,public/images/loading.gif
63,db/migrate/009_add_hide_mail_pref.rb
81,db/migrate/011_add_news_comments_count.rb
95,db/migrate/013_create_queries.rb
106,db/migrate/015_create_repositories.rb
167,db/migrate/017_create_settings.rb
223,db/migrate/022_serialize_possibles_values.rb
228,db/migrate/023_add_tracker_is_in_roadmap.rb
&lt;/pre&gt;
&lt;h2&gt;ソースコード&lt;/h2&gt;
&lt;script src="https://gist.github.com/1912028.js?file=svn_untouched.rb"&gt;&lt;/script&gt;</content>
  </entry>
</feed>


