Home

日記
ところではっつぁん、なんだいくまさん (13:49)Edit

tdiaryWiki関心空間のほかには、ishinaoに注目しています。

と書かれると、まるでishinaoという組織あるいは団体があるみたいだなー。なんでばれちゃったんだろう。

本当のところをいうとishinaoってのは実は複数人からなる団体なんです。中心となっているのは開発系を担当している1号で、その他書評を担当している2号、ニュース記事を担当している3号と4号、あとグループのマスコットであるロリータ108号もときどき日記を書いています。みなさん驚きました? 私も初耳だったんでびっくりしました。

というわけで、この文章はishinao1号によってお届けしました。じゃあ3号と4号、あとはよろしく。おお、まかせろ。と一人芝居をやっていると高座に座っている気分になれますね。ところではっつぁん、なんだいくまさん。

Published At2003-04-12 00:00Updated At2003-04-12 00:00

日記
Linux搭載のROMカートリッジ「Magic NC」のノートPC版が発売 from MYCOM PC WEB (13:49)Edit

大容量バッテリーを搭載したmobioが余っているから、あれにこれを搭載すると結構良さそうだな。有線・無線LANカードも余っているし。と思いつつも、具体的に何に利用するといいのかいまいち思いつかないなー。しいて挙げれば、普通のPCが置きにくい場所(キッチンとか)に設置しておいて、常時Google検索マシンみたいな感じにするとか?

Published At2003-04-12 00:00Updated At2003-04-12 00:00

日記
乗りこなすより売る方が難しいSegway HT from ZDNet (13:49)Edit

技術的には画期的だけれども、しょせんは車輪で走り(荒れた路面に弱く)、一人乗りで、屋根がない(悪天候に弱い)乗り物だからなー。となると現在使われている乗り物の中では、自転車やバイクの代替あたりがターゲットになるわけだけれども、値段が違いすぎてその土俵では戦えない。

自転車やバイクと戦える価格帯まで下りてくるか、あるいはセグウェイならではのメリットを活かせる新しい市場(用途)を開拓する必要があるだろう。

今のところセグウェイならではの用途として一番使えそうなのは、目新しさ&乗り心地を活かしたエンターテインメント市場だろうけれども、その市場であの価格帯だとどう考えても数が出ることはなさそうだよなー。

Published At2003-04-12 00:00Updated At2003-04-12 00:00

日記
Javaがわかるはずがない from 圏外からのひとこと (13:49)Edit

オブジェクト指向のいやらしさは、howwhyがつながらないことだ。classinterfaceを教えられた時、最初は、それがどういう動きをするのか悩むだろう。確かに、これはifforよりはややこしい。単純なサンプルでも長くてなかなか追えない。だが、howに徹してじっくり読めば初心者にもわからないものではない。

なるほど初心者にはそのあたりが分からないのだという認識を持っておけば、コミュニケーションを取りやすくなるのかな?

となるとオブジェクト指向入門的な文章を書く場合には、オブジェクト志向のプログラミング技術的な使い方よりも先に、その作業上の具体的なメリット実例で紹介するのがよさそうだ。DogクラスがNameというプロパティとRunメソッドとWalkメソッドを持つとか言われたところで、「だから?」って感じだもんな。

それよりも、まず「Pochiという名前と1次元の位置情報を持つ犬がいる。位置情報を+3する。名前をChobiに変更する。さらに位置情報を+1する」コードを書けという例題を出す。するとまあ、

$name = "Pochi";
$x = 0;
$x = $x + 3;
$name = "Chobi";
$x = $x + 1;

みたいなコードが出てくる。

それを今度は、「犬を5匹に増やせ」とか「犬に生年月日と性別と……という情報を持たせろ」という。すると、多分配列を使ってn匹の犬を表現したり、構造体を使って1匹の犬あたりの情報をまとめて扱えるようにしたりする話が出てくる。

structure struct_dog {
$name = "Pochi";
$x = 0;
$gender = "male";
$birth = "2002/3/4";
}
var $dogs[5] as struct_dog;
$dogs[0]->x = $dogs[0]->x + 1;
$dogs[3]->name = "Chobi";
for each $dog as $dogs {
$dog->x = $dog->x + 3;
}

んでもって今度はさらに、「位置情報を+3することをRunという関数で表現し、位置情報を+1することをWalkという関数で表せ」とかいうと、機能を関数単位で記述しつつ、処理したい対象となる変数を引数として渡す話が出てくる。

var $dogs[5] as struct_dog;
Run($dogs[0]);
Walk($dogs[1]);
function Run($dog) {
$dog->x = $dog->x + 3;
}
function Walk($dog) {
$dog->x = $dog->x + 1;
}

んでもって、結局犬に対して処理を行う関数をたくさん用意するのならば、構造体で変数をまとめるだけでなく、関数をまとめる仕組みもあった方がわかりやすいよねってことで、

class class_dog {
$name = "Pochi";
$x = 0;
$gender = "male";
$birth = "2002/3/4";
function Run() {
self->x = self->x + 3;
}
function Walk() {
self->x = self->x + 1;
}
}
$dog = new class_dog();
$dog->Run();
$dog->name = "Chobi";
$dog->Walk();

みたいな感じになってくる。

という流れを踏まえた上で、それぞれのスタイルにおいてさまざまな仕様変更仕様追加などを実装させてみる。多分初期のステップにおけるコードに仕様変更、仕様追加をするのがうんざりすることは十分に体感できるだろう。あと、犬以外の処理単位も同時に利用する実例も体感させていくといい。そのあたりで変数のスコープの話も混ぜておいた方がいいな。

そうやって非構造化構造化オブジェクト志向という流れのメリットを実感させた上で、ようやくオブジェクト指向言語の基礎知識の話をやりはじめると、それを学習する意欲&理解がついてきてくれそうな気がする。

インターフェースとか抽象クラスとか継承とかデザインパターンとかの応用的要素の話も、具体的な体感できる仕様変更・仕様追加を使った実例を挙げつつ伝えていくと効果的だろうな。

ところでこのサンプルコードはいったい何語? VB.NETPHPとObjectPascalを足して4.2で割った感じかな?

Published At2003-04-12 00:00Updated At2003-04-12 00:00

日記
過去ログ管理専用CMS (13:49)Edit

しかし、過去ログがいろんな形式で山のようにあり、だんだんわけわかんなくなってきた。

ってのを見て反射的に思いついたネタ。

いろいろなWeb日記システム掲示板、あるいはベタHTMLなどを使って作ってきた過去ログデータがある。ベタHTMLならともかく、動的生成システムなどを使って作ったデータに関しては、そのシステムを使わなくなると見れなく(動かなく)なってしまう。またベタHTMLに関してもサーバーやディレクトリを移動すると、内部リンクなどがつながらなくなってしまう。

というあたりを解消するための、複数システムで生成された過去ログデータを管理するためだけのCMSってのもあるといいかもね。新しもの好きな人々に最適。

システム構成としては、

  • さまざまなフォーマットのデータをそれなりに管理・表示してくれるドキュメント管理機能
  • コンテンツ内のリンクなどある程度自動的に修正可能な要素を管理してくれるドキュメント修正機能
  • 古いシステムで使われていたリンク(QueryString付き)が呼び出された場合にも、本システム上の該当ドキュメントを適切に呼び出せるようにするリダイレクタ

あたりが中心かな。俺的な優先順位はものすごく低いんで作るとしてもはるか先の話だろう。誰か作って。ベタHTMLと主だった日記システム、掲示板システムあたりに対応していると喜ばれそうだ。

Published At2003-04-12 00:00Updated At2003-04-12 00:00

日記
WebサービスとセマンティックWeb from 山岸広太郎のBlog(ブログ) (13:49)Edit

だからRSS/RDF(データ記述の記述法)はセマンティックで、TrackBack(サービス層のモジュール化)はWebサービスなのね。

俺のアバウトな把握によれば、セマンティックWebというのは「Web構造をコンピュータが直接認識できるようにしよう」という話で、XML Webサービスというのは「コンピュータ同士がWeb(HTTPHTTPS)を介した機能呼び出しデータ交換を出来るようにしよう」という話。どちらかというと理念とか方向性の話であって、具体的な技術仕様とは切り離すことが可能な、いわば思想

で、それらを具体的にどのような技術を使って実現しようかとしたときに、RSS/RDFなどの標準フォーマットを使ってWebサイトなどの情報を表現しようとか、TrackBackを使ってWebサイト(を管理するCMS)同士が自動的に通信できるようにしようとか、具体的な技術の話が出てくる。

XML Webサービスの場合は、それ用に作られたSOAPとかXML-RPCなどの技術を使って実装された場合のみXML Webサービスと名乗るべきだ、という原則論的なポリシーを持っている人もいるかもしれない(規格や仕様、実装の方から詰めていけば、そう捉えた方が話が早い場合もある)。けれども、大まかな思想の話で言えば、HTTP/HTTPSごしにコンピュータ同士が直接機能・情報をやりとりするための公開規格全部をWebサービスと言ってもいいと思う。そこでデータ形式としてXMLが使われていれば、より反論の余地は少なくなる。

セマンティックWebの技術だって、日本で昔からあるアンテナ情報配信フォーマット(LIRSとかHINA-DIとか)なんかもセマンティックWebの技術だといえる。人間やエディタが適当に書いたHTML+リンク文字列(機械的な抽出&認識を行おうとしてもノイズが大きい)ではなく、コンピュータできちんと自動処理出来る程度に規格化されていればそれで十分だ。

ただし最近では、コンピュータが認識できる汎用フォーマットとしてXML関連の技術が主流になっており、XML Parserがさまざまな言語で実装されているため、XMLをベースとした技術仕様の場合は(最近のプログラミング言語では)簡単に実装(ポーティング)できるというあたりから、XMLベースの技術じゃないとセマンティックWebとかWebサービスとかいう言葉でくくりたくないと言う人もいるだろう。

以上の認識は、技術仕様に基づくものではなく、俺ルールの認識なのでそのあたりを割り引いて読んでくだされ。俺教においては上記のような定義になっている、と理解しても可。

Published At2003-04-12 00:00Updated At2003-04-12 00:00

日記
Montoya criticises new regulations from F1-Live.com (13:49)Edit

I believe it is very important for the public to see who is really the fastest of all and this format doesn't really help.

確かに純粋にマシンの最高性能を比べる場がなくなってしまったことによって、F1のおもしろみは減ったと思う。でも、FIAが狙ったとおり決勝における面白さは従来よりも増している(特に強いマシン、ドライバーがハッキリしている状況でもマギレがおきやすいという点で)ことも事実だ。あとはその面白さ面白くなさの天秤がトータルでどちらに傾くかの話になってくるんだろう。

Published At2003-04-12 00:00Updated At2003-04-12 00:00

日記
検索に力を入れるMS――Overtureとの関係に影響? from ZDNet (13:49)Edit

ブラウザ戦争に勝利したにもかかわらず、いまだにインターネットで勝利することが出来ないマイクロソフトが次に目をつけたのが、検索システムってことかな? ああもちろん技術方面では.NET FrameworkおよびXML Webサービスへのコミットメントが強力だけど、一般ユーザーにはあまり関係ない話だしね。あとMicrosoft Passportもいまいちダメそうな雰囲気が漂っているし。

でもマイクロソフトが下手に検索システム関連の開発を強化すると、インターネット上にさまざまな迷惑(主に規格違反系)を巻き起こしそうな気がするな。

Published At2003-04-12 00:00Updated At2003-04-12 00:00

日記
Officeの「脇」に立つOneNoteとInfoPath from ZDNet (13:49)Edit

OneNoteはどのエディションにもバンドルされず、InfoPathは「Office 2003 Professional Enterprise Edition」にバンドルされる。

InfoPathがバンドルされないのは、InfoPathがNotesに対するDominoみたいな位置づけだから一般ユーザー向けに配布しても、サポートの手間ばかりかかって仕方がないからだろうな。

OneNoteがバンドルされないってのは、Visioがバンドルされないのと同じ理由なのかな? すなわちそこで扱われるデータはWordExcelほど一般的ではないので、数を配ってデファクトスタンダード化を進める必要がなく、必要な人はバンドルされていなくても購入するだろうって感じかな? いやVisioがバンドルされない理由も知らないんだけどさ。

Published At2003-04-12 00:00Updated At2003-04-12 00:00

日記
USBポートはなぜ“後ろ”にあるのだろうか from ZDNet (13:49)Edit

USB端子は、今となってはちょっとでかすぎるよね。デジカメとかで使っているミニUSB端子(規格名は知らない)の方が標準だったら、前面にたくさん置いてもそれほど邪魔にならなかっただろうし、ノートPCなんかでも複数装備することが難しくなかっただろうに。VAIOノートを使っていると、スペックの劣るUSB(1.1)がIEEE1394iLink)よりも接地面積を取っているのがアホくさく感じる。

Published At2003-04-12 00:00Updated At2003-04-12 00:00