2009年3月30日月曜日

配列型のカラム

そもそも、配列型のカラムなんてものを初めて知ったのですが、、

新しい業界標準「SQL99」詳細解説 - 第二章 柔軟さを増したデータ構造(1)

PostgreSQL v8では、このSQL99に準拠して配列型というカラムが使えます。例えば、あるカラムが整数値の配列を持つ場合、

CREATE TABLE hoge
(
....
fuga INTEGER[],
....
)

みたいに書けるのです。この場合、普通にコマンドラインクライアント(PostgreSQLであればpsql)からこのカラムをSELECTすると、"{val1,val2,...}"という様に、整数値がカンマ区切りで繋がれ、中括弧でくくられた文字列値として見えます。

プログラムからデータを取得する場合は、例えばPerlのDBI/DBD::Pgの場合、このカラムを取得したデータ型は、Perlの無名リストへの参照として自動的に展開されます(注1)

正直言って、SELECT文一発でカラムデータが検索出来なそうな感じがするので、あまり使いたい気はしないんだけれど、こういうデータ型が便利なシチュエーションもあるのかも知れないなあとも思う。

(注1) ちなみにこの挙動はDBD::Pgのバージョンが2.0以上でないと利用できないっぽい。バージョン1.4では、単なる"{val1,val2,...}"という文字列を取得してしまった。。

PHP5のPostgreSQLバインドは、まだこの配列型に対応していないっぽいです。いちいち"{val1,val2,...}"をパースして配列に展開する作業が鬱陶しいです、正直なところ。

*****

その後、色々とテストしてみると、DBD::Pg v2.0以降であればINSERT/UPDATE/SELECTにおいて、配列型カラムの値はPerlのリストへの参照と等価であることが分かりました。両者の変換はドライバによってシームレスに行われます。

これはちょっと便利かも。

親知らず抜歯(4)

左上の親知らずは、右上の親知らずと比べて抜く際に少し手こずったのですが、そのせいもあって先生から「左上の親知らずは根っこが大きく張っていて抜くのに手こずったので、抜いた後も痛むかも知れません」と言われていました。

そして、昨日その予言通りというか、右上の親知らずの時には鈍痛程度で収まっていた痛みが、ほんの少し強くなりました。抜いた場所そのものが痛いというか、周りの歯茎やその奥が腫れて痛んでいる様な痛みです。

今朝起きても痛みは引かなかったので、仕方なく奥の手を繰り出すことに。

今朝、万が一痛みが出たときの為に処方されていた鎮痛剤を1錠飲みました。すると、、、何とも物凄い効き目、20分もしたら痛みが全くなくなりました。そして、薬を飲んで以来7時間が経っても、まだ効き目は持続している様です。

この痛み止め凄いです。また痛みが出たら使おうかと。

2009年3月24日火曜日

OpenSolarisのデスクトップ進化形 Jaris

OpenSolarisのデスクトップ進化形 Jaris

そう言えばこの記事にもある様Linuxが知られ始めた1995年頃には、確かにLinuxPoor man's Solarisと呼ばれていました。大学ではSolarisのワークステーションを使っていることが多かった様ですが、私の大学でもご多分に漏れずSolaris (古いものではSunOS 4.1.xなど)を使っていたため、自宅のPCでLinuxを使うことは「大学のSolarisで使っているアプリケーションが自宅でも使える」的な喜びをもたらしたのでした。とは言っても、Mule上でmh-eを使うとかそういう程度のことだったんですが。

それはともかくとして、Jarisはなかなか面白そうです。特にZFSが気になります。手元にある程度パワーのあるPCがあれば、入れてみたい気がします。

親知らず抜歯(3)















お待たせしました(←誰も待ってない)
昨日、左上の親知らずも抜いてきました。右上の時に比べて、少し抜くのに手こずった感じがありましたが、それでも抜歯は約2分、麻酔の時間を含めても5分以内で終了したそうです。まさに秒殺ならぬ分殺ですね。

折角なので左上の親知らずの写真も載せてみます。歯に付いていた血管(?)の名残のようなものが見えますね。ちょっとグロくてすみません。

ところで、こちらの歯も軽く虫歯になっている(黒い所)様子ですが、右上の親知らず程では無かった模様です。

ともあれ、また3日間ほど抗生物質を飲み続け、傷口が塞がるのを待ちたいと思います。ちなみに、前回抜いた右上の親知らずの跡は傷口も塞がって順調の模様です(by先生)。

前回に比べ、今回は抜いた後に少し鈍痛がしました。でも激痛ではないし、痛くないと言っても過言ではないです。改めて良い先生に巡り会えたなあと思います。

2009年3月22日日曜日

IBMがSunを買収するかも

[WSJ] IBMのSun買収、メリットと課題は?

旅行に行ってる間に面白いニュースが飛び込んできました。確かに、ハードウェア事業を買収してきたIBMにとって、Sunの買収は流れに逆行することかも知れませんね。

2009年3月14日土曜日

親知らず抜歯(2)















右上の親知らずを抜いて以来、抗生物質を3日間ほど飲んで、その後は特に薬も飲まずに順調に経過しております。折角なので(!?)、抜けた歯の写真でも載せておこうかと。

ご覧の様に、歯茎から上に出ていた部分はだいぶ虫歯になっており、黒くなっております。これも、抜くのを決心した理由のひとつでした。

昨年まで虫歯治療に通っていた医院の先生曰く、「虫歯が進んで歯が欠けるとペンチで抜けなくなって大変」であり、かつ「親知らずには治療器具が届かないので虫歯治療できない」とのこと。要するに「早く抜け」というお告げだったのだな。

ちなみに、まだ抜いていない左上の親知らずについても、ご多分に漏れず虫歯だそうだ。こちらは再来週抜歯予定なので、抜き次第報告する(←誰も待ってない)。

じゃらん

じゃらんのウェブサイトで会員登録してログインしようとすると、[ログイン]ボタンを押した後にJavaScriptが暴走(?)してFirefoxが警告ダイアログを表示してしまう。そしてログインできない。

ちなみに、Safariだと問題無くログイン出来る。不思議だ。

環境は:

OS: MacOS X 10.5.6 Leopard
ブラウザ: Mozilla Firefox 3.0.7 / Safari 3.2.1

FirefoxのJavaScriptエンジンに特有の問題でもあるのだろうか。

2009年3月13日金曜日

AppleがNetbookを出すとの噂

Appleのエキスパート、「Netbookは気が早い」

Netbookは、要するに

  • 安くて
  • 小さくて
  • 非力な

ラップトップで、どこのメーカーが出そうと正直なところ大差はない。少なくとも、ただのNetbookにAppleがガチンコで取り組む価値は無さそうに思える。もしAppleがNetbookの様なデバイスを本気で検討しているとしたら、それはきっとNetbookと呼ばれるカテゴリのステレオタイプからはかなり掛け離れた物になるのではないかと思う。

個人的には、iPhone 3Gが結果的にNetbookと競合している様に思えるので、AppleはNetbookの様なタイプのデバイスには手を出さないのではないか、という気がしている。

2009年3月11日水曜日

Encode - Perlモジュール

私のPerl知識はPerl5のごくごく初期のレベルで止まっているわけだが、今日もまた新たな発見があった。

かつてはPerlで日本語文字コードを変換を行うには、jcodeモジュールを使う(明示的にjcode.plをどこからか持ってきてrequireしてた気が)のが一般的だったが、今やPerl5標準でEncodeというモジュールがあるようだ。

use Encode;

my $decoded = Encode::decode("euc-jp", $target);
my $encoded = Encode::encode("shiftjis", $decoded);

とかっていう風に使う。ここで「decode」や「encode」の概念がイマイチ分かりにくいが、要するに「内部エンコーディングであるUTF-8へdecodeするからencodeする」という事のようである。

ちなみに、上記の2つの処理をいっぺんに行うfrom_toという関数もあるのだが、どうも上手く動かないようだった。環境はMacPortsのPerl5 (MacOS X 10.5)及びActivePerlのPerl5 (Windows XP Pro)であった。理由は不明だ

2009年3月10日火曜日

CPAN (1)

Perlのアドオンモジュール集であるCPANを使ってみることに。ちなみに、MacOS XデフォルトのPerlにもCPANモジュールは入っているが、MacPortsで入れたCPANモジュールを使うことにする。

% su -
% /opt/local/bin/cpan

ここで設定をゴチャゴチャと行う。ほぼデフォルトでOKだが、MacOS Xの端末アプリはUTF-8がデフォルト文字セットなので、文字セットを「ISO-8859-1?」と聞かれたらnoと答える。CPANアーカイブは、Asia→Japanと指定し、適当にアーカイブサイトを選ぶ。これは恐らくネットワーク的な距離と好みによって変わって良いと思う。

さて、色々と答えるとCPANの設定が完了してプロンプトが返ってくる。

cpan>

ここでまずは以下のコマンドを叩く。正直、意味は良く分からない(←おい)

cpan> install Module::Install
Running install for module Module::Install

Running make for A/AD/ADAMK/Module-Install-0.79.tar.gz
Is already unwrapped into directory /var/root/.cpan/build/Module-Install-0.79
Makefile.PL returned status 65280
Running make test
Make had some problems, maybe interrupted? Won't test
Running make install
Make had some problems, maybe interrupted? Won't install

ああ、、、なんかエラーが。。。激しく意気消沈。

気を取り直して、本来入れたかったLWP::UserAgentを入れてみることに。

cpan> install LWP::UserAgent

あれ、なんかフツーに入った。何故だろう(汗
更にCrypt::SSLeayを入れる。

cpan> install Crypt::SSLeay

SSLがある場所を聞かれただけで、フツーに入った。Live testも問題なし。

親知らず抜歯(1)

先日、知人から腕が良いと紹介された歯医者さんで右上の親知らずを抜きました。

虫歯治療にはすっかり慣れた(あのドリルの音は未だに大嫌いですが・・・)私ですが、親知らずの抜歯だけは怖くて避けて回っていたのでした。しかし、今月は仕事の谷間というタイミングでに時間が採れることもあり、一大決心をして抜くことに。

当該の歯医者さんは初診だったので、まずは歯を診て頂きレントゲンを撮りました。その後、「じゃあ抜きましょうか」ということに。私の上の親知らずは左右共に既にしっかりと生えていて(先生曰く「にょきにょきと生えている)、隣の臼歯よりも飛び出してきている位なので、抜くのは難しくないそうです。

今回は表面麻酔をせず、いきなり歯茎の外側に麻酔注射をブスリ。まぁ、俗に言うところの「チクッとする」というやつです。さらに、丁度反対側くらいの歯茎の内側にもう一本麻酔注射をブスリ。麻酔が効くまでの間、上下の歯の噛み合わせについて色々と説明して頂き、準備は完了。

先生: 「お昼が近いので麻酔は弱めにしてあります。痛かったら言って下さいね」
おれ: 「はい (まじかよ。。。痛いのは嫌だぁ〜)」
先生: 「(抜歯対象の歯をグイグイ押しながら)これ、痛みますか〜?」
おれ: 「いいえ」
先生: 「じゃあ、抜きますね。まずはグイグイ押しますから」
おれ: 「はい (痛くしないで〜)」
先生: 「(かなり強くグイグイ押した後)じゃあ、次は引っ張りますよ〜
おれ: 「(ああ、歯がミシミシ言ってる・・・泣きそう)」
先生: 「(ガッツリ引っ張った後)はい!取れました
おれ: 「はあああ??マジですか!?」

あまりに速攻で抜けてしまった(所要時間約1分)ので、本当に拍子抜けした。暫くは信じられなかったが、抜いたばかりの歯(@血だらけ)を見せて頂き、さすがに納得した。

麻酔が確実に効いていたのだからだろうけれど、全く痛くなかったのにはビックリ。その後麻酔が切れる前に痛み止めを飲む様には言われたが、麻酔が切れても特に痛みは無く、非常に順調に経過している。

暫く時間を空けた後次は反対側を抜く予定になっているが、いくら痛くないとは言えまた抜くときにミシミシいうのを聞くのは嫌だなあ。。。この先生の腕が確かだということは非常に良く分かったのだけれど。

新幹線でWiFi

新幹線で無線LAN 3月14日から

N700系限定ですが、ようやく新幹線車内でのWiFiアクセスが可能になりました。ソフトバンクのBBモバイルポイントにも対応していますので、つまりiPhoneユーザはWiFiが使えるということですね。

2009年3月9日月曜日

DELL考

母親がPCを買い換えた。

正確に言うと、確か私が就職して2年ほどした頃に、命と引き替えに(←大げさ)残業しまくって稼いだ残業代がだいぶあったのでスリムノートPCをプレゼントしたのだが、それを今まで5年ほど使い続けていたのだ。しかし、さすがにスペック的にもきついし、最近は実用上問題のないスペックのノートPCが非常に安価に売られているので、買い換えも良いかなと思っていた。

今回は選定を私が行い母親自身が購入したのだが、随分と良いPCが安く手に入る時代になったのだなあと感心してしまった。

ちなみに、以前プレゼントしたPCは東芝 Dynabook SS S6という機種で、超低電圧版Pentium III 866MHzに標準256MBのRAMを512MBにアップグレードして購入したものだった。OSはWindows XP Homeなので、まぁスペック的には最低限のラインはクリアしているといった感じだ。とは言いつつ、クロックが1GHzにも満たないCPUでのWindows XP使用はキツいのも正直なところ。更に、まだこの頃はWiFi標準搭載ではないノートPCも多く、このノートも例に漏れずWired LANのみ標準搭載だった。その為、後付で802.11aのPCMCIA WiFiカードを挿して使っている。ちなみに、
液晶は12インチでいわゆるスリムノートのカテゴリ。

今回購入したPCは、DELLのVostro 1510という法人向けモデルで、BTOでCPUをCore2 Duoの2.1GHzにアップグレードしてあるが、RAMはデフォルトの2GB、HDDもデフォルトのまま160GBになっている。OSはWindows Vista BusinessをダウングレードしたWindows XP Proがプリインストールされている。多分価格は8万を切っている。勿論、802.11a/b/gに対応したWiFiチップが
内蔵されている。

Vostro 1510は15.4インチ液晶のごっついA4ノートだが、外見はだいぶ洗練されている気がする。特に、1年半ほど前に業務で買ったLatitude D520に比べると、随分と綺麗に出来上がったという感じ。Latitude D520はCore2 Duo 1.6GHzにBTOで増設した1GBのDRAMだったが、当時の価格で10万円位したものだ。外見は無骨で、業務用じゃなかったら絶対買わないな、と思わせてしまうデザインだった。

半導体(CPUとRAM)の進歩は目覚ましく、1年半も経てば以前としては破格の値段で素晴らしいスペックが手に入るのは当たり前なのだけれど、Vostro 1510のコストパフォーマンスはかなり良いのではないかという気がする。

もっとも、OSをWindows Vistaにした途端にこの評価は変わってしまうのかも知れないが、そういった意味で5年前のPCと変わらず今でも現役を張っているWindows XPは優秀なOSなのかも知れない。かつてはWindows 2000に比べて重たいというイメージのあったXPだけれど、今となっては最新のハードウェアでだいぶサクサク動く様になり、ましてやVistaと比べたら相当にベターな選択肢になっている。

勿論、軽さで言ったらWindows XPよりもLinuxの方が更に優秀だ。最近流行りのUbuntu Linuxは、実用性という点では全く問題無いし、日本発としてはVine Linuxという選択肢もある。Windows XPを完全に捨ててしまうのに問題があれば、これらLinuxとのデュアルブート環境なんかも良いかも知れない。

2009年3月2日月曜日

NECがクラウド上に基幹システム再構築へ

NECがクラウド上に基幹システム再構築へ

お客さんに売る前に自分たちで作って使ってみる、というのは良いアイデアだと思いますが。。。

なぜWindowsでクラウドなんだろうか。それとも、クラウドのプラットフォームはWindows以外のOSを使うのだろうか。ユニシスと共同開発するとなると、恐らくハイエンドIAサーバ(しかもIA32)っぽいのだけれど、であるならばLinuxという選択肢もあると思うのだが。

クラウドのOSとしてWindowsを選択するメリットが良く分からない。MSは、クラウド用OSとして何か特別なWindowsを隠し球に持っている、ということなのだろうか。

イマイチしっくり来ない決断ですな。。。