2012年12月1日土曜日

ソニーストアでVAIOを購入して納品まで 注文確定・生産中・出荷手配中・出荷済

ソニーストアでVAIO duo 11を購入したのですが、大人気のようで、納期が一ヶ月かかってしまいます。家電量販店でも品薄の状況は変わりません。納期がかかりすぎるため、エディオンでは、取り寄せでの受け付けすら中止していました。
Windows8はタッチパネルが目玉として登場したOSですので、それが使えないのではこのタイミングでノートパソコンを購入する意味がありません。しかもタブレット形状に変形できて、スペックも高いとなると、自然に、この製品を選んでしまいます。オーダーメイドで必要な仕様にカスタマイズできますから、幅広いニーズに対応できて、ますます買う人が多くなることでしょう。

私がオーダーした製品は、最終的に予定からちょうど一週間早く納品されました。まるまる一ヶ月はかかりませんでしたが、三週間と三日かかったことになります。おそらくは、もともとの納期が、ある程度余裕をもって設定されているのだと思います。このように予定より早くなることも少なくないようです。
ただ、オーダーメイドですので、パーツ構成によって納期はバラつきがあると思います。注文した他の人と比較して、先に注文にしたのに、納期は後になるということもありそうです。
昔、購入したLenovoのノートパソコンでも、それなりに時間がかかっていたような気がするので、パソコンをメーカーからオーダーメイドで購入する場合には、少々時間がかかるものなのかもしれません。

ソニーストアで注文すると、ウェブサイトのアカウントサービスで注文した内容と状況を確認することができます。このウェブサイト上でキャンセルもできるようです。
My Sony Club会員であれば、メールアドレスかIDとパスワード、ゲストの人は受注番号と電話番号を入力してログインすると、注文内容のページが表示されます。
その中で、ページ中ほどの商品写真の右にあるステータス欄が、状況により変化していきます。

注文直後は「注文確定」となり、「生産中」「出荷手配中」「出荷済」と変わっていきます。
私の場合は2週間と数日の間、「注文確定」だったのですが、その後「生産中」に変わり、5日経つと「出荷手配中」に変わりました。それと同時にソニーストアから「商品お届け可能日「変更」のご連絡」というメールがあって、メール送信日の翌々日がお届け可能日となりました。その翌日の夜、配送会社と配送伝票番号が記載されたメールが来て、ステータスは「出荷済」に変わりました。
このあたりの進捗状況も、注文した内容によって変わってくることがあると思います。

できるだけ早く商品が欲しいと思うのが人情ですが、注文前は少し慎重に検討した方がいいかもしれません。
というのは、一度注文してしまうと、オーダーメイドの内容を変更することが一切できないからです。変更しようと思うと、いったんキャンセルして、改めて注文しなおすことになります。ソニーストアに電話しても変えられません。再注文となると、予約の行列の最後尾に戻ることになりますし、最初に購入したときにキャンペーン価格で購入していたとしたら、それもなくなっているかもしれません。
特にVAIO duo 11の場合、オーダーメイド内容によって、内部構造が変わってしまいます。メモリの搭載量によって基盤のつくりが異なるため、後からメモリを増設することができません。ノイズキャンセリングヘッドホンを付属するかどうかによって音質を向上させるS-Masterの搭載も変わります。将来、SSDハードディスクを交換しようと思っても、ぎりぎりまで高密度に設計されたボディを開けるのは素人には大変困難でしょう。
早く欲しいのはよく理解できますが、納得できる買い物をしたいところです。

今、注文して納期は、三週間か、四週間か、それ以上か、分かりませんが、一度注文してしまうと後は待つだけですから結構長く感じます。
インストールするソフトウェアのリストアップでもして、楽しみに待ちましょう。

2012年11月30日金曜日

Microsoft SQL ServerでコマンドプロンプトからSQLを実行する方法

SQL ServerがインストールされたパソコンでコマンドプロンプトからSQLを実行するにはsqlcmdを使う。
バッチファイルに組み込んで使うときにも便利だ。

> sqlcmd -S SERVER -d USE_DATABASE_NAME -U LOGIN_ID -P PASSWORD -Q "select * from table"

SERVER はサーバー名もしくはサーバー名とインスタンス名。例えば「hostname¥instance」のように書く。
USE_DATABASE_NAME はデーターベース名
LOGIN_ID はSQL ServerのログインID
PASSWORD はSQL Serverのパスワード

クエリの出力結果をファイルに保存したいときは、

> sqlcmd -S SERVER -d USE_DATABASE_NAME -U LOGIN_ID -P PASSWORD -Q "select * from table" > result.txt

のようにして、ファイルへリダイレクトするとよいだろう。

select句だけでなく、delete、insert、truncate等、登録、更新系のSQLも実行できる。
タスクに登録してスケジュール化したバッチファイルで使うようなこともできるだろう。

iPad、NEXUS、kindleが便利な人は生産性ゼロのダメ人間

近頃、タブレット端末あるいはパッド端末と呼ばれる高画質の液晶タッチパネルを板状の情報機器に取り付けたものが流行っているようだ。
代表的なのがAppleのiPadで、他にGoogleのNEXUSやAmazonのkindleのようなもののことだ。

私は、そうした端末をいまだにひとつも持っていないが、その理由を考えてみると、私にとって機能が不足するからではないかと思う。
例えば、プログラムを書いたり、サーバーを管理したり、ウェブサイトをデザインしたり、動画を編集したり、メールを書いたり、ドキュメントを作成したり、こうしてブログの記事を書いたり・・・
キーボードが無くて、画面サイズや処理能力に制限があるタブレット端末は、そうした作業にはおそらく適していないと思う。想定していない用途なのだから当然だろう。

しかし、パソコンならできることを、できない(もしくは適していない)タブレット端末が今、話題になるのは、パソコンでするような創造的活動が、実際のところ必要とされていないということだ。
プログラミングやサーバー管理なんていう専門的な用途は例外としても、文章、画像、映像、音声を編集するようなことを誰もしていないのが真実で、それがあらためて表面化したということだ。
文を書いたり、絵を描いたり、動画をYouTubeにアップロードしたり、作曲したりなんていうクリエイティブなことを世の中の大部分の人はしていない。ストレートに言えばできる能力を有していない。コンテンツの創作は、ある程度の根気を要することで、普通の人は小難しいことをしたいと思わないのだ。99%の人は他人が作ったコンテンツを見たり、使ったりするだけの消費する存在でしかない。
何も作らないのであれば、パソコンは必要なく、タブレット端末のようなコンテンツプレーヤーでこと足りるということだ。

インプットではなくアウトプットオンリー。
画面を触るだけの入力。キーボードによるテキスト入力は必要ない。マウスによる正確なポインティングすら必要としない。タッチパネルにはフリック、ピンチ等、独特の操作方法があるが、キーボードやマウスでも同様の結果を得る操作は実現できるし、もっと精度の高い操作が可能だろう。しかし、そんな細かいことはしたくないし、できないのだ。
タッチ以外で、なにかを入力するとしても、ツイッターやFacebook等の短いフレーズの文章程度。だが、そうしたSNSですら使われないのが多数派だろう。
現実は、インターネットでコンテンツを提供できる人は、ほんの一握りしか存在しない。
見るだけなので、簡便な操作方法で十分なのだ。

ネット世界へのコンテンツ提供という貢献から目をそらし、一方的に情報を貰うだけに特化したデバイスの受け身姿勢は、世の中のほとんどの人の現実的な欲求にマッチしたものだということだ。
ある意味、進化どころか退化したようなデバイスのように見えるし、なにより人間自身を退化させるような気がする。
だが、人は楽な方へと流れるようにできている。見ていると、タブレット端末の選択においては、何ができるかより、どれだけ簡単で楽か。いかに横着できるかに価値があるようだ。

タブレット端末だけのことではないが、このごろ、ITは人間をダメにして、不幸にしているのではないかと思えることがある。
そんな未来は、エキサイティングというより、退屈な世界ではないだろうか。

2012年11月27日火曜日

「生き方」を読んで生きる意味がないことを再認識

先日、稲盛和夫さんという京セラの会長さんが書いた「生き方」という本を読んでみた。
著者は会社を作り上げた方なので、ところどころに企業経営者都合の考え方が見られて、少し嫌な感じがするのだが、それでも、企業経営者のような立場でなくても、読む意味のある記述はある。

読んでいて、途中までは、ああ、そうかもしれないなあ、そういう考え方もあるなあ、と思わされたりするのだが、最終的なところへ来るとわけが分からなくなる。
なぜかというと、肝心な根拠となるところに来るといつも宗教が出てきて、とたんに信憑性がなくなるのだ。宗教という確証のとれない、頭の中で創造して、どうとでも言えるようなものでは、裏付けとしては弱い。仮に宗教が実在するものだとしても、それを確かめる方法がない以上、もう、信じるか、信じないかの世界でしかない。宗教の存在に100%とは言わないまでも、せめて、かなりの「確からしさ」があってくれればと思うのだが、残念ながら、現状においてそのようなものは聞いたことがない。

宗教が存在することを示す根拠でありがちなのは、「過去数千年にわたって人類の文明はずっと神を崇め続け、今もなお続いている。それほどまでに長く続いているという歴史がある事実を考えると、神なり、宗教なりが存在すると考えるのは妥当ではないか」というようなものだ。これに対して、例えば「科学が発達していなかった時代、人間は自然の成り立ちの仕組みを知る術がなかった。それを説明する解決策として神のような存在を創りだしたのではないか。」という反論があるかもしれない。
そんなような議論になって、どちらの言い分が正しいとしても、最終的にはどちらにも決め手がない。神がいるにせよ、いないにせよ決定的な証拠がない。存在しないとは言えないかもしれないが、存在するとも言えないのだ。
そのような、どっちだか分からないことを土台にして組み立てられたものは根拠となりえない。

「生き方」という本の中では、度々宗教じみたものが出てくるので、「そんなもの、宗教を言ったらなんでもありだろう」と言いたくなる。それで、いよいよ読むのが辛くなってきた頃、ひとつ面白い部分が出てきた。
著者は、世の中、正しいことが正しくなるようになっているのではないか言う。その理由付けのひとつとして、宇宙が誕生し、人類が誕生した。その過程では稀な反応を繰り返し、生命の住む地球が生まれた。地球には数多くの生物が存在するが、ずば抜けて高度な知能を持つのは人類だけだ。そうまでに、ありえない偶然の確率を積み重ねた結果でなければ存在できない我々人類には、得体のしれない巨大な力が働いているのではないか。何かの意思がなければ、とても偶然だけでここまで来れるとは考えられない。というのだ。だから、その流れに逆らって生きようとしてもうまくいかない。なるべきことは、なるようになっている。
著者はだいたいそのようなニュアンスのことを言っていると私は受けとった。

著者の言いたいことは置いておいて、私が面白いと思うのは、これが神の存在の話だからだ。
仏像や十字架等を思い浮かべる宗教のことから、宇宙の話へは、すぐに結びつかないかもしれないが、これは広い意味での神の存在の話をしていると思う。

・・・申し訳ありません。書きかけです・・・

NEXUS 7やiPad miniの用途は?買ったほうがいいのか?

AppleのiPad mini、GoogleのNEXUS 7、Amazonのkindleに、これからMicrosoftから出るとか出ないとか。近頃、小型のタブレット端末が続々登場しています。物欲を刺激してくれる商品で、私も欲しくなってきます。
それで真剣に購入を検討しましたが、なんとか踏みとどまって、今は見送ることにしました。


なんに使う?
そもそも、こうしたタブレット端末はどうした用途に使うものなのでしょうか。
インターネットの掲示板や質問サイトでも、
「iPadを買ったのですが、何に使ったらいいですか?」
「欲しいと思っているのですが、何に使えますか?」
というような、本末転倒な、使うことではなく買うことが目的になってしまっている話を見かけます。

一般的な用途として考えられるのは
・ウェブ閲覧
・地図閲覧
・ドラマ、映画、YouTube鑑賞
・メールチェック
・電子書籍リーダー
・音楽プレーヤー
・ゲーム
他にもあると思いますが、だいたい上記のようなものではないでしょうか。
これらが、タブレット端末を用意してまでしたほうがいいことかと考えると、私は疑問に思えています。
屋内で使うならデスクトップパソコンが最強ですし、ある程度の可搬性が必要ならノートパソコンがあります。屋外で使うならスマートフォンがあります。
パソコンとスマートフォンの中間で、どっちつかずの中途半端な感じがします。

屋内でパソコンの代わりにタブレット端末を使ったとしても、画面サイズや文字入力等の操作性に制限がありますし、複数アプリケーションソフトウェアを連携して使うような複雑なことをし始めれば、はじめからパソコンを使ったほうが快適だったということになりかねません。本当に閲覧するためだけに使うのなら使えるのかもしれませんが、逆に言えば見るだけのことしかできないものとも言えます。
ウェブブラウザやアプリケーションソフトウェアを複数ウィンドウで開いて、キーボードやマウスでパッパと切り替えながら作業するようなことをしたくなってくると、タブレット端末では苦しくなって、結局パソコンに向かうという姿が予想できます。

映画やドラマを鑑賞するにも、地デジやBlu-rayといった高解像度の映像がある時代で、大小好きな画面を選べる環境があるとしたら、せっかくの楽しみをわざわざ小さい画面で見ることもありません。
タブレット端末で映像ソフトを見るとすれば、外出していて、1~2時間以上どうしてもじっとしていなければならず、他にやることがないという状況ですが、例えば新幹線や飛行機で長距離移動しているような場合くらいしか思いつきません。しかも、事前に映像ソフトを端末にコピーして用意しておかなければなりません。しょっちゅう新幹線や飛行機に乗っている人というのも、そんなに多いわけではありません。

書店で見かけた新書を電子書籍でも売っているのか探したことがあるのですが、見つからないことが多く、電子書籍はまだ充実しているとはいえないように思っています。自炊といって、買ってきた本をカットして、スキャナで取り込み、電子化した後、画面で読むようなことは、一部の人がすることで、世の中の普通の人はそんな遠回りなことをしません。
本というのは結局一回しか読まないことが多く、同時に何冊も読みません。そのとき手元に欲しい本があるとしても一冊だけです。読み終わった本を端末内に何冊も置いておけて邪魔にはなりませんが、役にも立ちません。
電子書籍のメリットのひとつに、普通に本を買うよりちょっと安いということがあります。しかし、その前に端末を購入する費用がかかっていることは忘れてはなりません。
他のメリットは、読み終わった後、本をゴミとして出す必要がない程度です。

音楽プレーヤーとしてみても、タブレット端末は過剰にでかいですし、ゲームをするにも専用機のように本格的にはいきません。

一部には、ツイッター、Facebook等のSNSに使うという人もいます。
SNSというのは、自分のしていることを他の人に伝える行為です。普通の人は自分のことを誰かに実況中継する必要はありません。学生が友達同士でしていることはあるかもしれませんが、そうした年代はタブレット端末よりスマートフォンの方に興味がありそうですし、タブレット端末を買うような金銭的余裕もないのではないでしょうか。
だいたい、現実には、インターネットで情報発信するような人というのは少数派で、普通の人はツイッターもFacebookもやりません。

仕事で使う機会も、多くは考えられません。
タブレット形状なので、打ち合わせ等で他の人と一緒に画面を見るとき便利ですが、画面サイズから考えて、大勢を相手にするのは無理です。少人数が相手ならノートパソコンでも、ひとつの画面を一緒に見ることはできます。
外出先での、スケジュール管理や資料閲覧、調べ物に使えるかもしれませんが、限界が大きそうです。私の場合なら限界の少ないノートパソコンを使います。

ハードウェアのことばっかり
ブログやYouTubeで、iPad miniやNEXUS 7についてレビューされているのをいくつも見ることができます。
そのようなものを見ていると、話題はハードウェアのことばかりです。

Retinaディスプレイでないとか、タッチのレスポンスが気持ちいいとか、触った質感がどうとか・・・
それも大事かもしれませんが、問題はそれを使ってなにができるかです。何もできないのでは、どんなに優れたハードウェアも意味がありません。

iPad miniやNEXUS 7は300g以上の重量がある上、ポケットに入れるには厳しいサイズです。単体ではWi-fiのみしか接続できなかったり、できたとしても、その端末専用のsimカードを契約するのも費用的な問題があります。それでモバイルルータを持てば重量がさらに100g程増加します。スマートフォンでテザリングしてまで使うなら、最初からスマートフォンを使えばいいことですし、画面サイズが少し大きいメリットのために、プラス300gを持つのも荷物です。

現実的な用途
現実的な用途として、タブレット端末は、トイレに入っている時、使うのが便利なそうです。

ようするに、タブレット端末の必要性といいますか、これがないとどうにもならないという絶対的な用途はありません。
はっきり言うと暇つぶしにしかなりません。
暇つぶしも立派な用途だと思いますが、タブレット端末が出番になる暇でさえ多くありません。暇があったとしても他にもっといい選択肢があるからです。

毎日の生活の中で、平日の仕事中はタブレット端末をいじって遊んでいるわけにはいきませんし、家に帰れば暇があったとしても、画面が小さく、できることに限界があるタブレット端末を選ぶとは思えません。
休日に外出するとしても、目的があって出るのであって、暇な時間を作るために出るのではありません。外出時のちょっとした隙間時間にすることならスマートフォンで十分でしょう。

タブレット端末はサイズの大きい機能限定版スマートフォンと言えそうです。
しかし、スマートフォンと比較すると、サイズが大きくて重いので日常的な持ち運びには不便です。電話ができないので、必ずしもいつも持っている必要性を感じません。機能的にみてもスマートフォンで代用できます。画面サイズが大きい等の利点はありますが、出かけているとき、それを活かすような暇はありません。出かけている時のわずかな暇時間ならスマートフォンを触っているぐらいで十分です。

タブレット端末に限らず、情報端末を使ったからといって、空腹が満たされたり、物を別の場所に移動できたりするわけではありません。
できることと言えば
・情報入手
・情報発信
・コミュニケーション
・クリエイティブなこと
・時間つぶし
・効率化で時間を作る
このうち、クリエイティブなことをしたり情報発信するのは極一部の人で、普通の人でできる能力を持っている人はいませんし、能力があってもしません。
情報を入手したり、コミュニケーションは、パソコンやスマートフォンでもできます。タブレット端末ではできないことこそあれ、タブレット端末でなければできないものがあるわけではありません。
タブレット端末を時間つぶしには使えますが、忙しい人が時間を増やす用途には使えません。

今は購入を見送り
実際は、私の場合、用途がないこともないのですが、サイズと重量から、外出時に持ち歩くのは大変なのと、スマートフォンで我慢できそうな気がしたため、まだ時期尚早と判断し、購入を思いとどまりました。
今、インターネットで購入すれば数日はかかりますし、量販店でも取り寄せになるようです。買おうかどうか悩んでいたので、即入手できていたら買ってしまっていたかもしれません。
強力に物欲をそそりますが、冷静に見れば、そんなに使うものではないと思っています。

世界一簡単なJAVA Scriptのクロージャの解説

JAVA Scriptにはクロージャと呼ばれる仕組みがあります。
このクロージャの概念を、さも難しそうに書いていたり、もったいぶって書いているウェブサイトを見かけます。
それを見て、難しいことかのように錯覚してしまうのではないかと、少し心配します。
特にWikipediaは、嫌がらせのように、専門用語と難解な表現を織り交ぜています。
私は難しいことを簡単に表現するのは好きですが、簡単なことを難しく言うのは好きではありません。
JAVA Scriptのクロージャはとても簡単なことです。どうか先入観を持たないで、どうせ簡単なことだろうと思って以下の説明を見てください。

まず、以下のようなプログラムがあります。

var a = 1;
function f1()
{
    alert(a);
}

関数f1の中で、変数aの内容を画面に表示します。当然、1と表示されます。
なんの変哲もないプログラムです。
JAVA Scriptでは関数の中に関数を書けますから、以下のようにすることができます。

function f2()
{
    var a = 1;
    function f1()
    {
        alert(a);
    }
    f1();
}

関数f2を実行したとします。
画面には1が表示されます。
f2の最後の行でf1をコールしています。そのf1の中で変数aの内容を表示しています。変数aは定義されたと同時に1に設定されていて、その後、変化させていませんから、1以外に考えようがありません。

では、もう一行追加して、

function f2()
{
    var a = 1;
    function f1()
    {
        alert(a);
    }
    a = 2;  // 1行追加
    f1();
}

このようにすると、今度は2が表示されます。
関数f1の中で参照している変数aの値は、aに2を代入した後の値が使われています。

「関数の中で、その外にある変数を参照したときには、その変数に最後に入れられた値が使われます。この仕組みのことをクロージャと言います。」
ちょっと不正確かもしれませんが、最初は、これでOKです。
変数aに1を設定した後に関数f1が記述されているので、見た目では関数f1で参照している変数aには、1が入っているように思えそうですが、実行したタイミングで入っている値が使われます。
この関数f1が、関数f2の中以外から(コールバックやメソッドとして)コールされたとしても、関数f1の変数aは関数f2の変数aに最後に代入された値が使われます。

クロージャは簡単なことです。問題はそれをどう使いこなすかです。
自然に理解するには、実際に使っていくことが必要です。
AJAXやイベント処理でのコールバック関数を使うときに、ネストした関数を使う機会があります。そうした際にあなた自身が実際にプログラムを書くことで、頭の中に根付いていくと思います。

2012年11月22日木曜日

JAVA Scriptで乱数を生成する方法

JAVA Scriptで乱数を生成するには以下の関数を使います。

Math.random()

0以上1未満の乱数を生成します。
例えば以下の様な値です。

0.7077974278643446
0.22916073686947075
0.6308448867844637
0.9701784512747522
0.5272246691342632
0.6837493834087345
0.018078986682152742
0.2173754660599847
0.528650089552011
0.567208522995788
0から99までの整数の乱数を発生させるには

Math.floor(Math.random() * 100)

のようにします。
以下のような値が得られます。

69
40
19
17
25
82
70
8
79
15