nDiki : Ruby

2003年11月20日 (木)

やっぱハイパー日記システム

tDiary に随分傾むいていたのだが。

自分自身の使用としては、

  • tDiary で SUB できない?
  • tDiary で 旬単位表示できない? (月まとめ表示はちょっと大きすぎる気が)
  • tDiary には hns の log.cgi に当たる機能がない?
  • Ruby プログラム、 hack できない (これを機に覚えれば良いのだが)
  • WiKicker との連動コードを簡単に埋め込めなくなる(WiKickerPerl)
  • Unison 導入により hns 関連ファイル管理の整理ができたので、そこら辺が綺麗で気にいった tDiary のメリットが少なくなった。

といった感想。 最初から tDiary だったら問題を感じなかった部分も多いだろう。 慣れの問題。 あとこれから日記システムを提供してあげる予定の Tarebouzuさんに対しては、

  • hns でも tDiary のテーマが使える事が判明した(tdiary-hns-theme 使用)ので、レイアウトの選択肢が広まった
  • hns にも Web インタフェースがあるし
  • hnf 記法の方が、tDiary 記法より簡単 (私が慣れているだけかもしれないが。まぁ教えやすいし。)

といった感想。 で、二転三転したが結局 hns でいこうかと。

hns のセットアップ、theme の入れかえ、mod_rewrite の設定あたりまで終わらせる。 後は、Namazu とかそのあたり。 週末には稼働できるかと。

スポンサード リンク
[ 11月20日全て ]

2003年12月19日 (金)

[ お仕事 ] 影舞 0.8.3

年明けから本格的に開発が始まるであろうプロジェクトに向けて、バグトラッキングシステムを用意。 以前すでに影舞 0.8.1 をインストールしてある のだが、Ruby を 1.8.0 に上げて再度入れなおしておく。 影舞アップデート時にメンテナンスが面倒なので WiKicker/影舞ラッパーは外しておく。

[ 12月19日全て ]

2004年1月11日 (日)

www.naney.org BTS 休止

ディスク容量が結構やばくなってきたので、ホームにインストールしていた Ruby とともに、影舞を削除・www.naney.org BTS を停止。

[ 1月11日全て ]

2004年2月3日 (火)

なつみかん」の開発・保守・運用を凍結します。

見逃していたが、

2003/12/24(水) 「なつみかん」の開発・保守・運用を凍結します。 今後のバージョンアップ・フォロー等は、気が向かない限り無いと思います。 -- 「なつみかん(NATSU-MICAN)」オフィシャルサイト

か。残念。 はてなアンテナの有料オプションの話もあるし、アンテナ業界(?)も変化の時期か? RSSも含めて今後どうなっていくのだろう。 LIRSなどのリモート取得関係とか。

他の実装

The diary formerly known as Go ahead make my day.より。

たまてばこ」「五月雨」はRubyか。サーバ容量に余裕があまりないので(ruby自体のインストールも必要とあって)ちょっと厳しいかな。 RNA は面白そう。RSS以外も取得できるといいな。pure Perlだし。 「第二アンテナ」はtDiary限定?

なつみかん」がGNU GPLとかで、どこかが引き継げればいいんでしょうけどね。

追記

「ありますよ、いよかんが」 (2004年2月6日追記)

[ 2月3日全て ]

2004年8月30日 (月)

YAMLJava

Java 用の良さそげな YAML ライブラリが見あたらない。 実装する余裕もなさそうなので、YAML 採用は見送りかなぁ。

YAML を使うなら Ruby か。

[ 8月30日全て ]

2004年10月8日 (金)

Ruby 1.8.1 + 影舞 0.8.4

会社の社内サーバで影舞を使っている。 別の部隊でも気にいってプロジェクトで使いたいというので、昨日インストール方法を簡単に説明しておいた。

しかしうまく動かせないようで、助けを求めてきたので軽くヘルプ。 すでに私が稼働させている Red Hat Linux 8.0 BOX (私は以前セットアップした Ruby 1.8.0 + 影舞 0.8.3 を使用中)へインストールしようとしているのだが、うまく動いていない。

public_html の下に Ruby をインストールしていたり、影舞のインストールマニュアルを無視していたり。 UNIX 経験が浅いスタッフなので前者はしょうがないとはいえ(もちろん修正する必要あり)、後者はなぁ。 まず、README とインストールマニュアルは読んでくれ。 中国出身なので言葉の問題があるのも理解できないこともないが、読まずに動かないと言われても。

それからうまく動かないからといって、はなから Ruby の問題だとか影舞の問題だとかブツブツ言わないように。 フリーソフトウェアという概念自体から(いやソフトウェアライセンスというものからか?)説明しなければならないな。

ちなみにそのスタッフの帰社後、同じ構成ですんなり動作する事を確認(影舞 CGI プログラムをインストールしたディレクトリが group writable になっていたため、ちょっと suEXEC でちょっとはまったが)。

せっかくなのでこれを機に自分の動かしているやつのバージョンを上げておくか。

[ 10月8日全て ]

2005年5月26日 (木)

影舞プロジェクトテンプレートを作っておく

rimage:/nDiki/Flickr/15457364.jpg 今年度から本格的に開発が始まっているプロジェクトのために、影舞を設定。 既に他のプロジェクト用にセットアップしたものがあるのだが、プロジェクトはそれぞれ生存期間が違うし、その間に影舞Rubyも新しくなるしということで共用しない方がいいであろう。

ということで Ruby 1.8.2 + 影舞 0.8.6 で新規セットアップ。

次に(バグレポート)プロジェクトをその上に作る。 毎回BTSテンプレートをベースに新規作成し、今まで作成してきた時のメモを頼りにフィールドのカスタマイズをしてきたのだがちょっと面倒くさい。

何回かプロジェクトで使った経験から、だいたい自分好みの運用・フィールド設定がみえてきたので、今回は影舞プロジェクトテンプレートを作成して、簡単に新規プロジェクトを作成できるようにすることにした。

影舞プロジェクトテンプレートの作成

まずテンプレート作成用に1つプロジェクトを作って、今までどおりフィールドをカスタマイズ。運用時に迷わないようにフィールドの説明文を詳しめに書いておく。

で、できあがったら影舞データディレクトリの中の project/<プロジェクト名>/reporttype.xml をコピーしてルート要素の id属性と name 属性をテンプレート用に変更。 description 要素内容も簡単に書く。

できたら resource/ja/template ディレクトリの下の normal ディレクトリを、先ほどつけた id属性の値と同じ名前のディレクトリとしてコピー。この中の reporttype.xml を自作したもので置き換え。

これで次回から新規作成時に使えるようになる。 めでたしめでたし。

[ 5月26日全て ]

2010年8月24日 (火)

今日のさえずり: dynamic_cast するたびに心が痛む

2010年08月24日

  • 09:49 隣に座っている人がポケットからカッターナイフ出した。なに? 怖い。
  • 11:39 std::vector の std::map とかの面倒くささ、なんとかならないかな。 #cpp #cplusplus
  • 11:51 dynamic_cast するたびに心が痛む。
  • 12:10 お情けで @as_tone に「失恋したんですか?」って言ってもらえた。
  • 12:21 アキヨドに来たのにポイントカードを忘れてきたという失態。
  • 12:35 ハッピーセットとチーズバーガー 470円。 (@ マクドナルド 秋葉原昭和通り店) http://4sq.com/cVnVl2
  • 12:59 「顔が大きくなった」と @nye_c に言われましたがそこチェックするところじゃないです(あ、ちなみに多分顔の大きさは従来通りです)。
  • 13:29 ガラス清掃がきたので物を退避させたら探していたカレンダーを発見。でもヨレヨレ。
  • 13:37 ちょっと整理する都合で「豪華額装自分プリントhttp://bit.ly/cqYtvx しまった。
  • 15:44 RT @whitemage_toru: 改修に手を出してはならぬ。システムが生まれてより10年、幾度も人は改修を試みて来た。が、そのたびにバグの群れが怒りに狂い、試験結果を埋めつくす大波となって押し寄せて来た…。やがてスパゲッティコードが大地に根を張り、莫大な工数が障害対 ...
  • 16:24 極上ロールとお茶 253円。 (@ セブン-イレブン神田佐久間町店) http://4sq.com/cEfW1k
  • 19:42 No Ruby, No Life. ってバッグ持っている人発見。Perl のはないのかな。
  • 19:53 ガリガリ君購入許可下りた(冷凍庫陣取り的に)。
  • 21:33 フォロー/フォロワーにも情がわくものだな。
  • 22:55 @miwarin そうなんですか? 黒地のバッグでした。いいなあ。
[ 8月24日全て ]

2010年11月24日 (水)

専用 RubyOpenSSLビルドして Redmine を入れるときの落とし穴

新しい開発プロジェクトでは Git + Redmine を使おうと思う。 で例により使えるのが Red Hat Linux 8.0 サーバなので対応する Ruby やライブラリを含めてソースコードからビルドしてインストールしたのだが、ちょっとハマったのでメモ。

システムにインストールされている OpenSSL を(パッケージがなくアップデートできないので)残したまま、新しい OpenSSL をいれて使うのだが Ruby でこれを使えるようにする方法に辿りつくまで8割の時間を費した。

OpenSSL をインストールする

OpenSSL のデフォルトである /usr/local/ssl へビルドしてインストールする。

 tar zxvf openssl-1.0.0b.tar.gz
 cd openssl-1.0.0b
 ./config shared
 make
 make test
 make intall

何も指定しないと共有ライブラリ(so)がビルド・インストールされないのが落とし穴。

Ruby 1.8.7 をインストール

後は /usr/local/redmine 以下に Redmine に必要なものを入れる。

 tar jxvf ruby-1.8.7-p302.tar.bz2
 cd ruby-1.8.7-p302
 CFLAGS='-I /usr/local/ssl/include' \
   LDFLAGS='-L /usr/local/ssl/lib -Wl,-rpath=/usr/local/ssl/lib' \
   ./configure --prefix=/usr/local/redmine --enable-rpath
 make
 make install

大きな落とし穴は Ruby に含まれている ext/openssl。 OpenSSL 用の共有ライブラリが作られるのだが、いくらやってもこいつが /lib に入っている古い OpenSSL 共有ライブラリの方をリンクしてしまい /usr/local/ssl/lib の方をリンクしてくれない。

configure や make 時に LD_RUN_PATH やら -rpath を指定しても効かないし、ext/Setup で openssl を静的に指定しても駄目だし。

結局 configure.in を眺めて AC_ARG_ENABLE(rpath, ...) があるのを発見して --enable-rpath したところようやく -rpath が共有ライブラリのビルドに反映されるようになった。

30m ぐらいの深さの大きい落とし穴。

RubyGems をインストール

/usr/local/redmine に Ruby が入ったので必要なものを入れていく。 確実にそこの Ruby を使うようにしばらくは /usr/local/redmine/bin 以下を絶対パス指定で作業。

 tar zxvf rubygems-1.3.7.tgz
 cd rubygems-1.3.7/
 /usr/local/redmine/bin/ruby setup.rb

SQLite をインストール

Redmineデータベースは一番お手軽な SQLite を使う。これもインストール。

 tar zxvf sqlite-amalgamation-3.7.3.tar.gz
 cd sqlite-3.7.3
 ./configure --prefix=/usr/local/redmine
 make
 make install

sqlite3-ruby をインストール

Ruby から SQLite を使うためのライブラリをインストール。

 /usr/local/redmine/bin/gem install sqlite3-ruby -- --with-sqlite3-dir=/usr/local/redmine

SQLite のありかを示す --with-sqlite3-dir を -- の次に指定するというところに気がつくのに浅い落とし穴。

Passenger

Redmine のインストールの説明では Passenger を推奨しているようなので入れてみる。

 /usr/local/redmine/bin/gem install passenger

OK。しかし Apache モジュールを

 /usr/local/redmine/bin/passenger-install-apache2-module

でインストールしようとすると失敗。Apache の dev 系のファイルがシステムに入っていないので、それはそうだな。しかし Passenger のコマンドは寡黙ではなく何が駄目で何をすべきかきちんと表示してくれるのでわかりやすい。

この落とし穴は、横を通って回避。

Rack のダウングレード

Passenger のインストールで最新の Rack が一緒にインストールされるのだが、Redmine には新しすぎて後の手順でエラーで止まる。 ので、ここで 1.0.1 にダウングレードしておく。

 /usr/local/redmine/bin/gem install rack -v 1.0.1

これは皆が知っている落とし穴。

Redmine をインストール

ようやく Redmine のインストール。 展開するだけ。

 tar zxvf redmine-1.0.3.tar.gz
 mkdir -p /usr/local/redmine/var/lib
 mv redmine-1.0.3 /usr/local/redmin/var/lib/redmine

以下 /usr/local/redmine/var/lib/redmine で作業。

 cd /usr/local/redmine/var/lib/redmine

Redmineデータベース設定をする

config/database.yml を作成する。SQLite を使うように設定。

 production:
   adapter: sqlite3
   database: /home/naney/var/redmine/redmine.db

データベースは定期バックアップのある自分の home 以下に。

 makdir -p ~/var/redmine

Remine のメール設定をする

config/email.yml を作成する。今回は専用の redmine@example.com を作成して、その SMTP サーバ/アカウント経由で送信するようにする。

 production:
   delivery_method: :smtp
   smtp_settings:
     address: smtpserver.example.com
     port: 25
     domain: redmine.example.com
     user_name: "redmine@example.com"
     password: "mypassword"

Redmine の初期化をする

必要なファイルやらデータベースの初期化やらを行う。

 /usr/local/redmine/bin/rake config/initializers/session_store.rb
 /usr/local/redmine/bin/rake db:migrate RAILS_ENV=production
 /usr/local/redmine/bin/rake redmine:load_default_data RAILS_ENV=production

最後のコマンドでは言語を選ぶプロンプトが出るので ja を指定。

Passenger で Redmine を起動する(NG)

Apache 経由ではなく Passenger スタンドアローンで Redmine を使ってみる。

 /usr/local/redmine/bin/passenger start

失敗。途中の処理で rake が見つからないという。

 PATH=/usr/local/redmine/bin:$PATH
 passenger start

やっぱり失敗。自動的にダウンロードした ngix のビルドに失敗しているっぽい。 落とし穴。

WEBrick で Redmine を起動する(OK)

 /usr/local/redmine/bin/ruby script/server webrick -e production

Redmine 的には 本番向けではない WEBrick は無事起動。

 http://インストールしたサーバ:3000/

にブラウザにアクセス。Redmine のページが見えたよオッカサン! admin:admin でログインしてあとは Web ブラウザから設定。 Git リポジトリの連携もすんなり。

やったね。

追記 (2010年12月2日)

WEBrick で使い続けるなら script/server 起動時に -d オプションを指定する(記事)。

今日のさえずり: 衝撃の事実: /usr/local/ssl/lib に .so が無かった

2010年11月24日

  • 08:30 朝から爪切って優雅にエメリーボードかけるなど。ま、商売道具ですから。
  • 09:20 エコポイントの申請書を郵便で出してきた。一仕事完了。
  • 10:35 今日から新しい人がきました。
  • 12:08 弁当 350円。 (@ 向日葵 和泉町店・カレー食堂) http://4sq.com/9oazrC
  • 13:04 Redmine インストールしよう。
  • 13:25 Ruby 1.8.7-p302 のビルドがまず OpenSSL でこける……。
  • 13:35 やっぱり古い OpenSSL を参照していただけっぽい。-I と -L をくわせる。
  • 16:31 衝撃の事実: /usr/local/ssl/lib に .so が無かった。
  • 20:47 やっと Ruby で /usr/local/ssl の方を使うようになってくれたよ。--enable-rpath に辿りつくまで半日かかった。
  • 21:45 アキヨドの有隣堂。10分ぐらいみられるかな?
  • 22:11 牛鍋丼。
  • 25:00 Redmine に、ぽちぽちチケット入れてた。どうみても開発期間が……。
[ 11月24日全て ]

2010年11月25日 (木)

今日のさえずり: 仕様卓袱台返し

2010年11月25日

[ 11月25日全て ]

About Me

Naney Naney

Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。

About nDiki

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。

#nNote タグがついている記事は他の記事に比べて、より断片的・未整理・不完全なちょっとしたノートです。まだ結論に至っていない考えなども含まれます。頻繁/大幅に更新したり削除したりすることがあります。

※本サイトの内容は個人的見解であり所属組織とは関係ありません。

Other Notes

ナレッジベースアプリケーション Obsidian で書いているノートの一部を notes.naney.org で 公開しています。

最近検索されている記事

月別インデックス
Process Time: 0.078893s / load averages: 0.40, 0.39, 0.37
nDiki by WATANABE Yoshimasa (Naney)
Powered by DiKicker