07 | 2007/08 |  09

  1. 無料サーバー

User forum-FC2BLOG-Info-Edit Template-Post-Edit-Upload-LogOut

CSSやJavascript自習の苦闘史を綴っていきたい。恐縮ですがJavascriptを有効にしてご覧ください。
2005年12月から社会問題も掲載!


スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

エントリイの前後が表示されない問題

それはFirebug Liteをアップロードしてから始まった。

任意のサイトをIEで閲覧している時に、jQueryfyブックマークレットを使って当該サイト上でjQuery.jsを使えるようにし、かつFirebug Liteをもインクルード出来ないか───と思い、Firebug Lite.zipを解凍したファイル全てを、このブログサーバーにアップロードしました。

その後このブログ上で、ではなく自分のローカルPC上のHTMLファイルにFc2ブログサーバーからFirebug Liteをインクルードしようとしたのです。

すると、数回繰り返してからこのブログの表示がおかしくなり始め、その後このブログ内でページを遷ろうとすると必ず表示できないエラーが発生するようになりました。

そして気がついたのです。この行為は規約違反であるということを!

いわゆる「ファイル置き場」として利用してしまった

無意識に、Fc2ブログサーバーをローカルPCから呼び出すファイルサーバーにしてしまっていたのです。

早速Fc2にメールを出し、違反を詫びると共にこうした過ちを繰り返さないことを約束したのです。

すると数日後にFc2からメールが来ました。そこには、支障なく見えていること及びファイル置き場として利用してしまったファイルを削除すべきこと、が書いてありました。

この後者の指示を受けて早速当該ファイルを削除したところ、やっと問題が解決したのです。

▲ToTop

お詫び

ここ一週間ほどの間に閲覧された方には、閲覧障害というご迷惑をお掛けして場合もあったかと思います。その理由は以上の通りですので、この場を借りてお詫びしたいと思います。

スポンサーサイト

Google Mailからのダウンロードはありかもしれない

Sleipnir2スクリプトで自動ログインすればよい

そうなのです。自動ログインするスクリプトを作って、自動ログインすればあるブログサイトからGmail上の添付フォイルにリンクをすることが出来るのではないか───と思い立ちました。

自動ログインスクリプトはタブブラウザ Sleipnir オンラインデータベース(スクリプト)から自動ログインスクリプトを入手して、Gmail への自動ログインスクリプトを作成し、それを適用してからGmail上のスクリプトファイルをインクルードすれば良い、と言うことに気がつきました。

これからそれを試してみようと思います。

オンラインファイル置き場はGmailでも無理でした。

関連エントリイリスト in this Blog

firebug.js のファイル置き場を探して・・・

直前のエントリイで書きましたが、オンラインでファイルにアクセスできる無料のファイル置き場が欲しくなりました。有料のファイル置き場としては、Just System の インターネットディスク等が有名ですが、2893 MB もの巨大容量(GMail)が無料で提供されている今日、敢えて有料サイトを選択する必要はありません。(セキュリティ上の問題から有料サイトを選択する道はあるかもしれませんが。)

そこでGmailの巨大容量をファイル置き場としても利用する方法を色々調べてみました。

しかし結論から言えば、この方法も無理なようです。

Gmail Shell Extension や Gmail File Space (gspace) など

これらが有名なようですが、どちらもマイコンピュータ上に仮想ドライブを構成してExplorerから利用するのですから、Homepage上のリンク先としてのファイル置き場にはなり得ないと思います。

またこんなファイル置き場(ファイルバンク【FILEBANK】-無料でファイル保管・送信・シェアができる-)もありますが、7日間無料保管、つまり8日以降は有料になってしまうため、リンク先ファイルの置き場としては使えません。敢えて有料でも良しとする置き場を欲しない限り・・・。

GmailにfirebugLiteの全ファイルをメールで送ってみた

次に、Gmailにmail送信したFirebugLiteファイルのuriに対して、IEとOperaにおいて下記のコードを試してみましたが、これも成功しませんでした。

試してみた自作のブックマークレットは以下の通りです(可読性を高めるために適当に改行やインデントを挿入しています)。

javascript:(function(){
  var%20d=document.getElementsByTagName('body')[0];
  var%20s=document.createElement('script');
  s.setAttribute('src','http://jqueryjs.googlecode.com/files/jquery-1.1.4.pack.js');
  d.appendChild(s);s=document.createElement('script');
  s.setAttribute('src','http://mail.google.com/mail/xxx');   d.appendChild(s);alert('using jQuery & Firebug Lite!');
})();

ここに「http://mail.google.com/mail/xxx」は、 firebug.js をメール添付ファイルとして自分のGmailアドレスに送信し、その後に取得したその添付ファイルのurlです。

結局複数の一連のfirebugLiteに係るファイルが連動しているのに、その中の特定のファイルであるfirebug.jsにだけリンクを貼っても動かないということでしょう。やはりサーバー内のフォルダを管理出来る状態のURIが記述できない限り、無理なのでしょう。

解決策は・・・

ジャストシステム(インターネットディスク)やsony(Webpocket)の有料レンタルサーバーも調べましたが、単なるファイル置き場としての活用方法は沢山説明されているものの、Homepageのリンク先であるファイル置き場の説明はほとんどなく、そのような使い方が出来るのかどうか分かりませんでした。

自分のWebサーバーを持てば解決しますが、リンク先ファイル置き場のために敢えてWebサーバーを立ち上げるほどの時間も気力もありません。

というよりも、結局jQuery.jsをfirebugを使って色々試したい場合には、Firefoxを利用する、Firefoxだけを利用する、と言う選択肢が賢明なのでしょう。このケースではIEやOperaに拘るのは愚かな選択肢というべきでしょう。

jQuerify.jsブックマークレットを利用したい

jQuerifyブックマークレットを改訂

jQueryを勉強する上で、Firebugは欠かせないツールです。そしてFirebugを利用して、任意のサイト上でjQueryを試すことの出来るjQuerify.jsブックマークレット(Learning jQuery :jQuerify Bookmarklet)は大変重宝する優れものです。

元々FirebugはFirefoxのアドオンとして開発されましたが、IEやOperaでも一部の機能を利用できるFirebug Liteが開発されている(Firebug Lite)ので、jQuerify.jsブックマークレットもこれらのBrowserでも利用できます。

但し、オリジナルのjQuerify.jsブックマークレットは名前空間を汚染する可能性があり、またリンク先のjQueryのバージョンは1.1.3.1であり、既に1.1.4が公表されているため、次のように無名関数を利用し、リンク先を最新版へのものへと改訂し、メッセージもちょっと変えてて利用することにしました。

jQuerify.js ブックマークレット改訂版(無名関数利用)のコードは以下の通り

javascript:(function(){var%20s=document.createElement('script'); s.setAttribute('src',%20'http://jqueryjs.googlecode.com/files/jquery-1.1.4.pack.js'); document.getElementsByTagName('body')[0].appendChild(s);alert('using jQuery1.1.4!');})();

jQueryブックマークレットの利用

jQueryブックマークレットを利用する前提として、Firebug(firefoxの場合)又はFirebug Lite(IE、Operaの場合)を組み込む必要があります。前者の場合にはFirefoxのアドオンとしてBrowser自身に組み込めばお仕舞いで、簡単にjQueryブックマークレットを利用することが出来ます。

しかし、後者のFirebug Liteの場合には、jQueryブックマークレットを適用するサイトに、Firebug Liteをインクルードしなければなりません。しかしそれを、一々追加するのでは余りに面倒です。

そこで、Firebug LiteとjQuerifyを同時にインクルードするブックマークレットを作成し、容易にインクルード出来るようにすれば便利なはずです。

(for IE & Opera)Firebug LiteとjQueryを同時にインクルードするためのブックマークレットはFc2サーバーには置けない

それは先のjQuery.jsに、firebug.jsをインクルードするコードを追加するだけで簡単に出来るはずです。しかしここに大きな問題が1つあります。jQuery.jsのように、サイト上に圧縮しないそのままjsファイルがおいてあれば良いのですが、Firebug Lite の場合、当該サイトにはzip圧縮されたファイルしかありません。そのためどこか別の場所にfirebug.jsを置いておいて、そこからインクルードするようにしなければなりません。

Fc2ブログはファイル置き場を認めていません。従って、そこにファイルを置いて自分のPC上のファイルからアクセスしたり、他の方が利用する場合にはFc2ブログ利用上のルール違反となってしまいます。firebug.js をmyFc2サーバー上に置き、それをmyFc2ブログ以外から利用することは出来ません。

従って、firebug.js はファイル置き場として利用できるWebサーバーに置くか、自分のローカルPC上に置くしかありません。しかし、後者の方法を試してみましたがそれは駄目でした。ローカルPCにリンクするようなブックマークレットはうまく作動しませんでした。一方、ファイル置き場として使えるWebサーバーは知りませんし、また自分のサーバーは持っていません。

従って、firebug.js をネット上からインクルードするブックレットの作成は諦めました。

もしかしたら、巨大なGmailサーバーをオンラインファイル置き場として利用できるかもしれませんが、まだその方法は試していません。

FC2ブログ管理画面の変更について

FC2 Infomationからお知らせメールが届きました

昨日FC2 Infomationからe-mailが届いていました。その要旨は以下の通りです。

・・・約1年がかりで3万行以上あるコードをゼロから書き直して最適化を行いました。その結果コードは約半分に減り、速度やパフォーマンスも劇的に向上しました。・・・インターフェースなどにも細かな改良を施すことで、操作性も向上。なおかつ、これまでご利用頂いていたお客様がたにも違和感なく新バージョンに適応できるための工夫も随所に施しました。また、旧管理画面と新管理画面を切り替えることも可能です。・・・ブログの表示速度が10倍に? ・・・今後はDBキャッシュとコンテンツキャッシュを有効にする予定で、その際は5msを切る見込みで現行版と比べると10倍以上のパフォーマンスの向上となります。

早速新管理画面に切り替えてこのエントリイを書いています。

新管理画面は従来よりもエントリイを書き込むボックスの幅が広がり、カテゴリイ追加が容易になり、タグ追加も分かりやすくなりました。左カラムのツールも項目が増えているような気がします。(左カラムについては、最近詳細に見ることはほとんどないので定かではありませんが。)

エントリイ管理画面も、タイトル列が異様に狭く見にくかった従来画面に較べれば、かなり改善されたようです。ジャンル別に行える「設定変更」も魅力です(従来これがあったかどうか記憶が定かではありませんが・・・)。

表示速度の改善に大いに期待したい

但し、私は AreaEditor を使用して秀丸を起動し、秀丸で作成したFc2エントリイ用のテンプレート(HTML形式)を読み込んでからエントリイを作成していますので、エントリイ作成ボックスの改訂による恩恵は皆無です。

また、記事作成画面にプレビューボックスがありますが、この表示をオン/オフ出来ないのは迷惑です。プレビューを見たい方もいればそれを欲しない方もいるはずです。なぜ強制的にプレビューさせてしまうのでしょう。この仕様は、ユーザーフレンドリイではないと思います。

最も期待したいのは、エントリイ表示速度の改善です。既に4倍程度表示が速くなったとメールに書いてあり、今後10倍も速くなる予定とのことですから、大いに期待したいと思います。

光BFlet'sMansionTypeで下り速度61MB!

ネット接続環境の見直しは、ネット接続の突然の遮断をきっかけに!

突然の接続遮断を契機として、偶々調べていたサイトにネット接続設定の見直しを呼びかける情報が掲示されていました。どのサイトだったのか、お気に入りに入れなかったし忘れてしまいましたが・・・。そういえば18ヶ月前にnifty with 光 FLet's に変更した時に、接続設定の見直しはやらなかったことを思いだし、今晩改めて見直してみたのです。

すると、なっ何と!下り受信速度が驚愕の61.7Mbps(7.71MByte/s)という高速を記録したのです。光に変えてからこれまで行った3回の測定では全て30数Mbpsでしたので、倍の速さになった訳です。超うれぴぃ~!(^_^)

ネット接続のここを見直しました

何故これ程の速度差が出たのか?

61Mbpsという速度は、MTU値、TCP Recieve Window値などを全面的に見直した結果得られた速度なのです。測定時刻は夜の10時頃でした。

その後本当だろうか?と、30分後に改めて同一サイトで測ってみたら今度は45Mbpsと先ほどの3分の2に低下していました。

更に異なるサイトによる測定を試みたところ、こちらも45Mbpsと全く同一の結果となりました。

最初のサイトは、ブロードバンドスピードテスト(回線速度・通信速度測定診断サイト)(老舗サイトですが、何故かアダルト広告が満載で非常に違和感を覚えます)で、二番目のサイトはBNR スピードテスト(回線速度/通信速度 測定ページ)です。

いずれにしても、今までの30Mbpsそこそこの通信速度(計測した時間帯は夜の同時間帯)に較べれば、接続設定の見直しで明らかに速度が向上したと言えます。

ネット接続設定は次のようにしました。

ネット接続が何もしないのに遮断されてしまう(3)

この問題の最後のエントリイです

DELL社にもまたniftyにも問い合わせをしましたが、結論は余りにあっけない、肩すかし的なものでした。

WindowsXP SP2ではローカル接続が限定的又は接続されていない旨の警告が発生することがある。しかし、それは接続自体に問題があるからではない。気になるようならば警告アイコンが表示されないようにすればよい。

何とこれがマイクロソフト社の助言です。(nifty社からの回答メールで次のサイトを紹介されました。Windows XP Service Pack 2 でネットワーク接続のアイコンが ! マークで表示される)

つまり、警告が出るけどそれは無意味だ、という回答に等しい訳です。

だったらそんな警告が出ないように Windows Update で仕様を変更すればよい、と思うのは決して私一人ではないでしょう。

問題があるならばそれを解決すべきであり、放置するだけの回答をどうどうと掲示するなんて余りにもユーザー軽視ではないか、と思います。

jQueryの挙動を辿る

jQueryがどの様に動くのかを辿ってみたい

jQuery.jsもprototype.js共に、Javascriptを深く良く知らないと、そのコードの意味は理解できない代物です。これまでの借り物をコピー利用するような姿勢から脱却しなければ、それらの解読は望めません。

そこで、改めて各種書籍を読み直すと共に、それらframework全文を印刷して、ここ一ヶ月間日々睨み続けて何とか理解しようとしてきました。

しかし、その方法だけではとても解読出来ませんでした。

そこで、今度はそれらのコードの実行過程を辿ってみることにしました。まず、解読する対象は実際に使ってみたい jQuery としました。そして、随所にalert()関数を挿入して、引数の挙動を調べてみました。しかし、それでも「動き」は見えてきません。alert関数を設置した箇所の動きはピンポイントで見えますが、コード全体がどのように動いているのかは分からないのです。

コードの挙動を辿る方法は?

何とか進行過程を辿れないか?、と悶々としている中で、次のことを思い出しました。Firebugはコードのステップ進行を辿れるはずです。しかし、その使い方が分からないのでこれまで全くステップ進行を使ったことはありませんでした。

昨晩になって初めて、「ならばネット検索で」と思い立ち(何で今までこのことを思いつかなったのか不思議ですが・・・)、検索してみたら直ぐに結論をゲットすることが出来ました。

FireBugでコードのステップ進行をどの様な方法で行うのか、全く分からなかったのですが、このサイト(FireBugのDebuggerの使い方 - JavaScriptist)を見て、直ぐに合点がいきました。

そこで、早速jQuery.jsコード内にちょっとした加工を施し、更に進行過程を垣間見るHTML頁を作成して、進行過程を辿ってみました。

辿った結果、多くのことが分かりました

こうして、やっとjQueryの挙動を把握する第一歩を切り開いたのでした。

挙動把握の過程を綴ってみようと思いますが、とりあえず今日は「扉を開いた」ことを記しておきたいと思い、このEntryを書いてみました。

▲ToTop





ネット接続が何もしないのに遮断されてしまう(2)

それは突然起こった

ネットワーク接続の突然の遮断は8月14日に発生し、その後毎日繰り返されました。初回の切断直後に書いたEntryは、niftyやB'Fletsに原因があるかのような表現となってしまいましたが、どうやら原因は我がPCにあるようです。

14日以降も不安定状態が続いたため、昨日、マイクロソフト社のネットワーク接続オンライン診断も試みました。それでも問題が特定出来ないので、次にはパソコンメーカー(DELL社製品を使っている)にも問い合わせてみました。

そこでの助言は、(1)ネットワークドライバの再インストール、(2)インターネットエクスプローラ-オプション-詳細設定の初期化、などでしたが、結局事態の改善には至りませんでした。

そこで今朝、インターネット接続そのものを新規に作成し、従来のものを破棄しました。新規作成直後には全く問題がなかったようにスムースに接続し、一瞬「原因は解明できなかったが、問題解決か!」と喜びました。

ところが、10分足らずでまたしても昨日と同様の表示がシステムトレイに現れたのです。

その表示とは、!印が付いたローカルエリア接続アイコンの出現です。このアイコンは、オプション項目「接続が限られているか利用不可能となった場合に通知する」がオンになっていると、システムトレイに表示されるようです。

つまり、おかしくなったのは「ローカル接続設定、あるいはそれに係るドライバソフト」ではないか、と思われるのです。

ローカル接続そのものあるいはドライバソフトが原因か?

もしそうであるとするならば、どうすれば良いのか?

問題が特定出来たことは前身ですが、解決となるとそのための知見はありません。

しばらくネット上の知見を検索し、事態を打開出来れば良いなぁ・・・と思っています。

『Javascript第5版』を読む

標記書籍を早速購入し読んでみました。第3版で初めてJavascriptの体系的、根源的な説明を読み、非常に感銘を受けたので、第5版にも大きな期待を抱いていたのです。

しかし───。期待は裏切られたと言って良いでしょう。

第一章コアJavascriptは、第3版と打って変わって体系的とはおよそ言い難いのです。様々な今日的問題を羅列して取り上げ、筆者のスタンスを主張するために自説を展開している、という印象を強く受けました。今日的なJavascriptの諸課題について、筆者の意見・見解を述べ尽くさんとする意図を感じざるを得なかったのです。

その結果、取り上げられる項目はアトランダムな感じをぬぐい去れず、次々と課題が展開されている印象を受けました。

また、第二章のクライアントJavascriptにおいては、各種フレームワークに目を通した後では、余りに当たり前のことしか書いてない、との印象を受けました。つまり新しい知見は余り得られないのです。

もちろん、「根源的」スタンスに変わりはないので随所に「なるほどそういうことか!」と納得する記述はありますが、新しい体系委的な知見を期待して読み始めただけに、落胆してしまいました。

ついに職場でDriveImageXMLで復元作業実施

ついに2年半前に導入した職場の我がPCが起動しなくなった

それは暑い夏の日のことでした。熱中症による死者が毎日のように報道され、最高気温の40度越えがマスコミを賑わしていました。62回目の終戦記念日を前にして歴史的大敗を喫した自民党が、それまでのファッショ的な国際的孤立路線をとりあえず葬って、自信喪失状態で靖国参拝で更なる批判を浴びないよう自粛している時でした・・・・。

職場の我がPCが突然起動しなくなってしまったのです。パソコンまで熱中症か?!

久しぶりにチェックディスクを掛けようと思い、必要な指定を行い再起動の指示を出しました。ところが、待てど暮らせど画面は真っ黒なまま。左上隅に空しくカーソルが点滅し続けるばかりです。

こうした事態に備えてFD起動ディスクのCDROM版は作ってありましたから、早速それを使って回復コンソールにてチェックディスクを行いました。しかしそれでも起動しません。

そこでやむなく半年前に行ったイメージバックアップデータをリストアすることにしたのです。

以下にその記録をまとめておき、今後の自他共の参考に供したいと思います。

この続きを読む

Microsoft Update の大きな弊害

直近の MicrosoftUpdate で日本語入力システムにかかるUpdateがありました

Microsoft Updateにおいて日本語関連のUpdate があると必ず、そのInstall後には、標準の日本簿入力システムがマイクロソフト社の<性能の悪い>それに強制的に、有無を言わさず変更されてしまいます。

私はM社の製品よりも遙かに性能の良いATOKを使用しているため、その都度、標準の日本語入力システムをATOKに戻さなければなりません。

いつもいつも、自分本位の自己中心的な発想しかもたないM社は、Vistaの検索ツールにおいても、Google社等の他社のそれを排他的に排除する手法をとり、裁判沙汰になって和解したそうですが、Windows95以来、常に常にM社は自社のアプリケーションをユーザーに強制し、他社のものを出来るだけ使いにくいようにしてきました。

その最たるものはWordにおける日本語入力システムです。これは多くの場合M社のそれが優先的に扱われ、オプション変更や Microsoft Update によって、常にATOKを排除しようとします。

これ程ユーザーを小馬鹿にしたやり方はないでしょうし、これほど独占の弊害を、確信犯として実行する会社も珍しいのではないでしょうか!

常に怒り心頭に発するMicrosoft Updateであり、しかもセキュリティ上このUpdateを使わざるを得ないが故に、二重の怒りを感じます。

マイクロソフト社よ、いい加減にせよ!

そして一日も早くオープンソースのOSが主流となることを切望します!

jQuery (ver 1.2.1) の object 拡張方法をやっと解明!

このエントリイの改訂履歴
  • 2007/08/15:初稿
  • 2009/3/6:改めて読んでみて懐かしくなり、部分的に追記/改訂

それは10日夜からの足かけ5日間の苦悩の末に突如開けた!

jQueryの使い方は簡単ですが、そのコードを理解することは私にとっては大変難しいものでした。そうなのです。過去の4日間、「どうしてあのようにしてobjectを拡張できるのだろうか?」───とずっと悶々としてきました。

それが極めて初歩的な方法ですが、jQueryのコードの中で分かりにくい箇所にalert関数を追加し、その進行過程を取りだし分析する、と言う方法で解明することが出来ました。嬉しい!!

ここでは解明できた、jQuery におけるobjectそのものの拡張方法について綴ってみようと思います。

まず苦闘してきたコードの該当箇所を抽出しておきます

それは次の2つのコードです。jQuery オブジェクト自身を拡張している箇所です。最初は、prototypeプロパティにおいて引数を操作し、かつそれをjQuery.extendメソッドに複写しています。

次にこの複写されたjQuery.extendメソッドを、無名オブジェクトつまり{name1:func1,name2:func2,……}をたった一つの引数として定義し、実行しています。

ここで難解だったのは、定義ではなく実行の場合の jQuery.extend() メソッドが、たった 1 つの引数しかとらない場合です。頻繁に登場する jQuery.extend() メソッドにおいて、その引数はたった 1 つのオブジェクトである場合が多く、他方、そのオブジェクトには、多数のキーと値をもつプロパティが定義されています。

さて、そのたった1つの引数を取る場合、while が効果的に働き、しかも jQuery.extend() メソッドのたった 1 つの引数であるオブジェクトの多数のプロパティが、そのキー名と一緒に target 配列に順番に代入されていることでした。( i がキー名であり prop[i] がプロパティの値 )

この時点ではまだ x++ と ++X の差異について極めて初歩的なことであるにも拘わらず認識していませんでした。その結果次の段のような疑問を持ってしまったのです。以下打ち消し線部分はx++の動作について誤った認識をしていた時点で書いてもので、明らかに内容が間違っていることを示しています。

引数オブジェクトの中のプロパティのキー名と値を arguments オブジェクトを利用して取りだしているわけで、どうしてこんなことが出来るのだろうか、ずっと頭を悩ましていました。

しかし、いくらコードを睨み付けて思案してみても、解明できるほどの知識はありません。

そこで alert を jquery.js のあちこちに挿入し、動く過程をチェックしてみました。

▲ToTop

そして分かったのです。arguments オブジェクトの独特の利用法が!

引数オブジェクトの中に定義されているプロパティを、次の部分のコードによって巧みに取りだしているということ、及びその取り出し方が理解できたのです。

それはこれまで遭遇したことのない arguments オブジェクトの使い方であり、極めて独創的に思えました。Javascript1.5 なり 1.6 なりで新たに定義され拡張されたargumentsの仕様なのかどうか、皆目知りませんが、こうした方法で引数オブジェクト内のプロパティを抽出できることは大変な驚きでした。

2009/3/6追記:上記の記述は今から振り返れば、いかにも拙い内容となっています。この時点ではこの程度しか知識がなかったのだなぁ・・・と感慨に耽ってしまいました。

for in ループによってオブジェクト内のプロパティを順番に取り出すこの方法は、prototype.js にも使われているありきたりのコードでした。

早速例題を作ってみました。

それは以下のような短いコードです。

上のコードを firebug でテストしてみた所、最初に arguments[0] がオブジェクトとして alert され、続いて obj の 5 つのプロパティのキー名と値、並びに x の値( 5回とも 1 でした )が順番に alert されました。

こうして存在しない 2 番目の引数( arguments[1] )を利用して、arguments[0] オブジェクト内のプロパティを取りだしていることが理解できました。

どうしてこのような動作が可能となっているのかはargumentsオブジェクトの仕様上の問題かな、と思いつつ釈然としないままに、一応jQueryのオブジェクト拡張方法を何とか理解したのでした。

コメントによる指摘を戴くまでは、頭からa++をインクリメントしてから代入すると決めてかかっていました。ポストインクリメントというらしいのですが(++aはプリインクリメントと呼ぶらしい)、これまでさんざん forループ内でi++を使ってきたにも拘わらず、プリインクリメントと勘違いして頭を悩ましてしまったのでした。 (☆-◎;)ガーン !

ネット接続が何もしないのに遮断されてしまう

こんなことは1994年以来起こったことがない!

パソコンを起動しネットサーフィンしていたら突然Webサイトの更新が出来なくなり、観たこともないダイアログがスクリーンのど真ん中に表示されました。

それは「ネットワークに繋がらないので再度ログインしています」みたいな内容でした。

私は nifty with FLetsを契約し、PPPoE接続で毎日ネット接続を行い、ネットで調べ物をしたり、ニュースを見たり、メールチェックをしています。当然パソコンを起動してから終了するまで、ネットには常時接続状態です。

さて、B-FLets 固有の接続は大嫌いで契約当初数日間使っただけで、接続形態の余りの不合理さに嫌気が指し、PPPoEに切り替えたのです。

光接続に切り替えたのは1年半程前ですが、その後昨日まではもちろんのこと、2000年から2006年春迄のADSL接続でも、接続した後に突然接続が遮断されるようなことは全くありませんでした。

それ以前のアナルグモデムによるダイアルアップ接続の6年間(1994年以来)においても、全く何もしないのに突然接続が遮断されることは皆無だったのです。

ところが今晩──2007年8月14日夜10時前後に、一端接続したネット接続が突然切れてしまう事態に見舞われたのです。余りの出来事に最初は何が何だか分かりませんでしたが、ネットワーク接続で設定できることを紙ベースの資料から調べ直しても、IPもDNSも自動接続としか説明されていないため、解決策が見いだせないため、念のために再起動してみました。

すると再起動直後は一端ネットに接続できるのですが、直ぐにまた遮断されてしまう事態が数回繰り返されました。

もしやnifty側かNTT東日本側にトラブル発生か、と思いましたが、ネットで調べようにも何時遮断されてしまうか分からない状態の中で、落ち着いて調査する訳にも行かず、かといって深夜の電話サポートなど契約してないし、今夜中にどうしてもやらねばならないことがあったため、覚悟を決めました。

▲ToTop

何度遮断されても調べきる!

この覚悟を決めて改めてniftyのWebサイトを調べてみました。普段殆ど訪れることのないサイトなので、そもそも接続に関する情報はどこにあるのか、これを探すのに一苦労です。niftyサイトはYahooやGoogleなどと異なり、頻繁に表情が変わります。これは大変迷惑な話で、毎日訪れるユーザーを優先し、時々訪問する人のことを余り考えていない設計思想がそうさせているのだと思います。

その点で私はniftyサイトが大嫌いで必要に迫られない限り訪れることがないのですが、背に腹は代えられず、何とか目的を達してネット接続、それもPPPoE接続について説明されている頁に辿り着きました。

しかし! 私にとって新しい情報は何もなく、結局は役立たずで終わりました。

念のために、トラブル情報や工事情報を調べてみましたが、niftyにもNTT東日本にも、それらしい記述は皆無でした。

問題は時間が解決してくれた

そうこうしている内に、突然の遮断がやって来ないまま既に40分近くが経過していることに気がつきました。現時点で接続は「いつものように」継続・維持されているのです。

結局、何が原因で突然のネット接続遮断が複数回に亘って発生したのか、皆目見当が付かないまま、現在に至っている次第です。

原因が特定できない限り、再発しても再起動を繰り返すしかないため、冷や冷やしながらパソコンに対峙してます(;^_^A アセ。

jQueryに全く歯が立たず!

prototype.js から jQuery へ

prototype.jsの学習すらままならないのに、jQuery.jsに手を出す自分を恥じるべきなのかも知れません。

しかし、prototype.jsの、いかにも重たそうなファイルサイズを考えるに付け、また、その利便性はわかるものの、使う上ではかなりの"熟練"が必要とされる使い勝手の「悪さ」を考慮するに付け、どうせならばもっと使いやすいツールが良いと思いjQuery に手を出してみました。

それは確かに大変使いやすそうです。$(何とか)で悉くコードが書けてしまうことは、prototype.jsにはない単純さ、つまり使いやすさとして理解できましたし、更に、prototype.js以上の機能(=要素の動的描画処理機能)を有しているのも魅力です。

しかもファイルサイズが極めて小さい圧縮版まで用意されています。

これでどうしてprototype.jsに拘る必要があろうか?──と思わせる魅力がjQuery には備わっていると思います。

jQuery の解読にチャレンジし、そして挫折した

jQueryオブジェクトに様々なプロパティとメソッドを追加して、ホームページの各要素にアクセスし、それを動的に処理する──この考え方はYahooUIにも取り入れられていますが──方法は、使い勝手の良さをもたらす点で歓迎されるべきでしょう。

しかし、jQueryと格闘すること4日間。独特のjQuetyオブジェクトの拡張方法が、どうしても理解できません。

使うだけならば容易に使えそうな jQuery ですが、そのコードを理解しようとすると、今の私のJavascriptへの理解度では歯が立たないことがこの4日間で分かりました。

解決の糸口があるのではないか、と思い、O'Reilly社の『初めてのJavaScript』を読んでみましたが、糸口の片鱗すらありませんでした。

明後日には待望している『Javascript第5版』(日本語版)がAMAZONから届くはずですが、こちらを読めばjQuery を解読できるのかどうか、淡い期待を持っています。

jQuery の解説書は英語版ではあるようですが7000円以上する高価なもので、しかも英語と来てはとても簡単には読めそうもありません。

日本語のサイトをあれこれ検索してみましたが、jQuery をどう使うか、に関するサイトはそれなりに見つかりましたが、jQuery を解析し、どうしてそのように動くのか説明しているサイトは皆無でした。

そんな中で、微力な私の能力では、jQueryを解読するなんて、夢のまた夢なのかもしれません。嗚呼!悲しき哉!我が非力!

Ultra Explorer を使ってHD内を整理した

何故Explorerでは不十分なのか

パソコンを使い続けるとHD内のファイルは増え続けます。HDを増設したとしても、その増設量が大きい程に巨大ファイルを保存しがちで、結局思ったよりも早い時期にHDは一杯になってしまいます。

私の場合、PC内蔵HDが120GB、外付けHDが120GB+300GBで合計540GBのHD容量があるのですが、愈々パンク寸前になっています。5年、10年前に較べればHDの容量当たり単価が激安となったので増設はたやすいし、一方Internet通信速度は高速化しているため、動画の流通量が激増し、結局のところ動画をガンガン保存しているために、HDが悲鳴を上げているのです。

さて、こうなると更に外付けHDを増設するか、あるいはDVDなどにHD内の巨大ファイルを移動してHD容量にゆとりを持たせる必要が生じます。前者の方法はたやすい方法ですが、その方法を選択する限り増設HDは何台あっても足りません。容量があればあるだけ、人の習性としてHDに保存してしまうからです。やはり殆どアクセスしない巨大ファイルは消去するか、外部の静的な記憶媒体に移動するのが賢明だと思います。

そこで、問題となるのがExplorerです。巨大ファイルの移動は、FireFileCopy、FastCopyなどの専用ツールを使えば時間短縮が図れますが、操作時間を短縮するツールは、HDの膨大な巨大ファイルの整理には向きません。

移動するまえにまず、どのフォルダが巨大なのか、それを知る必要があるからです。そしてExploreではフォルダのプロパティを開かない限り、そのサイズを知り得ません。フォルダサイズがリストペインに表示されず、いちいちプロパティを開かないとフォルダのサイズが分からない、Explorerの仕様が大きなネックとなります。

そこでフォルダサイズをリアルタイムに表示するファイラーが必要となる。

この要求に応えてくれるファイラーは、知る限り Ultra Explorer がベストです。

このファイラーは『PCJapan2007年8月号』の紹介で初めてその存在を知ったもので、まだ使い始めて日は浅いのですが、フォルダツリーの他に2つのリストペインを開くことが出来る点が、これまで数年間愛用してきたTabFolder同等で嬉しいし、何よりもフォルダサイズをリアルタイムで表示できる点が気に入りました。

このUltra Explorerでフォルダサイズを表示させて大きい順にソートさせ、大きなフォルダから当面使わないファイルをDVD-RAMに移動させることで、12GB程HDを空けたのでした。

関連Webサイトリストに掲示した2つの紹介サイトで、Ultra Explorerの特徴は良く述べられているので、興味を抱かれた方はご覧ください。

Excelの入力規則指定をindirect関数を使って行う

入力規則の原始的な方法

それは同一シート内のリストを、当該範囲(例:AA21:AY100等)又は当該範囲に名付けた固有の範囲名で指定して行います。

しかし、そのリストが同一シート内にある限り、入力元リストが簡単に削除・追加・編集が可能となってしまうため、折角入力規則を使って正確な情報の入力を行おうと思っても、元データが容易に編集されてしまう危険性を有してます。

そこで何とか別シート内にリストを作成して、それを別のシートから入力規則として利用したいと思うことは当然の思いですし、必然の要求だと思います。そうすれば入力元データシートを隠蔽してしまうなどによって、入力者による元データの勝手な加工を一定程度防ぐことも容易となります。

故に別シートのリストを入力規則の元データとする方法は沢山のサイトで紹介されています。当該リスト範囲に固有の範囲名を指定し、当該範囲名を入力規則の該当箇所に入力することによって、目的を達する方法です。

個別に固有範囲名を指定するのではなく、範囲名自体を関数で変化するようにした方が自由度が高まる

範囲名をその都度指定して入力規則を作成することはたやすいことですが、その範囲名をある規則に基づく関数で指定する方法があれば、入力規則の設定が非常にフレキシブルになります。

実際、業務でそうした必要が生じたため、昨日一日苦心して関数で範囲名を可変指定する方法を模索しました。

既に触れたように、別シートのリストを入力規則元データとする方法は多くのサイトで紹介されていますが、色々探したのですが、範囲名自体をフレキシブルに変化させる方法を紹介しているサイトには、ついに巡り会えませんでした。

そこでやむなく自力で検討してみました。以下は、その手法をまとめたものです。

--------------------------------------------------------

範囲名自体を可変にする必要性は多いはずです

例えば、次のような例において入力規則を設定することを考えます。

Aの範疇は地域区分で、Bの範疇はそれぞれの地域内に存在する店舗だとします。つまり、Bの範疇には全地域の全店舗データとなります。

このとき、地域を選択したらその地域内に存在する店舗だけをリストアップする入力規則を作りたい、とします。

まず、当然ながら地域選択も、入力規則を適用してコンボボックスから選択させます。このリストは地域名リストデータに「地域名」などの範囲名を指定することにより、他シートにおいて入力規則として引用できます。

問題はAの範疇から或る地域を選択した場合において、全地域の全店舗でなく、当該地域内の店舗だけをBの範疇からリストアップし、他のシートからそれを引用元として入力規則コンボボックスから引用するにはどうしたら良いか、です。

入力行においてAの範疇自体がコンボボックスから選択される故に、その列の値は入力されるまでは確定できません。この入力されるまでは確定できない地域名を頼りに、Bの範疇から当該地域に属する店舗だけのリストを抽出し、入力規則の入力元データとするには、前もって引用する範囲名を分かっている必要がある通常の範囲名指定を利用するだけでは解決出来ません。Aの範疇から選択される地域名に連動して、自動的に当該地域に存する店舗だけをリストアップし、それを入力元とする入力規則を設定しなければなりません。

それはindirect関数を利用して可能となった

Bの範疇は、属する地域毎にソートし地域毎の範囲名を付けておきます。

次に、Aの範疇から或る地域名を、設定した入力規則によって選択入力した際に、当該地域に対応する、Bの範疇に名付けた地域毎の範囲名を自動的に出力する列を作ります。当然この列は列幅ゼロにして見えないようにした方が賢明です。

次に、この範囲名出力値を引数とするindirect関数(indirect(地域範囲名))を使って入力規則を作成します。

こうして作成された入力規則が設定されている行を、これから入力しようとする全行に複写します。そうすることによって作成した入力規則自体を、これから入力しようとする各行に複写します。すると、あな不思議!───なんと indirect関数の引数自体が各行毎にフレキシブルに変化するのです。

丁度、相対指定した関数の引数は、複写によって相対指定範囲を自動的に変化するように、入力規則に設定したindirect関数の引数も、その参照先を相対指定しておけば、行が変われば自動的に変化するのです。このことは新たな発見とも言えるべきものでした!

以上で、フレキシブルに変化する地域名入力値に応じて、当該地域だけに存在する店舗リストだけを入力元とする入力規則が完成するのです。

Javascript 第5版 発売迫る!

その日本語版は8月11日にO'Reilly社から刊行されるようです。

当社サイトは配送料300円を徴収するため、送料無料のネット書店から購入した方が賢明ですが、今から心待ちにしています。

それを購入して更にJavascript学習を前に進めたいのです。

prototype.jsの学習が滞っている今、改めてJavascriptを全体として根本から学習することについては、その必要性を痛感すると同時にに、そこから得られる成果に期待をしているのです。

prototype.jsの学習の滞りを打開するには本質的な説明に接することが必要だと期待している訳です。

 90%近いシェアを握っているインターネットエクスプローラの描画エンジンを利用したタブbrowser。沢山のタブbrowserがあるが、多機能、カスタマイズフリー、スクリプト利用等で一日の長がある。Gekkoエンジンへの対応も行われ、IEからの自立独立の方向に向かっている。2005年7月にはIE7が登場する見通しの中で、今後の発展が望まれる。

 多様なCSS作成支援機能を備えた、タグ入力式 HTML&CSS作成支援エディタ。スキンデザインもすっきりしている。テキストエディター上で作成するよりも確実で安全にタグ打ちが出来る。
文字コードを選べないのが欠点。

 StyleNote同様のタグ入力式 HTML&CSS 作成支援エディタ。長年使用してきたが現在StyleNoteに乗り換えつつある。

 クリップボード履歴情報を活用する為のソフト。画像まで履歴を取ってくれるのが嬉しい。このソフトを使わない日は絶対ない程に重宝し、愛用している。

 起動中のウィンドウの「コピーできない」説明文などの文字列を取得し、コピー可能な文字データにするツール。何かと便利。

 ストリーミングデータを保存することが出来るソフト。動画利用には不可欠なソフトだ。

 無料ながらレイヤー機能を有し、スクリプトによる拡張も可能な、sleipnir作者が提供している優れもの画像編集ソフト。

 画面キャプチャソフトと言えばこれに勝るものなし、ではないだろうか? 様々な取得方法を有しており、ブログ作成にもHomepage作成に不可欠だ。Jtrimと並んでWoodyBellsの作品。

 複数ファイルの同時編集は出来ないが、透過pngも作れる画像編集ソフト。
(以下当該サイトから抜粋)初心者にも簡単に操作が出来るフォトレタッチソフトです。多くの加工機能で画像に様々な効果を与えることができます。非常に軽快に動作するため、ストレスなく操作できます。

 Animation Gifファイルを作れる無料ソフト。

 キャプチャソフト。画面内にサイト全体が表示しきれない場合でも、これを使えば全体をキャプチャすることが出来る。

 画像処理。画像のフォーマット変換のみならず、色数やサイズ、圧縮率の変更まで一括処理できてしまう『BatchGOO!』は、大量の画像をまとめて処理したいときに大変便利なソフト。BMP, TIFF, JPEG, PCX, PNG の相互変換をはじめ、色数・サイズ・解像度の統一、JPEG圧縮率の調節など、ホームページ用の画像や携帯電話用の壁紙を揃えるのに抜群の相性を見せる。(Vectorの当該ソフト紹介頁より抜粋引用)

 名前から直ぐに想像が付くように画像のサイズを測るためのソフトだ。Homepage作成には欠かせない。2カラム、3カラムのレイアウトを行う場合に大変重宝する。

 ランチャーソフトは沢山あるが、中でもこれが一押しだ。2年以上使ってきたがその操作性には毎日満足している。これを使い始めてからデスクトップには一切のアイコンを表示することをやめてしまった。

 AdobeReader7によって、起動時間が長すぎるという長年のユーザーの不満はある程度解消した。そのためこの高速化ソフトは存在価値が低下してしまったかもしれない。AdobeReader6迄はこのソフトによる起動高速化で恩恵を受けてきた。

 IE専用が難点だが、様々なサイト内でIDやパスワードを入力するのに重宝するソフト。コンテキストメニューから簡単に起動できるのがGood! sleipnir等のIEの描画エンジンを利用しているブラウザでも使える。

 利用しているパソコンの諸元値を取得するには、このソフトがベストだ。インストール済みソフトの一覧が取得できるのも嬉しい。

 WMPは機能が豊富なだけ重い。RealPlayerも同様だ。そこでMedia Player Classicを使いたい。動作が軽快なだけではなく、対応しているファイル形式もすこぶる多く、これひとつで、wmvもrmも表示できてしまうのだから凄い! 数多あるMedia Playerの王様と言えるだろう。

 自宅でPCを起動しているときには必ず起動しているメディアプレーヤー。何かと過剰なWinampよりも、起動も速くスキンはシンプルだ。

 DivX, Xvid, Mov, Vob, Mpeg, Mpeg4, avi, wmv, dv, などの動画をDVD-Video形式に変換できるフリーソフト。クリックするとDVD関連ソフト紹介サイト=「DVDなToolたち」なるHomepageが開きます。

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。