メイン | 2005年07月 »

2005年06月 アーカイブ

2005年06月11日

インストール

Movable Typeをインストールしました。

インストールではまった点。

mt-load.cgiにアクセスすると、Bad plugin filename のエラーがでた。原因は、インストールしたパスの中に「%」が含まれていたため。

/lib/MT.pmの295行目を次のように修正して、問題を回避した。

if ($plugin !~ /^([-\\\/\@\:\w\.\s~]+)$/);
↓
if ($plugin !~ /^([-\\\/\@\:\w\.\s~\%]+)$/);

# tDiaryでも、パスに「%」が含まれていて苦労したことを思い出しました。

バージョン 1.5.5a

Doteconvのバージョン1.5.5a(ベータ版)の一番大きな変更点は、変換時のメモリ消費量の削減です。パラメータにもよりますが、50000件のメールを変換してもメモリ不足にならないと思います。

実は、バージョン1.5.xで追加している機能の多くは、バージョン1.6で実装する予定のタイマー機能の布石です。メモリ消費量の削減も、常駐するソフトがメモリを浪費してはいけないので、対応しました。

ダウンロードのページに書いた「内部的にいろいろ変えたので、思わぬところにバグがあるかもしれません。」も、タイマー機能の実装を見据えての内部的な変更による副作用の心配です。たぶん問題ないはずですけどね。

2005年06月13日

DoteConv バージョン 1.5.5b

DoteConv バージョン 1.5.5b(ベータ版)を公開しました。

変更点のうち、「変換結果画面のデザインを変更」については、変換中のステーバスバーに無駄な領域があることが気になっていました。そこでプログレスバーをステーバスバーの上に配置しました。変換結果画面が見やすくなったと思います。

「変換中の画面のちらつきの減少」のちらつきの問題は、もしかするとバージョン1.5.5a(ベータ版)固有の問題かもしれません。不要な描画処理を省いて対処しました。

ご意見、ご感想、不具合報告をいただけると喜びます。

2005年06月22日

新規エントリーの書き方(1)

一般的な書き込みの手順

  1. ログイン画面(http://~/mt.cgi)にアクセスします。

  2. ユーザ名とパスワードを入力し[ログイン]ボタンを押します。
    正しく入力していれば、管理画面が表示されます。

  3. エントリーを登録するブログを選択します。

  4. 左のメニューから[新規エントリー]を選択します。

  5. [タイトル]欄と[エントリーの内容(body)]欄を入力します。

  6. 投稿の状態を[公開]にします。

  7. [確認]ボタンを押します。

  8. [このエントリーを登録する]ボタンを押します。

以上で、新規エントリーが登録されました。

左のメニューから[サイトの確認]をクリックすると、エントリーが登録されていることを確認できます。

2005年06月24日

CGIKit2に挑戦する(1)

環境

Rubyのインストール手順

  1. Rubyのサイトからruby 1.8.2をダウンロードする。

  2. ダウンロードしたファイルを展開する。

    % tar xzvf ruby-1.8.2.tar.gz

  3. ファイルを展開すると、ruby-1.8.2のディレクトリができるので、移動する。

    % cd ruby-1.8.2

  4. ホームディレクトリにrubyディレクトリを作成する。
    このディレクトリにrubyをインストールします。

    % mkdir ~/ruby

  5. rubyをホームディレクトリにインストールする。

    % ./configure --prefix=$HOME/ruby
    % make
    % make install
    % make clean

  6. 動作を確認する。
    Rubyのバージョン番号が表示されたら、インストールは成功です。

    % ~/ruby/bin/ruby -v
    ruby 1.8.2 (2004-12-25) [i686-linux]

CGIKit2のインストール

インストールの方法は、CGIKitのサイトに詳しい説明があります。

  1. CGIKitのサイトから2.0.0-preview-1ダウンロードする。

  2. ダウンロードしたファイルを展開する。

    % tar xzvf cgikit-2.0.0-preview-1.tar.gz

  3. 展開するとcgikit-2.0.0-preview-1のディレクトリができるので、移動する。

    % cd cgikit-2.0.0-preview-1

  4. CGIKitをインストールする
    ホームディレクトリにインストールしたrubyにCGIKitをインストールします。

    % ~/ruby/bin/ruby setup.rb config
    % ~/ruby/bin/ruby setup.rb config

  5. 動作を確認する
    CGIKitがインストールされていることを確認します。

    % ~/ruby/bin/ruby -r cgikit -e 'p CGIKit;p CGIKit::VERSION'
    CGIKit
    "2.0.0"

2005年06月27日

CGIKit2に挑戦する(2)

Tutorialの動作を一通り確認する。
このTutorialは、本当によくできている。 ドキュメントの充実はライブラリの普及するための重要な要素だと思うが、今後CGIKitは広く使われていくのではないだろうか。

Tutorial7の最後に、

Tutorial8では認証について説明します。

とあるが、Tutorial8のページはまだないようだ。 配布ファイルにも含まれていない。 しばらく様子を見ようと思う。

CGIKit2には、CGIKit1.xにはなかった開発ツールが用意されていた。 便利かも。

Movable Typeの新規エントリーの書き方(2)

前回は一般的なエントリーの登録方法を説明しました。

今回は、「クイックポスト」という機能を使った、より簡単なエントリーの登録方法を説明します。

まず、「クイックポスト」の設定を行います。

  1. ログイン画面(http://~/mt.cgi)にアクセスします。
  2. ユーザ名とパスワードを入力し[ログイン]ボタンを押します。
    正しく入力していれば、メイン・メニュー画面が表示されます。
  3. メイン・メニュー画面の右下にある[クイックポストの作成]をクリックします。
  4. 追加項目のすべての項目にチェックを入れ、[作成]ボタンを押します。
  5. [クイックポスト]のリンクを右クリックし、[お気に入りに追加]を選択します。

以上で、設定が完了しました。

エントリーを登録するときは、ブラウザのお気に入りから、先ほど作成した[クイックポスト]を選択します。
エントリーを登録するウィンドウが表示され、すぐにエントリーを登録することができます。

LAMY2000

ラミー2000(4色ボールペン)届きました。
以上、報告でした。

2005年06月28日

Ruby on Railsでアクセスカウンタを作成する

Ruby on Railsの練習に、アクセスカウンタを作成してみる。

データベースの作成

MySQLを使用して、データベースとテーブルを作成する。

データベースを作成。

CREATE DATABASE `counter`;

テーブルを作成。

CREATE TABLE `counts` (
  `id` INT NOT NULL AUTO_INCREMENT ,
  `count` INT NOT NULL,
  PRIMARY KEY ( `id` )
);

レコードを登録する。

INSERT INTO `counts` VALUES(0);

プロジェクトの作成

C:\railsディレクトリを作成する。
C:\railsディレクトリに移動して、次のコマンドを実行する。

rails counter

C:\rails\counter\config\database.ymlのdatabaseの項目をcounterに編集する。

development:
  adapter: mysql
  database: counter
  host: localhost
  username: root
  password: 

test:
  adapter: mysql
  database: counter
  host: localhost
  username: root
  password:

production:
  adapter: mysql
  database: counter
  host: localhost
  username: root
  password:

モデルとコントローラを作成する。

ruby script/generate model Count

ruby script/generate controller count

コーディング

C:\rails\counter\app\views\count\index.rhtml ファイルを作成する。
index.rhtmlでは、@countの値を表示する。

<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja-JP" lang="ja-JP">
<head>
  <title>カウンタ</title>
</head>
<body>
  <h1>カウンタ</h1>
  <p>
    <%= @count %>
  </p>
</body>
</html>

C:\rails\counter\app\controllers\count_controller.rb を開く。
countsテーブルの先頭のレコードを取得し、countフィールドの値に1を加算して、保存する。 @countの値は、index.rhtmlで表示する。

class CountController < ApplicationController
  def index
    count = Count.find(:first)
    count.count += 1
    count.save
    @count = count.count
  end
end

WEBrick サーバーを起動する。

ruby script/server

http://localhost:3000/count/にアクセスする。
リロードするたびに数字が増えたら成功。

2005年06月29日

Ruby on Railsで一行掲示板を作成する

2007年4月29日追記:Ruby on Rails 1.2対応版を作成しました。

Ruby on Railsの練習に、簡単な掲示板を作成してみる。

データベースの作成

MySQLを使用して、データベースとテーブルを作成する。

データベースを作成。

CREATE DATABASE `bbs`;

テーブルを作成。

CREATE TABLE `items` (
  `id` INT NOT NULL AUTO_INCREMENT ,
  `name` TEXT NOT NULL,
  `body` TEXT NOT NULL,
  PRIMARY KEY ( `id` )
)

nameは投稿者名、bodyは本文。

プロジェクトの作成

C:\railsディレクトリを作成する。
C:\railsディレクトリに移動して、次のコマンドを実行する。

rails bbs

C:\rails\bbs\config\database.ymlのdatabaseの項目をbbsに編集する。

development:
  adapter: mysql
  database: bbs
  host: localhost
  username: root
  password: 

test:
  adapter: mysql
  database: bbs
  host: localhost
  username: root
  password:

production:
  adapter: mysql
  database: bbs
  host: localhost
  username: root
  password:

モデルとコントローラを作成する。

ruby script/generate model Item

ruby script/generate controller item

コーディング

C:\rails\bbs\app\views\item\index.rhtml ファイルを作成する。
index.rhtmlでは、投稿された内容が配列で @items に入り、 @items.each do ~ end で、投稿内容を出力する。
フォームで入力された内容は、コントローラの add_item メソッドで処理をする。

<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja-JP" lang="ja-JP">
<head>
  <title>一行掲示板</title>
</head>
<body>
  <h1>一行掲示板</h1>
  <dl>
<% @items.each do |@item| %>
    <dt><%=h @item.name %></dt>
    <dd><%=h @item.body %></dd>
<% end %>
  </dl>
  <hr />
  <%= form_tag :action=>"add_item" %>
    名前:<%= text_field("new_item", "name", "size"=>10) %><br />
    本文:<%= text_field("new_item", "body", "size"=>60) %><br />
    <input type="submit" value="Add" />
  </form>
</body>
</html>

C:\rails\bbs\app\controllers\item_controller.rb を開く。

class ItemController < ApplicationController

  def index
    @items = Item.find_all
  end

  def add_item
    item = Item.new
    item.attributes = @params["new_item"]
    if item.save
      redirect_to(:action => "index")
    else
      render_text "Couldn't add new item"
    end
  end
end

WEBrick サーバーを起動する。

ruby script/server

http://localhost:3000/item/にアクセスする。
掲示板が表示されたら、成功。

2005年06月30日

WindowsでCGIKit2のckprojectが使えない

WindowsでCGIKit2のckprojectを使用するとエラーになる。

[c:\cgikit]ruby C:\ruby\bin\ckproject --ja todo
C:/ruby/bin/ckproject:17:in ``': No such file or directory - which ruby (Errno::ENOENT)
    from C:/ruby/bin/ckproject:17:in `default_ruby_path'
    from C:/ruby/bin/ckproject:23

Windowsにはwhichコマンドがないのが原因のようだ。

def default_ruby_path
  %x(which ruby).chomp
end

whichコマンドを作るを参考にしてwhich.batを作成し、パスの通ったディレクトリにおけば、ckprojectが使用できるようになりました。

About 2005年06月

2005年06月にブログ「山本隆の開発日誌」に投稿されたすべてのエントリーです。過去のものから新しいものへ順番に並んでいます。

次のアーカイブは2005年07月です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 3.35