ライブラリアンデータベース概論
今になってDBの重要性と便利さに気付いています
QDBMを少し使っていたのでそろそろPostgreSQLやMySQLもいじってみると面白そうです。
ですが・・・多分、どこかGoogle Desktopのように直感的に気に入らなくて内部構造やアルゴリズムに凝りだして目指せ!!!QDBM!!!みたいな状態になってしまいそうです^^;
- google:QDBM http://qdbm.sourceforge.net LGPL
- google:PostgreSQL BSDライセンス
- google:MySQL GPL or コマーシャルライセンス
データベースって本当のライブラリアン*1にもけっこう密着していますよね。
*1:図書館員、司書の事 この日記上でのライブラリラリアンの意味はこちら
プログラマから見た NTFS 2000
http://www.microsoft.com/japan/msdn/windows/windows2000/ntfs5.aspx
http://www.ipa.go.jp/security/awareness/vendor/programming/b08_03_main.html
google:プログラマから見た NTFS 2000
google:FAT32 ハードリンク
なーる。
NTFSってこういう構造なのね。
google:ReiserFSの構造ならすこし資料を読んだ覚えがあったが・・・。
このような根幹的なシステムをビシッと組めば沢山の利用者に貢献できそうな気がするのだが・・・。
ソフトウェアの普及に関して・・・根幹すぎず、枝葉過ぎず
私は思うのだ。ソフトウェアが普及するには「根幹すぎず、枝葉過ぎず」が大切で関連性が深いのではないかと・・・
以下に根幹、枝葉の挙げる。
根幹すぎ
例:自作OS:(Linux,BSD,SunOS,Mona,Osask等)
作る作業は至難の業。頑張って完成度を上げ、ある程度、そのOSを使ってくれる人が増えるとメジャーになってマニュアル本とかが出て使う人が増えてくるかもしれないが、かなり普及させるのが大変。特にコンピューター系の人以外に普及させるのが・・・。
根幹
例:デスクトップ環境(GNOME,KDE,XFCE,WindowsXPのLuna,Classic Windows(Win9x系)のデスクトップ環境 等)、エディタ(Emacs、Vi、メモ帳、VisualStudioのエディタ等)、シェル(sh,sash,bash,csh,zsh等)
やっぱり、見た目とか、操作感が違うために慣れるまで大変・・・。コンピューターに堪能な人でもこればかりは譲れないといったソフトウェアの話題は特にこれ系である。
これはユーザー受けするコンセプトをしっかりさせてかなりの完成度まで作り上げて、運が良いと普及する感じがした。
枝葉
例:小物ツール(コンバーター系、表示系、メジャーなDLLに依存したソフトウェア)
独自のインターフェースだったり一つの目的のみに使うツールなど、フリーソフトの類がほぼすべてコレ。
やっぱり作りこみによって普及度が決まる。google:sysinternals製のソフトウェアなんかがとてもよい例。
馴染み深いインターフェイス、一つのソフトウェアに対してコンセプトをしっかりし、それに基づいた機能のみに絞っている点・・・等、とても素晴らしい。
枝葉すぎ
例:ゲームソフト
様々なライブラリやラッパーを使い、状態遷移を記述しまくるコンピューターのシステム上全く関係の無さでの最高傑作
極めてクリエイティブな作業が要求されるためゲームの内容次第で普及率が決まる。
よって根幹すぎと何も変わらない。
では、「根幹すぎず、枝葉過ぎず」とはどのようなソフトウェアのことなのだろうか・・・
私は、無形のソフトウェアだと思う。無形を言葉で表すのはとても難しいのだが・・・ユーザーに見えないところで活躍するソフトウェアというか、普通に使っているのにそれに気付かない概念や機能といった形だろうか?*1
- Unix系OSで言うデーモン、Windowsでいうサービスという概念のソフトウェア。google:Unix デーモン
- RFCに規定されているような仕様のパイオニア的ソフトウェア。*2
- 画期的な仕様や設計のパイオニア的ソフトウェア。
例を挙げると、Apache*3やReiserFS、SSHにTLS、SoftEtherや各種DBやSQLもそうだろうと思う。
今までと同じ操作で出来るのになんらかのメリットがあるソフトウェアと言うのがこの問題に関して折衷しているとコンセプトのソフトウェアだと思うのだ。
そして、普及した仕様を実現している所、画期的な仕様や設計のパイオニア的ソフトウェアであればそれが沢山普及するのではないかと感じている。
さて、まとめると、
- 今までと同じ操作感で、なんらかのメリットがある
- 普及した仕様が通用する
- 画期的な仕様、設計でパイオニア的である
なんか、普及しているソフトウェアと言うのを考えてみると、意外に当てはまるのではないかなと最近、感じている。
もちろん、断っておくが・・・「思いつきより作り込み」が第一である事は忘れてはならない。