ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

じゃ、ブログでもベリカードを発行してもいいだろう!ということで、発行してみる

2005-12-25 02:45:45 | Weblog

 放送局は、前のブログで書いたとおり、ベリカードを発行してます。なら、ブログだって、見てくれた人に、見てくれて、ありがとー!というベリカードを発行するべきですよね。
 なんたって、放送とネットは融合してるんですから。放送でやって、ネットでしないのは不自然!?

 というわけで、無理やりな理屈??という気もしなくもないのですが、ベリカードを実験的に発行してみたいと思います。

 ブログでベリカード、なずけてブログベリ(ウィリアムのいたずらが勝手に命名しました)。
。。。ということは、ひょっとしてこれが流行れば、今日、あなたがやる、このブログベリが、世界で始めてのブログベリかもしんない!?おお、ぜひとも手に入れないとね!?

 なお、あったりまえですが、もちろん、無料です。

(書きそびれましたが、ベリカードは基本的に無料です。ただし、返信用の切手代として、国際返信用切手券(IRC)を2枚程度入れておくのがエチケットとされています(というか、入れないと送ってこない放送局もある)。ネットなので、切手代はいらないので、当然無料です)。




■■ ブログでベリカードのしくみ

 後述する画像の番号、あるいはクリックして見える番号を、報告フォームに入力して送ると、その画像を表示するときにとっておいたIPアドレスと、報告フォームのIPアドレスを比較し、同じであれば、みてくれたものと判断し、ベリカードに相当するものを表示します。




■■ やりかた
 やりかたは、以下のとおりです。

(1)NO以下の数字を控えてください。


 以下の画像を見てください



ID:bun051225 NO:

のあとに、数字が書いてあると思います。そのNO以下の数字を控えてください。

 目の不自由な方などで、上記の画像が見えない人は、ここをクリックしてください。

 IDとNOが表示されますので、NOの数字を控えてください。

(画像が見える人はやる必要はありません。画像と、クリックした場合では、Noの値が違います。どちらを報告してくださっても結構です)


(2)報告してください


 ここ(http://www.geocities.jp/xmldtp/bv_bun051225.htm)をクリックしてください。

 報告フォームが現れますので、そのフォームから、(1)で控えた番号を入力してください。

 報告者は入れなくても結構ですが、将来、予定しているアワードを行う場合には、必要ですので、それに参加してみたいかもしれないと思う人は、入れてください。
 なお、アワードの場合は、(現在、ベリカードを3箇所で発行する予定なのですが、3箇所)すべて、同じ名前にしていただく必要があります。もちろん、本名は入れないでください。ハンドル名や偽名を入れてください。

 今回は、感想とかは書けませんけど、仕組み的には、感想を書いて、発行者だけに見えるようにすることもできます。

(3)確認後、ベリカードを発行します


  報告フォームに番号を入れたら、「報告!」ボタンをクリックしてください。

(1)のアクセスしたIPと、(2)のアクセスしたIPを確認し、同じIPであれば、見てくれたものとして、ベリカード(に相当するもの)を発行します。
 

■■ 注意点
●入力してもらう画像のIDと、ベリカードに書かれているベリカード番号はちがいます。
 画像のIDは見てくれた人順、ベリカード番号は、そのうち、報告してくれた人を順に番号を振っています。したがって、一致することもありますが、一致しないことも、当然あります(見ても、報告しない人がいるから)

●IPで確認しているため、違うパソコンで行ったりすると、確認できません。

 また、時間がたつと(DHCPの場合)IPが変わる可能性もありますので、画像をみたパソコン上で、すぐに、受信報告をしてください。

●もし、うまくいかなくても、今、実験中なので、怒らないでね(^^;)



 
■■ 今後の予定
●現在、カードを(ここをあわせて)2箇所で発行しています。
 もう1箇所、あとで作成し、合計3箇所で、ベリカードを発行する予定です
 (微妙にベリカードは違います)

●このベリカードのしくみは、このブログや、ここに紹介していく予定です。

●現在CGI(perl版)ですが、将来PHP版をつくり、ここへ公開する予定です
 もちろん、フリーで使えるカタチにする予定です。

●3箇所訪れてくれた人に、表彰状を発行するアワードをやるかも?しれません。



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

放送局は、決まった形式のレポートを送ると、ベリカードを発行してくれるんです。実は。

2005-12-24 23:17:23 | Weblog

 唐突ですが、今年一番の話題は、放送とネットの融合。
 ということで、放送の話なのですが。。。

 放送局って、受信報告書っていうのを送ると、ベリカードというのを発行してくれます。

 つまり、放送局に、「みたよ!」っていうレポートを送ると(形式はある程度ある)、その放送局が、「おお、ほんとにみたね」と、確認して(ベリフィケーションして)、カードを送ってくれます。その確認のカードが(ベリフィケーションカードを略して)「ベリカード」と呼ばれます。

 そういう、放送局の放送を聞いて、ベリカードを集める(って、ベリカードを集めるのが目的ではないが、事実上、そうだ)趣味があるくらいです。BCLといいます。

 海外の放送局から、国内の放送局、ミニFM局まで、いろんな放送局が、ベリカードをだしてます。
 じゃあ、ここでは、いろんな放送局が出しているよ!という例で、ヨーロッパの放送局と、ミニFM局を。。

こんなかんじ


 左下の十字架のが、ラジオバチカン(カトリック法王のいる、バチカン市だから、ベリカードは十字架なのね)、その上がドイツのドイチェ・ベレ、これらは、国際放送局(短波)。

 その右横は、FM多摩とむさしのFM,これは、どちらもミニFM局。
 なお、下に引いているのは、FM多摩とむさしのFMの番組表です。
(相当昔のなので、今の番組とは、内容変わってるかも。。)




 はい。「はあ??」っていう感じですよね。。
 実は、この「放送局はベリカードを発行している」という事実が、今まで、このブログで書いてきている企画に、ひじょーに重要な、前提知識となるので、書いておきました。

 なお、この企画は、本家でもやる予定で、本家は、違うベリカードを紹介する予定です。




 もうひとつ、知っておいて欲しい事実があります。

 アマチュア無線というのがあります。
 それでは、QSLカードというのを、発行します。
 交信したことを証明するもので、ベリカードみたいなもんです。

 で、そのQSLカードをある決まりごとにあつめると、(たとえば、各都道府県のアマチュア無線局の人と交信して、QSLカードをあつめるなど)表彰してくれる(表彰状?をくれる)というのがあります。
 これを、「アワード」といいます。

 「ベリカード」と、「アワード」、この2つの言葉が、重要になります。



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Perlで文字列置換でのおバカな間違いとか、URLのデコードとか、POSTのとり方とか

2005-12-24 19:50:37 | JavaとWeb

PerlをつかってCGIを書いていて、気がついたことのメモ

■■ 文字列置換~s//の注意点
●その1
文字列置換、 $val =~s/検索文字列/置換文字列/;などとかかれるが、このとき、=との間に空白を入れるときは、

$val =~ s/検索文字列/置換文字列/;

のように=~のあとにいれる。

$val = ~s/検索文字列/置換文字列/;

のように、=のあとに入れてしまうと、置換されないばかりか、エラーにもならない。




●その2
 たとえば、PHPの<=?val?>のところを、Perlで置換しようとして、
 $val = ~s/<=?val?>/$val/;
 などとやると、置換しないので注意。

 理由は、?は正規表現において、意味のあるもじだから。

 $key = '<\?=val\?>';
 $val = ~s/$key/$val/;

 とか書くとできる(もちろん、これ以外の書き方もあるけど)
 ここで、
 $key = "<\?=val\?>";
 とすると、\?を解釈してしまうので、この場合も、一致しなくなる。




■■ URLのデコード
 URLのデコードで、
@qs = split(/&/,$qs);
foreach $i (0 .. $#qs) 
{
	($name, $value) = split(/=/,$qs[$i],2);
	$qs{$name} = $value;
}

と書くと、%81%51のように、漢字のところが16進ではいってきてしまうので、URLをデコードしないといけない。やり方は、ここ
http://www.ichikoro.com/webp/bk/00049.html

結果として、こんなかんじ
@qs = split(/&/,$qs);
foreach $i (0 .. $#qs) 
{
	($name, $value) = split(/=/,$qs[$i],2);
	$value =~ tr/+/ /;    #“+”を空白
        $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;   # %XX変換
	$qs{$name} = $value;
}





■■ フォームのメソッドで、POSTとGET両方OKにする

 ここにある
http://www.futomi.com/lecture/form/index.html
 それをまとめると、こんなかんじ
if ( $ENV{'REQUEST_METHOD'} eq "POST" )
{
	read (STDIN, $qs, $ENV{'CONTENT_LENGTH'});
}
else
{
	$qs = $ENV{'QUERY_STRING'};
}

$qsの中に入ってくる。




■■ そのほか、参考になったページ

とほほのperl入門 http://www.tohoho-web.com/wwwperl.htm

 それと、調べているうちに、気になった本。
AJAX Webアプリケーション アイデア ブック


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

サンタ追跡プログラムにみるポータルの翻訳力の差(livedoorがいい!yahooは?)

2005-12-24 09:55:23 | Weblog

 そうそう、YAHOO,Livedoor、Exciteの各ポータルサイトに、翻訳っていうのがあるけど、それの翻訳力って、そーとー差があるのよね。
 Livedoorは、まあ、読めるんだけど、YAHOOは???となってしまうことが、結構ある。

 で、今日は、その翻訳力の差を、サンタ追跡プログラムのトラブルシューティングの英語で見てみよう!。




 サンタ追跡プログラムの日本語サイトのトラブルシューティングのはじまりは、こんなかんじ。

問題をこの視力かサンタカムビデオを見ることを有すればあなたのウェブブラウザを新たになる試み。


わるいけど。。。意味不明??

 で、英文をみてみた

If you have problems viewing this sight or the Santa Cam videos, try refreshing your web browser.


なーんだ、こういっているのね(^^)
ウィリアムのいたずら訳

 もし、あなたが、このサイト、あるいはサンタカムビデオを見るのに問題があったなら、あなたのウェブブラウザを、リフレッシュしてみよう。





おお、じゃあ、それぞれのポータルの翻訳機にかけたら??

YAHOOの翻訳(http://honyaku.yahoo.co.jp/)に、上記の「英文」をかけると


あなたにはこの視力またはサンタCamビデオを見ている問題があるならば、あなたのウェブブラウザをよみがえらせてみてください。


うーんと???(^^;)




つぎ、Livedoorの翻訳(http://translate.livedoor.com/)に、上記の「英文」をかけると

この光景あるいはサンタ・カム・ビデオを見る問題を持っている場合は、あなたのウェブ・ブラウザをリフレッシュしてみてください。


 そうそう、Livedoorは、翻訳、結構よくって、だいたい意味通じるんだよね。

 ここで、おかしいのは、sightの訳だけ、(そのままサイトとすればいいのを、光景としてしまった)でも、まあ、これくらいなら、十分OK、意味は通じるといえるでしょう。




つぎ、Exciteの翻訳(http://www.excite.co.jp/world/)に、上記の「英文」をかけると


この光景を見ることにおける問題かサンタCamビデオがありましたら、ウェブブラウザをリフレッシュしてみてください。


 そもそも、構文が間違ってる。

 「問題」は、サイト(ここでは、光景)と、サンタCamビデオにかかる。

 この文章のとおりだったら、サンタCamビデオがある人はすべて、ブラウザをリフレッシュしないといけない(英文で言っているのは、「問題がある人」だけ。つまり、ほとんどの人はしなくていい)。




 っていう具合で、Livedoorと、そのほかでは、大きな差があるんですよ。
 翻訳は、Livedoorを使ったほうが、無難かもね。。

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Gooのブログレンジャーで、検索すると、ある単語に対する注目ブロガーっていうのが出るけど。。

2005-12-23 18:15:51 | Weblog

 Gooラボで、「次世代型ブログ検索実験」として、「BlogRanger」というのをやっているらしい。やっているのは、ここBlogRanger
で、それによると、
4人のレンジャーが多角的な視点から検索結果を整理・ランキングし、検索作業を支援します。
だそうで、さらに下の図をみると

トピックで選ぶのところに、黄色いレンジャーが、
ブロガ-で選ぶのところに、青いレンジャーが、
リンク先で選ぶのところに、ピンクのレンジャーが、
感想で選ぶのところに、赤いレンジャーが、

います。。

「BlogRanger」のレンジャーって、赤レンジャーとか、青レンジャーのレンジャーね(^^)




 で、ここで、検索したい語をいれて、「ブロガーで選ぶ」をクリックすると、「キーワードに関連する注目ブロガー」っていうのがでてくる。

 そこで、「小笠原亜里沙」といれると、このブログが一番上に出る!当然!!

 それはいいんだけど。。
 
「JUint」といれてみよう。。

 うん、このブログが、一番上にでちゃうんですけど(^^;)
 全然、取り上げてないのに。。
 まずいです。
 一人勉強会をどんどん、すすめないといけません。。。

 ちなみに、PHPUnitでも、このブログ

 アジャイルだと、このブログは3番目、正規化だと2番目

 うーん、そんなに注目されても、期待はずれかもしれません(^^;)


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

テクノラティジャパンの、ブログの「タグ」検索サービス、タグをつけてみる。。

2005-12-23 11:18:53 | JavaとWeb

ここのニュースによると、テクノラティジャパン(という会社)が、ブログの「タグ」検索サービスを開始したそうな。

 で、そのタグのつけ方は
ブログ記事にタグをつけよう!特集
http://syndication.jp/contents/tags/

にあるそうなので、それをみてみる。

 ようするに、
(1)<a href="タグ名に関するお好きなURL" rel="tag">タグ名</a>
   で、記事にリンクをつける(いつもどおり、 <> は、本当は半角)
(2)pingを送る
   送り先は、ここによると
   http://rpc.technorati.jp/rpc/ping

 とのことだ。。。でも、したにごちゃごちゃ、いろんなことが書いてある。。。

 よくわかってないけど、まあ、とにかくやってみよう。




■■ PINGの設定
gooブログには、設定できるところがある。
ログインすると、編集メニューに
設定メニューのなかに、「ブログ情報」っていうのがあって、そこを開くと、一番下に、
「更新情報の送信先」ってある。ここに、http://rpc.technorati.jp/rpc/pingを追加しろということかなあ。。

 追加して、「変更する」をくりっくしたど(^^)

■■ 記事の中に、検索対象のタグを書く

 うーんと、こういうので、いいのかなあ。
平野 麻樹子
 ちなみに、上の平野 麻樹子さんのタグは、こう書いてある。
<A HREF="http://www.sarahproject.com/10.html" rel="tag">平野 麻樹子</A>

(< > は本当は半角)

で、更新すると、平野麻樹子さんの検索ができるのかなあ??




 こんで、いいのかなあ。。間違ってたら、このブログに、書いて、訂正しますね。。。

 あっ!!

■■ 平野さんや、小笠原亜里沙さんのネタで、きてしまった人へ。
 これは、例であげただけで、くわしいお話は、本家のこのページへどうぞ。




 でも、こうすると、リンクのしかたを、いつもと変えないといけませんよね。
 いつもは、「ここ」とか書いてリンクしてたけど、今度は

 ここ小笠原 亜里沙さん

 と書く形になる。なるほどお。。

P.S かな漢でいつも思うんだけど、平野さんは、漢字が出てこないんだけど、小笠原亜里沙さんは、登録してないんだけど、一発ででるんだよね。「ありさ」だけでは、出てこない。
 かな漢の辞書作ってる人って、声優好き??


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

「悪魔に心を売っても納期を守る」って、納期後に来た仕事は?

2005-12-22 14:28:00 | Weblog

納期について、こんな記事がありますな。

悪魔に心を売っても納期を守る! 裏技術
http://jibun.atmarkit.co.jp/lcareer01/rensai/career21/data21.html


 で、そこを見ると、納期を守る方法として、結局

・仕様を変える
 要求仕様自体を変えることもあるし(機能削減、スペックダウンなど)
 詳細設計レベル、作り方を変える(全部、自動化しないでコーディングする)
 ときもある。

・段階的リリース
 (正常系だけ先にテストしてリリースも、結局、正常系だけの段階リリースということに
  いえなくもないと考えると、ここにまとめられる)

・納期を変える
 根回しなど

・労働時間などを変える
 人海戦術など

・ごまかす

なんていうふうにまとまられますな。。




 ただ、「そしてこうなった」っていうとことは、かなり疑問。
 そうなるケースもあるけど、ならないケースもある。
 たとえば、


開発スピードを上げるため、チーム全員でソースのべた書き。後のメンテが大変になるのは分かっていたが……。


 に関しては、べた書きのほうが、いいことは、結構あります。

 というか、自動化する能力がないのに、自動化自動化って言ってるんだったら、べた書きのほうが早いし、保守は「はるかに!」楽です。
 ウィリアムのいたずらは、自動化担当だけど、べた書きすることも、ひじょーに多くありますよ。
 むしろ、その判断基準と判断タイミングが重要なんだけど、あたりまえながら、こんなただの記事には、そこまでは書いてくれない。

 下手な人間が自動化すると、自動化したソースコードが読めないくらい、ひどいものになります。
 そのソースコード内に、バグが出ると、目も当てられませんよ。

 それと、

設備の仕様が決まっていないうちに先行発注。なるべく影響が出ない部分から製作に入り、無理やり納期に間に合わせる。


 これは、ソフトの世界では、ふつうにやります。というか、今もその作業です。
 で、その回答として

問題ない場合もあるが、大きな仕様変更で先行製作が無駄になり、製作費が予算オーバーすることもある。

 となっていますが、これは、ハードかつ正社員を使うケースで、ソフトで、フリーの人間を使う場合、ありえないほど極端に給料は安いので、(時給は同じだが、生産性が、10倍くらいちがうのだ。結局、10分の1の給料っていう結果になる。そこまで行かないけど、半額ぐらいには、なってしまう)一般的に、こうやって開発しています。

 といって、どうやって、開発するかについては、今度、浅田 真央様のフィギアスケートと、スルツカヤさんが、真央様・ミキティに対して語った話??と交えて、説明する予定だが
。。説明する時間がなかったりする。




 っていうわけで、たんに、面白い読み物って言うか、落語としては、面白いけど、
 肝心の、どうやって、かわすのかについては、詳しく書いてないです。
 まあ、そういうことは、このブログで書くネタなんだけどね。

 ただ、仕様を変えるか、段階的リリースに落ち着くのは、普通の判断で、そういう風に、情報処理試験もなってますな(午後1の回答の常套手段)。
 先行開発によって帳尻を合わせる、ウィリアムのいたずらなどが普通に使う方法は、あんまり、まだ、知れていないと思う。というか、それを知らせるためには、ちょっと、TDDやユニットテスト流派と争うところがあるので、世間的には広められないんだとおもう。

 いまのご時勢は、TDDやユニットテスト流派が主流なんで。

 まあ、こういうブログでこっそり書くのはOKだろうけど。。
(ウィリアムのいたずらが、コンピューター業界に、そんなに影響あるとは思えないので)




 ただ、この記事で

 「仕事が始まった時点で納期達成が絶望的」(図1)ってかなりむちゃな話ですが


いや、それって、結構いいケースじゃないですか??

ウィリアムのいたずらの場合、

   「仕事の話が来た時点で、納品日は過ぎている」

 っていうのが、今まで、フリーになってから、やってきた仕事の4分の1くらいじゃないかなあ。。たぶん。。そして半分は絶望的。おいしいしごとは、4分の1くらい(ふつうにやれば、納期は間に合うのは。。それでも、一般的には、正社員の人に出したら、絶対間に合わない納期&金額なんだけどね。だから、フリーを使うのよ。)

 で、そういう状態だから、お客さんの目の前で、コーディング、テストして作っていくっていう感じの仕事も、あったよ(すーっと見張られてるわけよ。怒られて ^^;)!

 うーん、そーいう意味だと、このアンケート、本当の裏技(つーか、ウィリアムのいたずら的には、それが正等なんだけど)的な話は、かいてないよね。。
 (仕様は、できそうなものを逆提案するのが基本。情報を収集して、要素技術の山を張る。インターフェースを動かさないためのプロトタイプ。結合は自動化するとかの話)

 え、それは、お前がこのブログに書けって?

 うん、ネタが、ないとき、すこしづつね。。。

(ちなみに、このブログ中の斜体は、上記記事からの引用です)



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ファイルと文字列操作、現在時刻と、テンポラリファイル作成のまとめ(perl編)

2005-12-22 09:45:58 | JavaとWeb

 前のブログ(これ)の企画もので、使いそうな、ファイルと文字列操作について、CGI版(Perl版)をまとめたもんです。

 自分に対するメモとして書いているので、わかりにくいかも




■■ファイル
 オープン: open(FILEHANDLE,下に示した指定とファイル名)
   リード指定 < または指定しない
   ライト指定 >
   アペンド指定 >>
   RW指定  さきに+をつける(例 +>)
 クローズ : close ( FILEHANDLE ) ;
 ロック  : flock (ファイルハンドル, 操作モード);
     操作モード、1:リード、2:ライト、8:解除
 リワインド: seek(ファイルハンドル,0,0)
      (seek(ファイルハンドル,位置,起点) )

 リード(一気読みしたいとき):read(FILEHANDLE,変数,長さ)
変更: rename(現在のファイル名,新しいファイル名);
 出力: print FILEHANDLE 出力データ ;

 ファイル検査演算子
   ここ参照 http://www.site-cooler.com/tips/perl_filecheck.htm
   サイズチェック -s チェックするファイル名
   存在チェック -e チェックするもの
   ディレクトリか? -d チェックするもの

 属性変更: chmod 属性,変えたいファイルをリストで(ぞくぞくと)


■■ディレクトリ
 一覧: ここ参照      
     http://cocohome.hp.infoseek.co.jp/cocohome/l_sitemap1.html
 削除:rmdir(ディレクトリ名)
 追加:mkdir(ディレクトリ名,モード) (モード省略化)





■■文字列
  含んでいるか index(対象文字列,検索文字列);
  置き換え $val =~ s/対象文字列/置き換える文字列/g;
    (注意:対象文字列、置き換え文字列を””で囲ま「ない」こと)



■■現在時間の取得
($sec,$min,$hour,$day,$mon,$year) = localtime(time);
$buf = sprintf("%4d/%02d/%02d %02d:%02d:%02d",$year+1900,$mon+1,$day,$hour,$min,$sec);



■■ セッション
ここがわかりやすいみたい
http://www.dab.hi-ho.ne.jp/sasa/biboroku/perl/session.html

■■ テンポラリファイルの作成
use File::Temp qw/ :mktemp /;
($fh, $file) = mkstemp( "tmpfileXXXXX" );
くわしくは、ここ
http://perldoc.jp/docs/modules/File-Temp-0.12/Temp.pod




■■ 参考にしたサイト
http://www.iis.u-tokyo.ac.jp/~susaki/perl/file_io.html
http://easycgi.xrea.jp/tips/perl/acclog.htm
ここに、アクセスされたアドレスだけでなく、ホスト名を得る方法も書いてある


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

IEで、ユーザー名やパスワードを自動的に入れて欲しくない(パスワード補完されたら意味ない)とき

2005-12-21 14:21:45 | JavaとWeb

 みずほ証券の問題で「警告が出たのに、それを無視して」やって問題になったが、こういう警告が出るのにもかかわらず、あ、やってしまった。OKおっしゃったよ!!っていうのに、「IEのパスワードを保存しますか?」の警告があると思う。

 SSLのところにいったりきたりしてるとき、警告がいっぱい出るので、思わずこれもOKしてしまう。
 そうすると、ユーザー名を入れると、パスワードも入ってしまう。

 意味ないじゃん。パスワード補完したら。。
 ユーザー名はほかの人も知ってるかも知んないし。。




 っていうことで、このパスワードを消したいということが、ウィリアムのいたずらは、よくある。

 というか、今、そうだった。

 ところが、そんなとき、その保存されたパスワードの消し方って、忘れちゃうんだよね。。
 で、いつも調べるので、今日は、メモしておきます。



■■ ユーザー名やパスワードを自動的に入れる設定を消すとき

IEでメニューバーから
(1)ツール→インターネットオプションを選択し、

(2)インターネットオプションダイアログをだしたら、
    コンテンツタブをクリック、
      個人情報のところの「オートコンプリート」ボタンをクリック、

(3)そして「オートコンプリートの設定」ダイアログが出たら
 オートコンプリート履歴のクリアのところの
   「フォームのクリア」ボタンをクリック
   「パスワードのクリア」ボタンをクリック

●なお、これから、パスワードを補完してもらいたくない場合は、
 「フォームのユーザー名およびパスワード」のチェックをはずして
   「OK」 ボタンをクリック。



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

真央様問題は、動いた。耐震偽装事件のおじゃまもん証人喚問問題は動くのか?

2005-12-21 11:21:26 | Weblog

 最近、ネットからアクションを起こし、世の中を動かすという流れも、でてきたといえそうですね。

 浅田 真央様の問題は、動きがありましたね。
ここのニュース http://sports.yahoo.co.jp/hl?c=sports&d=20051221&a=20051221-00000017-spn-spo
真央 連盟“動かした”


 これによると、連盟は会議をもつらしいけど。。(といっても、今回、トリノ五輪に真央様が出る可能性は低そうだが)

 まあ、これも、一般の人々が、連盟にメール、電話を送り続けたからといえるだろう。

 ネットでの働きがけが、実際を動かした一つの例。。。かもしんない???




 さて、もうひとつの話題は、やっぱり、耐震偽装事件の、おじゃまもんや四ヶ所氏の証人喚問問題を求めていこうという動きなんでしょうね。。。

 これについては、きっこのブログ
 ここ http://kikko.cocolog-nifty.com/kikko/2005/12/post_8eed.html
 に詳しい(というか、どういうところに、どういう文を書いて、送ってくださいということが詳しく書いてある)

 これによって、国会に動きがあったりすると、たしかに、ネットが世の中を動かす1つの動きになるのかもしんない。。。




 が、この2つには、決定的な違いがある。
 浅田 真央様は、かわいいが、
 おじゃまもんは、あんまりテレビで見てもねえ。。ほんとに、「おじゃま」もん??

 あまりにも、しょーもないオチで、みんなに、怒られそうな気が、したりもする。。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

JUNITの本に「書かないコードに単体テストは不要」と書いてあるけど、テストしないと。。

2005-12-20 22:20:11 | 一人勉強会

 JUnitによるテストファースト開発入門のP16に「書かないコードに単体テストは不要」とかかれていて、DLLやJavaのAPIは単体テスト不要(結合、総合は必要)とかかれています。

 現実は、DLLやJavaAPIでも、やばそうなものや、他社が書いたプログラムを利用する場合は、一般にJUNITで行うような、ユニットテストをプログラム前に行うと思います。 なぜ、行うかは、今日、これから書く理由のためです。

 ただ、ユニットテストを、単体テストと呼ぶか、結合テストと呼ぶかという問題があります。ユニットテストは、結合テストであるという場合(こういう主張がある。単体とは、ソースをみながら行うソース内部をテストすることであるという主張)、単体テストは不用(というより、できない)ということになります。




 で、なぜ、ユニットテストを行わないといけないかという話(^^)

 というまえに、どうやって、この手のものを、ユニットテストするかについて、書きますね。

 まあ、この手のユニットテストの仕方はきまっているわけで、
(1)呼び出し部分とラッパーを作って
 →ラッパーは、ダミーの値をいれ、この時点では他社の関数等を呼び出さない
(2)その状態で動くことを確認(テスト)してから、
(3)ラッパー部分の内部を、使いたいプログラムを使ってコーディング、
(4)そして、(2)のときの確認したデータ、方法で、確認する
という作業をします。

 一般の仕事においては、開発は、
・アーキテクト(アーキ)と
・共通部分開発
・個別の業務部分開発
にわかれ、業務チームの人は、ラッパーの関数・メソッドを使うため(開発は、(3)が間に合わないときは、(1)で作ったラッパーのなかにダミーモジュールをいれたものを、スタブとして使ってもらうという形をとる)、自分でテストすることは、ないかもしれません。

 共通やアーキ(とくに共通)がこういうテストをします。
 共通の私は、そんなんで、よくやるわけで、今日も、そういうお仕事だったわけですが。。。。




 あるプログラムの、ソースとオブジェクト(だけ)をもらって、お仕事です。

 (1)、(2)の作業を終え、(3)。

 まあ、今日は、(市販されているソフトらしいので)ソース内部を確認しなくても大丈夫だろうと、ソースを読まないで、そのままインターフェースをあわせて呼び出したら。。。

 はんぐあーっぷ!!

 なんでなんで(>_<!)

 とおもって、ソースを見てびっくり。。。

 正常系しか、テストしてないのかなあ。。。
 異常系で、エラーになると。。。(^^;)。。。

 おいおい、エラーのとき、この順番でフリーしたら、フリーした後で、その領域、見ちゃってるじゃん!そのうえ、フリーしてない領域もあるしい。。

 あーーーーそこで、すぐに抜けたら、メモリフリーしてないだろ。。

 つーか、ここで、フリーすんじゃねーよ。

 おまえ、ヌルかどうかきいて、フリーしてるけど、その領域、初期化してねーだろ(^^;)

 とかいうわけで、これ、つかえないじゃん!

 ということで、かきなおしです。。。




 で、書き直したら。。まあ、ハングアップした理由が異常系にいったから
ということからもわかるように、エラーになるわけなんだけど、そのエラーの
理由が。。。

 エラーコードを見たら

 「このクラスは、サポートされていません」。

 はじめから、言えよ(^^)




 たぶん、環境設定がおかしいんだと思います。

 こういうケースはすごーく良くあって、最近、マネージャーが、システムを良くわかんない人がやることが多いので、環境設定のドキュメントを持ってこないとか、ドキュメントが抜けてるとか言うのがあって、それを、事前に確認しておかないと、開発のコーディングが終わってから後だと、完全に手遅れ(実は、ターゲットの環境では動かせない!というケース)ということが、ありますね。

 で、最近は、ユニットテストの正常系だけ通して持ってこられたりするので、そーすると、環境が違って、異常系に入ると、上記のように。。。っていうことも、ないわけじゃない。

 ということで、最近は、DLLやほかの会社が作ったモジュールでも、共通部隊は、単体テスト(ユニットテストですけど)を行って、環境の確認、および異常系がちゃんとできているかなんかの確認をしますね。
 で、確認するときに、上記のように、ラッパーを作って、ラッパーの中を、ダミー入れて、テストドライバが通ることを確認してからやるため、時間がないと、ダミーを入れたラッパーを使って結合してもらったりします。

 そのため、共通以外の人たちから見ると、他人のモジュールはテストしなくて言いように見えるかもしれないけど、一応、テストは、してまーす!

 その状況をみると、「なんで、共通の人しか、テストしないようにするか」というのがわかります。ハングアップしてしまうと、リセットして、再度立ち上げないと、なにもできなくなるんです。(>_<!)

 もう、リセットばっかで進まない、進まない。。。

 で、通った!と思ったら、「そのクラスは、サポートされていない」

 うーん、今日1日、何やってたんだろう (^^;)

 

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

イメージタグで呼び出す、画像のアクセスカウンタ(PHPバージョン)

2005-12-20 17:09:26 | PHP

前のブログ(これ)で

「イメージタグで呼び出すアクセスカウンタ」

のCGI(Perl)版をやったので、今度はPHP版。

 つまり、<img src="htp://www.12345.com/counter.php">

 のように、イメージタグで呼びだす、画像として扱うアクセスカウンタについてです。





■■ PHP版の場合の方法

image関数を使って書いてみました。
参考にしたサイトはここです。

PHP:gif、png等の画像を動的に生成するには?:image関数(イメージ):グラフの作成
http://www.res-system.com/item/374


 なぜ、image関数をつかったかというと、いいサンプルがここに載っていて、それが、検索サイトで、たまたま、上のほうに引っかかったからです。それだけの理由(なので、他にもやり方は、いろいろとあると思います。最善かどうかも??)。

 で、ファイルカウンタ部分は、ここを参考にしました
PHPでアクセスカウンタ&解析 - 画像カウンタ
http://ponk.jp/php_access/index.php?page=2


 ここの、サンプルプログラムの
// アクセスカウンタ2
から
fclose($fp);
 までを、ちょっと書き換えて作っています(kensuという関数内です)
 これを使った理由も、検索サイトで、たまたま、上のほうに引っかかったからです(これも、ほかにもっと書き方あると思います)。

で、このkensuという関数を呼び出すと、返り値に、カウンタの数が帰ってくるようになってます。この関数の引数にファイル名を指定できるようにしています。




■■ PHPソース
で、ソースはこんな感じです
<?php
    //出力する文字(アクセス数)の取得
    $out_str = kensu("xmldtp.txt");

   //画像の作成
    $img = imagecreate(60, 20);

    //色の作成(背景色)
    $backcol = imagecolorallocate($img, 160, 160, 160);

    //背景色を塗る
    imagefilledrectangle($img, 0, 0,60, 20, $backcol);

    //色の作成(文字)
    $col = imagecolorallocate($img, 255, 255, 255);

    //文字を書く
    imagestring($img, 2, 10, 4, $out_str, $col);

    //画像出力
    header("Content-type: image/png");
    header("Cache-control: no-cache");
    imagepng($img);

    //画像の消去(メモリの解放)
    imagedestroy($img);

//--------------------------------------//
//	アクセスのカウントをする	//
//--------------------------------------//
function kensu($fname)
{
	$fp = @fopen($fname, "r+");
	if ( $fp == NULL )
	{
		$fp = @fopen($fname, "w");
		if ( $fp == NULL )
		{
		   return -1;
		}
		flock($fp, LOCK_EX);
        	$count	=	1;
	}
	else
	{
		flock($fp, LOCK_EX);
		$count = fgets($fp);
		$count++;
		rewind($fp);
	}
	fputs($fp, $count);
	fclose($fp);
	return $count;
}

?>

(上記の< > ¥ はプログラム上は全角でなく半角にしてあります)

 これを保存し(たとえばcounter.phpとかいう名前で)、PHPが動くところに起きます。

●注意
 ロリポップの場合、属性を777にしないと、エラーになります。
 なお、フォルダに入れる場合、フォルダも777にしておいたほうが、確実かも??
 でも、777にすることは、ろりぽでは、推奨されていません。

■■ 呼び出し方法
イメージタグで呼び出します。
<img src="http://呼び出しサイト/counter.php">みたいなかんじ。

■■ 参照サイト
 参考にしたサイトは、上記の2つのサイトです。
http://www.res-system.com/item/374
http://ponk.jp/php_access/index.php?page=2




 なお、ここまでやると、じつは、昨日のIPアドレスやホスト名取得の話とあわせると、
この方たちのサイトにかいてあるような、一見アクセスカウンタのように見えて、訪問者のIPを残しておくようなCGIというような物も作れます。
 昨日のプログラムで得たIPを、今日のプログラムでやっているように、ファイルに書き出した後、今日の、アクセスカウンタプログラムをやればできます。

 でも、そういうことを、企画しているのではありません。

 あと、わるいやつが、昨日のように、IPからホスト名を探すプログラムとあわせて、
 「あんたの会社は、●●だろう、いいつけてやるぞ、言われたくなかったら、お金振り込め!」みたいな、ホームページを作る人がいるかもしれませんので、注意です。
(いままで、出てこないのが、不思議なんだけど。。。技術的には、ケータイでサブスクライバIDから、地域を割り出すより、簡単なんだけどね)

 ホームページに、アクセスしてきただけでは、どのサーバーまでの情報しか分かりません。
 個人情報は、流出しないのです。あなたが教えない限り
(このやり方でなく、マシンの中に入ってきた場合は、話は別だけど)。

 ただし、メールの返信は、やばいです。
 つーか、そもそも、メールのアドレスに、名前入れてる人もいるしいー。。。(^^;)


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

イーホームズ藤田社長自身の回答と、東証の問題の共通点-コンピューターのせいにしてる。

2005-12-20 13:13:16 | Weblog

 耐震偽装疑惑の渦中にある、イーホームズの藤田社長が、ホームページに、その疑惑に対する回答を書いている。

 ここ http://www.ehomes.co.jp/SITE1PUB/sun/6/news/report69.html?t=1132554453386

 これは、きっこの日記で有名になったわけだが、そのことはさておき、この回答で、結局言いたいことは、

この事件は、プログラムの結果が改ざんされなければ生じなかったのです。


ということがいいたいらしい。。

 果たして、そうだろうか??

 ただ、この文章を読む限り、藤田社長は、本気でそう思っていて、なんか、本当に、イーホームズは、偽装を、言われるまで見抜けなかった(いや、言われても分からなかった ^^;)のかな?という気がする(それはそれで、問題だとは思うが。。。)




 そう、ジェイコムショックも、同じ言い方だ。

 みずほ証券は、東証のバグがなかったら、損失は、そんなに広がらなかった
といっている。だから、東証も、責任を負えと・・・

 つまり、悪いのは、コンピューターが期待通り動かなかったからだ。
 バグと改ざんでは、相当違うが、期待通り動かない、つまり、コンピューターのせいにされているのは、同じだ。

 でも、はたして、そうなのか??




 建築は分からない。なので、ジェイコムショックのほうで言わせてもらうと、

 売りの取り消しが効かなかったら、買うんだよ(^^)v

 あったしまえじゃん。あんたら、株屋さんでしょ。プロでしょ。
 売りの取り消しが効かないなんて、バグ以外でも、いっぱいあるよ!
 個人投資家の場合、ネット証券でやってると、取り消し、なかなかできないなんて、日常茶飯事だよ。
 某サンライズテクノロジーをやっている人は。。(某になってない ^^;)

 実際、買い向かっているわけだけど、そのタイミングが遅くて、今回問題になった。

 つまり、もし、あの売買を執行する人が、プロで、売りでミスったら、取り消せない場合、すぐに、買いをいれていたら、もっと、問題、小さくなったんじゃないの?
 たしか、アメリカなんかだと、売買を執行する人って、かなり、そうとういい給料もらってるというのを、なんかで読んだことがある(実際に、1秒タイミングがずれただけで、利益が大幅に違うこともある)。

 つまり、今回の問題は、プログラムのバグがあっても対処できるだけの、プロを養成できていないことも、おーっきな問題のひとつで、バグよりも、そっちが問題だと思うなあ。。




 イーホームズの件は、わかんないけど、コンピューターの改ざんやバグで、おかしなことがおこらないために、審査員がいるような気がするんですけど。。じゃなきゃ、審査しなくていいじゃん。

 ただ、イーホームズの社長の言うように、本当に

 定性的なデータでかつシステム上表面に出てこない仮定条件(例えば、地震時にどの壁から崩壊するのか、etc.)が存在します。前者は、入力値が申請値と一致しさえすれば復元は可能です。しかし、後者の定性的なデータである仮定条件は、設計自体を行った者にしか復元は出来ないのです。

 故に、再計算を行うことは、申請者の設計データと整合することは不可能に近く、今回の事件の再発防止対策になるということは言えないと思います。

であるのなら、もし、建築士が、仮定条件を間違えたら?(今回のような故意でなく、過失、うっかり!で)。。。わかんないってこと??

 で、それは検査できないとしたら。。そっちのほうが、やばくない??

(なお、今回の記事での斜体部は、すべて、上記藤田社長の回答からの引用です)

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

イメージタグで呼び出す、画像のアクセスカウンタ(CGIバージョン)

2005-12-20 01:57:41 | JavaとWeb
この記事を見てくれた人

 前のブログ(これ)にも書いたけど、このブログで、あるネタを計画してるんですけどね。
 で、そこに使う要素技術の第二段!

「イメージタグで呼び出すアクセスカウンタ」

 つまり、<img src="htp://www.12345.com/counter.cgi">

 のように、イメージタグで呼びだす、画像として扱うアクセスカウンタ。
(ただし、実は、アクセスカウンタを作りたいわけではないが、アクセスカウンタにすると、なんか、実用価値ありそうなんで)

 今日のブログの上についているのが、実はそれ。
 これなら、アクセスカウンタに対応してないブログでも、イメージファイルが貼り付けられると、カウントする。

 で、今回はCGI版のほうの、メモメモ。。。(PHP版は、別の機会に)




■■ CGIの場合の方法
CGIの場合、イメージ部分はGDを利用しました。

 ファイルのロック部分は、flockを使うと良くないといわれていますが、現実問題、それで、最近問題が起きてないので使ってしまいました。

http://呼び出しサイト/counter.cgi?fname=count.dat
のように、カウンタファイル名を最後に引数につけます。省略するとxmldtp.datファイルにカウンタ値を書き出します。カウンタファイルごとに集計します。



■■ CGIソース
で、ソースはこんな感じです
#!/usr/local/bin/perl
use GD;


			#################################
			#	引数の取得		#
			#################################
$qs = $ENV{'QUERY_STRING'};

# '&' ごとに配列にいれる
@qs = split(/&/,$qs);

foreach $i (0 .. $#qs) 
{
	($name, $value) = split(/=/,$qs[$i],2);
	$qs{$name} = $value;
}

				# カウンターファイルの指定
$fname = $qs{"fname"};
if ( $fname eq "" )
{
	$fname = "xmldtp.dat";
}


			#################################
			#	file Lock		#
			#################################
open(LOCK, ">".$fname.".lock");
flock(LOCK,2);

			#################################
			#	get and update counter	#
			#################################
if ( -e $fname )
{
	open (IN, $fname);
	$count=<IN>;
	close(IN);
}
else
{
	$count	=	0;
}

$count=$count+1;

open (OUT, ">".$fname);
printf(OUT "%d",$count);
close(OUT);
chmod 0604,$fname;	#chmod for lolipop


			#################################
			#	file UnLock		#
			#################################
flock(LOCK,8);
close(LOCK);
unlink($fname.".lock");


			#################################
			#	make Image		#
			#################################
# create a new image
$im = new GD::Image(100,20);

# いくつかの色を確保
$white= $im->colorAllocate(255,255,255);
$red = $im->colorAllocate(255,0,0);      
$green = $im->colorAllocate(0,255,0);      
$blue = $im->colorAllocate(0,0,255);

# 背景色を透明にし、インターレース化
$im->transparent($white);
$im->interlaced('true');

# 四角をおきます。
$im->rectangle(0,0,99,19,$blue);
$im->filledRectangle(1,1,98,18,$green);

# Draw Text
$im->string(gdLargeFont,2,2,$count,$red);

print "Content-type: image/png¥n¥n";
print $im->png;

(上記の< > ¥ はプログラム上は全角でなく半角にしてあります)

 これをcounter.cgiとして保存し、サーバーのCGIが動くところに起きます。
 ロリポップの場合、属性を700にします(これが推奨になっていたと思う)

■■ 呼び出し方法
イメージタグで呼び出します。
<img src="http://呼び出しサイト/counter.cgi?fname=count.dat">
count.datカウンタファイル名。ここにカウンタ数が入ります
ということは、このファイル名ごとに集計するということです。

■■ 参照
 以下のサイトを参考にしました
(GDの部分)
http://perldoc.jp/docs/modules/GD-2.02/GD.pod
http://www.orange.ne.jp/~yabu/java/counter/perl.html
http://www1.kcn.ne.jp/~toshiki/html/cgi/gifonfly.html
(引数の取得)
http://home.impress.co.jp/books/ietech/cgi.code/3.4.html

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ブラウザにhttp://荻窪駅.jpと入力すると、荻窪駅周辺の情報がでるはず!だけど。。

2005-12-19 23:25:37 | Weblog

 ここのスラッシュドットニュースhttp://slashdot.jp/articles/05/12/17/0120223.shtml
にあるように、ブラウザから、駅名.jpと入れると、その駅周辺の話題が見れるようになった。。。といわれている。

 しかし、実際に http://荻窪駅.jpとか入れてみると

 出てくる人もいるのかもしれないけど、ウィリアムのいたずらの場合、


ご利用のブラウザでは日本語JPドメイン名のサイトにアクセスできませんでした

日本語JPドメイン名のサイトにアクセスするには、日本語JPドメイン名に対応したWebブラウザやプラグインのインストールが必要です(対応したWebブラウザでアクセスした場合、このページは表示されません)。


とでてきてしまう。

http://新宿駅.jpにいたっては、「ページを表示できません」となってしまう。




そういう人の場合、どうするか?

駅街ガイド.jpのホームページ
http://xn--eckp2gz283bohsa.jp/top.html

に行こう!

 そうすると、まんなかあたりに

さっそく使ってみよう


●駅名を入力する


と書いてあるところがある。そこに駅名を入れる。
 上の例だと「荻窪駅」と入れよう
 そうすると、荻窪あたりの情報がでる。

 新宿駅と入れると、新宿あたりの情報が出るよ!


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする