トップ «前の日(10-27) 最新 次の日(10-29)» 追記

2002|01|02|03|04|05|06|07|08|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|02|03|04|07|

2003-10-28

_ ソニーとドコモ合弁会社〜FeliCaを携帯に from ZDNet (20:18)

似たような規格が中途半端に乱立するよりは、すでに(Suicaで)使っている規格が一般化した方がうれしいんで、基本的には好印象。ただ現状のSuicaもそうだけど、経年劣化時の対応とかちゃんと考えておいて欲しいな。

今俺が使っているSuicaカードは、確かSuicaが始まった日に買ったやつだけど、毎日毎日使っているうちに微妙にカードが壊れはじめた。結構厚みのあるカードの端が浮きはじめていて、このまま行くとそのうち複数枚に分解しそうな感じ。

というのが気になったんで、駅員に新しいのに交換してくれないかと頼んだら、「定期の期限が切れたら、継続せずに新規にしてくれ」(えーっと、確かデポジット500円とかなかったっけ。ああ古い方を返せば返金してくれるのかな?)と言われ、「チャージがあるのか?」と聞かれたんであると答えたら、その場合は「預かりで二日後に渡す」と言われた。

経年劣化で壊れるのってのは頻度は少ないだろうけど、でもSuicaみたいに一度発効したら交換することがないカードでは必ずいつかはあることだし、そのたびに預かりが発生するのって顧客サービス的にはダメじゃないか。ましてやそれが携帯電話と一体化したらさらに面倒なことになりそうだ。

さらに用途を広げようっていうのならば、その辺もちゃんと意識して作って欲しい。俺以外からもきっと同様の問い合わせがすでにあっただろうし、そういう問題があること自体は把握しているでしょ?

_ 【レポート】IP-processor 企業インタビュー(1) ハードとともに理念も提供する富士通 from MYCOM PC WEB (20:18)

IP-processorって知らなかったけど、カートリッジ化されたコンピュータを複数用意し、それぞれのコンピュータ間をイーサネットで接続し、IPを使ってデータ交換しながら協調して動作させる仕組みらしい。

要は、専用バスの代わりにイーサネットを使ったマルチプロセッサコンピュータというか、あるいは、独自のネットワーク上で動作するグリッドコンピューティングシステムというか、そんな感じ。しかも、比較的安そう。

ふつうにコンピュータを冗長構成するアプローチよりも、こっちの方が将来性がありそうに見えるなー。グリッドコンピューティングも、広く浅く系には使えるだろうけど、濃く深く系には使いにくそうだし。

Apache+PostgreSQLがこういうシステム上で安く構築できたりすると目先の用途でいろいろ使えて面白そうなんだけどなー。

_ ウェブログがスパムの新たな標的に from WIRED NEWS (20:18)

やっぱりそろそろコメントスパム/TrackBackスパム/Refererスパム対策は標準でしっかりとしたものを組み込んだ方がいいのかなー。インターネット自体が性善説的アプローチで構成されている部分が多いし、その上に乗っかるアプリケーションも、致命的な穴にならない限りは、出来るだけ性善説的アプローチを採用してすませたいところなんだけど、そろそろそうも言っていられないところまで来ているんだろう。

というわけで対策案(たたき台&思いついたら追加していく)。

  • 第三者からの投稿は、無条件掲載ではなく、管理者によるモデレーションを通してから掲載する方を標準に(許可ユーザーはモデレーションの手間を省略可能にするなど、管理コストを無駄に引き上げない工夫も必要。http://d.hatena.ne.jp/ishinao/20031024#p1のコメント欄など参照)。
  • ユーザー認証を行わないシステムにおいては、CookieベースのランダムID(HNSにおけるRURIコード)を使って簡易的にユーザーを特定することにより、ユーザー認証システムと同様の処理を行うことが出来るようにする
  • Cookieを食わないとコメントの投稿は出来ないようにする(Cookie非対応のロボット投稿を拒否する)。ただし、TrackBackはそういうわけにいかないし、コメントについても多少ユーザーの敷居を高くしてしまうという問題がある
  • 画像ワンタイムパスワード(パスワード文字列が書かれた画像ファイルを表示し、それと同じ内容を入力してもらうやつね)を使って、ロボットからの投稿は拒否する。という最後の手段もあるけれど、これはふつうのユーザーにとってもすごくうざいんで、とても重要な部分では使ってもいいのかな、程度。もうちょっと一般ユーザーが使いやすく、ロボットを作るのが難しくなる仕組みはないかな。
  • MovableTypeとかでやっている、悪質IPリストなどを使ったIPアドレスレベルでの投稿拒否設定。
  • 管理ツールでの第三者投稿管理機能を充実させる。

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日くらいで作れるよね。ハードウェアリソースとか運用コストとかを考えなければ。

Tags: watch net

_ ひどい目にあった (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にアップデートする前に、

を熟読しておくべきでしょう。

Tags: MySQL
本日のツッコミ(全1件) [ツッコミを入れる]

_ oyama [超遅コメントでアレですが、おっしゃるとおり個人事業主として「これは(間接的にでも)お金を生むのかカナ?」というのを結..]


2005-10-28

_ 無事終了しました (16:05)

メモリ増設作業は無事終了しました。これから数日かけて、現状にあわせたチューニングをしていきます。多少動作が不安定になることもあるかも。

_ 連想配列の先頭に項目を追加する (22:25)

$tmp = array('a' => 'A', 'b' => 'B');

みたいな連想配列の先頭に項目を追加して、

$result = array(NULL => NULL, 'a' => 'A', 'b' => 'B');

にしようと思って、

$result = array_merge(array(NULL => NULL), $tmp);

とか

$result = $tmp;
array_unshift(array(NULL => NULL), $result);

とかを試してみたけれどもうまくいかず(添え字が数値になってしまう)、どうしたもんだろうなーとおもっていたら、

$result = array(NULL => NULL) + array('a' => 'A', 'b' => 'B');

でできた。PHPの配列はよく分からんことが多いなー。

Tags: PHP 配列
本日のツッコミ(全1件) [ツッコミを入れる]

_ Ryuichi [('a' => 'A', 'b' => 'B')がひよこに見えたので寝ます。]