やばいです。14.1型SXGA+、重量1499g。まじほしーー。。買って下さい。
2004年1月28日水曜日
2004年1月27日火曜日
pg_atoi: zero-length string
僕はDBMSというとPostgreSQLを主に使っているのですが、このPostgreSQL、バージョン間で互換性のない変更点というのが結構あって、これを知らないと、データベースの移行作業とか、テストサーバで開発したものを本番サーバにアップしようとか言うときに、この違いのせいでトラブるなんてことになりかねません。
「pg_atoi: zero-length string」なんていうエラーもほとんどが7.2から7.3への互換性のない変更点に書かれている、
整数型の読み込みで、空文字列が禁止されました。 この結果、整数型フィールドに対し、COPY 文での入力フィールドの空指定や VALUES 句での空文字列 '' 指定などで、0 入力とはならず、エラーとなります。
が原因でしょう。
例として、名前と年齢をフォームから入力させて裏でDBに保存するようなWebアプリケーションを考えてみましょう。
名前と年齢を保存しておくテーブルを次のように定義します。
CREATE TABLE user_master(
name text,
age int
);
そしてこのDBにデータを保存するためのPerlスクリプトを次のように書いたとしましょう。
#! /usr/local/bin/perl
use strict;
use warnings;
use CGI;
use DBI;
my $query = CGI->new;
my $dbh = DBI->connect('dbi:Pg:dbname=testdb', 'username','passwd');
my $name = $query->param('name');
my $age = $query->param('age')
$dbh->do("INSERT INTO user_master (name,age) values(?,?)",$name,$age);
このスクリプトは7.2では問題なく動きますが、7.3だとエラーになる可能性があります。
エラーになるのはageに値が入力されなかった場合です。いつからだったか忘れてしまいましたが、(2.7xくらいからだったような。。)CGI.pmではparam('key')の値が空だった場合、空文字列を返すので、もしageの値が空だと$ageには空文字列が代入されます。それをそのままPostgreSQLのint型のカラムに入れようとしているので、pg_atoi: zero-length string」というエラーがでてしまうわけです。このエラーを回避するために修正したスクリプトは以下のようになります。
#! /usr/local/bin/perl
use strict;
use warnings;
use CGI;
use DBI;
my $query = CGI->new;
my $dbh = DBI->connect('dbi:Pg:dbname=testdb', 'username','passwd');
my $name = $query->param('name') || undef;
my $age = $query->param('age') || undef;
$dbh->do("INSERT INTO user_master (name,age) values(?,?)",$name,$age);
param('key')の値が偽だった場合(空文字も偽になります)、undefを代入するようにしました。入力データが多い場合は、mapを使って一括処理してやるのが効率的でしょう。
my @keys = qw(name age kana birth_year birth_month birth_day);
my %params = map {$_ => $query->param($_) ? $query->param($_) : undef} @keys;
2004年1月24日土曜日
MyIE2いいです!
hail2u.net - Weblog - MyIE2
に紹介されていたMyIE2。Googleツールバーを使えるということでここ何日か試しに使ってます。
- 気づくとIEが起動していることがある。(広告?)
- SELECTフィールドからTABで次のフィールドにうつれない。
- Googleツールバーの設定で検索結果を新規ウィンドウで開くにしておくと検索結果を表示するためにIEが起動しちゃう。
というような微妙に使いにくい点もありますが、今まで使っていたSleipnirと比べても見劣りしないっていうのが僕の感想です。
2004年1月23日金曜日
僕のLet'sノートが壊れた!?
ここ数日、修士論文を書き上げるべく研究室に泊まり込んでいたのですが、2日も満足に寝ていないとさすがに眠気に勝てず、軽く仮眠をとることにしました。すぐに再会するつもりだったのでノートの電源は入れっぱなしで寝たんですが、それがいけませんでした。。。
軽い睡眠のあと眠気眼で、ノートの前に座っていざ執筆再会と思ったのですが、どうもノートの調子がわるい。。ずっと起動しっぱなしだったのが悪いのかなと再起動することにしました。若干時間のかかる起動画面の後、いつものログオン画面が表示されパスワードを入力しようとキーボードをたたいたのですが反応なし。。???なにがどうなったのかわからずパスワードを何度も連打するものの何も反応しません。。途方にくれつつも原因を探していると、左のShiftキーのあたりがなんか濡れているのを発見。これは下手にいじるとショートすると思ったのでノートでの執筆は断念し、研究室のUNIX端末で作業を再開しました。結局論文の提出期限には間に合ったのですが危機一髪でした。
論文提出後、そろそろ乾いたかなとノートの電源を入れてみましたがまだキーボードはうんともすんとも反応してくれません。最悪の事態が頭をよぎりましたが、とりあえず、濡れた部分がどうなっているのか見るためにキーボードを引っぺがしてみました。水がかかったと思われる部分が黒く変色していることはわかったんですがだからといってどうすることもできず、記念写真だけ撮ってもとにもどしました。以下そのときの写真です。こういうときカメラ付き携帯は便利ですね!
元に戻した後、あきらめきれず試しに電源を入れてみるとあら不思議、今までのことが嘘のようにキーボードで入力できるようになってました。うーん、結局原因は何だったんだろう?まあ直ったからよしとしましょうか。
2004年1月18日日曜日
CPANでWebからDiffとGrepが利用可能に
use Perl | Diff and Grep Now Available on search.cpan.org
samtregar writes "I'm proud to announce that search.cpan.org now includes two new tools of my creation: diff and grep. To get to these tools, go to a distribution page (ex. HTML-Template-2.6) and click on the "Tools" link. This will bring you to the tools page where you can run diff and grep on the module's source code.
search.cpan.orgでGrepとDiffを利用できるようになったそうです。さっそく試してみましたが、Diffはいいですね!モジュールのバージョンアップがあったときにこれを使えばどこをどう変更したかが一目瞭然です。一方Grepはちょっとどう使うか利用シーンがぱっとは浮かびませんねぇ。モジュールをハックするときはemacsで直接ファイルを見る方が効率的だと思いますし。
それにしてもDiffとGrepの実行時のレスポンス、かなり速いです。裏でどんなことをやっているのか非常に気になります。
2004年1月17日土曜日
Perl5.8.3
use Perl | Perl 5.8.3 Released
5.8.3 is a maintenance release for perl 5.8, incorporating various minor bugfixes, including eliminating a couple of errors in Perl's UTF8 handling. Please see the perldelta for the full details.
Perl5.8.3がでてました。メンテナンスリリースでUTF8系のバグフィックスがメインのようです。
Google ブログノイズ問題解決へ
The Register
Google is to create a search tool specifically for weblogs, most likely giving material generated by the self-publishing tools its own tab.
ウェブマジシャンの秘密部屋: Google RSS検索エンジンで紹介されていた記事。
Googleの検索結果でブログが上位に来やすいというのはよく言われているし、経験的にもそれは正しいと思います。現にこのブログも「Horiuchi」で検索してみると現時点では4番目に表示されちゃってたりします(笑)しかし、そんな状況も近いうちに変わるかもしれません。引用した記事によればGoogleもこのことは「問題」と、とらえているようで、ブログ用にRSS検索エンジンを用意して、メイン検索とブログ検索を分けようとしているようです。Googleの検索結果からブログが消える日も近い!?。
2004年1月16日金曜日
ゼクシーのCMの女の子
モダシンさんのウェブログを眺めていたら聞き慣れない名前が。誰かと思ったらなんとゼクシーのCMの女の子ではないですか。ちょっとまえから、嫁さんがあの子かわいーとかいってたので、早速教えてあげよう。
2004年1月12日月曜日
MTのインストールでトラブル ~エントリーを登録できない!?~
MT ERROR: Invalid EUC_JP character ...
のようなエラーがでてしまいました。Webで情報を探していると、naoyaさんのWeblogにPostgreSQL を使っていると新しいウェブログが作れなくなる件についてという記事が。記事を読むとlib/MT/default-templates.plの文字コードに問題がありそう。そこでこのファイルの文字化けしている日本語を削除してみると、mt-load.cgiは無事修了するようになりました。
これで一安心かと思いきや、今度はエントリーを登録しようとするとまた同様のエラーがでて、登録できないという現象が発生。よくよく考えてみるとブログの文字コードはUTF-8に設定していたのに、DBの文字コードはEUC-JPなままでした。 。
createdb -E UTF-8 db_name
結局これですべての問題は解決しました。。default-templates.plも文字化けているのではなくて、UTF-8なファイルだったので、日本語部分を削除する必要もありませんでした。うーむ、灯台もとくらし。。
2004年1月11日日曜日
Thunderbird
ジャンクメールをフィルタリングできる機能がついていたり、IMAPに対応していたり、その他機能もりだくさんのメールクライアント。結構評判がいいようなので、ためしてみようかなー。
2004年1月8日木曜日
アメリカ入国時に指紋と写真をとられる?
米国、外国人の入国時に指紋と写真のバイオメトリクス登録を開始
米国当局は5日(米国時間)、新たなプログラム『米国出入国現況表示技術』(U.S. Visitor and Immigrant Status Indicator Technology:US-VISIT)の一環として、入国する外国人の指紋スキャンと顔写真の撮影を開始した。
なにも悪いことしてないのに指紋や写真を撮られるのはやだなーと思っていたら、
例外として、ヨーロッパ地域など27ヵ国[日本も含まれる]の国民は、米国での滞在期間が90日までの査証(ビザ)を必要としない渡航の場合、このプログラムによるチェックの対象とならない。
だそうで、観光旅行にいく分には大丈夫そうですね。でも入国するまでの待ち時間は長くなりそう。。まあアメリカに行く機会なんてほとんどないんですけどね(爆)
2004年1月5日月曜日
3大美女
おもしろそうなので参加~。
1. 仲間由紀恵
2. 長谷川京子
3. 加藤あい
てな感じですね。TRICKの仲間由紀恵は最高。
ちなみに3大エロを勝手に決定しちゃうと、
1. 杏さゆり
2. 井上和香
3. 佐藤江利子
インリンも頭に浮かんだけどなんか行き過ぎちゃっているので却下。
2004年1月3日土曜日
WindowsXPでファイルが削除できないとき
より、
WindowsXPで
~を削除できません。他の人またはプログラムによって使用されています。
ファイルを使用している可能性があるプログラムをすべて閉じてから、
やり直してください。
と言われてファイルを削除できないとき、、
メモ帳等を利用して、空ファイルを同名で上書き保存すると
削除できるようになる。
へぇ~へぇ~へぇ~。
2004年1月1日木曜日
PRIDE、曙vsサップ、ついでに紅白
それにしても番組が始まってから1時間しても第一試合が始まらないのはちょっと寒かったなー。
でも試合はどれもおもしろかったー。吉田には是非ホイスをこてんばんにたたきのめしてほしかったけど、結果的には限りなく敗戦に近い引き分け。ホイスが柔道着を脱いで試合に臨んだ時点で勝負は決まっていたのかな。
パンクラスの近藤は、この試合ではじめて知ったんですが、膝が強烈でした。そういえば膝を使う日本人てあんまりいないような気がするんですが、なんででしょうねぇ?
田村は相手が弱すぎた気がします。いくらレイセフォーの弟でもねぇ。。
桜庭は相変わらずすてき。入場するだけでなんか鳥肌が立ってきます。負けちゃったけど最高でした。
もう一つ気になっていたのが、曙vsサップ。
やっぱりというべきかサップの1RKO勝ち。曙は練習期間が少なすぎましたね。しかし、そもそも名声だけで、パンチの打ち方も知らない素人がメインイベンターなK-1て今後大丈夫なんでしょうか??ちょっと心配。。でもタイソンvsサップは楽しみです。是非実現してほしい。
あと、気にもしていなかったんですが、今年の紅白いろいろあったみたいですね。野鳥の会が紅白に出場できなかったり、小林幸子の衣装?が故障により一部動かなかったり。(衣装って故障するものでしたっけ。。)結果は白の圧勝だったようですね。