2004-10-28 [長年日記]
_ 個人事業主の個人Webサイト (13:14)
小山さんの「受益者負担の原則」を読んでの感想なんだけど、個人事業主が運営する個人Webサイトは、サラリーマンとか学生とかが立ち上げる個人Webサイトとは、ちょっと意味合いが違う気がする。というのは、個人事業主のWebサイト(とか会社社長としてのblogとか)は、商売のツールという意味合いが強く出てきてしまいそうだから。
あと、なんとなく小山さんのやりたいことって、@ITとネタがかぶっているような気がした。というか、
技術書の出版みたいな分野が好きで、それを自分の生業としたいと思っているらしい。しかしながら既存の雑誌や書籍を扱う出版業などの指向というかシステムは、僕の期待する物とはちょっと違う
ということを目的とするなら、多分俺なら@IT的な技術系ポータルを狙ったWebサイトを自分で(趣味の範囲で)立ち上げてみるだろうなー。
前にそういうWebサイトのネタはちょっとだけ考えてみたんだけど、どう考えても俺にはそういうのを維持するモチベーションが見あたらなかったんでやめた。でも、今あちこちの個人Webサイト(主に日記とかblogとか)に分散している技術情報を、技術的な視点からまとめ上げる仕組みがあるととても便利だと思う。
前にRuby Magazineの話の時に書いたように、ある技術に関する話題(記事)をTrackBackを使って収集し、それを編集者がフィルタリングして、きちんとしたコンテンツとしてまとめ上げるようなやり方が一つ。あるいは、blogmapのように自動収集とコンテンツ判別と全文検索(というか技術キーワードを使ったインデクシング)を組み合わせて、多少ノイズが混ざったとしてもとにかく量を収集する方法が一つ。外見的には、最近流行のPlanet〜系と@ITとを融合させた感じかなー。
ある程度成功したら、そのコンテンツをまとめて出版してしまう仕組みとかまで発展させればいいだろうし。技術系のポータルとしてある程度成功すれば、そっち系の広告とかもつきそう。あとそういう特定の方向性を持つサイトならば、Google AdSenseとかAmazonアソシエイトとかの効果も大きくなる。
誰か余力がある人作ってちょうだい。自動収集である程度ちゃんとした情報を集めることができて、それを使って初期アクセス数と技術系キーワードにおけるGoogleページランクを稼ぐことができたら、成功する可能性は結構あると思う。俺の中の優先順位はものすごく低いんで、自分で作る可能性は限りなく低い。はてなあたりでやってくれないかなー。って、なんか最近の俺のこの手の思いつきの垂れ流しのオチはみんな「はてながやってくれないかなー」になってる気がするな。
具体的な話
上記のような文章では、俺の頭の中にあるイメージは具体的な内容として伝わらないみたいなんで、実装例の一つを具体的に書いてみる。
- 技術系の話題を扱うblog/日記サイトを情報ソースとして登録
- 情報ソースサイトのRSSを(あるいは記事抽出エンジン経由で)巡回し、記事を取得する
- 記事に含まれるキーワードから、各記事の技術的な意味づけを評価
- 技術の話題かどうか。技術の話題じゃないものは除外。
- 技術の話題だとしたらなんの話題か(たとえばプログラミングとかサーバー運用とか。さらに細分化するとPerlだったりRubyだったり、あるいはそれぞれのライブラリだったりとか)
- 技術の話題で、その技術キーワード(=表からはカテゴリに見える)が特定できた場合は、そこに分類する。カテゴリと言っても箱に入れるカテゴリ分類ではなく、属性を付けるカテゴリ分類。
- 上記のような処理で自動分類された内容をそのまま垂れ流すか、それとも人間が目で見てチェックしてOKだったもののみを表に出すかは、自動フィルターのできとかサイトの完成度の目標とかの兼ね合いで適当に
- サイト上では、技術キーワード・分類をベースにカテゴリをたどっていく(=実際はキーワード検索)と、その技術分野に関係した記事が表示される。
- さらにそのカテゴリにはTrackBack Ping URLが用意されており、読者が自主的に各カテゴリにTrackBackを打つこともできる。それをそのまま載せるか、人間の目で見てチェックして……(2項目上の繰り返し)
- サイト管理者に根性や資金力があれば、各カテゴリの最近のトレンド等をまとめた記事を、サイトオリジナルのものとして用意するといいかも(@IT的)。
- 各カテゴリにWikiとか掲示板みたいな独自のコミュニティを用意するべきかどうかは微妙。変に初心者質問箱的になるくらいならば、コミュニティは用意しない方がいい気がする(個人的な趣味の問題)。
このくらいまで書いておけば、作れる人なら10日くらいで作れるよね。ハードウェアリソースとか運用コストとかを考えなければ。
_ ひどい目にあった (17:20)
MySQLの4系統のstableが出たと聞いてアップデートしてみたら、軽く血反吐を吐かされてしまった。 MySQL 4.0.20からMySQL 4.1.7は小数点2桁目が違うだけあって、ハゲシク互換性がないのね。さすがちゃんとUNICODEに対応したバージョンだけあって、charset周りの処理が全然違う。
というか、テーブルのフィールドごとに文字コードを指定しなければならなくなったんだね。で、古いバージョンからアップデートしたときには、なんか不思議な感じのcharset設定が自動的に付与される。
アップデートしたDBのデフォルトcharsetはujisにしてあるんで、文字っぽいものはujisになっている場合が多い。その場合、サイズがなんだか適当に切りつめられている。たとえばvarchar(255)とかがvarchar(32) ujisとかになってたり。あと、ときどきujisではなくlatin1になってるものもあるけど、これはujisデフォルトにする前に作ったテーブルなのかなー?
んで、結構致命的なのは、勝手に切りつめられたフィールドを含むテーブルをrepairとかしちゃうと、indexが切りつめられたサイズで作り直されて、その結果重複したフィールドがあったら自動的にそのレコードを削除しちゃったりするらしい。データがばりばり消えていくよー(消えてもいいテーブルで試したんだけど)。
さらに回復に時間がかかったのは、varchar ujisとvarchar latin1とかのフィールド同士では、whereで比較したりできなくなっちゃうらしい。いろいろ迷ったけど、結局全部ujisに統一して対処することにした。でかいフィールドだとalterするだけで結構時間がかかるな。
ここまでやってようやく一通りなんとなく動くようになった気がするけど、大量にキャッシュが消えちゃったんで、しばらく動作が遅いだろうなー。でもようやくUNICODEが使えるMySQLが手元でちゃんと動くようになったんで、これでMySQL上で日本語全文検索とかもやりやすくなりそうだな。ChaSenとかで分かち書きして突っ込んでおくだけでいけるのかなー。
追記
MySQL 4.0→4.1にアップデートする前に、
- http://dev.mysql.com/doc/mysql/ja/Upgrading-from-4.0.html
- http://dev.mysql.com/doc/mysql/ja/Charset.html
を熟読しておくべきでしょう。


超遅コメントでアレですが、おっしゃるとおり個人事業主として「これは(間接的にでも)お金を生むのかカナ?」というのを結構な割合で意識してしまっているのは事実です。また、その維持や保守にかかる費用もまさに「経費」の扱いにしてしまいますし。勿論Webサイトで取り上げるネタも営業ネタとして面白いか?といった視点で選んでしまう場合がありますし、趣味で作るツールなども同様です。(最近はCPANモジュールとか全然書いてないしメンテしてないのは良くない...)
恥ずかしい話し運転の資金は貧弱なもんですから、徳保さん曰くの「受益者負担」にできたならば嬉しいのは秘密。それが両手を上げて良いとは思えないけど。
ishinaoさんが仰るWeblog等の既存のコンテンツを集約・編集して〜という仕組みですが、僕の中で旬なネタです(でした?)。しかしながら、取引先の出版社に似た方向性で提案を進めていた手前、僕がやっちゃうのはどうなのかなーとか悩んでいます :-) ただし、そっちは全然進捗が無い状態なのでデモンストレーションも予て一発作ってみようかしらん。