bar_1

contents_map

ラベル CT-技術 の投稿を表示しています。 すべての投稿を表示
ラベル CT-技術 の投稿を表示しています。 すべての投稿を表示

2014年5月11日日曜日

2014年3月14日金曜日

PukiWiki からのデータ移行のシンプルな方法

PukiWiki から Markdown への変換


昨年 (2013年)、XP で運用していたマシンが壊れまして。それ以降、XP上のローカルサーバで長年運用してきた PukiWiki から、他のシステムにリプレイスすることを考えてました。

Wiki 以外の方法もなにかないかと、他の方法の模索をしてきたのだけど、やっぱり、Wiki はいいなと思います。

また一方で、ここ最近は Markdown も便利だと感じてました。Markdown そのものは、Wiki (CMS) ではなく、単なるドキュメントの書式でしかないのだけれども、最近は、JavaScript で書かれた Markdown レンダラーがある。こいつを使えば、Markdown でローカル Wiki みたいなことはできるんじゃないか・・ということを考えた。

で、とりあえず PukiWiki のデータを、なんとか他のシステムに移しやすい形にしたいなと。見てみたところ、


  • PukiWiki のデータはテキストファイル (xxxx.txt) で、ひとつのディレクトリにフラットに格納される (pukiwiki/wiki/)

  • ファイル名は、EUC コード (16進数) をそのまま文字列にしたもの。スラッシュなんかの記号を含んだものになる。

  • ファイルの中身は、EUC-JP で、PukiWiki形式で記述されている。(これは、設定にもよるのかも)

ということがわかった。

PukiWiki のデータを OSX 上の HFS+ に展開する


変換するに手っ取り早い方法は、テキストファイルで表現されているデータ構造とデータを、ファイルシステム上に展開してしまう、というものです。

今使っているのは Mac なので、以下のことを考えました:


  • 元のファイル名は見にくいので、デコードして、UTF-8形式で通常の文字列として表す

    • HFS+で使用できない特殊な記号が使用されていた場合は、必要に応じてなんらかのエスケープ処理をする

    • ただし、半角スラッシュの場合は、ディレクトリを掘る (HFS+ の仕様と上記仕様からくる制限)

  • ファイルの内容は、EUC-JP から UTF-8 に、漢字コードを変換する

  • PukiWiki 記法から、Markdown か MediaWiki の形式にする

  • 検索システムは、grep か mdfind を使えばいい

ということを、考えました。

ディレクトリを掘るのは、やっぱフラットに数千ファイルあると、みるのが辛いからです。。。

スクリプト


既存のスクリプトがないか、けっこう探してみたのですが、どうも見当たらない……ぜったい誰か作ってるはずなのに……。まぁ、PukiWiki 自体がもう10年近くリリース止まってますしね。

仕方ない。ということで、Ruby で以下のようなものを作りました:


  • pw2hfs.rb (変換スクリプト本体)

  • nf-pw2md.rb (PukiWiki形式→Markdown形式変換フィルタ)

はじめは MediaWiki 形式にしようかと思いましたが、めんどくさいのでやめました。PukiWiki->Markdown変換は、適当です (一行一行の正規表現マッチングと置換)。あと、スクリプト内で、OSX に入っている iconv コマンドを使ってます。

使い方は、2つのスクリプトを、pukiwiki のデータの格納してあるディレクトリの一つ上において、結果出力用のディレクトリ dst/ を作ってから、pw2hfs.rb を実行します。しばらく待つと、dst/ 以下に、変換したものができます。

この結果と、Invisible.js かなにかを、組み合わせようと思ってます。Wiki の記法 (特に、Markdown 中での、ページ名のリンク ―スクウェア・ブラケットで2重に囲むアレ) 対応は、JavaScript 側でやったほうがいいかな……。

それでは。



2014年3月7日金曜日

VBAUnit の OOo Basic への移植

LBAUnit::Helper


VBAUnit (.NET版) を、OOo Basic に移植しようとしてみた。正確には、OpenOffice ではなく LibreOffice にだけども。

LBAUnit-Helper

ところが、OOo Basic には、Eval がそもそもないらしい
おぉ、なんてこった! なので断念した。

ユニットテスト (一般に xUnit) のフレームワークを作るには、その言語にはメタプログラミングの機能が必要とされる。

メタプログラミングには:


  • eval

  • self

  • lambda

といった機能を言語レベルでサポートしていることが望ましい。とくに、ひとつめの Eval は必須。

ところが、OOo Basic (OpenOffice.org Basic) は、これらのどれもサポートしてないんだな。まぁ、Python や Java, JavaScript でやってくれという話なんだろう……。

いちおう、OOo Basic にも TypeName() といった関数や MRI などリフレクション/イントロスペクションの拡張機能はあるにはあるのだけど、Eval がないとどうにもならない; 例えば、テストケースやメソッドを集めて実行する、という部分には、「コードを書くコード」「コードを実行するコード」を Basic がサポートしている必要がある。

クラスやインタフェースの定義、インスタンス変数、プロパティ、オブジェクトの生成をBasicのみでできることは、確認できたのだけどね……。

なので、あきらめた _(」 L、ソ、)_。

assert関数 と結果表示をするヘルパー関数は作ったので、まぁ、なんかに使えると思ったら使ってください (xba 形式でエクスポートしてあります):




2013年8月4日日曜日

[Memo]private メソッドへのアクセス

Ruby は、クラスのメソッドのデフォルトのアクセス制限が、 public なんだけど、ほっとくと public ばかりになってしまう。そこで整理のためにアクセス制限をしたいとなると、テスト容易性 (testability) に差し障る。

まぁ、そういった場合は send を使えばいいのだけど。

>> class Foo
>> private
>> def foo; p "foo"; end
>> end
=> nil
>> n=Foo.new
=> #
>> n.foo
NoMethodError: private method `foo' called for #
from (irb):6
from /Users/honyarara/.rbenv/versions/2.0.0-p247/bin/irb:12:in `'
>> n.send(:foo)
"foo"
=> "foo"


C++だったら、ここらへんどうあつかったらいいのかな。。。『メタプログラミングRuby』は、オブジェクトモデルを骨子に据えて、 Ruby におけるメタプログラミングのデザインパターンを、シナリオ風に提起したもので、とてもよかったです。




2011年4月27日水曜日

Cドライブ空き容量枯渇にともなう既存 XP システムの移行の方法

■Abstract



XPで構築したシステムの移行を行った。移行の目的は、空き領域がほとんど無くなってしまったCドライブを救済することであった。また作業コストの観点から、OSの再インストール等なしに、すなわち構築してある既存のシステムを再構築することなしにそのまま移行をさせる方法を採った。


移行の実作業は、システムのベース(Cドライブ)を、旧式(Primary IDE Slave, 120 GB)から、新式(Serial ATA, 500 GB)のハードディスクへと、移し替えることであった。この手法として、KNOPPIX 6.4.4 CD日本語版の環境で dd コマンドと GParted を利用した方法を用いた。


現在はシステム移行は完了し、問題なく快適に使用できている。


■重要な注意




  • このエントリで述べられていることを実施するには、 OS やディスクに関する基本的な知識、また Linux の基本的な理解を必要とします

  • ここに述べられていることを利用してあなたが損害を被ったとしても、当方は、いかなる責任も取ることはできません。





■Background



Windows XPによるシステムで、数年、自宅PCを利用している。このところ、Cドライブ(IDE 120 GB のハードディスク(HDD))が手狭になってきていた。そこで、以前買ってあった 500 GB の Serial ATA (SATA) HDD へと、システムのマイグレーションが必要とされた(いわゆる「ハードディスクの引越し」)。


この際、せっかく
長年にわたり構築してきた環境を構築しなおすのは、馬鹿げた手間であると考えた。このため、OSの再インストールを要しない方法を模索した。すると、Linux系の特徴的(CDやDVD1枚でLinux環境を利用する)なディストリビューションである KNOPPIX を利用する方法が、いくつかあることが、分かった。
これらの KNOPPIX を利用した方法について調査したところ、partimage と
QTParted のコマンドを使用する方法が、多いように見受けられた。


しかしながら、当方が試した限りにおいて、この方法ではうまくシステム移行を行うことが出来なかった;具体的には、以下のようなメッセージが起動時に表示され、新しい HDD から起動ができなかった:
A disk read error occurred
Press Ctrl+Alt+Del to restart

Reboot and Select proper Boot device
or Insert Boot Media in selected Boot device and press a key



この現象について調査すると、当方の partimage コマンドの使い方が、まずいように見えた。さらに調査を続けたが、解決する方法は見つけることが出来なかった。


そこで、KNOPPIX 環境を利用するものの partimage を使用せずに、dd コマンドで、旧HDDのデッドコピーを新HDDに作成し、そのあとに GParted にて、パーティション・サイズ等を修正する、という手法を取った。


以下に、この手法で用いるツールと移行手順について、説明する。

■使用するツール等



特別なツールはとくに必要としない。KNOPPIXについては、本稿では、
KNOPPIX 6.4.4 CD版(日本語)を使用した。これは作業前に、作成しておくこと。

●使用するツール


◆マザー・ボードの BIOS 関連





  • - American MegaTrends, Inc. BIOSセットアップ・ユーティリティ


    • -- 用途
      新HDD(SATA)の認識、HDDの優先順位の決定、ブート・デバイスの優先順位の選択


    • 始め方
      電源投入後のPower-On Self-Test (POST) 中に、Delキーを押す。
      マザー・ボード(以下、M/B)やPCによって異なるので、説明書で確認する
      こと。


    • 使い方


      • SATA HDD の認識
        Main>Strage Configuration>ATA/IDE Configuration
        →[Enhanced]

      • HDD の優先順位
        Boot>Hard Disk Drives
        →1st ~ nth Drive で、指定する

      • ブート・デバイスの優先順位
        Boot>Boot Device Priority
        →1st ~ nth Boot Device で、指定する


◆Windows XP 関連



  • 「ディスクの管理」ユーティリティ

    • 用途
      XP が認識しているHDDの確認、パーティションに付されたドライブ文字の変更に用いる。

    • 始め方
      スタート>管理ツール>コンピュータの管理 を起動し、左端ペインのツリーから、「ディスクの管理」を選択する。

    • 使い方

  • レジストリ・エディタ regedit

    • 用途
      ドライブ文字の変更(システム、ページファイル属性を持つパーティショ
      ンの為にレジストリを修正する)

    • 始め方
      スタート>ファイル名を指定して実行...>regedit
      ※XPの場合、regedit32というのは、なさそうだ。

    • 使い方
      Ref[3]を参照のこと。

◆KNOPPIX 関連



KNOPPIX 6.4は、mountされるデバイス名の確認、旧HDDの新HDDへのコピー、ボリューム・ラベルとパーティション・サイズの修正に使う。KNOPPIX は、産業総合研究所(産総研)のサーバで配布されている「 KNOPPIX 6.4.4 CD日本語版(LCAT対応)」のバイナリを使用した。


ただ、産総研のサーバ(www.rcis.aist.go.jp/project/knoppix/)は、非常に繋がりにくい―というか、ぶっちゃけ重過ぎる。そこで、ミラーしているサイト(情報通信研究機構)や理化学研究所(理研)の別バイナリのあるFTPサーバを利用するのもひとつの手だろう。以下に、ミラーサイトとバイナリを挙げておく:

  • KNOPPIX 6.4.4 CD日本語版(LCAT対応)

    • サイト(Ref. [2]より)
      --- http://ring.nict.go.jp/archives/linux/knoppix/iso/

    • バイナリ(6.4.4 CD日本語版(LCAT対応))
      --- knoppix_v6.4.4CD_20110130-20110301.iso (699 MB ある)
      --- knoppix_v6.4.4CD_20110130-20110301.sha1


  • 理研(LCAT非対応オリジナル?)

    • サイト
      http://ftp.riken.go.jp/Linux/simosnet-livecd/knoppix/

    • バイナリ
      KNOPPIX_V6.4.4CD-2011-01-30-small-JP.iso (668 MB ある)
      KNOPPIX_V6.4.4CD-2011-01-30-small-JP.iso.md5

md5, sha1 の値は、Cygwin に入っているコマンド:md5sum, sha1sum で、チェックできる。
ああちなみに、このISOイメージを焼くのには、メディアは700 MBのブランクCD-R (maxell) 使いました。


  • ファイル・マネージャ

    • 用途
      新旧の各HDDが、どのデバイス名/dev/sd? として認識されているか、調べる。

    • 始め方
      KNOPPIX起動後、デスクトップの knoppix アイコンを、ダブルクリックする。

    • 使い方
      左端ペインの一覧のHDDアイコンをクリックすると、タブ名またはウィンドウ名に、デバイス名が表示される。

  • ターミナル・エミュレータ(Terminal emulator (LXTerminal))

    • 用途
      dd コマンドの実行をおこなうための端末。

    • 始め方
      KNOPPIX起動後の左下の Terminal emulator のアイコン(設定から、Root Shellを使ってもよい)。

    • 使い方

  • dd コマンド

    • 用途
      旧HDD のデッドコピー作成 (セクタ単位で、旧HDDからデータを読み込み、
      新HDD へと書き込みをおこなう) ため。

    • 始め方
      端末からコマンド入力し、実行する。

    • 使い方(Ref.[1])
      ターミナル・エミュレータで:
      dd -if=/dev/旧HDD -of=/dev/新HDD bs=512

      を実行
      ここで:
      -if=/dev/旧HDD は、読込み用のデバイス名。すなわち、旧HDDのこと。
      -of=/dev/新HDD は、書出し用のデバイス名。すなわち、新HDDのこと。
      bs=512 は、読み書きを 512 Bytes 単位でおこなう指定
      である。
      デバイス名は、sd~という名前になっていると思う。
      繰り返しになるが、ifとofの指定は、絶対に間違えないこと!




  • GParted (0.7.0)

    • 用途
      ストレージ・デバイスのパーティションの移動・サイズの変更、ボリューム・ラベルの修正、フォーマットなどを行うことができるアプリである。

    • 始め方
      KNOPPIXのメニュー>設定>GPartedを選択する。

    • 使い方
      始めに、表示>デバイスの情報、保留中の操作のチェックをしておくとよい。
      数値入力以外に、ドラッグ&ドロップでも、パーティションの移動・サイズ変更が可能である。また、テンキーでの数値の入力は、できないようだ。
      拡張パーティションの場合、はじめに拡張パーティション(LBAフラグのあるパーティション)を選択して、サイズを大きくしてから、その中の論理ドライブを移動するようにする。
      HDDの選択:右上のHDDアイコンをクリックすると、HDD一覧が表示されるので、選択する。
      ラベルの変更:パーティションを左クリックして選択>右クリック>ラベル
      フラグの変更:パーティションを左クリックして選択>右クリック>フラグの編集
      サイズや移動:パーティションを左クリックして選択>右クリック>リサイズ/移動


■KNOPPIX の dd と GParted を使用した移行手順



実際行った手順は、下記に述べるものより、もっと大幅に、細かな確認手順を実施している。ここには、基本的なことをまとめる。


以下の詳細の手順に述べるように、実質的な手順は、大きく分けて1~6ののステップである。

  • 手順1は、新HDDをBIOSレベルで認識させること

  • 手順2は、旧HDDでの起動確認

  • 手順3は、旧HDDから新HDDへのデッドコピー作成

  • 手順4は、ボリュームのラベルとパーティションのフラグの修正

  • 手順5は、新HDDからのXPの起動

  • 手順6は、ドライブ文字の入れ替え


●移行手順の詳細


0. 新HDDのPCへの接続
電源を落とした状態のPCに、新HDDを接続する。
1. 新HDDの認識のためのBIOS設定
1-1. 手順(0)で接続が終わったら、PCの電源をONする。
1-2. BIOSセットアップ・ユーティリティを開く。
1-3. BIOS の HDD関係の設定で、SATA HDD を認識するよう設定する。
1-4. BIOS のブート・デバイスとブート優先順位の設定で、CD/DVD Drive から
の起動を可能に設定する。
※手順2.があるため、ブートのHDD は、この時まだ変えない(旧HDD から起
動のママ)。
1-5. 設定をセーブして、 BIOS セットアップ・ユーティリティを終了する。
2. 旧HDD で旧システムの起動確認
2-1. 手順1-5からひきつづき、旧HDDで今まで使用していた旧システム(XP)の起
動が、できることを確認する。
2-2. ログオンする。
2-3. ディスクの管理で、新HDDがディスクのリストに表示されることを、確認
する。
※ウィンドウを延ばさないと見えないかも
2-4. CD/DVD Drive に、KNOPPIX のCDを挿入して、電源OFFする
3. 旧HDDのデッドコピー作成
3-1. 電源ONし、USB DVD Multi Drive から、KNOPPIX を起動する。
3-2. ファイル・マネージャで、旧HDD、新HDDのデバイス名を確認する。
3-3. 左下のメニューからコンソールを立ち上げて、ddコマンド
で、旧HDDのデッドコピーを作成する
※デバイス名は、**絶対に**間違えないこと!!くれぐれも、逆にして旧
HDDを消してしまうことなど無いようにしてください。
※この処理は、結構時間(数時間)かかります。
4. GPartedでパーティションのフラグとラベルの設定
4-1. 旧HDD で、パーティション・フラグが、 boot となっているパーティショ
ンの bootチェックをはずす。
4-2. 新HDDで、旧HDDでのパーティション・フラグがbootとなっているパーテ
ィションに相当するパーティションのbootチェックを、チェックする。
4-3. 新HDD の各パーティションのラベルを、変更する(デッドコピーしたまま
だと、旧HDD と同じでまぎらわしいため)。
4-5. KNOPPIX をシャットダウンし、PCの電源をOFF。
5. 新HDDからのXPの起動
5-1. PCの電源ONし、BIOSセットアップ・ユーティリティで、新HDDからブート
するように設定する。
5-2. 設定をセーブして、BIOSセットアップ・ユーティリティを終了する。
→XPが起動する
6.  ドライブ文字の旧HDD・新HDDでの入れ替え
6-1. XP起動後ログオンし、ディスクの管理を開く
6-2. 新HDD の非システム・パーティションを使われていないドライブ文字に変
える(但し、変更前のドライブ文字を控えておく)
6-3. XP を再起動
6-3. 旧HDD の非システム・パーティションのドライブ文字を、手順6-2のドラ
イブ文字に変える(但し、変更前のドライブ文字を控えておく)
6-4. 新HDD の非システム・パーティションのドライブ文字を、手順6-3の変更
前のドライブ文字に変える
6-5. XP を再起動
6-6. 同じようにして、システム・パーティションのドライブ文字も入れ替える


KNOPPIX 上の作業が、移行作業の主な部分を占める。XPでおこなう移行作業は、ドライブ文字の変更である。

■Conclusion




  • 産総研の配布するKNOPPIX 6.4.4 CD日本語版(LCAT対応)のISOイメージを利用して、IDE HDD から SATA HDDへと、XP システムの移行を行った

  • partimage を利用した移行は、OS のブートに至らなかったため、dd, GParted を利用した方法とし、その手順を示した


■Future Works



本当はスクリーンショットなどを豊富に使いたかったのだけど、KNOPPIXでの取り方がわからなかった。gnome-screenshot なるアプリが、焼いたCDには、見当たらなかった。

新しいKNOPPIXの版が出るたびに、システムをCD/DVDに焼くのは、CD/DVDのメディアが無駄である。現在、大容量(GBオーバ)のUSBフラッシュ・メモリが安価に出回っているので、これを利用しない手はないだろう。

この場合、以下が参考になるかも知れない:
mk-mode BLOG, “KnoppixをUSBブート!”, 2010/1/6, http://www.mk-mode.com/wordpress/?p=2644
(ただし、メディアがUSBのストレージなので、CD/DVDのようにISOイメージを焼くだけ、ではない。)

■References




  • [1] dd(1), man page

  • [2] susaki, “[debian-users:55003] 【リリース】KNOPPIX 6.4.4 DVD&CD 日
    本語版 (LCAT対応)”,
    http://permalink.gmane.org/gmane.linux.debian.jp.user/20206

  • [3] WINFAQ, “w2k/XP:ディスク管理 - ブートドライブのドライブレターを変
    更できないのですが”, http://homepage2.nifty.com/winfaq/c/ntdisk.html#912

  • [4] KNOPPIX-JP FAQ, http://www.geocities.co.jp/SiliconValley-Sunnyvale/9821/

2011年3月22日火曜日

[Ruby]配列とハッシュ

インデックス、値、変換配列の値(要素)から、そのインデックスを得る方法を探していたのだが、当初、見つからなかった。
このため、配列を、一旦、ハッシュに変換してから、処理しようと試みた。しかし、Rubyでは、配列でもハッシュでも、要素から(インデックス|キー)を引くのは、同じ方法(indexメソッド)であることが分かったorz

以下は、配列の場合である。

irb(main):001:0> ["foo", "bar", "car", "cdr"].index("car")
=> 2
irb(main):002:0> ["foo", "bar", "car", "cdr"][2]
=> "car"

以下は、ハッシュの場合である。
irb(main):006:0> {1=>"foo", 2=>"bar", 3=>"car", 4=>"cdr"}.index("bar")
=> 2
irb(main):008:0> {1=>"foo", 2=>"bar", 3=>"car", 4=>"cdr"}[2]
=> "bar"

配列からハッシュを生成する(1)ここで、仮に配列からハッシュに変換しようとした場合、どのようにしたらよいだろうか?ここで、変換の際、配列のインデックスは、ハッシュにしたときにキーとなるものとする。
上記を考えたとき、以下のようなトピックを利用すれば、変換することができる:
  • Array http://www.ruby-lang.org/ja/man/html/Array.html
    配列クラス
    • Array#transpose
      配列の配列を行列とみなし、行と列の転置をおこなうインスタンス・メソッド
    • Array#flatten
      階層化された配列から階層を取り払い、一次(インデックスが1種類)の配列にするインスタンス・メソッド
  • Hash
    ハッシュ・クラス
    • Hash.[]
      与えられたオブジェクトで新しいハッシュを生成するクラス・メソッド
  • *[] (多重代入)
    複数の値を、それらに対応する複数の変数に、代入する仕組み

配列からハッシュを生成する(2)
(1) 変換前の配列を元に、二つの配列を用意する; ひとつは、変換前の配列のインデックスを要素とする配列 a、もうひとつは、変換前の配列のを要素とする配列 b である。すなわち:
a = [0, 1, 2, ..., n-1]
b = [e_0, e_1, e_2, ..., e_(n-1)]
n: aのサイズ=bのサイズ
e_i: 変換前の配列の各要素
(2) 配列aの要素a_iとbの要素b_iが、交互に並ぶような配列abを作成する; つまり、
ab = [a_0, b_0, a_1, b_1, ..., a_(n-1), b_(n-1)]
n: aのサイズ=bのサイズ
である。
この処理を行うためには、Array#transpose と Array#flatten を、利用する。
(3) ハッシュを生成する。このとき多重代入によって、配列abをハッシュ生成メソッドに与える。

ソース・コードは以下となる。戯れに、gist.github.comにも格納してみた
(https://gist.github.com/876272 )。
#file: to_h.rb
#conversion method from Array to Hash.
#
#
class Array
def idxarr( x )
Array.new(x) {|i| i}
end
def to_h
Hash[ *[idxarr(self.size), self].transpose.flatten ]
end
end
####endof file: to_h.rb

実行例は以下である:
irb(main):002:0> require 'to_h.rb'
=> true
irb(main):003:0> ['foo', 'bar', 'car', 'cdr'].to_h
=> {0=>"foo", 1=>"bar", 2=>"car", 3=>"cdr"}

Conclusion
- 配列でも、indexメソッドで、値からインデックスを求めることが出来る
- 配列からハッシュへの変換メソッドを実装した
Future Works
- 自分の環境で、gisty で投稿できないので、原因を解明すること
References
- Dave Thomas, et. al.; “プログラミングRuby”, 第2版, 言語編; オーム社
- Dave Thomas, et. al.; “プログラミングRuby”, 第2版, ライブラリ編; オーム社
- buzword, “配列からハッシュを作成する”, http://www.rubylife.jp/ini/hash_class/index7.html

2011年3月21日月曜日

[Cygwin][Ruby]ファイル・システム OR gemの振る舞い(環境?)がおかしくなった?

正確には、当該現象は今は発生していない;原因はわからないが、LoadErrorを発生することなく元通りに実行されるようになった。

しかし、以前にも(gistyとは別件で)、Cygwin上で同様のふるまい―作業したファイルが元に(?)戻ってしまったように見える現象―を、経験している。よって、ここに忘備として記録を残しておく。

現象以前構築したgistyの環境が、おかしくなっていることに気づいた。具体的な症状は:
  • gistyコマンドを実行すると、LoadErrorが発生
  • LoadErrorの内容は、no such file to load -- rr 、つまりrrというファイルが、gem_original_requireメソッドから見つからない

その他の現象gem listすると、パッケージは表示されるものの、gem which パッケージ名 を実行すると:
ERROR: Can't find ruby library file or shared library test-unit
という結果になるものがいくつか存在する。この現象は、回復していない。
環境
$ uname -srvmpio
CYGWIN_NT-5.1 1.7.7(0.230/5/3) 2010-08-31 09:58 i686 unknown unknown Cygwin
$ ruby --version
ruby 1.8.7 (2008-08-11 patchlevel 72) [i386-cygwin]
$ gem --version
1.3.7
$ git --version
git version 1.7.2.3
$ gisty about
mm mm
mm
mmmmmm mmmm mmmmm mmmmmm mm mm
mm mm mm mm mm mm mm
mm mm mm mmmm mm mm mm
mmmmmm mm mm mm mmmmm
mm mmmmmm mmmmm mmm mm
mmmmm mmmm
version: 0.0.14
url: http://github.com/swdyh/gisty/tree/master

2011年3月4日金曜日

Ruby の Test::Unit の GUI インターフェイス

概要


Cygwin 環境で Ruby の単体テストフレームワーク: Test::Unit の GUI インターフェイスを使ってみた。そのところ、必要な gem パッケージのインストールで、問題が生じた。問題は、gem の native extensions のコンパイルに失敗するというものだった。これに対処するため、gem install のオプションとして、--with-opt-include=/usr/include/cairo を指定し、解決した。
以下にこの問題の現象、問題の解析、対処法、結果を述べる。(追記2014-04-24: Markdown で書き直した)


2011年3月1日火曜日

gem install の振る舞いふたたび(Rake編)

う~む。。。やっぱり gem install しただけだと、インストールされないようだ。
$ gem install rake
Successfully installed rake-0.8.7
1 gem installed
Installing ri documentation for rake-0.8.7...
Installing RDoc documentation for rake-0.8.7...

$ rake --version
bash: rake: command not found


2011年2月10日木曜日

gem update/install のふるまい?

いままで、とくに気にしたことはなかったのだけど、
gem update gemパッケージ
は、実はgemパッケージをダウンロードしてくるだけで、インストールはしない……?

2011年1月26日水曜日

作図エディタDiaの環境構築


この記事を更新しようとしたところ、Seesaaブログの不具合で、レイアウトがくずれてしまいます。
新しい記事を参照してください。


TeX で図を描きたいときにどうしようかと、ドロー系の作図ツールを探していた。TeX と言えば tgif という先入観からそれ系のを探していたが、そういえば Dia があったのだった。Dia はドロー系 (Draw) 作図エディタソフトウェア。検索していたところ、Microsoft Visio とよく比較されているようだ。



2011年1月24日月曜日

LyX 1.6.0 on TeX Live 2010

Windows XP環境(今回はCygwinはなし)で、LyX(pLaTeXのGUIフロントエンド)を、
試行していた。ある程度使えることが確認できたので、ここに報告する。

試行したのは、環境のインストールからLyXの機能の確認で、以下のような点:
・LyX環境のインストール(TeX, LyX, GhostScript, GSView)
・LyXで日本語文書の作成とコンパイル、dvi表示
・LyXでフリガナを振る
・LyXでカスタマイズしたデザインの索引・用語集を付ける
・LyXで上記を含んだ文書の親分書・子文書への分割、コンパイル、およびdvi表示
・上記文書のPDF表示、PostScript表示
である。以上で、満足する動作結果を得た。


2011年1月14日金曜日

LyXの日本語版の試行1


今、色々試してるんだけど、結論から言うと、まだうまく行ってない。
→とりあえず、動くようにはなりました(Jan. 24th, 2011: LyX 1.6.0 on TeX Live 2010)


でも日本語のLyX情報は、とても少ない。失敗の例として、このエントリを上げておく。他にもLyXの導入を試している方がおられたら、リンクを貼ってください。助け合いましょう。


■使用したインストーラ



LyX-168-4-26-AltInstaller-Complete.exe


■不具合概要




  1. 日本語の文書のdvi表示ができない。

    1. 英語の文書のdvi表示は、可能である。

  2. babel-japaneseをインストールするためのplatexが、処理できない




●推測される原因:



日本語の場合、インストール先のフォルダのパスにスペース、および日本語が含まれていると、上記不具合の原因となる?


●アドホック対処



スペースも日本語も含まないフォルダに、再インストールする。

→これでも、ダメでした。


■上記インストーラでインストールされるもの


●スタート・メニュー内:




  1. Ghostgum>GSview 4.9(LyXのアンインストールの途中、アンインストールできる)

  2. JabRef>JabRef 2.6(アンインストーラ有り)

  3. LyX 1.6.8>LyX(アンインストーラ有り)

  4. MiKTeX 2.9>(LyXのアンインストーラによってアンインストールできる)

※Aspellも、LyXのアンインストーラで、選択的アンインストールできる



●Program Files\ディレクトリ




  1. Ghostgum\

  2. JabRef\

  3. LyX 1.6.8\

  4. MiKTeX 2.9\




●プログラムの追加と削除




  1. Aspell 0.6 Dictionary (Language: en)

  2. Aspell 0.60.4 Data

  3. GSView 4.9

  4. LyX 1.6.8

  5. MiKTeX 2.9

  6. JabRef 2.6
これらは、スタート・メニュー内のアプリのアンインストーラから、削除できる。





■症状1:LyXドキュメントの表示時の不具合メッセージ



ヘルプ・ドキュメントを読もうとすると:
Message:
"この文書が要求しているレイアウトファイル
jarticle.layout
が利用可能になっていません。この文書が要求
しているLaTeXクラス化スタイルファイルが利
用できないためと思われます。詳細は「カスタ
マイズ」ヘルプファイルをご覧ください。
LyXは出力を生成することができません。
"

とポップアップ・ウィンドウに表示される。


  • ヘルプ>
    -LyXユーザーの手引き(UserGuide)
    -LyXの高度な機能(Extended)
    -埋込みオブジェクト篇(EmbeddedObjects)
    などを開くと、表示される。

  • ドキュメント自体は、メイン・ペインに表示される。

●解析



インストール先のディレクトリ
D:\Program Files\LyX 1.6.8\Resources\layouts\

を見ても、それらしきファイル(jarticle.layout など)は、既に存在する。


日本語関係のスタイルが使用できない状態になっている?

●解決方法



→?
��ドキュメント自体のHTML表示はなされる。)

■症状2:dvi表示時のコマンド実行のエラー



LyX起動後文書を作成しdvi表示のために、dviボタンを押下すると:
"
java -jar htmltolatex.jar -input "newfile1.html" -を実行している間にエラーが発生しました。
"


●解析



ランチャ(LyX)が実行するコマンドに、なにかが欠けている?

■症状3:LyXドキュメント開いたときのエンコード関連のメッセージ



LyX起動後文書を作成しでdvi表示しようとすると、
“使用中の文書のパス「xxxxxxxx」には、現在の文書エンコーディング(すなわち***)で表すことのできないグリフが含まれています。このため、出力は不完全となる可能性が大きいです。
��utf8など)適切な文書エンコーディングを選択するか、パス名を変更してください。”

と表示される。


xxxxxxxxは、LyXファイルの名前。***は、ファイル内の記述文字。

●解析



作成中の文書のクラスが想定する文字コードと、ファイル・システムが使用している文字コードが違うのではないか?

●解決方法



LyXのメニューで
設定>パス>作業ディレクトリ


設定>パス>一時ディレクトリ

に、日本語とスペースを含まないものにする。


文書(D)>設定>文書の設定>言語>言語(L):英語
→日本語にする。

■症状4:DVI表示時にエラー



MiKTeX Problem Report
MiKTeX Problem Report
Message: Not all fonts could be loaded. See 'File->Document Properties', for details.
Data:
Source: Programs\MiKTeX\Yap\MFC\DviDoc.cpp
Line: 636
MiKTeX: 2.9
OS: Microsoft Windows XP Home Edition Service Pack 3 (build 2600)
Invokers: lyx
SystemAdmin: yes
PowerUser: no
Root0: C:\Documents and Settings\日本語のアカウント名\Application Data\MiKTeX\2.9
Root1: C:\Documents and Settings\日本語のアカウント名\Local Settings\Application Data\MiKTeX\2.9
Root2: C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9
Root3: D:\Program Files\MiKTeX 2.9
UserInstall: C:\Documents and Settings\日本語のアカウント名\Application Data\MiKTeX\2.9
UserConfig: C:\Documents and Settings\日本語のアカウント名\Application Data\MiKTeX\2.9
UserData: C:\Documents and Settings\日本語のアカウント名\Local Settings\Application Data\MiKTeX\2.9
CommonInstall: D:\Program Files\MiKTeX 2.9
CommonConfig: C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9
CommonData: C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9

■症状5:babel-japaneseインストール時platexが機能しない

babel-japaneseを展開し、japanese.insをコンパイルしたいが、platex.exeが処理不能。
下記のログを出して、コマンドラインからのplatexが処理されない:
D:\tex\MiKTeX\tex\generic\babel\japanese>platex japanese.ins
This is pdfTeX, Version 3.1415926-1.40.11 (MiKTeX 2.9)
platex: The memory dump file could not be found.
platex: Data: platex.fmt

■検討資料


��:
��:ツール>言語設定>デフォルト
��:文書>言語
��:結果
��      2          3
日本語(CJK) ユニコード(CJK)(utf8) 長考の後、エラー
��         1     2           3
ファイルの中身utf8 日本語(CJK) ユニコード(CJK)(utf8) dviビューワ立ち上がるがエラー
→フォントの設定?

●メモ

・"Managing Memory Dump files"
http://docs.miktex.org/manual/formats.html
・MiKTeX Optionsを起動。
MiKTeX Options>General>
1)Refresh FNDB.
Ok.
2)Update Formats
エラー発生。
Formatsタブのリスト内のPLaTeXのexcludedをはずし、Updateを行うと:
ウィンドウ:MiKTeX Maintainance というウィンドウに、
Creating format file for:
PLaTeX
というメッセージが表示され、Transcriptウィンドウに:
" miktex-makefmt: The input file could not be found.
initexmf.EXE: The operation failed for some reason.
initexmf.EXE: Data: D:\tex\MiKTeX\miktex\bin\miktex-makefmt.exe
"
というログを出力する。
・PLaTeXフォーマットが使用するplatex.iniというファイルは、
d:\tex\MiKTeX\miktex\config\
に存在する。
・pdftexが使用するpdftex.iniというファイルは、
d:\tex\MiKTeX\miktex\config\
d:\tex\MiKTeX\tex\plain\config\
に存在する。

■その他資料・メモ

■LyX設定

●フォントの設定

Tool>Settings
Times New Roman-> JP Gothic
Arial->JP Mincho
Courier New->JP Gothic

●アウトラインの表示

文書>文書構造で、章構造が左端に表示される。

●メニューの言語設定

LyXメニューのツール>設定>言語設定
ユーザインターフェイス:規定値
デフォルト:英語
にすると、メニューが英語になる。

●今回参考にしたリンク

  • http://www.netlaputa.ne.jp/~kuno/lyx/mylyx_p1.html
  • ☆ http://www.int.otaru-uc.ac.jp/lyx-howto/setup/japanize
  • http://old.nabble.com/%22Settings-Update-Formats%22-fails-for-Latex-td29879951.html
    babel-japanese がインストールされているか、確認。

■インストール・ログ

●MiKTeX

Loading package database...
starting package maintenance...
installation directory: D:\tex\MiKTeX
package repository: C:\DOCUME~1\日本語のアカウント名\LOCALS~1\Temp\mik31642
visiting repository C:\DOCUME~1\日本語のアカウント名\LOCALS~1\Temp\mik31642...
repository type: local package repository
loading lightweight database...
lightweight database digest: b8cba40bc9eac2c698e73738f24aed4b
going to install 9316 file(s) (156 package(s))
problem: D:\tex\MiKTeX\miktex/bin\MiKTeX209-core-PS.dll does not exist
problem: D:\tex\MiKTeX\miktex/bin\MiKTeX209-core.dll does not exist
problem: D:\tex\MiKTeX\miktex/bin\MiKTeX209-packagemanager-PS.dll does not exist
problem: D:\tex\MiKTeX\miktex/bin\MiKTeX209-packagemanager.dll does not exist
extracting files from ae.tar.lzma...
extracting files from amsfonts.tar.lzma...
extracting files from amslatex.tar.lzma...
extracting files from avantgar.cab...
extracting files from babel.tar.lzma...
extracting files from bidi.tar.lzma...
extracting files from bookman.cab...
extracting files from carlisle.tar.lzma...
extracting files from cbcoptic.tar.lzma...
extracting files from cm.tar.lzma...
extracting files from courier.cab...
extracting files from dehyph-exptl.tar.lzma...
extracting files from ec.cab...
extracting files from elhyphen.tar.lzma...
extracting files from enctex.tar.lzma...
extracting files from euenc.tar.lzma...
extracting files from eurosym.tar.lzma...
extracting files from float.cab...
extracting files from fontspec.tar.lzma...
extracting files from geometry.tar.lzma...
extracting files from graphics.tar.lzma...
extracting files from helvetic.cab...
extracting files from hoekwater.cab...
extracting files from hyperref.tar.lzma...
extracting files from hyph-utf8.tar.lzma...
extracting files from ifxetex.tar.lzma...
extracting files from jknappen.cab...
extracting files from latex-fonts.tar.lzma...
extracting files from latex2e-help-texinfo.tar.lzma...
extracting files from lm.tar.lzma...
extracting files from ltxbase.tar.lzma...
extracting files from ltxmisc.tar.lzma...
extracting files from lua-alt-getopt.tar.lzma...
extracting files from luainputenc.tar.lzma...
extracting files from lualibs.tar.lzma...
extracting files from luamplib.tar.lzma...
extracting files from luaotfload.tar.lzma...
extracting files from luatexbase.tar.lzma...
extracting files from luatextra.tar.lzma...
extracting files from mflogo.cab...
extracting files from miktex-arctrl-bin-2.9.tar.lzma...
extracting files from miktex-bibtex-base.cab...
extracting files from miktex-bibtex-bin-2.9.tar.lzma...
extracting files from miktex-bibtex8bit-base.cab...
extracting files from miktex-bibtex8bit-bin-2.9.tar.lzma...
extracting files from miktex-bin-2.9.tar.lzma...
extracting files from miktex-cjkutils-bin-2.9.tar.lzma...
extracting files from miktex-config-2.9.tar.lzma...
extracting files from miktex-cweb-base.cab...
extracting files from miktex-cweb-bin-2.9.tar.lzma...
extracting files from miktex-dict-english.tar.lzma...
extracting files from miktex-dict-french.tar.lzma...
extracting files from miktex-dict-german.tar.lzma...
extracting files from miktex-doc-2.9.tar.lzma...
extracting files from miktex-dvicopy-bin-2.9.tar.lzma...
extracting files from miktex-dvipdfm-base-2.7.tar.lzma...
extracting files from miktex-dvipdfmx-base-2.7.tar.lzma...
extracting files from miktex-dvipdfmx-bin-2.9.tar.lzma...
extracting files from miktex-dvipng-bin-2.9.tar.lzma...
extracting files from miktex-dvips-base.tar.bz2...
extracting files from miktex-dvips-bin-2.9.tar.lzma...
extracting files from miktex-dvips-doc.cab...
extracting files from miktex-etex-base.cab...
extracting files from miktex-findtexmf-bin-2.9.tar.lzma...
extracting files from miktex-fontconfig-base.tar.lzma...
extracting files from miktex-fontconfig-bin-2.9.tar.lzma...
extracting files from miktex-fontname-base.tar.lzma...
extracting files from miktex-fonts-bin-2.9.tar.lzma...
extracting files from miktex-freetype-base.cab...
extracting files from miktex-freetype-bin-2.9.tar.lzma...
extracting files from miktex-freetype2-bin-2.9.tar.lzma...
extracting files from miktex-ghostscript-base-2.9.tar.lzma...
extracting files from miktex-ghostscript-bin-2.9.tar.lzma...
extracting files from miktex-graphics-bin-2.9.tar.lzma...
extracting files from miktex-gsf2pk-base.cab...
extracting files from miktex-gsf2pk-bin-2.9.tar.lzma...
extracting files from miktex-hunspell-bin-2.9.tar.lzma...
extracting files from miktex-hyph-french.tar.bz2...
extracting files from miktex-hyph-german.tar.bz2...
extracting files from miktex-hyph-usenglish.cab...
extracting files from miktex-icu-bin-2.9.tar.lzma...
extracting files from miktex-kpathsea-bin-2.9.tar.lzma...
extracting files from miktex-latex-config-2.9.tar.lzma...
extracting files from miktex-lua51-bin-2.9.tar.lzma...
extracting files from miktex-luatex-base.tar.lzma...
extracting files from miktex-luatex-bin-2.9.tar.lzma...
extracting files from miktex-makeindex-base.cab...
extracting files from miktex-makeindex-bin-2.9.tar.lzma...
extracting files from miktex-metafont-base.cab...
extracting files from miktex-metafont-bin-2.9.tar.lzma...
extracting files from miktex-metafont-misc.tar.lzma...
extracting files from miktex-metapost-base-2.7.tar.lzma...
extracting files from miktex-metapost-bin-2.9.tar.lzma...
extracting files from miktex-mft-base.cab...
extracting files from miktex-mfware-bin-2.9.tar.lzma...
extracting files from miktex-misc.tar.lzma...
extracting files from miktex-mkfntmap-bin-2.9.tar.lzma...
extracting files from miktex-mktex-bin-2.9.tar.lzma...
extracting files from miktex-mo-bin-2.9.tar.lzma...
extracting files from miktex-mpm-bin-2.9.tar.lzma...
extracting files from miktex-mthelp-bin-2.9.tar.lzma...
extracting files from miktex-mtprint-bin-2.9.tar.lzma...
extracting files from miktex-omega-bin-2.9.tar.lzma...
extracting files from miktex-pdftex-base-2.9.tar.lzma...
extracting files from miktex-pdftex-bin-2.9.tar.lzma...
extracting files from miktex-pdftex-doc-2.6.tar.bz2...
extracting files from miktex-poppler-base.tar.lzma...
extracting files from miktex-poppler-bin-2.9.tar.lzma...
extracting files from miktex-ps2pk-bin-2.9.tar.lzma...
extracting files from miktex-psutils-base.cab...
extracting files from miktex-psutils-bin-2.9.tar.lzma...
extracting files from miktex-qt4-bin-2.9.tar.lzma...
extracting files from miktex-runtime-bin-2.9.tar.lzma...
extracting files from miktex-teckit-bin-2.9.tar.lzma...
extracting files from miktex-tex-base.tar.lzma...
extracting files from miktex-tex-bin-2.9.tar.lzma...
extracting files from miktex-tex-misc.tar.lzma...
extracting files from miktex-tex4ht-bin-2.9.tar.lzma...
extracting files from miktex-texify-bin-2.9.tar.lzma...
extracting files from miktex-texinfo-base.tar.lzma...
extracting files from miktex-texinfo-bin-2.9.tar.lzma...
extracting files from miktex-texware-bin-2.9.tar.lzma...
extracting files from miktex-texworks-bin-2.9.tar.lzma...
extracting files from miktex-texworks-doc.tar.lzma...
extracting files from miktex-vc100-bin.tar.lzma...
extracting files from miktex-web-bin-2.9.tar.lzma...
extracting files from miktex-xdvipdfmx-bin-2.9.tar.lzma...
extracting files from miktex-xetex-base.tar.lzma...
extracting files from miktex-xetex-bin-2.9.tar.lzma...
extracting files from miktex-yap-bin-2.9.tar.lzma...
extracting files from miktex-zip-bin.tar.lzma...
extracting files from multirow.cab...
extracting files from ncntrsbk.cab...
extracting files from oberdiek.tar.lzma...
extracting files from palatino.cab...
extracting files from pdftex-def.tar.lzma...
extracting files from pslatex.cab...
extracting files from psnfss.cab...
extracting files from pstricks.tar.lzma...
extracting files from rsfs.tar.lzma...
extracting files from ruhyphen.cab...
extracting files from tds.cab...
extracting files from thumbpdf.tar.lzma...
extracting files from times.cab...
extracting files from tools.tar.lzma...
extracting files from ukrhyph.cab...
extracting files from utopia.cab...
extracting files from xetexref.tar.lzma...
extracting files from xetexurl.tar.lzma...
extracting files from xgreek.tar.lzma...
extracting files from xkeyval.tar.lzma...
extracting files from xltxtra.tar.lzma...
extracting files from xunicode.tar.lzma...
extracting files from xypic.tar.lzma...
extracting files from zapfchan.cab...
extracting files from zapfding.cab...
updating package definition directory (D:\tex\MiKTeX\tpm\packages)...
installed 1959 package definition files
visiting repository C:\DOCUME~1\日本語のアカウント名\LOCALS~1\Temp\mik31642...
repository type: local package repository
loading lightweight database...
Registering root directories...
configuring fontconfig\config\fonts.conf
registering D:\tex\MiKTeX\miktex/bin\MiKTeX209-core.dll
registering D:\tex\MiKTeX\miktex/bin\MiKTeX209-core-PS.dll
registering D:\tex\MiKTeX\miktex/bin\MiKTeX209-packagemanager.dll
registering D:\tex\MiKTeX\miktex/bin\MiKTeX209-packagemanager-PS.dll
Skipping user root directory ("C:\Documents and Settings\日本語のアカウント名\Application Data\MiKTeX\2.9")...
Skipping user root directory ("C:\Documents and Settings\日本語のアカウント名\Local Settings\Application Data\MiKTeX\2.9")...
Creating fndb for common root directory ("C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9")...
Creating fndb for common root directory (D:\tex\MiKTeX)...
Making format links...
Making script links...
D:\tex\MiKTeX\miktex/bin\miktex-taskbar-icon.exe
D:\tex\MiKTeX\miktex/bin\miktex-update.exe
Creating language.dat, language.dat.lua and language.def...
Entering administrative mode...
Parsing config file D:\tex\MiKTeX\miktex\config\updmap.cfg...
Parsing D:\tex\MiKTeX\fonts\map\dvips\tetex\dvips35.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\tetex\pdftex35.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\tetex\dvipdfm35.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\tetex\ps2pk35.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\amsfonts\cm.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\amsfonts\cmextra.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\amsfonts\cyrillic.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\amsfonts\euler.map...
Parsing D:\tex\MiKTeX\dvips\eurosym\eurosym.map...
Parsing D:\tex\MiKTeX\dvips\hoekwater\hoekwater.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\amsfonts\latxfont.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\rsfs\rsfs.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\amsfonts\symbols.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\xypic\xypic.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\psnfss\charter.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\psnfss\fpls.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\lm\lm.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\obsolete\mathpi.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\obsolete\mathpple-ext.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\psnfss\pazo.map...
Parsing D:\tex\MiKTeX\dvips\pslatex\pcrr8rn.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\psnfss\psnfss.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\avantgar\uag.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\bookman\ubk.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\courier\ucr.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\helvetic\uhv.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\ncntrsbk\unc.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\palatino\upl.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\times\utm.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\psnfss\utopia.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\zapfchan\uzc.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\zapfding\uzd.map...
Writing "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvips\config\ps2pk.map"...
Writing "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvips\config\download35.map"...
Writing "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvips\config\builtin35.map"...
Writing "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvips\config\psfonts_t1.map"...
Writing "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvips\config\psfonts_pk.map"...
Writing "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\pdftex\config\pdftex_ndl14.map"...
Writing "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\pdftex\config\pdftex_dl14.map"...
Writing "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvipdfm\config\dvipdfm_dl14.map"...
Writing "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvipdfm\config\dvipdfm_ndl14.map"...
Copying "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvips\config\psfonts_t1.map"
to "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvips\config\psfonts.map"...
Copying "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvipdfm\config\dvipdfm_dl14.map"
to "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvipdfm\config\dvipdfm.map"...
Copying "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\pdftex\config\pdftex_dl14.map"
to "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\pdftex\config\pdftex.map"...
C:/WINDOWS/Fonts: caching, new cache contents: 719 fonts, 0 dirs
C:/Program Files/Adobe/Reader 9.0/Resource/Font: caching, new cache contents: 16 fonts, 1 dirs
C:/Program Files/Adobe/Reader 9.0/Resource/Font/PFM: caching, new cache contents: 0 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1: caching, new cache contents: 0 fonts, 5 dirs
D:/tex/MiKTeX/fonts/type1/adobe: caching, new cache contents: 0 fonts, 2 dirs
D:/tex/MiKTeX/fonts/type1/adobe/courier: caching, new cache contents: 6 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/adobe/utopia: caching, new cache contents: 4 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/groff: caching, new cache contents: 1 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/hoekwater: caching, new cache contents: 0 fonts, 4 dirs
D:/tex/MiKTeX/fonts/type1/hoekwater/mflogo: caching, new cache contents: 8 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/hoekwater/misc: caching, new cache contents: 1 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/hoekwater/rsfs: caching, new cache contents: 3 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/hoekwater/stmaryrd: caching, new cache contents: 6 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/public: caching, new cache contents: 0 fonts, 6 dirs
D:/tex/MiKTeX/fonts/type1/public/amsfonts: caching, new cache contents: 0 fonts, 6 dirs
D:/tex/MiKTeX/fonts/type1/public/amsfonts/cm: caching, new cache contents: 75 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/public/amsfonts/cmextra: caching, new cache contents: 15 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/public/amsfonts/cyrillic: caching, new cache contents: 5 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/public/amsfonts/euler: caching, new cache contents: 22 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/public/amsfonts/latxfont: caching, new cache contents: 14 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/public/amsfonts/symbols: caching, new cache contents: 12 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/public/cbcoptic: caching, new cache contents: 2 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/public/eurosym: caching, new cache contents: 12 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/public/lm: caching, new cache contents: 92 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/public/rsfs: caching, new cache contents: 3 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/public/xypic: caching, new cache contents: 23 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/urw: caching, new cache contents: 0 fonts, 9 dirs
D:/tex/MiKTeX/fonts/type1/urw/avantgar: caching, new cache contents: 4 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/urw/bookman: caching, new cache contents: 4 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/urw/courier: caching, new cache contents: 4 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/urw/helvetic: caching, new cache contents: 14 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/urw/ncntrsbk: caching, new cache contents: 4 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/urw/palatino: caching, new cache contents: 4 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/urw/times: caching, new cache contents: 4 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/urw/zapfchan: caching, new cache contents: 1 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/urw/zapfding: caching, new cache contents: 1 fonts, 0 dirs
D:/tex/MiKTeX/fonts/opentype: caching, new cache contents: 0 fonts, 1 dirs
D:/tex/MiKTeX/fonts/opentype/public: caching, new cache contents: 0 fonts, 1 dirs
D:/tex/MiKTeX/fonts/opentype/public/lm: caching, new cache contents: 72 fonts, 0 dirs
C:/Documents and Settings/All Users/Application Data/MiKTeX/2.9/fontconfig/cache: cleaning cache directory
D:\tex\MiKTeX\miktex\bin\fc-cache.EXE: succeeded
Skipping user root directory ("C:\Documents and Settings\日本語のアカウント名\Application Data\MiKTeX\2.9")...
Skipping user root directory ("C:\Documents and Settings\日本語のアカウント名\Local Settings\Application Data\MiKTeX\2.9")...
Creating fndb for common root directory ("C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9")...
Creating fndb for common root directory (D:\tex\MiKTeX)...
MiKTeX: 2.9
SystemAdmin: yes
PowerUser: no
OS: Microsoft Windows XP Home Edition Service Pack 3 (build 2600)
Root0: C:\Documents and Settings\日本語のアカウント名\Application Data\MiKTeX\2.9
Root1: C:\Documents and Settings\日本語のアカウント名\Local Settings\Application Data\MiKTeX\2.9
Root2: C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9
Root3: D:\tex\MiKTeX
UserInstall: C:\Documents and Settings\日本語のアカウント名\Application Data\MiKTeX\2.9
UserData: C:\Documents and Settings\日本語のアカウント名\Local Settings\Application Data\MiKTeX\2.9
UserConfig: C:\Documents and Settings\日本語のアカウント名\Application Data\MiKTeX\2.9
CommonInstall: D:\tex\MiKTeX
CommonData: C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9
CommonConfig: C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9

●MiKTeX Updateログ

downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma...
522841 bytes, 45.64 KB/Sec
updating package definition directory (D:\tex\MiKTeX\tpm\packages)...
installed 217 package definition files
visiting repository ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/...
repository type: remote package repository
loading lightweight database...
downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma...
105633 bytes, 22.77 KB/Sec
starting package maintenance...
installation directory: D:\tex\MiKTeX
package repository: ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/
lightweight database digest: 8312afd360ec6cd2cfde8e430a7cd502
going to download 28554293 bytes
going to install 325 file(s) (19 package(s))
unregistering D:\tex\MiKTeX\miktex/bin\MiKTeX209-core-PS.dll
unregistering D:\tex\MiKTeX\miktex/bin\MiKTeX209-core.dll
unregistering D:\tex\MiKTeX\miktex/bin\MiKTeX209-packagemanager-PS.dll
unregistering D:\tex\MiKTeX\miktex/bin\MiKTeX209-packagemanager.dll
downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/fontspec.tar.lzma...
2955471 bytes, 78.37 KB/Sec
extracting files from fontspec.tar.lzma...
downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/hyperref.tar.lzma...
3328790 bytes, 82.23 KB/Sec
extracting files from hyperref.tar.lzma...
downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/ltxmisc.tar.lzma...
65021 bytes, 11.35 KB/Sec
extracting files from ltxmisc.tar.lzma...
downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/luainputenc.tar.lzma...
424357 bytes, 43.62 KB/Sec
extracting files from luainputenc.tar.lzma...
downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/luamplib.tar.lzma...
317712 bytes, 28.16 KB/Sec
extracting files from luamplib.tar.lzma...
downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/luaotfload.tar.lzma...
277877 bytes, 29.64 KB/Sec
extracting files from luaotfload.tar.lzma...
downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/luatexbase.tar.lzma...
2376249 bytes, 67.94 KB/Sec
extracting files from luatexbase.tar.lzma...
downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/luatextra.tar.lzma...
322873 bytes, 34.49 KB/Sec
extracting files from luatextra.tar.lzma...
downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/miktex-fontconfig-bin-2.9.tar.lzma...
102217 bytes, 25.97 KB/Sec
extracting files from miktex-fontconfig-bin-2.9.tar.lzma...
downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/miktex-ghostscript-bin-2.9.tar.lzma...
9286778 bytes, 83.32 KB/Sec
extracting files from miktex-ghostscript-bin-2.9.tar.lzma...
downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/miktex-misc.tar.lzma...
40762 bytes, 13.13 KB/Sec
extracting files from miktex-misc.tar.lzma...
downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/miktex-mo-bin-2.9.tar.lzma...
85375 bytes, 15.74 KB/Sec
extracting files from miktex-mo-bin-2.9.tar.lzma...
downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/miktex-runtime-bin-2.9.tar.lzma...
854677 bytes, 45.97 KB/Sec
extracting files from miktex-runtime-bin-2.9.tar.lzma...
downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/miktex-yap-bin-2.9.tar.lzma...
392941 bytes, 34.69 KB/Sec
extracting files from miktex-yap-bin-2.9.tar.lzma...
downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/pdftex-def.tar.lzma...
13457 bytes, 7.86 KB/Sec
extracting files from pdftex-def.tar.lzma...
downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/pstricks.tar.lzma...
7481978 bytes, 86.69 KB/Sec
extracting files from pstricks.tar.lzma...
downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/xetexref.tar.lzma...
139771 bytes, 23.17 KB/Sec
extracting files from xetexref.tar.lzma...
downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/xgreek.tar.lzma...
70893 bytes, 19.44 KB/Sec
extracting files from xgreek.tar.lzma...
downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/xunicode.tar.lzma...
17094 bytes, 9.63 KB/Sec
extracting files from xunicode.tar.lzma...
configuring fontconfig\config\fonts.conf
registering D:\tex\MiKTeX\miktex/bin\MiKTeX209-core.dll
registering D:\tex\MiKTeX\miktex/bin\MiKTeX209-core-PS.dll
registering D:\tex\MiKTeX\miktex/bin\MiKTeX209-packagemanager.dll
registering D:\tex\MiKTeX\miktex/bin\MiKTeX209-packagemanager-PS.dll
Skipping user root directory ("C:\Documents and Settings\日本語のアカウント名\Application Data\MiKTeX\2.9")...
Skipping user root directory ("C:\Documents and Settings\日本語のアカウント名\Local Settings\Application Data\MiKTeX\2.9")...
Creating fndb for common root directory ("C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9")...
Creating fndb for common root directory (D:\tex\MiKTeX)...
Making format links...
Making script links...
D:\tex\MiKTeX\miktex/bin\miktex-taskbar-icon.exe
D:\tex\MiKTeX\miktex/bin\miktex-update.exe
Creating language.dat, language.dat.lua and language.def...
Entering administrative mode...
Parsing config file D:\tex\MiKTeX\miktex\config\updmap.cfg...
Parsing D:\tex\MiKTeX\fonts\map\dvips\tetex\dvips35.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\tetex\pdftex35.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\tetex\dvipdfm35.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\tetex\ps2pk35.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\amsfonts\cm.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\amsfonts\cmextra.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\amsfonts\cyrillic.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\amsfonts\euler.map...
Parsing D:\tex\MiKTeX\dvips\eurosym\eurosym.map...
Parsing D:\tex\MiKTeX\dvips\hoekwater\hoekwater.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\amsfonts\latxfont.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\rsfs\rsfs.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\amsfonts\symbols.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\xypic\xypic.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\psnfss\charter.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\psnfss\fpls.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\lm\lm.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\obsolete\mathpi.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\obsolete\mathpple-ext.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\psnfss\pazo.map...
Parsing D:\tex\MiKTeX\dvips\pslatex\pcrr8rn.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\psnfss\psnfss.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\avantgar\uag.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\bookman\ubk.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\courier\ucr.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\helvetic\uhv.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\ncntrsbk\unc.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\palatino\upl.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\times\utm.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\psnfss\utopia.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\zapfchan\uzc.map...
Parsing D:\tex\MiKTeX\fonts\map\dvips\zapfding\uzd.map...
Writing "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvips\config\ps2pk.map"...
Writing "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvips\config\download35.map"...
Writing "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvips\config\builtin35.map"...
Writing "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvips\config\psfonts_t1.map"...
Writing "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvips\config\psfonts_pk.map"...
Writing "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\pdftex\config\pdftex_ndl14.map"...
Writing "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\pdftex\config\pdftex_dl14.map"...
Writing "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvipdfm\config\dvipdfm_dl14.map"...
Writing "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvipdfm\config\dvipdfm_ndl14.map"...
Copying "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvips\config\psfonts_t1.map"
to "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvips\config\psfonts.map"...
Copying "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvipdfm\config\dvipdfm_dl14.map"
to "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvipdfm\config\dvipdfm.map"...
Copying "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\pdftex\config\pdftex_dl14.map"
to "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\pdftex\config\pdftex.map"...
C:/WINDOWS/Fonts: skipping, existing cache is valid: 719 fonts, 0 dirs
C:/Program Files/Adobe/Reader 9.0/Resource/Font: skipping, existing cache is valid: 16 fonts, 1 dirs
C:/Program Files/Adobe/Reader 9.0/Resource/Font/PFM: skipping, existing cache is valid: 0 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1: skipping, existing cache is valid: 0 fonts, 5 dirs
D:/tex/MiKTeX/fonts/type1/adobe: skipping, existing cache is valid: 0 fonts, 2 dirs
D:/tex/MiKTeX/fonts/type1/adobe/courier: skipping, existing cache is valid: 6 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/adobe/utopia: skipping, existing cache is valid: 4 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/groff: skipping, existing cache is valid: 1 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/hoekwater: skipping, existing cache is valid: 0 fonts, 4 dirs
D:/tex/MiKTeX/fonts/type1/hoekwater/mflogo: skipping, existing cache is valid: 8 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/hoekwater/misc: skipping, existing cache is valid: 1 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/hoekwater/rsfs: skipping, existing cache is valid: 3 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/hoekwater/stmaryrd: skipping, existing cache is valid: 6 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/public: skipping, existing cache is valid: 0 fonts, 6 dirs
D:/tex/MiKTeX/fonts/type1/public/amsfonts: skipping, existing cache is valid: 0 fonts, 6 dirs
D:/tex/MiKTeX/fonts/type1/public/amsfonts/cm: skipping, existing cache is valid: 75 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/public/amsfonts/cmextra: skipping, existing cache is valid: 15 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/public/amsfonts/cyrillic: skipping, existing cache is valid: 5 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/public/amsfonts/euler: skipping, existing cache is valid: 22 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/public/amsfonts/latxfont: skipping, existing cache is valid: 14 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/public/amsfonts/symbols: skipping, existing cache is valid: 12 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/public/cbcoptic: skipping, existing cache is valid: 2 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/public/eurosym: skipping, existing cache is valid: 12 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/public/lm: skipping, existing cache is valid: 92 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/public/rsfs: skipping, existing cache is valid: 3 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/public/xypic: skipping, existing cache is valid: 23 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/urw: skipping, existing cache is valid: 0 fonts, 9 dirs
D:/tex/MiKTeX/fonts/type1/urw/avantgar: skipping, existing cache is valid: 4 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/urw/bookman: skipping, existing cache is valid: 4 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/urw/courier: skipping, existing cache is valid: 4 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/urw/helvetic: skipping, existing cache is valid: 14 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/urw/ncntrsbk: skipping, existing cache is valid: 4 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/urw/palatino: skipping, existing cache is valid: 4 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/urw/times: skipping, existing cache is valid: 4 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/urw/zapfchan: skipping, existing cache is valid: 1 fonts, 0 dirs
D:/tex/MiKTeX/fonts/type1/urw/zapfding: skipping, existing cache is valid: 1 fonts, 0 dirs
D:/tex/MiKTeX/fonts/opentype: skipping, existing cache is valid: 0 fonts, 1 dirs
D:/tex/MiKTeX/fonts/opentype/public: skipping, existing cache is valid: 0 fonts, 1 dirs
D:/tex/MiKTeX/fonts/opentype/public/lm: skipping, existing cache is valid: 72 fonts, 0 dirs
C:/Documents and Settings/All Users/Application Data/MiKTeX/2.9/fontconfig/cache: cleaning cache directory
D:\tex\MiKTeX\miktex\bin\fc-cache.EXE: succeeded


2010年12月24日金曜日

Rubyにおける代入・参照・参照渡しと、メソッドの仮引数・ローカル変数・グローバル変数

ひさびさにRubyを触って、思い出すまでハマったのでメモっておく。



「Rubyには参照渡ししかない」とだけ覚えていたことから、生じていた思い込み:
×メソッドの引数を介して、グローバル変数の値は変えられる

これは間違い。



以下が正しい:

  • 代入演算子= は、参照先を変更する(だけの)ためのものである

  • メソッドは、オブジェクトに対するメッセージである

  • メソッドの機能の一つには、オブジェクト内部のフィールドの値を変更することがある

  • メソッド定義の仮引数は、メソッドのスコープのローカル変数である







実験



以下のようなt_f, t_f2, t_f3 のメソッドがあるとする:
irb(main):022:0> def t_f( a )
irb(main):023:1>  a='t_f'
irb(main):024:1> end
=> nil

irb(main):029:0> def t_f2( a )
irb(main):030:1> a.push('bar')
irb(main):031:1> end
=> nil

irb(main):036:0> def t_f3( a )
irb(main):037:1> b=a
irb(main):038:1> b.push('t_f3')
irb(main):039:1> end
=> nil









メソッド t_f のテスト



irb(main):025:0> a="boo"
=> "boo"
irb(main):026:0> t_f( a )
=> "t_f"
irb(main):027:0> a
=> "boo"





  1. グローバル・スコープの変数 a の参照が、メソッド t_f の仮引数 a にコピーされる
     (この時点で t_f の仮引数a の参照先は、オブジェクト"boo"である)


  2. メソッド t_f の仮引数 a の参照先が、文字列オブジェクト "t_f" に、変更される


  3. メソッド t_f を抜けたので、メソッド t_f の仮引数 a は破棄される
    ��グローバル・スコープの変数 a の値=参照先は、 "boo" のままであることが、確認される


メソッド t_f2 のテスト



irb(main):028:0> b=['boo']
=> ["boo"]
irb(main):033:0> t_f2( b )
=> ["boo", "bar"]
irb(main):034:0> b
=> ["boo", "bar"]





  1. グローバル・スコープの変数b の参照が、メソッドt_f2の仮引数a にコピーされる(この時点でt_fの仮引数a の参照先は、オブジェクト["boo"]である)


  2. メソッドt_f2の仮引数a に、メッセージpush("bar")が渡され、仮引数a の参照先のオブジェクトは["boo", "bar"]に、変更される


  3. メソッドt_f2 を抜けたので、メソッドt_f2 の仮引数a は破棄される
    ��グローバル・スコープの変数b の値=参照先のオブジェクトの値は、["boo", "bar"]と変更されていることが、確認される


メソッド t_f3 のテスト



irb(main):042:0> b=["boo", "bar", "bar"]
=> ["boo", "bar", "bar"]
irb(main):043:0> t_f3( b )
=> ["boo", "bar", "bar", "t_f3"]
irb(main):044:0> b
=> ["boo", "bar", "bar", "t_f3"]





  1. グローバル・スコープの変数b の参照が、メソッドt_f3の仮引数a にコピーされる
     (この時点でt_fの仮引数a の参照先は、オブジェクト["boo", "bar", "bar"]である)


  2. メソッドt_f2のローカル変数b の参照先は、仮引数a の参照先に設定される


  3. メソッドt_f2のローカル変数b の参照先に、"t_f3"がpushされ、オブジェクト["boo", "bar", "bar", "t_f3"]に、変更される


  4. メソッドt_f2 を抜けたので、メソッドt_f2 の仮引数a 、ローカル変数b は、ともに破棄される
    ��グローバル・スコープの変数b の値=参照先のオブジェクトの値は、["boo", "bar", "bar", "t_f3"]と変更されていることが、確認される

2010年12月2日木曜日

Cygwin上のruby環境でgithubとgist, gistyの環境を整えてみた


■問題点
例によって、躓きまくりました。
  • nokogiriのgemインストールができない。
  • gistyのgemインストールができない。

■解決法
時間のない人のために、最初に、今回試した手順のまとめを示します:
  1. Cygwinのライブラリ(lib*)のインストール(gistyに必要とされるもの)
    Cygwinのインストーラ:setup.exeで、libxml2, libxslt, libiconv, (+libiconv2) をインストール。
  2. gemの設定1(環境変数GEM_HOME, APPDATA)
    export GEM_HOME="/cygdrive/your/gem/home"
    export APPDATA="${GEM_HOME}"
  3. gemの設定2(gemの取得先の設定追加)
    $ gem sources -a http://gems.github.com/
  4. gemインストール1(nokogiri)
    $ gem install nokogiri
  5. gemインストール2(gisty)
    $ gem install swdyh-gisty
  6. gistyの設定(GISTY_DIR)
    export GISTY_DIR="${HOME}/your/gisty/directory"
  7. githubの設定(SSH公開鍵の登録)
    github.comにログインし
    アカウントの設定>アカウントの概要>SSH公開鍵
    にて、登録。
  8. gitのローカル環境の設定(githubのidとAPIトークン)
    git config --global github.user your_id
    git config --global github.token your_APItoken
  9. gistyの設定(パスの通ったディレクトリにコピー)
    cd /cygdrive/${GEM_HOME}/gems/swdyh-gisty-0.0.14/bin
    cp -i gisty /usr/bin/.
以下は試したときの時系列ログ的書き物です。


●gemインストール1

$ gem install nokogiri
Building native extensions. This could take a while...
ERROR: Error installing nokogiri:
ERROR: Failed to build gem native extension.
/usr/bin/ruby.exe extconf.rb
checking for libxml/parser.h... yes
checking for libxslt/xslt.h... yes
checking for libexslt/exslt.h... yes
checking for iconv_open() in iconv.h... no
checking for iconv_open() in -liconv... yes
checking for xmlParseDoc() in -lxml2... yes
checking for xsltParseStylesheetDoc() in -lxslt... yes
checking for exsltFuncRegister() in -lexslt... yes
checking for xmlFirstElementChild()... yes
checking for xmlRelaxNGSetParserStructuredErrors()... yes
checking for xmlRelaxNGSetParserStructuredErrors()... yes
checking for xmlRelaxNGSetValidStructuredErrors()... yes
checking for xmlSchemaSetValidStructuredErrors()... yes
checking for xmlSchemaSetParserStructuredErrors()... yes
creating Makefile
/usr/lib/ruby/1.8/mkmf.rb:1322: warning: global variable `$preload' not initiali
zed
make
Makefile:119: *** target pattern contains no `%'. Stop.
Gem files will remain installed in d:/home/gems/nokogiri-1.4.4 for inspection.
Results logged to /cygdrive/d/home/gems/nokogiri-1.4.4/ext/nokogiri/gem_make.out

エラーログからは、なにが悪いのかさっぱり分からない。そこで、エラーメッセ
ージをぐぐってみる。
http://stackoverflow.com/questions/1225703/cant-build-gem-native-extension-build-fails-can-you-see-why
どうやら、Cygwin環境のライブラリを再インストールする必要があるようだ。。。
●足りないと思われるライブラリ
上記gemエラーログから、想像したライブラリ名は以下の通り:
  • ?libxml
  • libxml2
  • libxslt
  • ?libexslt
  • libiconv
  • (+iconv2)

��は、存在しないようだった。
Cygwinのインストーラ:setup.exe を使って、上記をReinstallした。
次に再度、gemのインストールを試す。
●再度gemインストール
また失敗。
$ gem install nokogiri
cygwin warning:
MS-DOS style path detected: C:\Documents and Settings\All Users\Application Data/gemrc
Preferred POSIX equivalent is: /cygdrive/c/Documents and Settings/All Users/Application Data/gemrc
CYGWIN environment variable option "nodosfilewarning" turns off this warning.
Consult the user's guide for more details about POSIX paths:
http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
Building native extensions. This could take a while...
ERROR: Error installing nokogiri:
ERROR: Failed to build gem native extension.
/usr/bin/ruby.exe extconf.rb
checking for libxml/parser.h... yes
checking for libxslt/xslt.h... yes
checking for libexslt/exslt.h... yes
checking for iconv_open() in iconv.h... no
checking for iconv_open() in -liconv... yes
checking for xmlParseDoc() in -lxml2... yes
checking for xsltParseStylesheetDoc() in -lxslt... yes
checking for exsltFuncRegister() in -lexslt... yes
checking for xmlFirstElementChild()... yes
checking for xmlRelaxNGSetParserStructuredErrors()... yes
checking for xmlRelaxNGSetParserStructuredErrors()... yes
checking for xmlRelaxNGSetValidStructuredErrors()... yes
checking for xmlSchemaSetValidStructuredErrors()... yes
checking for xmlSchemaSetParserStructuredErrors()... yes
creating Makefile
/usr/lib/ruby/1.8/mkmf.rb:1322: warning: global variable `$preload' not initiali
zed
make
Makefile:119: *** target pattern contains no `%'. Stop.
Gem files will remain installed in d:/home/gems/nokogiri-1.4.4 for inspection.
Results logged to /cygdrive/d/home/gems/nokogiri-1.4.4/ext/nokogiri/gem_make.out

似たようなエラーメーセージだが、若干違うのは”MS-DOSスタイルのパス”が云々
というところ。知らない環境変数が参照されていると見当をつけ、
set | grep -i "パス"
してみた。すると、APPDATAという変数に上記ディレクトリが設定されている
●gemの設定(環境変数)
以前、GEM_HOMEを設定したが、ActiveScriptRubyのためであった。今設定しよう
としているのは、Cygwin上のRubyのためのものである。既存の設定だと、
GEM_HOMEは、ActiveScriptRubyのための環境変数の設定値(当然、こちらはWin 
形式のディレクトリ名)となっており、Cygwinとバッティングする。
また、環境変数APPDATAも、gemから同様な参照をされる。gemは、APPDATAの設定
値(ディレクトリ)からも、gemrcを読もうとしている。
だから、Cygwin上のRuby環境においては、Bashの環境変数:
GEM_HOME, APPDATA両方の設定を、POSIX形式で、行う必要がある;
これらの値の設定を.profileまたは.bashrcにでも書いておけばよかろう。
以下のようにした:
export GEM_HOME="/cygdrive/d/home"
export APPDATA="${GEM_HOME}"

ふー。
もう一度、gemのインストールから・・・(ヽ´ω`)。。。
●nokogiri のインストール
$ gem install nokogiri
Building native extensions. This could take a while...
Successfully installed nokogiri-1.4.4
1 gem installed
/usr/lib/ruby/1.8/rdoc/parsers/parse_c.rb:204: warning: method redefined; discar
ding old progress
Installing ri documentation for nokogiri-1.4.4...
No definition for get_options
No definition for set_options
No definition for parse_memory
No definition for parse_file
No definition for parse_with
Installing RDoc documentation for nokogiri-1.4.4...
No definition for get_options
No definition for set_options
No definition for parse_memory
No definition for parse_file
No definition for parse_with

インストールできたようだ。
次にgistyのgemをインストールする。
●swdyh-gisty のインストール
$ gem sources -a http://gems.github.com/
$ gem install swdyh-gisty
/usr/lib/ruby/site_ruby/1.8/rubygems/dependency.rb:88: warning: instance variable @prerelease not initialized
/usr/lib/ruby/site_ruby/1.8/rubygems/dependency.rb:88: warning: instance variable @prerelease not initialized
Successfully installed swdyh-gisty-0.0.14
1 gem installed
/usr/lib/ruby/1.8/rdoc/parsers/parse_c.rb:204: warning: method redefined; discarding old progress
Installing ri documentation for swdyh-gisty-0.0.14...
Installing RDoc documentation for swdyh-gisty-0.0.14...
/usr/lib/ruby/1.8/rdoc/generators/html_generator.rb:1103: warning: too many arguments for format string
/usr/lib/ruby/1.8/rdoc/generators/html_generator.rb:1103: warning: too many arguments for format string
/usr/lib/ruby/1.8/rdoc/generators/html_generator.rb:1103: warning: too many arguments for format string
/usr/lib/ruby/1.8/rdoc/generators/html_generator.rb:1103: warning: too many arguments for format string
/usr/lib/ruby/1.8/rdoc/generators/html_generator.rb:1103: warning: too many arguments for format string
/usr/lib/ruby/1.8/rdoc/generators/html_generator.rb:1103: warning: too many arguments for format string
/usr/lib/ruby/1.8/rdoc/generators/html_generator.rb:1103: warning: too many arguments for format string
/usr/lib/ruby/1.8/rdoc/generators/html_generator.rb:1103: warning: too many arguments for format string
/usr/lib/ruby/1.8/rdoc/generators/html_generator.rb:1103: warning: too many arguments for format string
/usr/lib/ruby/1.8/rdoc/generators/html_generator.rb:1103: warning: too many arguments for format string
/usr/lib/ruby/1.8/rdoc/generators/html_generator.rb:1103: warning: too many arguments for format string
/usr/lib/ruby/1.8/rdoc/generators/html_generator.rb:1103: warning: too many arguments for format string
/usr/lib/ruby/1.8/rdoc/generators/html_generator.rb:1103: warning: too many arguments for format string
/usr/lib/ruby/1.8/rdoc/generators/html_generator.rb:1103: warning: too many arguments for format string
/usr/lib/ruby/1.8/rdoc/generators/html_generator.rb:1103: warning: too many arguments for format string
/usr/lib/ruby/1.8/rdoc/generators/html_generator.rb:1103: warning: too many arguments for format string

ドキュメント関連のwarningが出るが、インストールできたようだ。
■gistyの設定(GISTY_DIR)
適当なディレクトリを用意しましょう。このディレクトリに、gistyは
GISTY_DIRは、.bashrcに書
いておけばよいでしょう。
export GISTY_DIR="${HOME}/your/directory"

■githubの設定(SSH公開鍵の登録)
ssh-keygenを使って、公開鍵と秘密鍵を生成する。
次に、githubに生成した公開鍵を登録する。登録は、githubにログインして、
 アカウントの設定>アカウントの概要>SSH公開鍵
から行います。
手順の詳細は、
コピペするときに、改行が入らないように気をつけること。改行が入ってしまっ
たら、消してください。
公開鍵を登録し終わったら、ちゃんと登録できたかテスト。テストは以下のよう
な感じで:
$ ssh -T git@github.com
Enter passphrase for key '/home/masa/.ssh/id_rsa':
ERROR: Hi mephistobooks! You've successfully authenticated, but GitHub does not
provide shell access

"successfully authenticated"されれば、オッケイ。
■gitの設定(idとAPIトークン)
APIトークンは、github.com/account の
アカウントの設定>アカウントの概要>アカウントの管理>APIトークン
に表示されます。
下記のコマンドで、githubのidとAPIトークンを設定しましょう。
git config --global github.user your_id
git config --global github.token your_APItoken

■gistyの設定(パスの通ったディレクトリにコピー)
なぜなんだか、gem installしても/usr/bin/に、gistyがコピーされませんでした。
なので仕方なく手で、ディレクトリ:
/cygdrive/${GEM_HOME}/gems/swdyh-gisty-0.0.14/bin から、
cp -i gisty /usr/bin/.
した。
ふー。
■References
・README.rdoc -gisty
https://github.com/swdyh/gisty
・gistコマンドよりちょっと便利なgisty
http://d.hatena.ne.jp/swdyh/20081207/1228655198
・Gistyインストールから利用までの道のりメモ
http://d.zeromemory.info/2009/01/05/install-gisty.html
・Generating SSH keys (Win/msysgit)
http://help.github.com/msysgit-key-setup/
・WindowsでのGit環境構築とその注意点
http://sourceforge.jp/magazine/09/02/12/0530242

2010年11月29日月曜日

Cywin上のRuby環境でgitの環境を整えてみた

これらのサイト

http://sourceforge.jp/magazine/09/02/12/0530242
http://www8.atwiki.jp/git_jp/pub/git-manual-jp/Documentation/gittutorial.html

を参考にした。

もともと、Cygwin環境自体は構築済みなので、Cygwinのsetup.exeで、
  1. git
  2. git-completion
  3. git-gui
  4. git-svn
  5. subversion-perl
  6. lv
の6つパッケージをインストール。ひさびさに更新したら、今回の作業とは関係ないいろんなモノをダウンロードしてしまった。lvは昔インストールした気もするが・・・まぁいいや。
しかし、ちょっと凝ったことしようとすると、Windowsがメインを前提とすると、途端にめんどくささが上がってしまう。。。
漢字コードやらなにやらで。ま、当ブログではマゾヒスティックに、Win環境にも関わっていきます。

2010年10月21日木曜日

GAE: Windows環境でRubyをつかったGoogle App Engine開発環境導入まとめとコマンドヘルプ

■本稿の目的



Googleによる App Engine のチュートリアルは、とてもわかり易く、手順をシンプルに追った記述となっている。これにより、PythonまたはJavaを使ったGAEの開発の最低限の方法について、知ることができる。



しかしながら、このチュートリアルでは、以下のような難点がある:

  • Rubyの環境については触れられていない

  • 開発用のコマンドの詳細の説明については、省かれている

  • 手順を丁寧に追っているため、記述に若干冗長な感がある




加えて、ネット上の情報を見ると、それらのほとんどはLinuxベースの環境であって、Windows+Ruby環境でのGAE開発に触れた情報は少ない(Googleでキーワード「GAE Ruby Windows dev_appserver appcfg」で検索すると、実際のページ総数はたかだか「約 244 件中 3 ページ目 (0.24 秒)」件である)。



そこで、本稿は:

  • Windows環境(ActiveScriptRuby)

  • RubyをつかったGAE開発

  • Googleのチュートリアルより記述を簡潔に

  • ただし開発用コマンドの説明は詳細まで行う

という方針で、App Engineを利用した開発の手始めについてまとめた。


■凡例


本稿の表記
Googleのチュートリアルの表記、または本稿が想定する環境等

GAEアプリ
App Engineアプリケーション
GAE SDK
App Engineソフトウェア開発キット
GAEリモート動作環境
Googleによって提供されているApp Engine (Python|Java|etc...) ランタイム
 環境。
GAEローカル環境
GAEのソースの記述、ローカルWebサーバーでテストなどをおこなうGAEリモー
ト動作環境の外、すなわちあなたのPCなどのこと。
GAEアプリID
GAEアプリのための任意のID
GAE開発用コマンド
 核となるコマンド: dev_server.rb, appcfg.rb をいう。


■Google App Engineとは



App Engineとは:

  • メールサービス

  • Webサーバー・インタフェース
    Webアプリ
    Webアプリ・開発用コンソール http://(localhost:xxxx|appid.appspot.com)/_ah/admin
     (上記Webアプリは、GAEアプリとしての特徴を有する)

  • ストレージ

を有する、Googleによるサービスの総体のことである。


これらのサービスを使って、ユーザによりGAE SDKを使って開発されるものを、本稿では、GAEアプリと呼ぶ。


GAEアプリを開発、実行する環境は、2つあり:
 GAEリモート動作環境、
 GAEローカル環境
とよぶ。
 
 



■RubyのGoogle App Engine環境



本稿では、単にApp Engineを導入するのでなくて、Rubyを用いた環境を導入する
ことを想定している。実際には、Javaの環境をベースに JRubyを介して、Rubyを
利用する形となる(一般的に提供されている、PythonやJavaによる環境ではない
��。


このRubyを利用するための環境は、 gem形式でGoogleが用意してくれている。
 



■GAEアプリ開発の一連の流れを簡潔に述べる



チュートリアルの流れを、簡潔に表にまとめた。





































ステップ用意するもの得られるものやること

1.GAE開発環境の用意

GAE SDKのダウンロード作業

GAEの開発環境

Ruby用のGAE SDKをインストールする。
方法については、

前回の記事

を参照のこと。 

2.GAEアプリのアカウントを登録

Googleアカウント、
GAEアプリID、
SMSを受信できる携帯電話

GAEアプリのURL(http://GAEアプリID.appspot.com/)

GAEアプリのアカウント登録サイトで、必要とされる情報を入力する※。


3.GAEローカル環境でのGAEアプリの開発

ソースコード

GAEアプリ

GAEアプリのソースコードを記述する。

4.GAEリモート動作環境へのアップロード

GAEアプリ、
アップロード・コマンドの実行(appcfg.rb)、
GoogleアカウントのIDとパスワード

GAEリモート動作環境でのGAEアプリの起動

アップロード・コマンドを実行し、GAEリモート動作環境にアップロードする。




※ステップ2の注意



SMSの登録内容について。電話番号の表記の仕方(81を含むのかそうでないか)、メ
ールアドレスかイマイチ判然としない。何度か試しているうちに、Googleか
らSMSが来たため、どれが正しいかわからなかった。



このサイト

でも、同様の事例をまとめているようだ。


Googleから送信されるSMSには、"Google App Engine Code: xxxxxxx"(xは数
字)という内容で、これがGoogleの GAEアカウント認証サイトによって認証
される必要がある。(当方は、ドコモの携帯電話で2010年 9月に行った。)
 
 
 
 




■GAE開発用コマンドについて



GAE SDKのをインストールすると、チュートリアルに紹介されているコマンド:
dev_appserver.rb, appcfg.rb が、ディレクトリ: %RUBY_HOME%\bin\ などに、
格納される(実際には、BATファイルからなる複数のスクリプトから構成されるが、本稿で
はここのスクリプトについての説明は割愛する)。



◆概要



●dev_appserver.rb



開発用のローカルWebサーバー兼GAEローカル環境でのGAEアプリのランチャ。
使い方:
 dev_appserver.rb [オプション] <warディレクトリ>



「warディレクトリ」にあるGAEアプリを、ローカル環境で起動する。


このローカルWebサーバーは、Googleアカウントをシミュレートしていて、独自
のログイン、ログアウト画面を有する。



●appcfg.rb



GAEアプリの管理コマンド


使い方:
 D:/PROGRA~1/ruby-1.8/bin/appcfg.rb [options] <action> <app-dir> [<output-file>]




管理とは、以下のことを指す:

  • ランタイム環境へのGAEアプリのアップロード
  • index.yamlの更新・削除
  • スケジュール・タスクの管理
  • スケジュール・タスクの管理

  • ランタイム環境へのデータのアップロード

http://code.google.com/intl/ja/appengine/docs/python/tools/uploadinganapp.html




◆GAE開発用コマンドの詳細説明




●dev_appserver.rb



開発用のローカルWebサーバー兼GAEローカル環境でのGAEアプリのランチャ。



使い方:



  <dev-appserver> [options] <war directory>

※--help オプション時も、<war directory>指定が必要



オプション:



--help, -h
 このヘルプメッセージを表示して終了。

--server=SERVER
 -s SERVER
  最新のSDKバージョンを判別に使用するサーバの指定。

--address=ADDRESS
 -a ADDRESS
  WebサーバーがバインドするローカルPC上のインタフェースのアドレスの指
  定(もしくは、0.0.0.0 で全てのインタフェース)。

--port=PORT
 -p PORT
  WebサーバーがバインドするローカルPC上のポート番号の指定。

--sdk_root=root
 格納されているSDKでオーバーライドする場合のSDK格納ディレクトリの指定。

--disable_update_check
  最新のSDKバージョンのチェックを無効に指定。




例:




D:\Program Files\ruby-1.8\usr\local\sinatra_test>dev_appserver.rb --help .
D:/Program Files/ruby-1.8/lib/ruby/gems/1.8/gems/appengine-tools-0.0.15/lib/appengine-tools/boot.rb:50: warning: `*' interpreted as argument prefix
=> Skipping update check
=> Booting DevAppServer
=> Press Ctrl-C to shutdown server
Usage: <dev-appserver> [options] <war directory>

Options:
--help, -h                 Show this help message and exit.
--server=SERVER            The server to use to determine the latest
-s SERVER                   SDK version.
--address=ADDRESS          The address of the interface on the local machine
-a ADDRESS                  to bind to (or 0.0.0.0 for all interfaces).
--port=PORT                The port number to bind to on the local machine.
-p PORT
--sdk_root=root            Overrides where the SDK is located.
--disable_update_check     Disable the check for newer SDK versions.




●appcfg.rb



GAEアプリの管理コマンド。



使い方:



 D:/PROGRA~1/ruby-1.8/bin/appcfg.rb [options] <action> <app-dir> [<output-file>]




アクション:



<action>は、以下のうちいずれか 1つである必要がある:


 help
  あるアクションのヘルプを出力する
 request_logs
  リクエスト・ログをApache共通ログ形式で出力する。
 rollback
  処理中の更新をロールバックする。
 update
  新しいバージョンのGAEアプリに更新、あるいは新規作成する。
 update_indexes
  GAEアプリのインデックス(注)を更新する。
 update_cron
  GAEアプリのcronジョブを更新する。
 update_queues
  GAEアプリのタスク・キューの定義を更新する。
 update_dos
  GAEアプリの対DoS保護の環境設定を更新する。
 version
  バージョン情報を出力する。
 cron_info
  cronジョブの次回の実行までの時間を表示する。
 run
  ユーザーのGAEアプリ環境でjrubyを実行する。
 bundle
  GAEリモート環境へのデプロイのために、ローカルのGAEアプリをパッケージングする。




'run' コマンドは、カレント・ディレクトリをGAEアプリのディレクトリと、みなします。
'help <action>' で、詳細の説明を見てください。



オプション:



-h, --help            ヘルプを表示して終了。
-s SERVER, --server=SERVER
接続を行うサーバー。
-e EMAIL, --email=EMAIL
利用するユーザ名。省略時は入力待ちに。
-H HOST, --host=HOST  全てのRPCで送られるホストヘッダの上書き。
-p PROXYHOST[:PORT], --proxy=PROXYHOST[:PORT]
指定したプロクシ・サーバを介してリクエストをプロ
する。
--proxy_httpsも指定した場合、HTTPだけがプロクシ
され、そうでなければHTTPとHTTPSの両方がなされる。
--proxy_https=PROXYHOST[:PORT]
HTTPSリクエストをプロクシするプロクシ・サーバ。
--sdk_root=root       GAE SDKの格納場所を上書きする。
--passin              標準入力からログイン・パスワードを読む。
--insecure            管理コンソールとの通信ではHTTPSを使用しない。
--enable_jar_splitting
巨大なjarファイル(> 10M)を小さなファイルに分割する。
Split large jar files (> 10M) into smaller fragments.
--jar_splitting_excludes=SUFFIXES
--enable-jar-splitting が指定された場合、コンマ
区切りでSUFFIXESに指定された拡張子にマッチするファイルは、全ての
jarファイルにおいて、分割から除外される。
When --enable-jar-splitting is set, files that match
the list of comma separated SUFFIXES will be excluded
from all jars.
--retain_upload_dir
GAEリモート環境へのアップロード時に使用した一時ディレクトリを残す。
Do not delete temporary directory used in uploading.
--compile_encoding
JSPをコンパイルするときに使用する文字エンコーディングの指定
The character encoding to use when compiling JSPs.
-n NUM_DAYS, --num_days=NUM_DAYS
ログデータを入手する日数の指定。カットオフ・ポイントは、UTCで12時
である。できるだけ全てのログを得る場合は 0 を指定する。デフォルト
値は 1 である。
Number of days worth of log data to get. The cut-off
point is midnight UTC. Use 0 to get all available
logs. Default is 1.
--severity=SEVERITY ? アプリレベルログメッセージのシビア度の指定。範囲は 0
(DEBUG) から 4 (CRITICAL)である。
Severity of app-level log messages to get. The range
is 0 (DEBUG) through 4 (CRITICAL). If omitted, only
request logs are returned.
-a, --append          既存のファイルに追記する。
-n NUM_RUNS, --num_runs=NUM_RUNS
スケジュールされた計算するための実行時間の数
Number of scheduled execution times to compute




例:



D:\Program Files\ruby-1.8\usr\local\sinatra_test>appcfg.rb --help
D:/Program Files/ruby-1.8/lib/ruby/gems/1.8/gems/appengine-tools-0.0.15/lib/appe
ngine-tools/appcfg.rb:51: warning: `*' interpreted as argument prefix
D:/Program Files/ruby-1.8/lib/ruby/gems/1.8/gems/appengine-tools-0.0.15/lib/appe
ngine-tools/boot.rb:50: warning: `*' interpreted as argument prefix

usage: D:/PROGRA~1/ruby-1.8/bin/appcfg.rb [options] <action> <app-dir> [<output-
file>]

Action must be one of:
help: Print help for a specific action.
request_logs: Write request logs in Apache common log format.
rollback: Rollback an in-progress update.
update: Create or update an app version.
update_indexes: Update application indexes.
update_cron: Update application cron jobs.
update_queues: Update application task queue definitions.
update_dos: Update application DoS protection configuration.
version: Prints version information.
cron_info: Displays times for the next several runs of each cron job.
run: run jruby in your application environment.
bundle: package your application for deployment.
The 'run' command assumes the app directory is the current directory.
Use 'help <action>' for a detailed description.

options:
-h, --help ? ? ? ? ? ?Show the help message and exit.
-s SERVER, --server=SERVER
? ? ? ? ? ? ? ? ? ? ? The server to connect to.
-e EMAIL, --email=EMAIL
? ? ? ? ? ? ? ? ? ? ? The username to use. Will prompt if omitted.
-H HOST, --host=HOST ?Overrides the Host header sent with all RPCs.
-p PROXYHOST[:PORT], --proxy=PROXYHOST[:PORT]
? ? ? ? ? ? ? ? ? ? ? Proxies requests through the given proxy server.
? ? ? ? ? ? ? ? ? ? ? If --proxy_https is also set, only HTTP will be
? ? ? ? ? ? ? ? ? ? ? proxied here, otherwise both HTTP and HTTPS will.
--proxy_https=PROXYHOST[:PORT]
? ? ? ? ? ? ? ? ? ? ? Proxies HTTPS requests through the given proxy server.
--sdk_root=root ? ? ? Overrides where the SDK is located.
--passin ? ? ? ? ? ? ?Always read the login password from stdin.
--insecure ? ? ? ? ? ?Do not use HTTPS to communicate with the Admin Console.
--enable_jar_splitting
? ? ? ? ? ? ? ? ? ? ? Split large jar files (> 10M) into smaller fragments.
--jar_splitting_excludes=SUFFIXES
? ? ? ? ? ? ? ? ? ? ? When --enable-jar-splitting is set, files that match
? ? ? ? ? ? ? ? ? ? ? the list of comma separated SUFFIXES will be excluded
? ? ? ? ? ? ? ? ? ? ? from all jars.
--retain_upload_dir
? ? ? ? ? ? ? ? ? ? ? Do not delete temporary directory used in uploading.
--compile_encoding
? ? ? ? ? ? ? ? ? ? ? The character encoding to use when compiling JSPs.
-n NUM_DAYS, --num_days=NUM_DAYS
? ? ? ? ? ? ? ? ? ? ? Number of days worth of log data to get. The cut-off
? ? ? ? ? ? ? ? ? ? ? point is midnight UTC. Use 0 to get all available
? ? ? ? ? ? ? ? ? ? ? logs. Default is 1.
--severity=SEVERITY ? Severity of app-level log messages to get. The range
? ? ? ? ? ? ? ? ? ? ? is 0 (DEBUG) through 4 (CRITICAL). If omitted, only
? ? ? ? ? ? ? ? ? ? ? request logs are returned.
-a, --append ? ? ? ? ?Append to existing file.
-n NUM_RUNS, --num_runs=NUM_RUNS
? ? ? ? ? ? ? ? ? ? ? Number of scheduled execution times to compute




■TODO




  • gem について

  • App Engine の設定項目について

  • GAE Ruby で使用されているRuby FWについて