2006年3月アーカイブ

3月末で完了予定だったクライアントの作業が続いています。

膨大な量のCSVファイルをAccessのmdbのテーブルに分割します。

チームのT君が先行していて、一旦SQL serverにCSVを読み込んで、ストアドプロシジャーで分割します。

問題はCSVファイルが何十Gもあること。

T君によると2GのCSVでストアドプロシジャーを動かしたら、2時間半経っても終わらなかったとのこと。

メモリが1G程度では到底足りないと言っていました。

ええっ、1G以上載っているマシンを私は持っていません。

現在T君のストアドを改造して、自分用のデータ変換に使おうとしています。

まだまだ時間がかかりそうです。

今日は霞ヶ関で2件の打合せ。

くたくたになって帰ってきました。

その中の1件目は4月からのお仕事の、I社の方からの引継ぎ。

1年間のお仕事なのですが、開けてみて分かったのは、バックアップ等の保守作業が半分以上だということ。

それで少し悩んでいます。

私の本来の仕事は開発だったはず・・・。

与えられた仕事の中で、創造性を発揮するしかないでしょうか?

つまらない仕事をすごいプロジェクトに変えるという、トム・ピーターズのアジテーションに乗っかるべきでしょうか。

開発は前半に集中するので、後半は選手交代も視野に入れて、お仕事をすることにしたいと思います。

選択肢を、ただ可能性があることや理にかなっていることだけに制限していると、

自分が本当に欲していることから切り離されてしまい、

あとは、妥協の産物しか生まれません。

----ロバート・フリッツ

最近は読書とはご無沙汰ですが、相変わらず、Amazonでは本を買っていますし、週1回、近所の本屋さんで、見て回っています。

先週買った本は、ベストセラーになっている、梅田望夫の「ウェッブ進化論」、サン・テグジュペリの名言集、齋藤孝(選・訳)の「サン=テグジュペリ 星の言葉」、400ページ近くある名言集、今泉正顕の「名言大語録」。

どうもインパクトのある短い言葉に弱いようです。

読んでいる最中の本は、前出「ウェッブ進化論」と、トム・ピーターズの「リーダーシップ魂」、スーザン・ヘイワード編の「人生を思い通りに生きる知恵の言葉」、創藝舎の「グーグル完全活用術」。

もう一度、どっぷりと文学の世界に浸ってみたい今日この頃ですが。

今日はホームに設定しているMSNの占いによると、運勢は星ひとつだったのですが、いいニュースが3つも。

まず、クライアントとの打合せで、時間はかかっても良いから、いいものを作ってほしい、との話があり、事実上、スケジュールの延長が認められました。

今まで、3月末の納期の大きなプレッシャーの元で仕事をしていただけに、一気に気が楽に。
(気を緩めてはいけませんが)

もうひとつは、次の仕事がほぼ決まったこと。今度は1年という長期になりそうです。

最後に、原因不明のjavascriptの「アクセスが拒否されました」のエラーが出る件、問題のPCが壊れて、別のPCを持ってきて接続してアクセスしたら、現象が出なくなりました。

この件は苦戦して、サーバーのアクセスログとnslookupから、まずプロバイダはniftyを使っていること、ルータは、Aterm BR 1500hを使っていることまで突き止めました。(クライアントでは、このことさえも知っている人がいませんでした)

それで、niftyで接続するときにプロキシを使っているかどうかサポートに問い合わせたのですが、どうやら、それはないらしい。それでルータの設定へと絞り込まれました。マニュアルをダウンロードして調べたのですが、該当するような設定はありません。サポートに問い合わせると、ファームを最新にしてくれとの一点張り。

それで、どうしようか迷っているうちに、今日の連絡。クライアントは、もう完了にしてもいい、とおっしゃってくれました。

この様子では、問題はルータではなく、壊れたPCに特有の問題だったようです。

ともあれ、頭痛の種が3つ消えました。

昨日は2日分仕事をした、と書きましたが、そのコアな部分は午前9時から11時までの2時間で、最難関と思われる部分を突破しました。

進むときは進む。

不思議なものです。

でも、こういう凝縮された時間も、はたから見たらぼんやりしているだけのような、一見無駄な時間があればこそなんですよね。

日ごろ頭の中で、ああでもない、こうでもない、と悩み、リハーサルを繰り返し、そして・・・。

凝縮された2時間を迎える。

あっけないです。

明日は客先でデモ。また頑張ります。

昨日は風邪でほとんど進捗がなかったので、今日はがんばり、たぶん2日分の成果。

今日、はまったバグは、またSQLなのですが、あるSQL文の実行で80万レコードの集合ができます。

正解は4レコードなのですが。

これはダイナミックにSQL文を生成しているのですが、調査の結果、ループでまわしてUNIONクエリーを作るところで、うっかり、DISTINCTを入れ忘れたことが原因です。

Accessの場合はSELECT文はFROM句が必須です。それで定数を返すSQLなのですが、必ず存在するテーブルを使用しました。

2つ以上のUNIONは問題ありませんでした。

自動的にDISTINCT になるので。

問題は1つのSELECTのとき。

本来レコードは1つなのですが、FROM句で指定したテーブルのサイズになりました。それがJOINで次々に増幅して、80万レコードに。

というバグでした。

大事なときに、風邪を引いてしまいました。

熱はないのですが、咳と喉が痛い。

頭もぼんやりしています。

今日は、1日、頭が冴えませんでした。

こういうときは、エキナセアを飲んで早く寝るに限ります。

風邪が治った後は、体が前より丈夫になっているそうですが、とりあえず、頭がぼんやりは何とかしないと・・・。

また明日、頑張ります。

昨日は1日、リファクタリング。

今日のクライアントのデモに間に合いました。

効果はというと、4Kステップ以上あったプログラムが、800ステップに減少しました。

これだけでもかなりの効果です。

保守がかなり楽になると期待します。

逆に言うと、今まで、あまりにも余計なコードを書いてきたということで、反省しています。

まあ、こういう風に、気づいたときにリファクタリングしていくのが正しいやり方だと思います。

少しずつ前進・・・していると思いたい。

リファクタリングしている時間がなくて、同じようなコードが複数できたことが、また悩みの種。

そのせいで、少しずつ時間をロスしているのは分かるのだが、1,2日のリファクタリングの時間が取れない。

どこかで決断すべきだが、いったいどこで?

「良いと思われる計画を
今すぐに実行する方が、

来週、完全な計画を
実行するより、ずっと良い。

----ジョージ・パットン」

リファクタリング開始!

苦しい状態が続いているのですが、悩みの種だった困難なコーディングに一筋の光が・・・。

きっかけは、進捗打ち合わせの席で、こういう問題にぶつかっている、という話をしたら、K社長が、こすれば?というような話をされた。

そのときにK社長が問題の全てを分かっていたはずはないのだが、その言葉がヒントとなって、頭の中で何回もリハーサル。

例によって、アルキメデスのお風呂の中でもリハーサル。

いける。

大丈夫そうだ。

一気に気が楽になった。

時間がなくて、まだ実際のコーディングには取り掛かっていないのだが、2,3日苦しめば、何とかなりそうである。

ヒントを下さったK社長、ありがとうございました。

よくないことですが、またまた多忙。

食事をしている時間と眠っている時間、お風呂に入っている時間を除いてはお仕事です。

今日も、大きなプレッシャーのもと、みっちりコーディング。

実は、どうインプリしていいか分からない困難なコーディングが待ち受けています。

これも、悩みの種です。

アルキメデスのお風呂にでも入って、ゆっくり考えるべきかもしれません。

雪解け

| | コメント(0)

kingfisher.jpg

たまたま今朝、表示された壁紙が、雪解けのイメージで季節にぴったりかなあ、と・・・。


腕ぐみをして、そこにすわりこみ、

何もしないで、ただながめているのは

止めなさい。


行動に参加して、この輝かしい人生を、

せいいっぱいに生きなさい。


今です。今、そうしなさい。


アイリーン・キャディ

1つ前のお仕事をさせていただいたクライアントで、不思議な現象が起こっています。

ASP.NETとjavascriptとの組み合わせなのですが、ポップアップで子ウインドウを表示し、データベースを検索して、ボタンクリックで、検索結果の1つを親ウインドウのドロップダウンに書き込んで子ウインドウをクローズします。

この親ウインドウに書き込む処理で、「アクセスが拒否されました」のjavascriptのエラーが出ます。

親も子も同じサイトで、フレームも使っていません。

その上、私のPCからそのレンタルサーバーにアクセスすると、その現象は起きません。

IEのセキュリティ設定も、アクティブスクリプトを有効にするようになっています。(その他のセキュリティ項目も私と同じ)

さらに奇妙なことには、同じレンタルサーバーで、全く同じプログラムが乗っているサイトでは、クライアントのPCからも私のPCからも、その現象は起きません。

万策尽きて1インシデント使ってMSDNのサポートにお願いしました。今のところ、進展はありませんが、解決しましたら、報告します。

普段は気が散るので、仕事中に音楽は聴かないのですが、日曜日や、一仕事終わったときに、仕事場で聴きます。

居間で、普通のオーディオで聴いたほうが、音がいいのは分かっているのですが、聴きたい曲をCDの山の中から探すのがおっくうで、最近は、もっぱらiTunesで聴いています。

キーワードを入れると3283曲の中から、たちどころに曲のリストが出てきます。

まさに「ミュージック・オン・ユア・フィンガーチップ」。

便利この上ない。

やはり私は基本的に、音を聴いているのではなく、音楽を聴いているのだと再認識しました。

とはいっても、SACDで甦った、昔の名盤にも非常に興味があるのですが・・・。

エルトン・ジョンの初期の名盤のSACDは、マスターが古いせいか、デジタル処理をしている箇所がわかりました。
神聖なものが汚されたようで、ちょっとショックでした。

ですから、最初に出たCDも捨てるわけに行きません。

ともあれiPodは、あまり使わなくなりましたが、iTunesを愛用している今日この頃です。

ここにストレスに対処するための二段階の処方がある。

第一ステップ、小さなことにくよくよするな。

第二ステップ、全ては小さなことであるのを忘れるな。

アンソニー・ロビンズ