忍者ブログ

Home > Ruby

Ruby Archive

[PR]

  • 2017-03-29 (Wed)
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

  • Comments (Close):
  • TrackBack (Close):

ruby1.9をcoreserverとmacのホームディレクトリにインストール

  • 2010-05-24 (Mon)
  • Ruby

久々のブログ。
大したネタはないけど、たまには書かないと文章の書き方忘れちゃいそうなので。

ということで、rubyに関するちょっとしたメモ。

開発環境であるmacと本番環境であるcoreserverを統一したくて、
rubygemsをホームディレクトリに入れようとするも失敗。

諦めかけたけど、1.9にはgemが同梱されているということで、
いっそのこと1.9をインストールしちゃえばいいんじゃないかとやってみた。

結果、すんなりうまく行ったので手順を残しておく。

参考

Ruby1.8系とRuby1.9系を共存させてみる。 - 名もないテクノ手

手順

# 作業ディレクトリの作成
mkdir src
cd src

# ダウンロード・展開
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p378.tar.gz
tar zxf ruby-1.9.1-p378.tar.gz
cd ruby-1.9.1-p378

# パス設定
vim .profile
export PATH=$HOME/local/bin:$PATH
:wq
source .profile

# coreserverは.bashrcで
vim .bashrc
source .bashrc

# インストール
# 場所は~/local以下、コマンド名はruby19(gemはgem19)
./configure --prefix=$HOME/local --program-suffix=19
make
make install

# coreserverでは以下のエラーが出た
make[1]: Entering directory `/virtual/core/src/ruby-1.9.1-p378/ext/dl'
gcc -I. -I../../.ext/include/i686-linux -I../.././include -I../.././ext/dl -DRUBY_EXTCONF_H=\"extconf.h\"  -D_FILE_OFFSET_BITS=64  -fPIC  -O2 -g -Wall -Wno-parentheses -fno-defer-pop -fno-omit-frame-pointer  -o callback-4.o -c callback-4.c
gcc: Internal error: Killed (program cc1)
Please submit a full bug report.
See  for instructions.
make[1]: *** [callback-4.o] Error 1
make[1]: Leaving directory `/virtual/core/src/ruby-1.9.1-p378/ext/dl'
make: *** [mkmain.sh] Error 1

# 手動で失敗したコマンドを叩いた後、makeすれば通った
cd /virtual/core/src/ruby-1.9.1-p378/ext/dl
gcc -I. -I../../.ext/include/i686-linux -I../.././include -I../.././ext/dl -DRUBY_EXTCONF_H=\"extconf.h\"  -D_FILE_OFFSET_BITS=64  -fPIC  -O2 -g -Wall -Wno-parentheses -fno-defer-pop -fno-omit-frame-pointer  -o callback-4.o -c callback-4.c
make

# インストール確認
ruby19 -v
gem19 -v

~/.profile, ~/.bashrcとmakeでこけるとこ以外は、mac, coreserver共通でいけました。
貴重な日曜日のかなりの時間を費やしたのに、1.9ならこんなにすんなりいけるとは。
やっぱ言語に標準で組み込まれているってのはいいですねー。

PR

rubyでCMS(blogツール)を作ってみようかと思う

  • 2010-05-06 (Thu)
  • Ruby

ようやく本腰をいれてサーバサイドスクリプト(ruby)を勉強しています。

で、レベルアップのためにはオープンソースのコード読むのがいいかな、
と思ってCMSを漁ってみました。(CMSとかWikiクローンとか昔から好きなんです)

興味を持ったのは以下のもの。

  • sakura
    かなり古いblosxomクローン
  • lily
    こちらもかなり前のblosxomクローン
    昔聞いたことがあるし、わりと有名だったはず。
  • The Bilbo Diary
    2009年製、新しい。1.8.7、1.9対応。DB不要。
    コンセプトは大好きだけどSinatraにコミットする気にまだなれないんだよなぁ。
  • stream-of-consciousness
    2010年製。生のRubyで1ファイル。1.8.7&1.91対応でDB不要。
    これはかなり好き。名前長いけど。
  • bliki
    これもいいんだけど、Sinatraベース。
    rubyをある程度マスターした後、フレームワークを手を出す時には是非パクリたい。

触るとしたらStream of consciousnesかなー。
ただある程度ソースいじらないと動かなかったんだよなぁ。

なんていろいろ悩んでたんだけど…だったら「自分で作ればいいじゃん!」
という結論にいたった。

そんで躓くことがあったらオープンソースを参考にすればいいと。

ってことでまずはコンセプト(?)を殴り書き。

  • cgi 1ファイル構成。置くだけで使える。
    ただ、設定ファイルは別ファイルで。
  • storageはまずファイル。日付はtimestampで。
    ゆくゆくはSQLiteに対応したい?
  • 記事はFTPアップじゃなく、GUIで。
    ただWYSIWYGは絶対やらん。
  • installが必要なライブラリは極力使用しない
  • テンプレートはVicunaベースで。
    ただ変更できるようにもしたい。
  • blogdataを置くディレクトリがなければ勝手に作る。
  • コメント機能ぐらいはつけたいなー(Twitter or はてぶで代替?)

カテゴリをどうやって管理するかがぱっと考えた感じ大変そう…。
※ ディレクトリで分けちゃうと、全記事を日付で取得するとき面倒?
  Dir.glob('*/.html')とか??

そんな感じでプロトタイプがこちら。
名前はLiary(Lightweight Diary)で決まり。
※ リンク先がlocalhostになってたので直しました。(2010/05/16 13:42)

Liary Test

まだ、「?p=ページ番号」で記事を表示する機能だけ。

よし、やるぞー!

「開発コンテスト XX」公開!

  • 2010-05-04 (Tue)
  • Ruby

一部の人達の間ではかなり評判だった「開発コンテスト 24」
非常に面白い試みで、毎週どこかでこんなコンテストが行われていれば、
この日本からでもイノベーションが生まれるんじゃないか、という気さえしました。

僕と同じく影響されまくった人達の為に、コンテスト開催サービスを作ってみました。

開発コンテスト「XX」

例えば、このサービスで#24contestをやるとこうなります。

朝起きてから学校や会社に行くまでの時間をより便利にするためには- 開発コンテスト「XX」

コンテストへの参加で浮き彫りになったサーバサイドスクリプトが書けないという弱点を克服すべく、
Rubyで書きました。
※ なんとか24時間以内でできましたが、(事前の勉強時間を除く)
 やっぱりレンタルサーバ対応とか、DBとか大変ですね…。

勉強の為にRailsは使用せず、生のCGI,SQLを叩いています。

また、とりあえずβ版ということでユーザ登録とかは実装してませんが、
必要そうであればOpenIDぐらいには対応したいです。

…というわけで、皆さん是非使ってみて下さい!

さて、早くも直したいとこだらけだなー。
もっと勉強しなきゃ!

Home > Ruby

Search
Loading
Feeds
Links
スポンサードリンク
Ad
デル株式会社
Ad

Page Top