2005/11/20
フレームワーク雑話

今さらながらホームページビルダーを買ったのには、わけがある。

今年に入ってから評価を大いに改めた製品群に、Visual BasicやDelphiといったアプリケーション促成開発(RAD)のためのツールがある。GUIでペタペタと部品を貼りつけてコードを書いていくのは気軽でいい。何より時間がかからない。

Webアプリケーションの世界におけるRADツールに当たるのが、当節流行のWebアプリケーション・フレームワークなのだと私は想像している。ただ、その完成度はVBやDelphiには遠く及ばない。Webアプリ開発には複数の言語を横断する必要があるから仕方がないが、不満といえば不満ではある。せめて表示系に関して、HTML/CSS/JavaScriptをUIという観点から統一的に扱える仕組みが考えられるとよいのだが。ホームページビルダーを買ったのは、そのあたりに期待を抱いたからだ。その期待は過度であったと思うが、今度のバージョンではODBCからデータを引っ張ってこれるというので、懲りずに更新する予定である。

Rubyの世界ではRailsが市場を席巻している。Perl界もCatalystの勃興が著しいらしい。PHPは混沌としているが、Javaの影響を大きく受けたフレームワークに対して、Railsっぽいフレームワークが出てきている。前者としてはMojaviやAgaviが代表的あり、後者にはCakeやBuicuitがある。ちょっと目を見開かされたのはSymfonyというフレームワークで、JavaScriptライブラリなども統合されていてAjax対応のWebアプリケーションが開発できるようになっている。これも最近流行の10分ハッキングで、アップルストアまがいの買い物カゴを作成する実演ムービーを流している。

ただ、そういうフレームワークを見ていて思うのは、想定されているデータベースが単純だということだ。入り組んだER図から作られるデータベースの場合、そう簡単にコトが運ぶのかという疑問が浮かぶ。要は、作成者が舗装した道から外れた開発をするときに、余分な負担がどれくらい発生するか(あるいは道から外れることができないか)が気がかりなのだ。下手をすると、心易いPEAR/PECLライブラリやテンプレートエンジンを組み合わせてフレームワークもどきを自作するほうが早い。

巨艦フレームワークに対するアンチテーゼとして、GuessWork Classicはおもしろいと思う。必要最小限の機能を見通しよく実装することを目的としているようだ。ドキュメントを読んで気に入ったのは、道から外れる方法が銘記されていることだ。以下に簡単な見取り図を掲げておく。

2005/11/17
overflow:hidden/autoの副作用

ブログの中には、Internet Explorerにおいてスペースバー打鍵によるスクロールが行なえないものがある。もう少し詳しく書くと、本文が書いてあるところをクリックすると、その後スペース・スクロールができなくなる。本文から離れたところをクリックすると、再びスクロール可能となる。わりと最近の、いかにもブログっぽいところでダメになることが多い。はてなやtdiaryでは大丈夫だ。

phpspot開発日誌もそうしたブログのひとつだ。このページの11月15日記事を通じて、WebページのDOM構造を可視化するMS謹製ツールバーを知ったので、スペース・スクロールが効かないブログをまわって原因を探ってみた。その結果、CSSのDIVにoverflow:hiddenまたはautoを指定しているとスクロール不可になることが判明した(参照:overflowについて)。使用に注意を促しているページもある。bodyもしくは本文のところは、visibleにしておいたほうがよさそうだ。

ともあれ、理由が解明できたので、ブログシステムを取り入れてもいいかという気持ちになった。近々さくらインターネットでSeesaaブログが使えるようになるらしいので、そちらへの移行を検討したい。

2005/11/14
定期入れを評価する

私が高校生のころだから十数年前になる。京阪電車は定期入れを無料配布していた。プラスチックと塩化ビニルでできたその定期入れは見るからに安物だが、定期券やカード類がぴたりと収まる上に薄くて軽く、十数年来気に入って使ってきた。ところが最近紛失したため、代わりを探す羽目になった。

好みを箇条書きにすると、以下のようになる。

要は、皮革製品ではなくてビニルの単純なものを所望している。容易には見つけられなかったが、ようやく「単パスケース」というキーワードを発見し、楽天市場を通じて2種類注文した。

いまは、スリップオンで購入した350円の定期入れを使っている。幅にゆとりを設けているのが気に入らないが、京阪電車のもの以上にフニャフニャした感触は悪くない。幅だけでなく高さも余っていたので、ハサミで切り落とした。もうひとつの2面パスケース(トランス)も悪くはないので、そのうち使う予定である。


2005/11/10
Windows用スティッキーズの決定版

Mac OS、OS Xでスティッキーズを使ってきた人はいるだろうか。ひとことで言えば、デスクトップに貼りつける付箋紙だ。アスキー『デジタル用語辞典』には、簡単な説明に加えて次のようにある。

ドラッグ&ドロップに対応し、テキストファイルとの間でデータの読み込み、書き出しが可能。ウインドウシェードと組み合わせると、タイトルバーにメモの1行目を表示できる。

この2文で表わされた機能が、Macらしいと私が思うところだ。Windows用にも付箋紙ソフトは洋の東西を問わず幾種類とあるが、この2点を備えているソフトは数少ない。というより、私は1種類しか知らない。その唯一のソフトは、Stickypaperヘルプ)という。

Stickypaperはスティッキーズよりも多機能で、D-monkeyによるスクリプトにも対応している。付箋紙をRSSリーダーとして使うなど、簡単なウィジェットの代わりにもなるだろう。しかしそれ以上に、上に挙げたような使い勝手を高く評価したい。

画面解像度が高くなると、ソフトウェアの使い勝手は変わってくる。たとえば以前、タスクトレイの表示を制御するソフトを使っていた。タスクトレイに多くのアイコンが並ぶと、ウィンドウを表示させる領域が狭くなるからだ。ところがUXGAの画面だと、アイコンがいくつ並ぼうがさして狭くは感じない。そのソフトは不要になった。その一方、スティッキーズはデスクトップの余白を活用するソフトだから、広い画面になればなるほど便利になる。

2005/11/9
今年買った製品の当たりと外れ

家で使っているプリンターのインクが切れたので、アマゾンで注文する。色インクはすべて残量が少なくなっているので、3色とも注文した。シアンだけ値引き幅が大きいことにも軽く驚いたが、もっと驚いたのは発送案内を見たときだ。

配送方法:Sagawa Hikyaku

アマゾンは日通と独占的に契約しているのかと思っていた。翌日たしかに佐川急便が届けにきた。本以外の家電などは、必ずしも日通ではないのか。だからどうということはないが。

ところでIPSiO G7570は、今年購入したPC関連製品の中でも当たりに属する。前にも書いたとおり、B4両面小冊子形式の印刷がどれだけ便利か。レーザープリンター一本槍だったころが嘘のようだ。さほど売れている様子がないのが残念である。

当たりといえば、イーヤマの21.3型UXGA液晶ディスプレイも買って正解だった。デルやアップルのLG社製パネルとは一線を画す国産IPSパネルの品質は、横並びで映すと歴然とする。ProLite H2130は本当にオススメなのだが、こちらの売れ行きも心配である。イーヤマが民事再生申請をしたのも気にかかる。

もうひとつの当たりは、eMachinesのPCのうちAthlon 64搭載モデルのJ6442である。マザーボードが上質ではないためI/Oが意外と遅いとか電源が貧弱といった問題はあるが、性能を考えれば十分に安い。いまは後継機のJ6448が出ていて、そこそこ売れているようだ。

はずれの筆頭はAdobe Creative Suite 2である。新機能のうち私が便利に使えているのはIllustrator CS2のライブトレース(ストリームライン)くらいだ。Photoshop CS2はメニューやウィンドウまわりが標準APIではなさそうだし、InDesign CS2は変更点が私にはよくわからない。Acrobat 7のコンテキストメニューはOffice 12のリボンを先取りするもののような感じだが、動きが気持ち悪い。私はメニューを位置によって覚えているので、位置が毎回変わるとかえって混乱してしまう。Borland C++ Personalも、パーソナル版にはデータベース関連機能が付属しない段階で購入失敗だった。

2005/11/5
Apple-Intel-USB

来年にはいよいよIntel Macが登場する。Mac本体は長らく購入していないし今後も買う予定はないが、Intel Macには気になる部分がある。それは、FireWire(IEEE 1394)ポートが搭載されるかどうかだ。

iPod nanoも最新の動画対応iPodも、FireWireポートは搭載せずUSB 2.0接続となっている。どうもAppleはFireWireを切り捨てる方向に向かっているのではないかと思わないこともない。この流れとIntel CPU採用とは関係があるのだろうか。(蛇足。FireWireはAppleの、USBはIntelの開発。)

2005/11/4
アルキメデスの原理

三角関数の極限での古典的なイチャモン(?)に、sin(x)/x->1(x->0)を証明するのに扇形の面積を使うのは循環論法ではないか、というものがある。それで厳密派は、弧長を内接する折れ線の上限と定義して凌ぐことが多い。しかし、実際には扇形の面積の元となる円の面積をアルキメデスが微積分を使わずに証明しているので、循環論法にはならないのだという。ただ、その証明方法を私は知らなかった。

ところが、きのうたまたま本棚で見かけた中沢貞治『重積分』(共立出版、1976年)をトイレで読んでいたら、アルキメデスの証明法が「取りつくし法」として詳しく紹介されているではないか。図もなしに詳しく述べる力が私にはないのでざっと書いておくと、はさみ打ちにするところは今も同じなのだが、x > yかつx < yからx = yに持ち込むのではない点が違う。背理法を2回使って、x > yでも矛盾、x < yでも矛盾、よってx = yのように証明する。ここで、何に対して矛盾しているのかというと、それがアルキメデスの原理なのだ。