« 2004年03月 | メイン | 2004年05月 »
2004年04月30日
プログラミングWindows
最近、Windowsアプリを作りたいかなーという情熱が芽生えつつあります。Java+SWTという選択肢も悪くはないのですが、やっぱりアプリケーション作成の楽さ加減で言えば、JavaでGUIアプリケーションを作るのは、MirosoftやBorlandのツールを使って作成するWindows用GUIアプリケーションと比べると、ちょっと厳しい感じがするんですよね。SWTを使ってVisual Basicのようにコーディングできる環境はまだありませんし、SwingだったらNetBeansとかで出来るのかな? JBuilderという手もありますが、Swingの垢抜けない見栄えは今ひとつという印象(動作はパソコンのスペックが高まった現在では気になりませんけど)。なので、やっぱりWindowsでWindowsアプリを作るのが一番無難でしょうということになりつつあります。
で、Windowsアプリを作ろうと思うと、いろいろありますが、無難さを求めにいくとMicrosoftの製品か、Borlandの製品かになると思いますが、会社での業務の都合などもあわせて考えると、やっぱりMicrosoftの製品を使うのがいいかなという感じです。最新の環境では、.NET Framework対応の環境を選ぶということになりそうです。
.NET Frameworkって簡単に言えば、Javaみたいなもので(ちょっと簡単に言いすぎか?)、Virtual Machine(VM)が別に必要な環境なんですよね。Javaと似ているので、コンパイルして出来上がるものはそのまま実行出来る形式ではなくて、バイトコードと呼ばれる中間コードなんです。なんだかちょっとまどろっこしいような気もしないでもないのですが、世の中静的コンパイルの時代から、動的コンパイルの時代になりつつあるので、気にしないほうがいいみたいです。
.NET Frameworkにおいて、開発言語は違っても出来ることはみな大体同じだそうです。だから気に入った言語、得意な言語の中から選択できるということで、これはある意味画期的なことかもしれません。選択できる言語として、Visual Basic、C++、C#、J#の四つが選択できますが、僕的にはC++ってなんだか駄目なので(オブジェクト指向プログラミングをJavaで始めた口というのもたぶんに関係するかも)、C#で行こうかなと思いました。Visual Basicを選択しないのは、Basicという言語構造が今ひとつ僕にはしっくり来ないんですよね。最近、VBAでがりがり書くことが多いんですが、CライクなPHPのような短くまとめて書くという記法になっていないのが今ひとつなんですよね。そういうのがちょっとだけならいいんですが、結構頻出したりするので避けたくなったという感じなんですよね。
で、C#です。C言語の知識がそれなりにあるとは言え、Windowsプログラミングなんてかなり久しぶりです。ということで解説書を購入することにしました。で、今日買ってきたのが、C#によるプログラミングWindows 上巻という本。妻からもらった図書券を使いましたが、それでも4000円以上の出費で小遣い制のおとうちゃんにはかなり厳しかったです。
この本の著者は、Windowsプログラミングという世界の中ではかなり有名なChales Petzoldという人が書いています。この人、「プログラミングWindows」というのが、代表作なんですが、WindowsAPIをかなり詳しく、かなりわかりやすく、かなり広範囲に扱った本を書き上げたもので、Windowsプログラマーのバイブルみたいな本だったんです。Windows 3.1版のこの本を買って読んだことがあるんですよね。なので、著者を信頼して買ってみました。
少し読んでみましたけど、本当にわかりやすく書いてあります。一回読むだけではすぐにバリバリプログラムが書けるというものではありませんが、このわかりやすさというのは大切です。後はじっくり全部読んで、少しずつプログラミングしていく鍛錬を積まないといけないです。
しかし下巻も5000円以上するので、初期投資が結構かかりますね。幸いなことに、コマンドライン版のC#コンパイラは、Microsoftから無償でダウンロード出来るそうですが、デバッグが大変になるのでどうでしょうかねー。
2004年04月28日
チョンボ
昨日の今日で、いきなり一日日記が飛んでしまいました。単に帰るのが遅くて、その日に更新できなかったということなのですが、まあそういうこともありますねーということで勘弁願います。
今日は仕事でチョンボしたのが発覚しておおわらわでした。というのも、半月ほど前にツールの作成を承って作っていたんですが、その抽出条件が間違っていたんですね。納品直前に判明したので、急いで直せばそんなに問題はないのですが、この直しがかなり大変。
RDBMSでは存在しているデータを元にして集計するのが得意なんですが、今回のこのツール、存在していないデータを考慮に入れて集計しないといけないんです。たとえば、Aという商品を受注したという実績がDBにあったとしたとき、Aに関する集計はもう余裕のお話なんです。しかしAという商品を受注したら、AとAを受注したことにしろなんていうことになると、ちょっと難しくなります。ひとつだけなら力技で何とかなるものの、これがAとAで始まる商品とBで始まる商品も受注したことにするなんてことになると、かなり大変です。存在しないデータを相手に集計するという機能はSQLにはないので、もうこうなると二つの方法で何とかするしかないんです。ひとつはないデータを無理やり作る。もうひとつはプログラムでそのように作り上げる、のどちらか。
今回僕の場合は、元データが大量にあることもあって、前者の方法で(つまりないデータを作る)やることにしたんです。これがまた面倒なことになって、これのためにテーブルを二つこしらえて、ストアドプロシージャも二つこしらえました。また最終的に必要なデータを取り出すために、さらに二つのテーブルを作って、ストアドプロシージャやストアドファンクションもいくつか作りました。もう面倒くさいです。
もうちょっとちゃんと指示された内容を読み返せば、大慌てでこんなことをすることもなかったのですが(本当は今日、納品するつもりだったのですが、このトラブルのおかげで明日までに何とかしないといけなくなりました)、もうそれはしょうがないです。今後はもうちょっと気をつけましょう。ふぅ。
2004年04月26日
国際ボランティア貯金
またしてもご無沙汰しております。もうココロ的に書く気力がない日々が続いてしまいまして、だいぶ間が開いてしまいました。すんませんです。なんとかここら辺で、復活できればいいのですが。
小遣い口座は郵貯にしました。10万円以上の現金を毎日持って歩くなんてこと、いままでしたことがなくて(もっと裕福な時代でも5万円以上の現金は持ち歩かないようにしていましたので)、さっさと会社の近所にある郵便局に決めてしまったんですよね。
しかし僕の郵貯の口座はすでにあって、その通帳は今はどこにあるのかわからないという有様。で、聞いてみると、「国際ボランティア貯金」というのにすると、もうひとつ口座が作れるということでした。この国際ボランティア貯金というのは、毎年発生する利子の20%(20%以上ならいくらでもできるそうです)を自動的に募金するというものだそうです。昨今の金利の低さを考えると(今日現在での通常貯金の利子は0.005%)、一年の利子が1円とか10円とかそんなものでしょうから、そんな利子だったらボランティアに寄付してもいいかなと思ったんです。だからこの国際ボランティア貯金で口座を作ることにしたんです。
しかし郵貯って、銀行の商品ではなくて、郵便局の商品だから、お金を預けておくという用事だけなら変わらないものの、オンラインショップで買い物という用事には仕えないですね(デビットカードは使えます)。そういうところが不便といえば不便です。またこちらのほうでは、人が多かったり、郵便の取り扱いが多いところでは割と郵便局もあったりしますが、それでも都市銀行のATMの利用可能台数に比べるとぐっと落ちますね。ローソンのATMで引き出しが出来ますが、三井住友と提携してということで、手数料を間違いなく取られます。銀行ほど便利じゃない(逆に地方では郵便局のほうが便利だと思います)のですが、僕にとってはそれほど不便ではありませんから、郵貯に決めたのでした。いざ、お金が急に必要になると思えば、妻にお願いして家計からお金を借りる(家計の口座は時間外手数料が無料なので)ということもできます。所詮はしがないサラリーマンの貯金口座ですから、これで十分です。
2004年04月09日
ご無沙汰です
ご無沙汰です。だいぶ間が開いてしまいました。すみませんです。
月末からかなり仕事がどかすか立て込んで入ってきてまして、辛い日々が続いてます。うちの会社、12月末が決算なんで、3月末は普通の月末だったはずなんですが、ここのところの顧客情報流出騒ぎでいろいろとやらなきゃいけないことが多いんですね。しかも月初になれば、前月分の集計データを作ったり、色々とやらなきゃいけないことが多くて。
で、帰ってくるのがその日中ではなかったり、日記を書く時間があっても、くたばった状態ではなかなか書けなかったり、妻がパソコンを使っていたりとか色々と重なって、書けない日々が続いていました。
で、更新していない間に、貯金口座は郵貯に決めてお金を預けちゃったり、携帯をA1402Sにしたりとかあったのですが、それらについてはおいおい書くということにして、今日はこの辺で失礼しちゃいます。もう疲れて帰ってきたところに、仕事のトラブルの電話で、自宅からトラブル対応しなくちゃならないんですよね(会社の自分のパソコンに、ネットワークでもぐりこんで作業します)。