« 2005年08月 | メイン | 2005年10月 »

2005年09月 アーカイブ

2005年09月01日

Mail Export Tool 0.0.1

DBX Export Toolの後継ソフトである Mail Export Tool の開発途上版をしばらく公開します。

  • ダウンロード(mailexptool_0_0_1.lzh)

(2005年9月5日 修正) 専用ページを用意しました。こちらからダウンロードしてください。

インストールは、ダウンロードしたファイルを展開するだけです。アンインストールは展開してできたファイルを削除してください。レジストリは使用していません。

ご意見・ご感想をいただけると喜びます。

Mail Export Tool は、DBX Export Toolと比較して、

  • 読み込み可能な形式が増えた

    DBX Export Toolでは、Outlook ExpressのDBX形式しか扱えませんでしたが、Mail Export Toolでは eml形式、mbox形式等も扱えます。

  • 出力形式が増える予定

    DBX Export Toolではeml形式でしか出力できませんでしたが、Mail Export Toolでは、eml形式・mbox形式・CVS形式等に対応する予定です。

  • 出力時のファイル名の付け方を設定できる

    eml形式で出力する時のファイル名の付け方を設定できるようにします。

簡単な使い方を説明します。

  1. ダウンロード(mailexptool_0_0_1.lzh)したファイルを展開します。

    MailExpTool.exeというファイルができます。ヘルプ等はありません。

  2. MailExpTool.exeを実行します。

    Mail Export Toolが起動するはずです。

  3. 変換対象欄の「追加」ボタンを押します。

    追加ボタン

  4. エクスポートするファイルの形式と、ファイルまたはディレクトリを選択し、「OK」ボタンを押します。

    対象の選択

  5. 検索キーワードを入力し、「検索」ボタンを押します。

    キーワードを入力しない場合は、すべてのメールが対象になります。

    キーワードを入力した場合は、該当するメールが対象になります。

    検索ボタン

  6. 「検索」ボタンを押すと、検索処理が始まります。

    検索中

  7. 検索が終了したら、エクスポートするメールをダブルクリックしてチェックを入れます。「すべて選択」ボタンを押すと、すべてのメールがチェックされます。チェックを入れ終わったら、「エクスポート」ボタンを押します。

    エクスポートボタン

  8. 「エクスポート」ボタンを押すと、エクスポート条件画面が表示されます。

    エクスポート条件画面

    ※出力形式は「eml形式」しか選択できません。

  9. 保存先フォルダを選択し、「OK」ボタンを押すと、エクスポート処理が始まります。

    エクスポート処理

一応、設定の保存と読み込みはできます。ただし、今後も使えるとは限りません。

2005年09月05日

Mail Export Tool 0.2.0

Mail Export Toolのバージョン0.2.0を公開しました。

とりあえず、メインとなるファイルの読み込みと出力の処理が完成しました。

当初の予定にあった、Unix mbox形式の出力をやめ、代わりにCSV形式の出力を用意しました。

Unix mbox形式には正式な規格がないため、確実に他のソフトで正しく読み取れる保証がなく、トラブルに巻き込まれそうなのでやめました。

CSV形式は、Microsoft Excel 2000が作成するCSVファイルを参考にして、実装しました。 そのため、行の区切りは「CRLF」、セル内の改行は「LF」になっています。 他のバージョンのExcelでも、同じ動作なのでしょうか。ちょっと心配です。

2005年09月07日

Mail Export Tool 0.3.0

Mail Export Toolのバージョン0.3.0を公開しました。

基本機能は一通り用意できたと思っています。 次はヘルプ等の用意を行います。

対応してほしいエクスポート形式がありましたら、メールください。 実現可能なら対応していきたいです。

2005年09月08日

Vine Linux3.1ネットワークインストール覚書

CD-ROMが読み込めなかったため、Vine Linux 3.1のネットワークインストールに挑戦した。思ったよりもずっと簡単であった。

サーバ側の設定(Vine Linux 3.1)

CD-ROMをマウントし、NFSで使えるようにします。

# mount /mnt/cdrom
# vi /etc/exports
/mnt/cdrom *(ro)
# /etc/rc.d/init.d/nfs start

ブートディスクの作成

Windowsで作業します。

Vine Linux 3.1のインストールCDを入れます。

CD-ROMドライブはDドライブ、フロッピードライブはAドライブとします。

コマンドプロンプトを起動します。

# d:
# cd dosutils
# rawrite.exe
Enter disk image source file name: d:\images\bootnet.img
Enter target diskette drive: a:

クライアント側の設定

作成したブートディスクを入れ、起動します。

boot: text
Choose a Language Japanese
キーボードの種類 jp106
インストール方法 NFSイメージ
TCP/IPの設定 動的IP設定を使用する(BOOTP/DHCP)
NFSサーバ名 192.168.1.2 (サーバのIPアドレス)
Vine Linux ディレクトリ /mnt/cdrom

以下は通常のインストールと同じ

CGIKit2の文字コードの処理について

るびま0009号Nvu と CGIKit2 による Web アプリケーション開発の記事を試しました。

Registration.rbに、

module Registration
  module UserInfo
    def to_utf8
      @name = Kconv.toutf8(@name)
      @age = Kconv.toutf8(@age)

というコード変換の処理を追加していますが、これは必要なんでしょうか。

CGIKit - 日本語処理 によると

CGIKit::Application#encoding

に文字コードを設定すればいいように思えます。

また、cgikitconf.rb の

def configure_localization
  # @encoding = nil

を設定してもいいように思えます。

試しに Kconv::UTF8 を指定してみたら、文字化けしました。あれ?

もうちょっと調べてみます。

追記

ちょうど同じ号にある標準添付ライブラリ紹介【第 3 回】Kconv/NKF/Iconv の記事を読むと、KconvのBUG に気になる記述が…。

試しに、cgikit/lang/ja.rb のKconvの処理をNKFに置き換えてみると、

class DynamicElement
  def encode_string( string, encoding )
    #Kconv.kconv(string, encoding)
    case encoding
    when Kconv::EUC
      return NKF.nkf('-e', string)
    when Kconv::SJIS
      return NKF.nkf('-s', string)
    when Kconv::JIS
      return NKF.nkf('-j', string)
    when Kconv::UTF8
      return NKF.nkf('-w', string)
    end
  end
end

文字化けの問題が解消しました。どうやら既知のバグだったようです。

でも、どうして Registration::UserInfo::to_utf8() はうまくいっているのだろう。

もうちょっと調べてみます。

続く

2005年09月09日

Movable Type3.17でHTMLAreaを使う(5)

Movable Type3.17用HTMLAreaを修正しました。

変更点

  1. MovableTypeのテンプレートにある編集ボタンが表示されていたのを削除しました。
  2. ボタンの並びを変更しました。

2005年09月10日

Windows用RDTool

Windows用のRDToolのバイナリがftp.ruby-lang.orgに用意されていることを知りました。

一緒に、rd2.batも作成すると便利。

@echo off
C:\ruby\bin\ruby C:\ruby\bin\rd2  %1 %2 %3 %4 %5 %6 %7 %8 %9

webgen

webgenを試しました。欲しかったものにかなり近い。これはいいです。

webgenは、静的なHTMLを作成するツールです。

設定ファイルとソースファイルを用意し、コマンドを実行するとHTMLファイルを作成します。

物理的なディレクトリ階層をそのままWebサイトの階層に対応してくれます。パンくずリストも作成してくれます。

Markdown記法にも対応しており、設定ファイル(config.yaml)に次のような記述を追加すると、ソースファイルをMarkdown記法で記述できます。(BlueClothが必要)

PageHandler:
    defaultContentFormat: markdown

今まで自作のツールを使ってきましたが、こちらに乗り換えようかと思案中です。

2005年09月12日

CGIKit 2.xを手動でインストールする

CGIKit 2.xを手動でインストールする

ローカルの開発環境ではCGIKit 2.xをインストールできても、実際に動作させるサーバではインストールできない場合もよくあります。

そういう場合のインストール方法。

ckproject でプロジェクトを作成した場合、次のようなディレクトリが作られます。

Sampleプロジェクトを作成すると、

ckproject Sample

ディレクトリ階層は、こうなる。

Sample/
  components/
  lib/
  resources/

ckprojectによって作られたソースコードには、libディレクトリを$LOAD_PATHに追加するコートがあります。

$LOAD_PATH.unshift('lib')

したがって、libディレクトリにライブラリを置けば、setup.rbでインストールしたときと同じように、ライブラリをロードできます。

cgikit-2.0.0-preview-1.tar.gz をダウンロードして、cgikit-2.0.0-preview-1フォルダに展開したとします。

Sample/lib/ ディレクトリに、cgikit-2.0.0-preview-1/lib/ディレクトリのファイルをすべてコピーすれば、完了です。

Sample/
  components/
  lib/
    cgikit/
      components/
        CKErrorPage/
      elements/
      lang/
      project/
        templates/
          en/
          ja/
    uconv/
  resources/

2005年09月13日

CGIKit2の文字コードの処理について(2)

前回の続き。

CGIKit 2.xでは、文字コードにUTF-8を推奨している。(CGIKit - 日本語処理)

しかし、ruby 1.8.2のKconvでは UTF-8 に変換できない。(るびま)

変換できないことを確認してみる。

require 'kconv'

# UTF-8 で表された 'Hello, るびま!'
str = "\x48\x65\x6c\x6c\x6f\x2c\x20\xe3\x82\x8b\xe3\x81\xb3\xe3\x81\xbe\xef\xbc\x81"

puts Kconv.guess(str) # => 6 == Kconv::UTF8 正しい
str = Kconv.kconv(str, Kconv::UTF8) # UTF-8をUTF-8に変換する
puts Kconv.guess(str) # => 1 == Kconv::JIS

# Shift_JIS で表された 'Hello, るびま!
str  = "\x48\x65\x6c\x6c\x6f\x2c\x20\x82\xe9\x82\xd1\x82\xdc\x81\x49"

puts Kconv.guess(str) # => 6 == Kconv::UTF8 正しい
str = Kconv.kconv(str, Kconv::UTF8) # Shift_JISをUTF-8に変換する
puts Kconv.guess(str) # => 1 == Kconv::JIS

対策としては、るびまにもあるように 修正されたkconv.rb を使用するのがよさそう。

修正されたkconv.rb をlibディレクトリにコピーすれば、使えるようになる(はず)。

Movable Type3.17でHTMLAreaを使う(6)

Movable Type3.17用HTMLAreaを修正しました。

変更点

  1. スクリプトを実行するタイミングを変更しました。

    ファイルの読み込みが完了してから、実行するようにしました。

  2. 概要(excerpt)欄の編集ボタンを削除しました。

    オリジナルのテンプレートには編集ボタンがついていなかったので。

2005年09月14日

HTMLArea 3.0 RC3

HTMLArea 3.0 の RC3 が CVS にありました。

sourceforge から RC3 はダウンロードできないようなので、ここに置いておきます。

2005年09月15日

Movable Type3.17でHTMLAreaを使う(7)

Movable Type3.17用HTMLAreaを修正しました。

変更点

  1. HTMLArea を RC1 から RC3 に変更しました。
  2. 中途半端に日本語化しました。

2005年09月17日

webgenでサイト作成

webgenで実際にサイトを作ってみました。

もともと Markdown で書いていたファイルなので、すぐに作れました。

画面上部のパンくずリストや、画面左の階層メニューを自動的に作ってくれるのはありがたいです。階層を変更したとき、すべてのファイルを修正するのは大変ですから。

機能も十分で、やりたいことは全部できました。このソフトはほんとうに良くできていると思います。

使い方をまとめました。

2005年09月24日

おすすめ青色申告本

フリーランサーなら、フリーのための青色申告デビューガイド改訂版!!はお薦めの一冊です。

本書の最大の特徴は、対象をフリーランサーに限定していることです。

一般的な青色申告本は、幅広い業種に対応するために、関係のないことがたくさん書かれていて、さっぱり理解できません。

その点、本書は対象をフリーランサーに限定し、必要なことだけを懇切丁寧に教えてくれます。

本書の対象とするフリーランサーとは、「基本的に一人で仕事をこなす自由業の人」です。

本書で言う自由業とは、

  1. 店舗を持たない
  2. 在庫を持たない
  3. 従業員を持たない

であり、Webデザイナー、プログラマー、インストラクター、ライター、イラストレーターなどです。

これからフリーになる人や白色申告をしている人は、本書を是非読んでください。わずか1400円の投資で、たくさんのメリットを得られるはずです。

本書の著者は、普通のフリーライターの人です。経理の専門家ではありません。だからこそ、初心者がつまずく点をしっかり抑え、初心者でもわかる内容にできたのではないでしょうか

本書では会計ソフトにやよいの青色申告を使用しています。 ですが、本書の内容は、[2]やよいの青色申告に限定されません。 私が使っているのはやるぞ!青色申告 2005ですが、問題なく使えています。

amazon.co.jpへのリンク

2005年09月25日

コードコンプリート (下)

本書は、数多くの研究結果や経験から導き出されたコンストラクションのベストプラクティスを解説する。

本書を読んで驚いたのが、話題がかなり新しいことである。エクストリームプログラミングやテストファーストプログラミングも検証している。

本書では、「テストファーストプログラミング」を、過去10年間に登場したソフトウェアプラクティスの中で最も効果的なものの1つであると同時に、一般的なアプローチとしても優れたものであると考えている。

豊富な研究結果から、特定の方法を盲信したりしない。問題点を指摘する。

平均的なプログラマは、自分はテストカバレッジ95%を達成したと考えるが、実際に達成しているのは、せいぜい80%、最悪の場合は30%、平均的なケースで50~60%である。

そして、対策を講じる。

デペロッパーテストは価値のあるものであると同時に、それだけでは適正な品質保証を実現するのに十分でない。このため、独立テストやコラボレーティブコンストラクションなど、他のプラクティスで補う必要がある。

章の終わりに、多くの参考文献が紹介されている。知識の不足を実感したり、より深い知識を習得したくなったときに便利だ。むしろ、本書を読み終えた後、次に読みたい本がたくさんありすぎて困るかもしれない。

本書は、経験の浅いプログラマにとって、これからの道しるべとなる。経験豊富なプログラマにも、知識を体系的に再構築し不足している知識を補うのに役立つだろう。

2005年09月26日

チェンジ・ザ・ルール!

要点は次の2つ。

  • ITの利益を享受するには、IT導入前のルールを変えなくてはならない。
  • ソフト会社はテクノロジーだけでなく、バリューを提供するのだ。

ソフト会社やソフトウェアの導入を検討している会社が直面する一般的な問題と解決方法が描かれている。是非とも読んでもらいたい一冊だ。

「テクノロジーの『物理的な』限界を取り除くだけでは不十分だ。たとえ表面的には取り除かれたとしても、実はまだ存在している。ルールが変わらなければ、完全になくなることはない。」

新しいソフトを導入して今までの物理的な制約を取り払っても、物理的な制約があった時代のルールをそのままにしていては、導入したソフトのメリットを享受することはできない。ソフトをインストールしておしまい、ではないのだ。

ITの導入は重要な経営戦略である。パソコンに詳しい社員に任すような仕事ではない。そのことを知らず、今までにも多くの企業が失敗してきた。

「それともう一つ、三つ目はトップマネジメント、つまり経営幹部の使う言葉。利益だ。これが最も重要だ。純利益や投資収益率とかいったお金の話だ。キャッシュだよ。私のところの人間も君のところの人間も、この言葉は話さないじゃないか。」

ソフトを導入する会社は、そのソフトが欲しいのではなく、ソフトがもたらす利益が欲しいのだ。ソフト会社は、データフローとかインテグレーションとか、コスト削減や生産性の向上でなく、どれだけの利益をもたらすのか説明できるか。

「考えてもみてください。もしシステム導入の早い段階で、利益的に何らかの結果を出すことができればどうなるのか。プロジェクトをずっと円滑に進めることができるはずです。」

大企業に比べ体力のない中小企業は、その分リスクを冒すことに対してより慎重だ。システムの導入でどれだけ利益が向上するか示すこと、早い段階で利益を出すこと、これは中小企業のシステム導入において重要なことかもしれない。

たとえば、エクストリーム・プログラミング(XP) では、ビジネスの最も価値のある機能から順に、短いサイクルでリリースする。短期リリースによって、顧客企業の利益を最大化する。他にも様々な方法があるだろう。

「コンピュータにシステムを追加するのは簡単なことだ。どんなシステムでも追加できる。そんなことは問題じゃない。本当に結果を出したいなら、それ以上の努力が求められるさ」

システムを導入する企業は、「それ以上の努力が求められる」ことをしっかり理解しなければならない。さもなければ、結果を出すことはできない。覚悟はできているか。

ソフト会社はそのことを説明できているだろうか。

2005年09月28日

Premature end of script headers

Premature end of script headersの解決法は、エラー時のチェックポイントがまとまっており、困ったときに参考になります。

チェックポイント

  1. 改行コード
  2. Perlのパス
  3. ファイル転送モード

追加情報ですが、Premature end of script headersのエラーなる場合に、Suexec を無効にすると動くことがあります。

Apache Tutorial: CGI による動的コンテンツ

Suexec の権限のチェックは非常に厳しく、それを満たさない場合は CGI プログラムが Premature end of script headers エラーで 実行されません。

あるCGIのインストールプログラムが Premature end of script headers になり、調べたところ Suexec が原因で、無効にすることにより動作しました。

そのインストールプログラムが、ファイルのアクセス権を 705 や 707 に変更しているのが問題ではないかと推測しています。(未確認)

2005年09月30日

Rubyを256倍使うための本 魔道編

RDについて書かれた、おそらく唯一の書籍。

RDの入門から始まり、HTMLの作成や、Rubyのリファレンスマニュアルの書き方、RDIndexや作表などの高度な使い方まで、幅広く解説している。著者はRDを活用しているだけあり、内容は実践的だ。

RDの構文は読みやすく、書きやすい。私もこの本を読んで以来、ドキュメントはRDで書くようになった。

ただ、残念な点は索引がないこと。知りたいことを探すのがちょっと大変だ。

Rubyを256倍使うための本 魔道編

RDについて書かれた、おそらく唯一の書籍。

RDの入門から始まり、HTMLの作成や、Rubyのリファレンスマニュアルの書き方、RDIndexや作表などの高度な使い方まで、幅広く解説している。著者はRDを活用しているだけあり、内容は実践的だ。

RDの構文は読みやすく、書きやすい。私もこの本を読んで以来、ドキュメントはRDで書くようになった。

ただ、残念な点は索引がないこと。知りたいことを探すのがちょっと大変だ。

About 2005年09月

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

前のアーカイブは2005年08月です。

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

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

Powered by
Movable Type 3.35