お薦め ページ


メニュー

ハワイ島 遊覧飛行ツアー

ハワイ島 B&B・ホテル

ハワイ島 不動産情報

ハワイ島 情報・観光ガイド

ブログ(Blog)

その他

関連サイト

: 日付別 アーカイブ :

2006年10月

2006年10月31日

Movable Typeのコメントやトラックバックを一気に消す方法

Movable Type ネタが続いたので、ついでにもうひとつ。 Movable Type で ブログ・サイトを運用していると、 スパム対策を施していても コメント や トラックバック が スパムだらけになってしまったりすることがある。

こんな時、不要な コメント や トラックバック を一括で消したいところ。 このような場合の簡単な方法は、 Movable Typeのそれぞれの管理画面の 画面下方のプルダウン・メニューから 「すべてのコメント(all comments)」とか「すべてのトラックバック(all pings)」を 選択すると、それこそ 「すべて」を表示してくれるので あとは「すべてチェックする」ボタンをクリックして、チェック・マークをいれてから 「削除」ボタンのクリックで一括削除が可能となる。

ところが、スパムの数があまりにも多すぎると 「すべてのコメント(all comments)」とか「すべてのトラックバック(all pings)」を 指定しても 画面が表示されるのに 時間がかかりすぎたり、 エラーで落ちたりすることがある。 もちろん件数を指定して表示させれば問題ないのだが 選べる件数の選択肢の最大値が「125件」なので、 スパムが何千件もあったりすると、 125件ずつ表示させて削除を行うとしても その作業を何十回も行わなければならなくなる。

この問題に対するひとつの解決方法として、表示件数を 例えば、500件 とか 1000件 とか 任意の件数にする方法を見つけた。 その方法はいたって簡単なので コメントの管理画面を例を挙げて説明してみる。

まず、コメントの管理画面の画面下方のプルダウン・メニューから、 「5個のコメント」を選択する。 すると、5個のコメントが表示された画面に再表示されるはず。 その際、ブラウザーのアドレス部分が
http://.../mt.cgi?__mode=list_comments&blog_id=1&limit=5
となる。 ここで、最後の「limit=5」という引数が 一画面に表示されるコメントの件数になっているようだ。 ということは、これを変更すれば、任意の件数を表示できるようになる。 例えば、1000件ずつ表示させたければ
http://.../mt.cgi?__mode=list_comments&blog_id=1&limit=1000
とすればよい。 また Movable Typeは おりこうさんで、 このような操作をすると、 画面下方にある次のページに移るボタンも 「次の1000」、英語版なら「Next 1000」のように 表示されるようになっている。

この様にして コメント や トラックバック を 自分の都合のよい 件数ずつ表示させて 不要なスパムを削除する作業を効率化することができる。

カテゴリー: Movable Type     22:37 | コメント (0) | トラックバック (0)

2006年10月30日

「Movable Type のログの確認」が「500 Internal Server Error」で表示できない場合の解決方法

前回のブログで、「Movable Type のログの確認(View Activity Log)」ページが 「500 Internal Server Error」で表示できないところまで 書いたので、今回はその後の試行錯誤の上、 辿り着いた解決策について。

今の段階での問題点は、「ログの消去」ボタンをクリックしたいのだが そのボタンがきちんと表示されないのが問題。 ということは、結局のはなし、「ログの消去」ボタンをクリックした場合に 行われる処理が直接実行できないか、という考えに辿り着いた。

このブログのサーバーには test 用の Movable Type もインストールしてあったので、 まずはそこで 「Movable Type のログの確認(View Activity Log)」ページを表示させてみた。 こちらは問題なく表示され、 画面下に「ログの消去」というボタンが表示された。 表示されたページのHTMLのソースを解析してみると、そのボタンは
<form><input type="button" onclick="window.location='/blog/test/mt/mt.cgi?__mode=reset_log'" value="ログの消去"></form>
のように定義されている。 ということは、ログを消去するためには cgiへの引数 __mode を「reset_log」として 実行してしまえばよいのではないか、ということになる。

ということで 「500 Internal Server Error」の問題が起きている ページに戻って ブラウザーのアドレス欄が
mt.cgi?__mode=view_log
となっているところを
mt.cgi?__mode=reset_log
としてからリターンキーを押してみた。 しばらくすると、処理が正常に終了したらしく 今までエラーで表示されなかったログの画面が 件数0件で正常に表示された。

確認のため、サーバー内の /mt/db 下のファイルを直接見てみると、 確かに log.created_on.idx と log.db の容量が 小さくなっている。 その後、いろいろテストしてみたが Movable Type 自身の動作も問題ないようであった。 これで、 大きくなりすぎて 表示できなくなってしまっていた Movable Type のログを安全にクリアすることができた。 今後は、このようなことにならないように、 こまめに ログを消去することにしよう。

カテゴリー: Movable Type     22:43 | コメント (0) | トラックバック (0)

2006年10月29日

「Movable Type のログの確認」が「500 Internal Server Error」で表示できない

前回のブログからの続きで、 「Movable Type のログの確認(View Activity Log)」ページを開こうとしても 表示されないことについて。

Movable Type の管理画面のトップページにある「Movable Type のログの確認(View Activity Log)」をクリックしても
500 Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, Webmaster and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
というエラーが表示されて、実際のログが 表示されない。 どうもログがある程度以上 大きくなると ログの確認ページを 正常に表示できなくなってしまうようだ。

ここでの 目的は ほとんどが コメント・スパム や トラックバック・スパム の記録となっている しょうもないログを消去してしまうことだ。 しかしながら それを行うための「ログの消去」ボタンは この「Movable Type のログの確認(View Activity Log)」のページにしかないようなのだが、 そのページが きちんと表示されないとなると どうやって ログを消去したらよいのか。

昨日のブログでも書いたとおり、 「Berkeley DB」 を利用している場合の解決方法として、 ただ単に、 /mt/db 下のファイル log.created_on.idx と log.db を消してしまっても 構わないのかもしれないが、 私は Movable Type の内部の処理については 全く知らないので、 他の動作に影響がないともいえない。 さて、どうしようかな? といったところ。

そんなことを考えている間にも コメント や トラックバックの スパムが どんどん攻撃して来ているらしく、 log.db の容量が どんどん大きくなってきている。 早急に対策をとらなければならないようだ。

カテゴリー: Movable Type     22:11 | コメント (0) | トラックバック (0)

2006年10月28日

Movable Type ブログサイトのディスク容量圧迫の原因

どうも最近、このブログを運用しているサーバーのディスク容量が どんどん圧迫されてゆくので しばらく前からその原因を探っていた。

コメント・スパム や トラックバック・スパム に対しては 既に カテゴリー 「MTスパム」で 紹介した方法で対策をとっている。 そのため、スパムによって ディスク容量が食われて行く、という認識がなかった。

ところが、いろいろ調査してみると、 コメント・スパム も トラックバック・スパム も 対策プラグインによって しっかりと 弾かれているのだが、 その結果が Movable Type のログに記録されてしまい それが膨大な量となっているようであった。

このブログの場合、データベースとして デフォルトの 「Berkeley DB」 を利用しているのだが、 /mt/db 下のファイルを 見てみると、
-rw-rw-rw-  1 nobody  nobody   22855680 Oct 21 21:25 log.created_on.idx
-rw-rw-rw-  1 nobody  nobody          0 Apr  8  2005 log.created_on.idx.lock
-rw-rw-rw-  1 nobody  nobody  484130816 Oct 21 21:25 log.db
-rw-rw-rw-  1 nobody  nobody          0 Apr  8  2005 log.db.lock
このように 「log」という名称で始まるファイルが4つが見つかった。 おそらく、これらが Movable Type のログ関連のファイルと推測される。 これを見ると 貴重な サーバー上でのディスク・スペースが 500MB も占領されていたことになる。

原因がわかったところで、それでは早速、Movable Type のログの消去を行おうと、 管理画面のトップページにある「Movable Type のログの確認(View Activity Log)」をクリックしてみる。 ところが エラーが起こってページが表示されない。 さて、どうしたものか?

この続きは、次回のブログで。

カテゴリー: Movable Type     22:47 | コメント (0) | トラックバック (0)

2006年10月27日

略語(Abbreviation)

私が個人的にEメールやインターネットなどで 良く見かける アルファベット3文字の略語(Abbreviation) を挙げてみた。

  • TBA
    「to be announced」または「to be advised」ということで「追って通知する」とか「未定・未発表」といか言う意味。
  • TBD
    「to be discussed」または「to be determined」ということで「将来決定する、未定、未使用」というような意味。
  • FYI
    「for your information」ということで「ご参考までに(申し添えておきますが)、ちなみに、後学のため」というような意味。
  • FAQ
    「frequently asked questions」ということで「よくある質問、おきまりの質問」というような意味。 これは、発音に注意! 素直に「エフ・エイ・キュー」と読んでおいた方が無難かも。


【参考リンク】

カテゴリー: 英語     22:02 | コメント (0) | トラックバック (0)

2006年10月26日

ノーマン・V・ピール「どうすれば最高の生き方ができるか」

この文庫本は ノーマン・V・ピール(Norman Vincent Peale) 牧師の著作 「Power of the Plus Factor」を 謝 世輝 (しゃ せいき)氏が翻訳したものである。

この本の著者 ノーマン・V・ピール(Norman Vincent Peale) 牧師も また 以前のブログ、 「ナポレオン・ヒル・ゴールドメダリスト」 で、紹介したナポレオン・ヒル・ゴールドメダリスト の一人であり、 アメリカのニューソート(New thought 新思考)哲学の権威でもある。

この本には 初めから「プラス・ファクター」という言葉が多用されており、 第1章から いろいろ説明している。 その定義を要約すると、
この地球上の生き物には、生命の源というべき「生命力」というものがある。 自分の生命力を正しく理解し、それを最大限引き出して自分の生活に 役立てようとするとき、思いがけない力を発揮するものなのである。 私はこれを プラス・ファクター とよんでいる。
といったところ。 だから、生きている人には 誰にでも備わっているものなのだ。 ところがこれには注意点がある。
プラス・ファクター は 放っておいても自然に働き出すという代物ではない。 誰かが意識して動かしてやらなければ、 いつまでも眠ったままなのだ。
そして、眠ったままの プラス・ファクター を 呼び起こすのは自分自身しかいない と述べている。

また 「どうすれば最高の生き方ができるか」 の最終章の234ページに 「人生の根本姿勢 10項目」というのがまとめられているので そこを引用させていただくと
  1. 前向きに考える
  2. 根気強く頑張る
  3. 自信を持つ
  4. 前向きな想像をする
  5. 祈る
  6. 自分を肯定的に見る
  7. 信じる
  8. 愛する
  9. 努力する
  10. 神を信じる
となっている。

ノーマン・V・ピール氏も ニューヨーク・マーブル共同教会の牧師なので この 10項目の中には 「祈る」とか「神を信じる」という項目が挙げられている。 今まで、アムウェイ創業者の リチャード(リッチ)・デヴォス 氏 や ロバート シュラー博士 を取り上げたが、 彼らも、敬虔なクリスチャンであったり、牧師であったりである。 このようにアメリカにおける 成功者の中には 敬虔なクリスチャンが多いことは間違いない。

【参考リンク】

カテゴリー: ナポレオン・ヒル     22:39 | コメント (0) | トラックバック (0)

2006年10月25日

USB 2.0 と IEEE 1394 は どちらが速いのか

最近の 外付けHDD 等には、「USB 2.0」や「IEEE 1394」という インターフェースが利用されていることが多いが、 果たして どちらの転送速度が速いのか?

「USB 2.0」 も 「IEEE 1394」も 最近の PC に よく装備されているシリアル系の外部インターフェースである。

「USB 2.0」とは、従来の 、USB 1.1 のバージョンアップ版の規格。 USB 1.1 が最高でも 12Mbps であったのに対し、 USB 2.0 では、 480Mbps まで対応している。

一方、「IEEE 1394」は 次世代の高速なSCSI規格として制定され、 転送速度としては 100Mbps、200Mbps、400Mbps が規格化されている。 また「FireWire」や「i.Link」と呼ばれているものも この IEEE 1394 のことである。

ここでこれらの規格のスピードをまとめてみると、
  • USB1.1 : 12Mbit/秒 (1.5MB/秒)
  • USB2.0 : 480Mbit/秒 (60MB/秒)
  • IEEE1394 : 400Mbit/秒 (50MB/秒)
となる。 この結果からすると、規格上では USB 2.0 が最も高速なインターフェースと言えることになる。

では、実際に USB 2.0 と IEEE 1394 とを 比較してみるとどうなるのか?

ASCII24 の 製品評価記事で、 ちょうど USB 2.0 と IEEE 1394 とを比較しているものがみつかった。 「高速な転送速度と使いやすいバックアップ機能Seagate純正の外付けHDD「160GB External Drive 1394/USB」」 がそれだ。 この記事のベンチマークでは、1394 の方が USB2.0 に比較して 若干速い という結果が出ている。

また、ちょっと古い記事ではあるが、 MYCOMジャーナルの 「期待のハイスピードUSB対応機器の実力を探る(2001/7/6)」 という記事も参考になる。 まだ、USB2.0 が出始めのころの記事であるはが、 この記事のベンチマークでも、IEEE1394 の方が USB2.0 に比較して 若干速い という結果が出ている。

【参考リンク】

カテゴリー: Device     22:18 | コメント (0) | トラックバック (0)

2006年10月24日

この方法で、みんなお金持ちになった、人生の成功者となった! — シュラー博士の7つのプログラミング

この本の著者 ロバート シュラー (Robert H. Schuller) 博士も また 以前のブログ、 「ナポレオン・ヒル・ゴールドメダリスト」 で、紹介したナポレオン・ヒル・ゴールドメダリスト の一人である。

ロバート シュラー (Robert H. Schuller) 博士は 1927年アイオワ州の生まれの牧師。 信念の力によって人生の成功を確実に手に入れる思考法 —“ニューソート”(新しい人生の考え方)の第一人者として著名である。 主宰するテレビ番組「アワー・オブ・パワー」は人々に深い感銘をあたえ、 全米で圧倒的な人気を得ている。 またアメリカで記録的ベストセラーになるほど多くの名著を生み出し、 “可能性の支配者”として世界中の尊敬と支持を得ている。

この 「この方法で、みんなお金持ちになった、人生の成功者となった!—シュラー博士の7つのプログラミング」 の 原書は「IF IT'S GOING TO BE, IT'S UP TO ME」。 本書の主な目次は次のとおり。
  • 1章 「跳ぶ」前に、まず確認! — 「第一歩」をうまく踏み出せば、半ばは成功!
  • 2章 最優先事項を“特別扱い”にしろ! — 目標をしぼれば、集中力は2倍になる!
  • 3章 この「計画」なら成功率100% — 「潜在意識」の魔力をフルに使え!
  • 4章 ことばの力を「行動エネルギー」に換える — この無尽の“推進力”の前にカベはない!
  • 5章 成功を手に入れるためなら、こんな“代価”は安すぎる! — 「心・時間・お金」の最も効果的な投資法
  • 6章 チャンスを確実に“ものにする”法 — “臨戦態勢”をつくって待て!
  • 7章 最後の「踏んばりどころ」を越える — もうひと回り大きな、強い自分になる!
本書の237ページでは 先日のブログ 「不屈の楽天主義 — 幸せを築く10カ条の黄金律 」 でも紹介した アムウェイ社の創設者 リチャード M デヴォス (Richard M. DeVos) 氏 の言葉が引用されている。
わが友 リチャード・デボスは いみじくも語っている。 「逆境に陥るのは、自分が原因である場合もあるし、そうでない場合もある。 しかし、そこから立ち直れないのは、すべて自分の責任である」
ここを読むと、デボス氏 と シュラー博士 が 友人同士であることがよくわかる。

【参考リンク】

カテゴリー: ナポレオン・ヒル     22:44 | コメント (0) | トラックバック (0)

2006年10月23日

die

昨日のブログで「染料」の意味の「dye」という単語と 同じ発音で「死ぬ」の意味の「die」について書いたが、 この「die」という言葉は実は他にも意味がある。

この「die」という単語の名詞形には大きく2つ意味があり 1つは「サイコロ」という意味。で もう1つが 「鋳型・金型」という意味。 さらに、「鋳型・金型」という意味に加えて、「雄ねじを切る道具」という意味がある。

通常「サイコロ」という意味を表す場合は「die」の複数形「dice」が用いられるようだ。 日本語でサイコロのことを「ダイス」と呼ぶことがあるのは ここから来ているのであろう。

そして、以前のブログ「 スクリュー・エクストラクター をどうやってまわすのか? 」とかでも言っているとおり、 機械工作でネジ山を切る道具のことを「タップとダイス」とか言うが その「ダイス」が この単語「die」の複数形「dies」から来ている。

ここでの注意点は、同じ「die」という単語の複数形でありながら、 サイコロの場合は「dice」、機械工作のタップとダイスの「ダイス」の場合は「dies」というように スペルが異なっている。 ここが また ややこしい。

【参考リンク】

カテゴリー: 英語     22:31 | コメント (0) | トラックバック (0)

2006年10月22日

dye

この英単語、意味は「染料」のこと。 以前、カーエアコンについて調査していたことがあるが、そこでよく出てきた単語。

カーエアコンの ガス漏れ個所を特定するために フロン・ガスに 染料を混ぜた製品があるが、 その際、この「dye」と言う単語に遭遇する。

ちなみに この「dye」という単語、「死ぬ」の意味の「die」と全く同じ発音。

それからこの「dye」を 動詞として「染める」という意味で使う際には、 過去形・過去分詞形が「dyed」、現在分詞形が「dyeing」。 一方、「死ぬ」の意味の「die」の 過去形・過去分詞形が「died」、現在分詞形が「dying」。 これまたややこしくて間違いやすい。

【参考リンク】

カテゴリー: 英語     22:36 | コメント (0) | トラックバック (0)

2006年10月21日

ワコム(Wacom)

前回のブログでタブレットについて調査してみたが、 するとどうしてもこの「ワコム(Wacom)」という会社に行き当たってしまう。 もうすこし、この 「ワコム(Wacom)」について調査してみよう。

まず、 ウィキペディアの「ワコム」 のページを見てみると、そこに
2005年現在ペンタブレット業界では世界シェアの約70%を占める圧倒的なNo.1企業である。
とある。 ある製品で世界シェアの約70%を占める、ということは驚異的なことである。

ワコム(Wacom) の タブレットとしての製品ラインナップは、
  • Intuos3(インテュオス3
  • FAVO(ファーボ)
  • BizTablet
の3種類。 これに、液晶ペンタブレットのシリーズが加わっている。

主力は「Intuos3(インテュオス3)」。 プロの デザイナーやアーティスト向けの製品群だ。 日本語に関しては、わざわざ 「intuos.jp」という 専用のサイトになっているほど。 サイズも いろいろあり、A6サイズからA3サイズまで。 最近は ディスプレーの横長化に伴い、タブレットにも 横長バージョンが用意されているようだ。 価格はA5サイズのもので 25,000円くらい。

エントリーモデルとしては 日本国内で「FAVO(ファーボ)」と呼ばれているシリーズが、 アメリカでは「graphire」というブランドになっているようだ。 価格は付属のソフトウェアのオプションにもよるが A5サイズのもので1万円チョット。

実際にワコム社製のタブレットを使ってみる機会があったのだが、 タブレットを使うとマウスでの操作では絶対にできないようなことが可能となる。 お仕事や趣味が コンピュータ・グラフィックのような デザイン系の方は 一度 タブレットの導入を考えてみる価値はあると思う。

【参考リンク】

カテゴリー: Device     22:11 | コメント (0) | トラックバック (0)

2006年10月20日

タブレット(tablet)

個人的に「タブレット(tablet)」について調査する必要があったので少し調べてみた。 ここでいう「タブレット(tablet)」とは、決して「錠剤」のことではなくて、 コンピュータのポインティングデバイスのこと。

まず、タブレットの定義を明確にしておこう。 例によって、IT関連の用語に関しては、 e-Words の「タブレット」 のページを見てみると、
入力装置の一つ。 画面上の位置を指示するためのペン型の装置と、 位置を検出するための板状の装置を組み合わせた構造になっている。 精度が高く大型のものは「デジタイザ」と呼ばれ、主に業務用途に利用される。 マウスによる位置指定が現在のマウスカーソルの位置からの相対指定であるのに対し、 タブレットでは画面に対応する板の上で絶対位置を指定するため、細かい作業に向いている。 CADによる図面入力や、イラストや絵画を描くのに使われる。
と、説明されている。

そういえば、もう20年も昔に、 自分が作った業務ソフトのロゴをコンピュータに入力するのに 「デジタイザ」を使った覚えがある。 当時は、NECのPC-9801シリーズに RS232Cシリアルポート経由だった。

一方、 ウィキペディアの「タブレット」の説明では、
タブレットとは、コンピュータに於けるポインティングデバイスの一種。 板状のボードにX軸、Y軸方向にセンサーとなる線を埋め込んだ板と、 コイル状の線を埋め込んだマウスからなる。 電磁誘導にて、X軸、Y軸の位置をコンピュータに入力する。 大きさは、主にB0サイズなど、大型のものから、A3サイズ辺りの小型の物まである。 大型の物は主にワークステーションで使用され、小型の物はパソコンで使用される事が多い。 現在は、建築の設計、航空写真からの地図作製のための地形の読み取りなど専門分野で用いられている。 派生品にペンタブレットがある。
となっている。 もっと詳しい説明は、ウィキペディアの「ペンタブレット」の項にあるが、このページは長いので、引用は避ける。

ここでの説明によるとタブレットの代表的なメーカーは ワコム(Wacom)。 そういえば、20年前に使った「デジタイザ」もワコム製だった。 【参考リンク】

カテゴリー: Device     22:12 | コメント (0) | トラックバック (0)

2006年10月19日

不屈の楽天主義 — 幸せを築く10カ条の黄金律

この本は リチャード M デヴォス (Richard M. DeVos) 氏の著作であるが、 彼は アムウェイ・コーポレーションの創業者である。

以前のブログ、 「ナポレオン・ヒル・ゴールドメダリスト」 で、ナポレオン・ヒル財団によるゴールドメダリストをご紹介したが、 この本の著者 リッチ・デヴォス(Rich DeVos)氏も ナポレオン・ヒル・ゴールドメダリスト の一人である。

1959年、友人のヴァンアンデルと共同でアムウェイ社を設立した。 ご存知のとおり、アムウェイ社はネットワーク・ビジネスの世界で成功した 大変有名な企業である。 そのアムウェイ社の創業者である リッチ・デヴォス(Rich DeVos)氏 が 七十余年にわたる人生経験から習得した教訓を、 実践的な「知恵の書」としてまとめたものが この本である。

この 「不屈の楽天主義—幸せを築く10カ条の黄金律」の 目次は以下のとおり
  1. 希望
  2. 不屈の精神
  3. 自信
  4. 楽観主義
  5. 尊敬
  6. 責任
  7. 家族
  8. 自由
  9. 信仰
  10. 恵み
この目次からも推測できるとおり デヴォス氏は敬虔なクリスチャンであり、信仰をたいへん重んじている。

この本で デヴォス氏が最も訴えたかったことを 「結びのことば」から 引用させていただくと
失敗の恐怖は、成功しようとする気持ちを妨げる。

失うことの恐怖は、勝ち取ろうとする気持ちを妨げる。

他の人たちはみなどう思うであろうかという恐怖は、大胆に一歩を踏み出す気持ちを妨げる。

ばかにされることの恐怖は、イエス・キリストを信じる信仰を告白する気持ちを妨げる。

何にもまして、恐怖は希望の息の根を止める。

リチャード・M・デヴォス
というように デヴォス氏は 恐怖を恐れない「不屈の精神」を訴えている。

【参考リンク】

カテゴリー: ナポレオン・ヒル     22:22 | コメント (0) | トラックバック (0)

2006年10月18日

DeleteFolderメソッド問題の解決策(5)仮説実証編

DeleteFolderメソッド問題の記事が続いているが、 さらに最後にもうひとつ。

前々回のブログ 「DeleteFolderメソッド問題の解決策(3) 仮説崩壊」 において、自分が立てた新たな仮説 「GetFolderメソッドによって抽出されたフォルダ名のインスタンスは、 DeleteFolderメソッドにより、そのフォルダが削除されるのと同時に削除される」が 正しいかどうか確認するスクリプトを書いてみた。
//
//  フォルダ削除実験スクリプト5 WSH(JScript)
//
// FileSystemObject オブジェクトの作成
var FSO = WScript.CreateObject("Scripting.FileSystemObject");

// GetFolderメソッドからフォルダ名を抽出
//   実際は、きちんとリストしないといけませんが
//   ここでは省略して最初に見つかったひとつのサブフォルダだけを扱います。
folderNameEnu = new Enumerator( FSO.GetFolder(".").SubFolders );
var DelFolderName = new String( folderNameEnu.item() );

// 削除前にフォルダ名の表示
WScript.Echo( "削除前の DelFolderName は " + DelFolderName + " です。");
WScript.Echo( "削除前の folderNameEnu.item() は " + folderNameEnu.item() + " です。");

// フォルダの削除
FSO.DeleteFolder(DelFolderName, true);

// 結果の表示
WScript.Echo( "削除後の DelFolderName は " + DelFolderName + " です。");
WScript.Echo( "削除後の folderNameEnu.item() は " + folderNameEnu.item() + " です。");
ご注意:このスクリプトを実行すると、カレント・フォルダの下にあるサブフォルダをひとつ、 実際に削除してしまいますので、お取り扱いには十分にご注意ください。

内容は単に、DeleteFolderを呼ぶ前後で、 folderNameEnu.item() の値を直接表示させて その内容を確認しているだけのことである。 これを結果がわかりやすいように コマンド・プロンプトから cscript で実行してみると
C:\WSH>dir /w
 Volume in drive C is WD2500
 Volume Serial Number is D486-2A1E

 Directory of C:\WSH

[.]         [..]        delete.js   [test]
               1 File(s)            860 bytes
               3 Dir(s)  123,581,857,792 bytes free

C:\WSH>cscript delete.js
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

削除前の DelFolderName は C:\WSH\test です。
削除前の folderNameEnu.item() は C:\WSH\test です。
削除後の DelFolderName は C:\WSH\test です。
削除後の folderNameEnu.item() は  です。

C:\WSH>dir /w
 Volume in drive C is WD2500
 Volume Serial Number is D486-2A1E

 Directory of C:\WSH

[.]         [..]        delete.js
               1 File(s)            860 bytes
               2 Dir(s)  123,581,857,792 bytes free

C:\WSH>
となった。 削除後の folderNameEnu.item() の表示だけが 空白になっている。 このことから 前述の仮説が正しいであろうと考えられる。

カテゴリー: プログラミング     22:03 | コメント (0) | トラックバック (0)

2006年10月17日

DeleteFolderメソッド問題の解決策(4) 改良版

ここまで、DeleteFolderメソッド問題の記事が続いているので ついでにもうひとつ。

とりあえず問題解決となったブログ 『DeleteFolderメソッド問題の解決策(2)「new String」』 で示したスクリプトは 自分の目論見どおり動作しているが、 よくよく考えると、DelFolderName2 なんて変数を新たに準備する必要は全然なかったことがわかる。 その部分に変更を加えたのがこれ。
//
//  フォルダ削除実験スクリプト4 WSH(JScript)
//
// FileSystemObject オブジェクトの作成
var FSO = WScript.CreateObject("Scripting.FileSystemObject");

// GetFolderメソッドからフォルダ名を抽出
//   実際は、きちんとリストしないといけませんが
//   ここでは省略して最初に見つかったひとつのサブフォルダだけを扱います。
folderNameEnu = new Enumerator( FSO.GetFolder(".").SubFolders );
var DelFolderName = new String( folderNameEnu.item() );

// 削除前にフォルダ名の表示
WScript.Echo( "削除するフォルダは " + DelFolderName + " です。");

// フォルダの削除
FSO.DeleteFolder(DelFolderName, true);

// 結果の表示
WScript.Echo( "削除したフォルダは " + DelFolderName + " です。");
ご注意:このスクリプトを実行すると、カレント・フォルダの下にあるサブフォルダをひとつ、 実際に削除してしまいますので、お取り扱いには十分にご注意ください。

このスクリプトでは、 DelFolderName という文字列変数に folderNameEnu.item() から直接 new String してやっている。 そして、DeleteFolderメソッドにも 削除するフォルダ名として この文字列変数DelFolderNameを引数にしているが、 削除後でも、DelFolderNameの内容を表示することができている。 結局、削除フォルダ名を格納する文字列変数は1個あれば十分だったということだ。

カテゴリー: プログラミング     22:35 | コメント (0) | トラックバック (0)

2006年10月16日

DeleteFolderメソッド問題の解決策(3) 仮説崩壊

前回のブログで DeleteFolderメソッドを実行すると フォルダ名までも消されてしまう という問題について、とりあえずの解決方法に辿り着いた。 実はこの一連のブログを実際に書いてみて 新たに気付いたことがあったのでそれについてのレポート。

自分のバックアップ・スクリプトをコーディングしている際に 出くわした この問題、 実際に前回のブログのような方法で解決させた。 そしてその結果、自分としては、 「DeleteFolderメソッドに引数で与えた文字列の内容(インスタンス)が 消されてしまうものだ」と思い込んでいた。 そのため、このことをレポートするブログを書くために、 当初、以下のような実験スクリプトを用いて解説するつもりだった。
//
//  フォルダ削除実験スクリプト 初期バーション WSH(JScript)
//
// FileSystemObject オブジェクトの作成
var FSO = WScript.CreateObject("Scripting.FileSystemObject");

// 削除するフォルダ名
// (実際はGetFolderメソッドから取得)
var DelFolderName = "test";

// フォルダの削除
FSO.DeleteFolder(DelFolderName, true);

// 結果の表示
WScript.Echo( "削除したフォルダは " + DelFolderName + " です。");
ご注意:このスクリプトを実行すると、カレント・フォルダの下に「test」というサブフォルダある場合、 実際に削除してしまいますので、お取り扱いには十分にご注意ください。

このスクリプトでは、フォルダ名が決めうちされているので 実行するカレント・フォルダ下に 事前に「test」というサブフォルダを作成しておかなければならないが、 実際に実行してみた。 すると、フォルダ削除後にも関わらず、 フォルダ名が表示されてしまった。

ということは、自分が立てた 「DeleteFolderメソッドに引数で与えた文字列の内容(インスタンス)が 消されてしまうものだ」 という仮説が覆されてしまったわけだ。 それから 慌てて 元になったスクリプトを見直して 新たに実験スクリプトをいくつか書いて実験した結果 辿り着いた結論は 「GetFolderメソッドによって抽出されたフォルダ名のインスタンスは、 DeleteFolderメソッドにより、そのフォルダが削除されるのと同時に削除される」 ということだった。 それに基づいて書いた実験スクリプトが 以前のブログ 「DeleteFolderメソッドで フォルダ名も消える謎」 にあるスクリプトである。

カテゴリー: プログラミング     22:03 | コメント (0) | トラックバック (0)

2006年10月15日

DeleteFolderメソッド問題の解決策(2)「new String」

前回ブログからの続きで、 DeleteFolderメソッドを実行すると フォルダ名までも消されてしまう 問題の解決策 第2弾。

消されるフォルダ名の控えを作っておくために 文字列変数を別の文字列変数に代入しただけでは、 いわゆる「参照渡し」になってしまい、 結局のところ文字列の実態はひとつしか存在していないので、 DeleteFolderメソッドによって その実態が消されてしまうと、あとには何も残っていないことになってしまう。

この問題を解決するためには、 完全な文字列のコピーを別のメモリ領域に作ってしまえばよいことになる。 そのための変更を前回ブログのスクリプトに加えたのがこちら。
//
//  フォルダ削除実験スクリプト3 WSH(JScript)
//
// FileSystemObject オブジェクトの作成
var FSO = WScript.CreateObject("Scripting.FileSystemObject");

// GetFolderメソッドからフォルダ名を抽出
//   実際は、きちんとリストしないといけませんが
//   ここでは省略して最初に見つかったひとつのサブフォルダだけを扱います。
folderNameEnu = new Enumerator( FSO.GetFolder(".").SubFolders );
var DelFolderName = folderNameEnu.item();

// 消されちゃうんであれば、もう一個 余計に準備しておく。
//  「参照渡し」にならないように 新たなオブジェクトを作成
var DelFolderName2 = new String( DelFolderName );

// 削除前にフォルダ名の表示
WScript.Echo( "削除するフォルダは " + DelFolderName2 + " です。");

// フォルダの削除
FSO.DeleteFolder(DelFolderName, true);

// 結果の表示
WScript.Echo( "削除したフォルダは " + DelFolderName2 + " です。");
ご注意:このスクリプトを実行すると、カレント・フォルダの下にあるサブフォルダをひとつ、 実際に削除してしまいますので、お取り扱いには十分にご注意ください。

このように「new」演算子を用いて 新たな String オブジェクト を作成してやるようにしてみた。 こうすると、フォルダ削除後にも、 そのフォルダ名を表示することができるようになった。

【参考リンク】

カテゴリー: プログラミング     22:20 | コメント (0) | トラックバック (0)

2006年10月14日

DeleteFolderメソッド問題の解決策(1) 「値渡し」と「参照渡し」

前回ブログからの続きで、 DeleteFolderメソッドを実行すると フォルダ名までも消されてしまう 問題の解決策を試してみる。

ということで、前回ブログのスクリプトに変更を加えたのがこちら。
//
//  フォルダ削除実験スクリプト2 WSH(JScript)
//
// FileSystemObject オブジェクトの作成
var FSO = WScript.CreateObject("Scripting.FileSystemObject");

// GetFolderメソッドからフォルダ名を抽出
//   実際は、きちんとリストしないといけませんが
//   ここでは省略して最初に見つかったひとつのサブフォルダだけを扱います。
folderNameEnu = new Enumerator( FSO.GetFolder(".").SubFolders );
var DelFolderName = folderNameEnu.item();

// 消されちゃうんであれば、もう一個 余計に準備しておく。
var DelFolderName2 = DelFolderName;

// 削除前にフォルダ名の表示
WScript.Echo( "削除するフォルダは " + DelFolderName2 + " です。");

// フォルダの削除
FSO.DeleteFolder(DelFolderName, true);

// 結果の表示
WScript.Echo( "削除したフォルダは " + DelFolderName2 + " です。");
ご注意:このスクリプトを実行すると、カレント・フォルダの下にあるサブフォルダをひとつ、 実際に削除してしまいますので、お取り扱いには十分にご注意ください。

これは DeleteFolderメソッドに対して、 引数として与えたフォルダ名の文字列が消されてしまうのであれば、 消される前に それを控えておけばよいであろうと、 ということで単に、
var DelFolderName2 = DelFolderName;
の一行を加えてみた。 ところがその実行結果は前回と変わらず、やはり、 フォルダ名が消されてしまって、 フォルダ削除後のフォルダ名表示ができなかった。

この種の問題は いわゆる「値渡し」 と 「参照渡し」の問題で、 これについては、マイクロソフトの JScript ドキュメント「 JScript: データのコピー、受け渡し、および比較」に記載されている。 このページの説明によると「値渡し」とは
値渡しによるコピーや受け渡しでは、コンピュータのメモリ内に空間が新しく確保され、元の値がそこへコピーされます。 それぞれの値は別の値と見なされるため、値渡しした後で元の値を変更しても、コピーされた値に影響は及びません (逆の場合も同様です)。
一方、「参照渡し」とは、
参照渡しによるコピーや受け渡しでは、実際に作成されるのは元の項目へのポインタですが、そのポインタを、あたかもコピーされた項目であるかのように扱うことになります。この場合は、元の項目に変更を加えると、元の項目とコピーされた項目の両方が変更されます (逆の場合も同様です)。実際存在する項目は 1 つだけで、"コピーされた項目" は、データへのもう 1 つの参照に過ぎません。
と説明されている。 そしてJScript の文字列の場合は
文字列の場合は、コピーや受け渡しは参照渡しで行われますが、比較は値渡しで行われます。
となっている。つまり JScriptにおいて 「=」を用いて 文字列変数に文字列変数を代入したとしても それは、元の文字列へのポインタがひとつ増えただけであり、 実際に存在する文字列はひとつしかないわけである。 そのため、今回 追加した一行は全くの無駄ということになってしまう。

【参考リンク】

カテゴリー: プログラミング     22:33 | コメント (0) | トラックバック (0)

2006年10月13日

DeleteFolderメソッドで フォルダ名も消える謎

前回ブログからの続きで、 WSHによるバックアップ・スクリプトの開発中に フォルダを削除する際にハマッタこと。

実際に書いたバックアップ用のスクリプトはもっと長いのだが、 この フォルダの削除に関する失敗部分だけを抜き出して このブログで解説してみようと思う。

ここで私がプログラムしたいと思ったのは、 削除したフォルダの名前をログに記録しておくことだった。 ちなみに、WSHにおけるイベント・ログの作成方法については、 @ITの解説記事 「運用 Windows管理者のためのWindows Script Host入門」の アプリケーション・イベント・ログの作成 に詳しく解説してある。

以下のスクリプト例では、実験を簡単にするために、 GetFolderメソッドから得たフォルダ名の最初のひとつのみを扱っている。 実際に動作させているバックアップ・スクリプトでは きちんとリストにして全てのサブフォルダ名について処理している。 また、この例では イベント・ログに書き込む代わりに 画面に表示するように変更している。
//
//  フォルダ削除実験スクリプト1 WSH(JScript)
//
// FileSystemObject オブジェクトの作成
var FSO = WScript.CreateObject("Scripting.FileSystemObject");

// GetFolderメソッドからフォルダ名を抽出
//   実際は、きちんとリストしないといけませんが
//   ここでは省略して最初に見つかったひとつのサブフォルダだけを扱います。
folderNameEnu = new Enumerator( FSO.GetFolder(".").SubFolders );
var DelFolderName = folderNameEnu.item();

// 削除前にフォルダ名の表示
WScript.Echo( "削除するフォルダは " + DelFolderName + " です。");

// フォルダの削除
FSO.DeleteFolder(DelFolderName, true);

// 結果の表示
WScript.Echo( "削除したフォルダは " + DelFolderName + " です。");
ご注意:このスクリプトを実行すると、カレント・フォルダの下にあるサブフォルダをひとつ、 実際に削除してしまいますので、お取り扱いには十分にご注意ください。

で、このスクリプトを実行してみると 削除したかったフォルダは見事に削除されているのであるが、 削除後、そのフォルダ名が画面に表示されないのである。 どうも、DeleteFolderメソッドは、フォルダを削除した際に、 そのフォルダ名のインスタンスまでも削除してしまっているようだ。

削除前に、フォルダ名をログに書き込んでしまえば それで問題ないのだが、 自分としては、フォルダの削除が完了したことを確認してからログに記録したいと思った。 しかし、このように ファイル名がなくなってしまっては ログに書き込むこともできない。

次に、単純な解決方法を試してみたのだが それについては次回のブログで。

【参考リンク】

カテゴリー: プログラミング     22:52 | コメント (0) | トラックバック (0)

2006年10月12日

WSH での ファイルの操作方法

WSH で JScript を使って ファイルのバックアップを自動で行うスクリプトを書いていたのだが そこでの調査結果をまとめておく。

今回 作ったバックアップ・スクリプトは 現在のフォルダを 別ドライブへ名前に日付をつけてコピーしておき、 何日か経って古くなった分は自動的に削除する、 といった仕様にしてみた。

WSH で ファイルやフォルダのコピーに関しては WSHの ファイルおよびフォルダをコピーする のページに解説してある。 この解説にもあるとおり、ファイルをコピーしたり等の ファイルの操作には、 FSO (File System Object) を使用する必要がある。 ともかく、ファイル操作をする前には、おまじないとして
var FSO = WScript.CreateObject("Scripting.FileSystemObject");
というオブジェクトの作成をしておき、あとは
FSO.CopyFile("c:\\COMPlusLog.txt", "c:\\x\\");
のように FSO オブジェクトのメソッド ひとつで ファイルのコピーが可能となる。 注意点としては、ファイル名の指定では、 英語環境ではバックスラッシュ「\」、日本語環境では円マーク「¥」を 2つ重ねないといけないということ。

フォルダ全体をコピーしたい場合も、 CopyFolder メソッド を使えば、簡単にフォルダ単位のコピーができてしまう。 今回の場合、ここで与えるコピー先のフォルダ名に現在の日付データを加えるようにしただけだ。

削除に関しても DeleteFile メソッドDeleteFolder メソッド を利用すれば簡単にできてしまう。 ところが、削除すること自身には問題はなかったのだが、 それとは別の思わぬ 落とし穴にはまってしまった。 それは次回のブログとさせてもらおう。

【参考リンク】

カテゴリー: プログラミング     22:52 | コメント (0) | トラックバック (0)

2006年10月11日

JavaScript で Right 関数

ちょっとした WSHスクリプト を JScript で書いていた際に、 文字列を右側から指定文字数だけ取り出す関数がほしくなった。

マイクロソフトの「JScript」のページ から、それらしいメソッドを探したのだが、 文字列内の、指定位置からの指定された長さを持つ部分を返す substr メソッド とか、 文字列内の指定された位置にある文字列を返す substring メソッド とかは あるのだが、 文字列を右側から指定文字数だけ取り出すメッソドは見つからなかった。

VBScriptであれば、 Right 関数 というのがあって、単にこれを呼べばよいのだが、JScriptには存在していないようだった。 で、しょうがないので作ったのが以下の関数。
//
// 文字列を右側から指定文字数だけ取り出す関数
//
function right( str, n ) {
    l = str.length;
    if (n>l) n=l;
    return( str.substring(l-n,l) );
}

strTest='ABCDEFG';
WScript.echo( strTest );
WScript.echo( right(strTest,3) );
もっとクールなソリューションがあるのかもしれないが、 とりあえず動いているのでよしとしよう。

それにしても、今回の状況を考えると、 WSHでスクリプトを書く際は、 素直に 「VBScript」を使った方が幸せなのかもしれないと感じた。

【参考リンク】

カテゴリー: プログラミング     22:14 | コメント (1) | トラックバック (0)

2006年10月10日

WSH はどうやって言語を判断するのか?

昨日のブログで、WSHが wscript.exe や cscript.exe により 実行されているところまでわかった。 これらはデフォルトでも、VBScript と JScript という 2つの言語に対応しているのだが、 果たして どうやってそれらを見分けているのだろうか。 解析するために、簡単な実験を行ってみた。

実験の準備として、
「Jtest.js」という名前を付けて
WScript.echo("Hello World!");

「Vtest.vbs」という名前を付けて
WScript.echo "Hello World!"

という2つのファイルを準備した。 これくらい短いプログラムでは、 違いとしては、関数の引数を括弧で囲むかどうかぐらいだ。

上記2つのファイルを ウィンドウズ・エクスプローラーから ダブルクリックすると、エラーもなく、「Hello World!」が表示される。 当たり前だが 全く同じ結果となる。

次に、それぞれのファイルの拡張子を 「Jtest.js」を「Jtest.vbs」に、 「Vtest.vbs」を「Vtest.js」に変更してみる。

前述と同じように、ウィンドウズ・エクスプローラーから ダブルクリックして、これら2つのファイルを実行してみると、 「Jtest.vbs」を実行させると 「Microsoft VBScript compilation error」というエラー表示が、 「Vtest.js」を実行させると、 「Microsoft JScript compilation error」というエラー表示になった。

このことから、wscript.exe や cscript.exe は 引数として与えられた実行ファイルの拡張子を見て、 どの言語として処理するべきかを判断していると 考えられる。

また、ついでに実験してみると、 「.js」の代わりに「.jse」、 「.vbs」の代わりに「.vbe」は利用できるようである。

カテゴリー: プログラミング     22:26 | コメント (0) | トラックバック (0)

2006年10月 9日

WSHの wscript.exe と cscript.exe とによる実行

昨日のブログでは JavaScript(JScript)を使って「Hello World!」を表示させてみたが、 その際、出来上がった「test.js」というファイルを ダブルクリックして実行してみた。 果たしてこのスクリプトを実際に実行しているのは何者なのだろうか?

調べてみると、WSH を実行するには2つの方法があり、 それぞれに専用のコマンドが用意されている。 ひとつは「wscript.exe」で、もうひとつが「cscript.exe 」である。 その違いは 前者はGUIベース、後者はコンソール・ベース となっている。

通常、エクスプローラー上でダブルクリックした際には GUIベースの「wscript.exe」が実行されている。 その証拠に、今回作った「test.js」を エクスプローラからダブルクリックすると、 「Windows Script Host」というタイトルが付いた小さなウィンドウが開いて その中に「Hello World!」と表示された。

確認のためウィンドウズ・エクスプローラーの「ツール」メニューから 「フォルダ オプション(Folder Options)」を選んで 「ファイル タイプ (File Type)」タブをみてみると、 拡張子「.js」と「.vbs」のOpenアクションは 確かに「WScript.exe」にリンクされている。 また、「.jse」や「.vbe」も同様に「WScript.exe」に リンクされていることが確認できる。

一方、「cscript.exe 」を使ってコンソール・ベースで実行するためには コマンド・プロンプトに入って、そのファイルがあるディレクトリに行ってから
cscript test.js
とする。 すると、そのコマンド・プロンプト内で 上記コマンドに引き続き「Hello World!」とテキストで表示される。

【参考リンク】

カテゴリー: プログラミング     22:03 | コメント (0) | トラックバック (0)

2006年10月 8日

WSH による 「Hello World!」の表示プログラム

WSH を使った 最も基本的なプログラミングをしてみる。

私も今までに いくつかのコンピュータ・プログラミング言語のお勉強をしてきたが、 その際のお決まりのプログラムが「Hello World!」と言う文字列を画面に表示する方法である。 今回も、この古き良き業界のしきたりにのっとって、 WSH で 「Hello World!」を表示してみることにする。

前のブログでも書いたとおり、 WSH では、VBScript と JavaScript(JScript) の 2つの言語処理系を備えいている。 巷の解説記事のほとんどは VBScript について書いてあるのだが、 あえてここでは、Jscript を使ってやってみる。

ノートパッドでも、TeraPad でも なんでもいいので、適当なテキスト・エディターを立ち上げて
WScript.echo("Hello World!");
と打ち込み、または、上記の行をカット&ペーストしてから そのファイルに「test.js」という名前を付けて 適当なディレクトリ(ホルダー)に保存する。 打ち込む際は行末の「;」をお忘れなきように。

後は、ウィンドウズ・エクスプローラー(Windows Explorer)上で その「test.js」というファイルを ダブルクリックすると、 「Windows Script Host」というタイトルが付いた小さなウィンドウが開いて その中に「Hello World!」と表示されているハズである。

【参考リンク】

カテゴリー: プログラミング     22:24 | コメント (0) | トラックバック (0)

2006年10月 7日

ナポレオン・ヒル・ゴールドメダリスト

ナポレオン・ヒル財団では、成功者に 「ナポレオン・ヒル・ゴールドメダル」 というものを授与している。

ナポレオン・ヒル財団では ナポレオン・ヒル博士が研究した成功へのノウハウを 『ナポレオン・ヒル・プログラム』として その普及に努めている。

ナポレオン・ヒル財団では 毎年選考委員会を設けて このプログラムを学び、実践し、成功した人々の中から 一定の水準を満たした人々に ナポレオン・ヒル・ゴールドメダルあるいはシルバーメダルを授与しているそうである。

過去の受賞者の一部を紹介させていただくと、
  • リチャード(リッチ)・デヴォス
    アムウェイ・コーポレーションの創業者
  • テッド・ターナー
    24時間ニュース・チャンネルで世界的なメディアとなったCNNのほか 二局を持つTBS(ターナー・ブロードキャスティング・システム)の会長
  • マルコム・フォーブス
    ビジネス誌「フォーブス」を発行する フォーブス・マガジン社会長
  • ノーマン・ヴィンセント・ピール博士
    社会教育家
  • ロバート・シュラー博士
    牧師・伝道師
  • アール・ナイチンゲール博士
    ナイチンゲール・コナント社創立者
  • オグ・マンディーノ
    社会教育家
  • リー・アイアコッカ
    クライスラー社、元会長
  • メアリー・ケイ・アッシュ
    米国大手化粧品会社 メアリー・ケイ・コスメティック社会長
  • トム・モナハン
    ドミノ・ピザ・チェーン店、ドミノ社の創設者
まだまだ、たくさんの受賞者がいるそうである。

ナポレオン・ヒル・プログラム そのものや 「思考は現実化する」 を読んで、成功のノウハウそのものを学ぶことも重要だが、 上記の成功者の方々が、どのようにして成功を勝ち得たかを調査するために、 彼ら自身による著作や自叙伝を読んでみるのも 重要な気がする。

【参考リンク】

カテゴリー: ナポレオン・ヒル     22:54 | コメント (0) | トラックバック (0)

2006年10月 6日

ナポレオン・ヒル「思考は現実化する」

成功哲学のバイブルとも言うべき ナポレオン・ヒル の 「思考は現実化する」のご紹介。

まだ駆け出しの新聞記者であった ナポレオン・ヒル博士は、 鉄鋼王のアンドリュー・カーネギーの依頼により、 20年間に渡り「成功哲学」を徹底的に研究した。 その研究の成果である 成功への17のノウハウ を1冊の本にまとめたのが 「 Think and Grow Rich 」。 そして その日本語版が この 「思考は現実化する」である。

610ページと分厚い本ではあるが、既に3回ほど読ませてもらった。 確かに ナポレオン・ヒル博士が 20年の歳月をかけて調査・研究しただけあって、 「成功法則」の真髄が体系的にまとめてある。 ここに書いてあることを実際に理解し実行できれば、 どんな人でも人生が変わるであろう。 これからも折に触れ何度も読み返してゆこうと思っている。

また この本の他にも、 ナポレオン・ヒル 博士の書籍やCDをいくつか持っているいるので、 おいおい、このブログでご紹介させていただこうと思う。

【参考リンク】

カテゴリー: ナポレオン・ヒル     22:16 | コメント (0) | トラックバック (0)

2006年10月 5日

WSH (Windows Script Host)

ウィンドウズ(Windows)上での スクリプトの実行環境である WSH (Windows Script Host) についての調査記録。

まず、「WSH (Windows Script Host)」とは、 ウィンドウズ(Windows)上でのスクリプトの実行環境であり、 言語としては JavaScript や VBScript で記述できる。 従来のバッチファイルによるバッチ処理機能と比較すると、もっと複雑な処理やGUIの利用が可能になっている。 バージョンに違いはあるにせよ、 Windows98以降の全てのウィンドウズに はじめからインストールされている機能である。

このWSHの関連記事が、アットマーク・アイティ には のように2つほど 収録されているようだ。 WSH を理解する上では 非常に参考になる。

では本家本元のマイクロソフト(Microsoft)からの情報としては、 が 最も基本的な情報ページのようだ。 また、前述のように、ディフォルトでは JavaScript(JScript) と VBScript の 2つの言語処理系を備えいているので、 それぞれの記述の方法については、 から辿ることができる。 そらから、スクリプトのサンプルとしては、 から参考となるコードを見つけることができるようだ。

【参考リンク】

カテゴリー: プログラミング     22:23 | コメント (0) | トラックバック (0)

2006年10月 4日

ジェトロ バイオ・インキュベーション施設お披露目式

JETROがウエットラボ等施設付きのバイオ・インキュベーション事業を開始するにあたり、 その施設のお披露目式を行った。

この施設は JETRO が 桝本社長 の B-Bridge International 社と事業提携を行い、 B-Bridge社の新しい社屋内に開設した バイオ系ベンチャー企業向けのインキュベーション施設である。

また、この お披露目式では、シリコンバレー(Silicon Valley)、 サンフランシスコ(San Francisco)ベイエリアで ご活躍のバイオ業界のリーダーによるパネル・ディスカッションが企画された。 パネリストは、
  • 金島 秀人 氏(Director & CSO, Bio-Xcelerator)
  • 橋本 千香 氏(CEO, Gallasus)
  • 桝本 博之 氏(CEO & President, B-Bridge International)
  • 室岡 義勝 氏(Executive Director, 大阪大学サンフランシスコセンター)
と皆さん 私が個人的にはよく存じ上げている方ばかり。

お披露目式は 大きく 第一部 と 第二部 に分かれており、 第一部では、施設見学が行われた。 私もせっかくの機会なので施設見学にも参加させていただいた。

【参考リンク】

カテゴリー: JETRO/総領事館     22:18 | コメント (0) | トラックバック (0)

2006年10月 3日

Motorola E815 の使い方(9) 「ハンズフリー(Handsfree)機能」

「Motorola E815」の使い方シリーズ、第8弾。 「ハンズフリー(Handsfree)機能 」について。

携帯電話本体に向かって左の側面に3つのボタンがあるが、 最も下のボタンが ハンズフリー機能をオン・オフ するボタンになっている。 ハンズフリー機能をオンにすると相手の声は、 本体背面にスピーカーから聞こえてくるようになる。

左側面の残りの2つのボタンが ボリュームの調整用だが、 このボリューム調整は、 ハンズフリー機能を使って実際に電話で話している時にしか有効でない。 電話を切っている時は、着信音のボリューム調整に、 また、電話がかかっている場合でも ハンズフリーをオフにしていると 耳元のスピーカーの音量調節となってしまう。 このように、ボリューム設定ボタンの値は 着信音、ハンズフリーがオフの場合、ハンズフリーがオンの場合 と、別々に記憶しているようである。

このハンズフリーのおかげで、 運転中でも、電話機を手に持っておく必要がなくなるし、 また、複数人による電話会議などもできるようになる。 本当に昔の携帯に比べると だいぶ便利になったものだ。 これで、カリフォルニア州の『ハンズフリー』携帯電話法案 にも安心して対応できる。

【参考文献】
  • Verizon Wireless Motorola E815 User Guide 「Using the Handsfree Speaker (p52)」

【参考リンク】

カテゴリー: 携帯電話     22:34 | コメント (0) | トラックバック (0)

2006年10月 2日

Motorola E815 の使い方(8) 「キャピタライゼイション」

「Motorola E815」の使い方シリーズ、第8弾。 「キャピタライゼイション」 つまり、大文字・小文字の切り替え方法について。

通常のコンピュータ用のキーボードであれば、 [Shift]キーを押しながら文字キーを打てば 大文字・小文字が反転するし、 [Caps Lock]キーをかければ、 大文字のみの入力ができたりするのは、 皆さん既にご存知のとおり。 しかしながら、 キーの数が限られた携帯電話では、 大文字・小文字の切り替え方法でさえも 事前に調べておかなければわからない。

この「Motorola E815」でのキャピタライゼイションは、 任意の文字列入力スクリーンにおいて [0 ↑]キー を押すことにより切り替えられるようだ。 確かに、キーパッドをよく見てみると、[0]キー には 「↑ (上矢印)」が刻印されていて これが大文字化キーであることがわかる。 このキーにより画面上のインジケーターが以下のように切り替わる。
  • abc : no capital letters (すべて小文字)
  • Abc : capitalize next letter only (次の文字のみ大文字)
  • ABC : all capital letters (すべて大文字)
上記の「Abc」は 「次の文字のみ大文字」とあるとおり、 試しに1文字入力してみると、「abc (すべて小文字)」に戻ってしまう。

キャピタライゼイションとしては上記のとおりなのだが、 実際に試してみると、これらの動作は入力項目により、 微妙に動作が異なるようだ。 例えば、 カレンダー機能のイベント・タイトルの入力欄では 行頭では、自動的に「Abc (次の文字のみ大文字)」モードになり、 それ以後は、「abc (すべて小文字)」になる。 また、コンタクトリストの人名入力欄では、 行頭のみならず、単語(ラストネーム、ファーストネーム)の先頭になると、 自動的に「Abc (次の文字のみ大文字)」モードになる。

その他の注意点として、 通常の文字入力モードの場合、 数字の「0 (ゼロ)」を入力したい場合は、 [#]キー を押して、入力モードを 数字入力モードにしてからでないと入力できないということだ。

【参考文献】
  • Verizon Wireless Motorola E815 User Guide 「Using Capitalization (p41)」

カテゴリー: 携帯電話     22:30 | コメント (0) | トラックバック (0)

2006年10月 1日

Motorola E815 の使い方(7) 「iTAP とは」

「Motorola E815」の使い方シリーズ、第7弾。 この「Motorola E815」には、 「iTAP」と呼ばれる文字列入力方法が装備されているようだが、 それについて調査してみた。

「iTAP」について調査してみると、 これは、米モトローラ(Motorola)社が開発した携帯電話向けの文字入力システム。 英語はもちろんだが、日本語、その他の多くの言語に対応しているらしい。 基本的な考え方は、 英語の場合、その文字が刻印されているキーを、 日本語の場合は子音文字のキー のみの押してゆき、 日本語のカナ漢字変換のように画面下部に 候補となる単語を逐次表示して その中から選択してゆく入力方法だ。

このように説明してもわかりずらいので 従来の「Tap Method」と対比させながら例を挙げてみよう。 例えば、典型的なアメリカ人の名前で 「Smith」と入力する場合。

従来の「Tap Method」であれば、
  • [7PQRS]キー ×4回
  • [6MNO]キー ×1回
  • [4GHI]キー ×3回
  • [8TUV]キー ×1回
  • [4GHI]キー ×2回
と合計 11回のキー操作が必要となる。 一方「iTAP」の場合、
  • [7PQRS]キー ×1回
  • [6MNO]キー ×1回
  • [4GHI]キー ×1回
  • [8TUV]キー ×1回
  • [4GHI]キー ×1回
と5回キーを打てば、画面下に 「Smith」という単語候補が表示されるので 後は「OK」ボタンを押せば確定される。

この例では、このように約半分のキー操作で入力が完了する。 すでに単語登録されているような単語や人名の入力には非常に効果が高い。 しかし、私のように、アメリカにいる日本人が使用するとなると、 コンタクトに日本人の名前をローマ字入力することが多くなるので、 この場合は「Tap Method」の方が都合がよいようだ。 もちろん「iTAP」でも、1文字ずつの入力も可能なので、 一度試してみてはいかかだろうか。

【参考リンク】

カテゴリー: 携帯電話     22:34 | コメント (0) | トラックバック (0)

 
ハワイ島での遊覧飛行ツアーとB&Bのスペシャリスト、スカイメリカ
Copyright © 2003,2009 Skymerica Corp. All rights reserved.