2002年11月〜12月
| ■ 「書き倒せ」の意味・・・(2002.12.12) |
| 日経BPソフトプレスから出てる「VisualC++.Net 実践講座 Vol.1基礎編」に取り組み始めています。 今日は15あるレッスンの内の7まで終了。 人見知りのする本(どんな本だ?w)だったので、しばらくタッチしてなかったのだけれど、あまりにも少ないC++.NET用初心者本がこれに向かわせました。 やってみると、「あ、なるほどこういうことだったのか」というところが多い。 これまで、「やってトライ」や「あんしん入門」で、とりあえず答えを見ながらタイピングしてたものの「わかんねぇなぁ〜」というところが分かってきているような気がする。 最初からこれにトライしたとしても同じような感動を感じられたかどうか・・・? 見た目、「入りやすそうな」、「やってトライ」みたいので打ちのめされた経験が今の感動を呼んでいるのではないかと、そう思うわけです。 そう思って考えてみると、VisualC++.Netに取りかかる前に、どこかの掲示板で読んだ「初心者はとにかく書き倒せ」という言葉が身に染みてくるわけです。 ほんと、書き倒すって大事ですよ(しみじみ。 3週間ちょっと前に始めて、この間いろいろここで書いたけど、この今でさえも「恥ずかしい事、書いちゃったなぁ」と感じている箇所があるわけですよ。でも、今日の日記は訂正をかけずに済みそうな、そんな予感たっぷりの今日のコメントです(笑)。 |
| ■ 少しずつ少しずつ(2002.12.07) |
| 毎日、少しずつ気付く事があって。関数の追加の仕方で、クラスビューの右クリックって「ユーザー関数の」追加なんですね、きっと。 前もって用意されている関数は、プロパティの「メッセージ」ポチッで追加することが今日、分かって・・・。 当たり前の事ですが、「ユーザー」関数の追加の仕方だったんだなぁって。 で、メッセージポチッで組み込む関数の事はなんて言うんだろう?って事が気になり始めたり・・・ 好奇心旺盛で子供のよう(笑)。 だけど、読んで、コード書いて、説明を飛ばし読みでも良いから読んで、何度も読んでって大事ですね。 飛ばさなきゃもっと良いんだろうけど。 |
| ■ こんなことでも躓くのね、超初心者って(2002.12.04) |
| え〜〜と、色々と調べました。本も買いました(積ん読中も多いけど)。 VC++6.0までの色々な本が出ているし、初心者向けサイトもある。悲しいかな、.NETはまだまだ少ないし、古い初心者向けサイトは管理人さんが「初心者」じゃ無くなっているようだし、「はまる×2」のトラウマが.NETに限定して調べてるんだけど、どうも今ひとつ・・・。 だけど、エクセルは95、97、2000とバージョンアップしても使えたよ。なんだ、6.0が.NETになっただけでダメなんだ? ということで、再度「VisualC++あんしん入門」に再挑戦。 前回は「こんそーるあぷりけーしょん」のところで躓きました。なんと、今回は見事クリア! 「Win32アプリケーションウィザード」の中の「アプリケーションの設定」をクリックするとちゃんとあるじゃない、「コンソールアプリケーション」カタカナだったけど(笑)。 これに気をよくした私は、以前タイプしたテキストを再度コピー&ペースト。 エラーメッセージは出まくりましたが、一つひとつ丁寧に直して、リビルドを繰り返しました。 エラーメッセージって、全部直さなくて良いんですね。たぶん、前に書かれた間違いが影響してエラーメッセージとして表示されちゃうというのもあるんだなぁと。ある程度直したら、リビルドしちゃえば良いんだということが体験的に分かりました。 何を当たり前のことをと思われる方。こんなことにも「なるほど〜〜〜!」と感心する素人が挑戦してます(汗。 これを読んで、「そうなのか〜!」と思った方。そうなんですよ! |
| ■ とても大事なことに気が付きました!(2002.11.30)なのか?オブジェクト指向プログラミング編 |
| ここ数日はVisualC++というよりも、書類の作成に関連して、「ソフトウェアの設計」とは?みたいなことで過ごしていたのですが、これまで行ってきたVisualC++の勉強で、どうもピンとこないなぁと思っていたのですが、#include<***.h>って何?何をしたい時にどれを宣言すればいいの?って。つうか、追加するって書けば良いんじゃないの?って。 「やってトライ」の1問30分を5分で流す私。だけど、気に入ったら何度でも読み直す。昨日買った「ステップアップVisualC++.NET入門」をトライしていたところ、分かったような分からないような感じで、「やってトライ」と両方を行き来しながらお勉強。 メンバ変数やら関数やらコントロール変数やらイベントハンドラの「追加の仕方」というものが分かったところで、閃きました。 あれ?なんかの処理を書いたコードがあって、ウィンドウやらコントロールじゃないんだ!?ウィンドウやらコントロールがあって、コードがあるんだってこと。(違いますか?私の理解)これがオブジェクト指向プログラミングって言うこと? え、今更何を言っての?という上級者の皆様、「やってトライ」はとても気の利く本でして、(特に私のように流してやってしまうような者にとって)そういうところに丁寧に準備した作りになっているのです。CDも付いていない、「一からお前がやってみ」のような入門本でハタと気付くのですね。そして感動を十倍にさせてくれる、良い本です(笑)。 「クラス」もよく分かっていないし。いつかクラスってこういう事かと大きな感動が待っていると思うとわくわくします。 ただ、先日思ったんです。テンションが高いまま維持できてるのは、やってると「あ、こういうことか〜」って進歩が感じられることが大きいなぁって。 でも、こうやって書きながら、逆のことも・・・「勘違い」だったらどうしようとも(笑)。 |
| ■ ライブラリってなんだろう?(2002.11.27) |
| スキャナで画像を取り込んで・・・という機能が不可欠のものを作ろうとしている私。 「TWAIN」でヤフり、ググった。マークトウェインに激しく邪魔されながらも、スキャナのTWAINに関係ありそうでかつスキャナのドライバのダウンロードサービスを行っているようなところでないサイトを一つ一つチェック。エプソンのFAQに「TWAIN対応のアプリケーションソフトを独自に開発したいが、ツールなどは用意されていますか?」なんだ私だけじゃないんだ。FAQにも載るような、よくある質問なんだとちょっとホッとしました。 回答を読むと、2社「画像処理ライブラリ」というものを出しているらしい。会社のURLまでは書いてなかったので、会社名を頼りに再度ググる私。 ソフトボートという会社のサイトにヒット。商品を探していくと、百万円くらいするらしい・・・たっけぇ〜〜〜、こんなんじゃ買えないよ。 もう一つ、今度はニュートンという会社名で検索。リンゴでよく聞く名前なので、検索数が多いんだろうなぁと思っていたら想像通り。幸いなことに2社目のニュートンさんが探していたニュートンさんでした。こちらの商品は・・・なんと7万円を切る値段、これなら頑張れば手が出る。 やったやったと喜んでいたのですが、あることを閃きました。 只で配布している希有な御仁はいないだろうか、と。 CGIではKENT-WEBさんにとてもお世話になっている私。同じようにTWAINを扱えるなんか(ライブラリっていうの?)を配布してくれている人っていないかな〜と。 検索をかけてみると、そういうサイトがあるのですね。ありがたい。 見ていくと、お目当てのものを発見。というか、それ以外にもいっぱいダウンロードしてしまった。 ReadMeやHelpファイルを読むと使い方が書いてある。今はそれ以前のレベルなのでよく分からないけど、これを使えば出来るんだと思うと、とても気が楽になった。フリーソフトでも、商用利用まで認めている方や商用利用ならダメよという方やら様々。サンプルコードとして勉強になるからどちらでも、とてもありがたい。使用方法の解説もみなさん、かなり丁寧だ。CGIを使ってみた時にも感じたが、やっぱり使ってみてうまく行くのと行かないのとでは天地の開きがある。そういう意味では丁寧な解説がとても心強いし。そんな高揚感の中で、ふと思いました。 ライブラリってなんだろう?って。きっとTipsのネタになるなぁ |
| ■ プログラムって・・・(2002.11.26) |
| ここ数日はVisualC++というよりも、助成金の書類関係に思考がシフト。 どうも見えてきたのが、システム開発の具体的な初歩のステップをそのまま書類に書けば良いような・・・ 翻ってここまでの私の思考の軌跡を見ると・・・ これはいかん。なんか体系的でない、論理的でない。これってきっと体系立てて考える事は、システム開発?にも役立つはずだ。 そう思って考え始めました・・・プロはみんなどうやってるんだろう? こういう時にやたら本を買う習性が役立ちます。ここ数日購入したそれらしい本を見返してみると・・・ 「日経ソフトウェア編 ゼロから学ぶソフトウェア設計」という本が目に入りました。買った日にざらっと読んで何も頭に残らなかったことが、今ではなるほど〜と唸りっぱなし。 ゼロからによると、ソフトウェア開発は、「分析」→「設計」→「プログラミング」→「テスト」→「運用/保守」の5つのステップを回り続けるのだそうだ。 なんだ、要はPDCAじゃん。Plan→Do→Check→Actionなら分からないでもない。Planの中(というかその前段階で)に分析は入っている。Doがプログラミングで、Checkがテスト、Actionが運用/保守ね、はいはい。で、その分析は・・・? 「構造化分析の基礎を学ぼう」の中に書いてありました、良い方法が。データフローダイアグラム(DFD)というフローチャートを作って、それを詳細にしていきなさい、これだ!フローチャート好きな私ですが、どう分類して書いて良いものやらと書けないでいたのですが、「外部のデータ入出力源」(長方形)・「データ加工処理」(楕円)・「データ格納場所」(オーバーライン&アンダーライン)・「データの流れ」(矢印)の4つで書くのがルールということでやってみると、なるほどこれは(・∀・)イイ や。 初期・末期設定や付加機能を除くととてもシンプルな最上位のDFD。これと付加機能のDFDで、今頭を悩ませている箇所はなんとか超えられそう。 長くなりそうなのでTipsで構造化分析についてコメントしておきます、私自身が忘れないように(笑)。 |
| ■ VisualC++を覚える前に・・・(2002.11.25) |
| 「きっかけ」でも書いているように、ある助成金に応募しようとしたことがきっかけです。 その応募の締切が来週の金曜日(12/6)。応募しようにも、どんなことをどうやるかが分からないと何も進まないってんで、この日までいろいろ試してみてますが、肝心の書類には全く手を付けていない。 さすがにそれはまずいだろとこの日は書類作成に着手。 う〜〜〜む、単に書類作成なら社労士・行政書士というのはその道のプロだからなんとかかんとか書けるだろと思っていたら、これは難しい。 「どんなことをどうやるか」。「どんなことを」は分かっているつもりで、「どうやるか」が分からないと思っていたら、「どんなことを」も分かっていないと気付かされました。 何をしたいんだ、俺は? 妄想が頭に浮かびます。いえいえ妄想といっても、アダルトな、女性と私が主人公の妄想ではないですよ。 あれもやりたい、これもやりたい・・・・。妄想は膨らみます。 「開発に至った動機」?んーと助成金が貰えそうだったからなんて、相手が困りそうな「ほんと」の動機を書くわけにはいきません。 「従来の技術、製品の持つ問題点」?「技術又は製品の具体的用途」?「従来技術・製品との比較、優位性」? どんなものか使用してもいないのに従来の技術の問題点や比較、優位性なんて・・・書けちゃうんですね、これが。ネットもあるし。 購入しようとして調べた事があったのです。それが役立ちました。その時は、あまりにも機能対コストが大きすぎて、こんなに高いのなら今はいいやと購入を見送りましたが、こんなことで役立とうとは・・・。暇に飽かせていろいろやっていて、ほんと良かった(笑)。 だいたいの相手の弱点はわかったが、それでもネットで調べてみます。業界誌をめくれば、広告が出てるし、URLも手に入れられる。 社労士業務用ソフトで応募しようとしている私。 市販化されているものって当然、UNIXとかで使用されるようなシステムをガンガンやっているような人たちばかりが作り上げたものだと思っていたのです。え〜〜〜!これってVBAだろ!というものまで出てきた時には、なにか幻想が崩れていく感じがしました。 なんというか、VBA(というかエクセルマクロ)は私でも書いてます。そんなのを、(いや、仕事で使ってるんですけどね(汗)、業務用で使って良いんかい?なんかこう、もっと、安定性とか速度とかで問題とかあるんじゃないの?って。 開業当初、PCの世界は1-2-3&一太郎でした。たしか、Win95の大ブレイク後数年で今のようなWord&Excelになったような。 そのまだ1-2-3の時代(ごめんなさい、今でも1-2-3ユーザーの方)に社労士仲間が1-2-3マクロで給与計算ソフトを自作しようとしてたんですね。これがきっかけとなって、私がVBAを勉強し始めたのですが。その時に痛烈に感じたのが、信頼性とメンテナンス。 信頼性はともかく、給与計算ソフトにメンテナンスは非常に高い頻度で必要となります。なぜなら、法改正があるたびにメンテナンスが発生するのですが、関係する法律が健康保険法・厚生年金保険法・介護保険法・雇用保険法・労災保険法・所得税法と数が多い上、法改正もこれまた多い。 数万円をケチって自作給与計算ソフトを使用しても、メンテナンスであっという間にコスト高になっちゃうよと判断した経緯があって、私がやろうとしているのは、業務ソフトはライバル・給与計算ソフトは大事なパートナーという役割を思い描いていたのです。 で、数種類の給与計算ソフトを知ってはいたもののバージョンアップもされてるだろうしと給与計算ソフトもネットでチェック。 体験版のダウンロードサービスもあったのですが、ISDNに、ん十メガは終わってます(笑)。 「お問い合わせ」にCD-ROMで体験版送って♪のメール。 そんなこんなでVisualC++.NETと関係なく一日が過ぎていきました(笑)。 |
| ■ 「やってトライ」をトライ(2002.11.24) |
| やっぱり、「.NET」用の本じゃないとダメなのか・・・そう判断した私は早速「.NET」とついた本を探しに行きました。 浜松では大きい方の書店に「VisualC++.NET」と『どっとねっと』まで付いた本は4冊。得意の「はじめに」でチェックします。 どれも「C言語」を知っている事が当たり前みたいな書かれ方。 C言語を知らない人でも学べる本はないのかい、と逆ギレ気味の中、やさしい言葉が「やってトライVisualC++.NETプログラミング」を購入。 初級編・中級編・上級編の問題があり、初級編は1問30分、全20問、中級編は1問60分、全10問、上級編は1問120分、全5問と書いてあります。 え〜と・・・初級編が10時間の、中級編が10時間に、上級編も10時間で計30時間かぁ、ま、やってみましょう なんというか、私の勉強の仕方なんですが、最初から一つ一つ着実にというのが苦手なんですね。 全体が見えていないとイヤというか、いつも最初は「とりあえず感じを掴む」ということで流してやってみると。 ど素人なんだから、分からなくて当然。感じを掴むんだからと、最初から答えを見ながら、でもどこかの掲示板に 『初心者はあぁだこうだ言う前に手を動かせ(=タイプしろ、とにかく数をこなせ)』と載っていたのが頭にあったので 訳も分からずタイプして、ビルド→デバッグ→上手く動いたら解説を読むの繰り返しでこの日は15問くらいまでクリア。 さすがにどっとねっと本。昨日のように「え、なんで!?」となる事はありませんでした。 ただ、解説の中で「こうしてみることもできます」というプラスアルファになると、実現できない。 なんでだろ?どうも『#include<****.h>』があやしい、というか「何アレ?」 <****.h>じゃなくて"****.h"は自分で書けるのはわかったが、<>はどう言う時にどんな<****.h>を呼び出せばよいのか、それを知りたい。またもや本屋さんへ通う日々の始まりです。 |
| ■ はまる×2(2002.11.23) |
| 間違いなく、メールについて届いてましたよ、テキスト。 だけど、驚愕の事実がその数秒前に私を襲っていたのです・・・ アンチウィルスが作動した! ウィルスを貰い慣れていない私には、久しぶりに見るメッセージ。あぁ、こんな風に作動したっけなぁなどと驚きつつもほのぼのしました。 ともあれ、独習の準備は万端整ったと、いよいよVisualStudio.NET(体験版)のインストールです。 AV専用のDVDが初めて違う用途に使われます。 本の解説を見ながら、インストール作業を開始・・・さすがDVD。ちょっとやそっとじゃ終わらない・・・祝日にもかかわらず私同様、仕事をしている友人が遊びに来ました。本来ならそれどころじゃなかったのですが、遅々として進まぬインストールにちょうど良い暇つぶしになりました。 結局、3時間前後の時間をかけてインストール完了。ちなみにUSB接続のDVD:USB2.0でリード16倍速・USB1.1で0.6倍速(!)、CPUはPen1.4G、メモリ256M、OSはXP-Proという環境です。USBが1.1だったからなのかなぁ・・・。 ともあれ、インストールが完了し早速立ち上げてみると、ここでも驚愕の事実が!使用期限が2003年1月31日!(はまるPart1) よく分からないけど、翌々月の末日までという意味ですか、これ? 60日を額面通り信じて、昨日自宅でまでタイピングしたのにという「何か損した」感とプラス7日「得した」感が綯い交ぜの中、いよいよVisualStudio.NETとのご対面です。ポチ 順調に立ち上がっていくと思われた瞬間、またしてもノートンアンチウィルスが作動。「このスクリプトが・・・」 う〜〜〜む、素人には難しくて分からないが、多分、VS.NETの正常な機能がウィルスと同じような動きをするんだろうなとは思いつつ、恐いのでアンチウィルスがカッコ推奨カッコ閉じ通りのステップを踏む・・・あれ?VS.NETがどっか逝っちゃった。 これはいかんと、でも恐いのでCドライブにウィルススキャンをかけてから、カッコ推奨カッコ閉じを無視するかとスキャン開始しました・・・ ・・・・・・・・・・・・・・・・いつ終わるんだ?スキャン・・・・インストール前のスキャンは30分程度で終わっていたはずなのに・・・ 結局、1時間半くらいかけてスキャン終了。問題なし(疲れる やっと、VisualC++.NETとのご対面です。震える手でマウスをクリック。 今度は順調に立ち上がっていきます。おぉ、これがスタート画面ですか!「初めまして」と声が出かかりましたが、ぐっとこらえました、大人なので(笑)。 さぁ、いよいよ私の独習プログラムの本格的な開始です。傍らの「あんしん入門」21ページを開いて・・・ここだ、ここだ 『・・・VisualC++を起動して、新規プロジェクトを作成します。メニューバーから・・・』ふむ、イラストと多少様子が違うが、Studioだからでしょと素人なりに翻訳して作業を進めていきます。ところが次のページを開いたところで、手が止まりました。 『1.「Win32 ConsoleApplication」を選択』 はぁ?そんなのないですが・・・(汗。またしても「素人翻訳」の出番です。.NETでは、これはどれを選択すればよいのか・・・? まずはウィンドウの中を再度、見ていきます。ポイントは「Win32」と「こんそーるあぷりけーしょん」どちらかに引っかかれば・・・ 「Win32プロジェクト」これしか共通する言葉はありませんでした。よし、これだと選択して作業を進めていきます。 得意の素人翻訳でなんとかこなし、『作業 コーディング』に突入し、いよいよ一晩かけてタイプしたテキストファイルの出番です。 コピー&ペーストでさっさとここをスルーして、新しい世界を俺に見せてくれ!私の心がそう叫びます。 無難にコピー&ペーストをこなし、次は『作業 ビルド』です。 『メニューバーから「ビルド」−「ビルド」を選択・・・』 はいはいビルドね。ぽちっとな。下の出力欄に初めて見る言葉が次々と表示されます・・・表示されます・・・ いろいろタイプミスがありました。 「;」を「:」で打っていたり、「stdlib.h」を「すたどりぶ。えっち」とカタカナ翻訳してタイプした為「studlib.h」と打ったり、はぁ〜〜〜〜!「ぬる」は大文字じゃないといけないんだね!と感心したり(もちろん、NULLのこと)、色々新鮮です。 エラーメッセージを分かる範囲(笑)で修正して、リビルドを繰り返します。 (再現しようとやってみたのですが同じメッセージが出ないので、)リビルドを繰り返した後の最後のメッセージを素人翻訳すると 『あんたの書いたコードは古い方式だから、だめよ。(.NETでわかるように書けよ、おらぁ)』(かっこ内私の推測) へ!?一晩かけて打ったのに・・・2年も前の本じゃだめだったのか・・・そうか、VC++6.0だからかぁ・・・(はまるPart2) 私の初めてのVisualC++.NETはこうして失意から始まりました。 |
| ■ 独習用の本を購入(2002.11.22) |
| トライを決意した私の行動は素早かった(笑)。 本屋さんであれでもない、これでもないと1時間ほどVisualC++コーナー前に巨体を陣取って、どれを買おうか検討。 1冊はすぐに決まる。ソフトバンク社の「VisualBasic.NET入門」。VisualC++じゃないのか?と思ったあなたは甘い!(笑)。 「きっかけ」でも述べているように、VisualStudio.NETの体験版が付いているのが、VBかVC#の入門のどちらかしかなかったんです。 前述の知人曰く、VC#はJAVAのサンがどうのこうのときな臭そうな話をしていたし、VB(A)なら私にも馴染みがあると、VB.NET入門でVS.NET(体験版)をゲット!しました。 肝心のVC++の入門本はどうしようと、何冊かある本を見比べ見比べ検討し、その手に取ったのは技術評論社の「VC++あんしん入門」。 これがVBAというか、エクセルマクロしかやった事のない私に一番適しているような「はじめに」だったのだ。 事務所へ戻り、早速「あんしん入門」を読んでみる。当然の事ながら、コードを記述して話を進めていく内容なのに最近よく見るCDが付いていない。 「あ〜、これは自分で書いて学んでいけ」ということかと、確かにVBAでも自分で書いて、うまくいって初めて何となく使えるようになったもんなぁなどと深く納得し、ならばと本を読みつつテキストエディタへタイピング。 VBAと全く出てくる単語が違う事に戸惑いを覚えつつもタイピングを繰り返す私。結局、その日はタイピングだけで一日が終わりました。 といってもテンションが高かったので、自宅へ戻ってからも普段滅多に開かないVAIOを開いて、「あんしん入門」に出てくるほとんどのコードを打ち終えました。 VAIOからFDへテキストを落とし、かつメールへ添付して自分宛に送っておく、という念の入りようで明日に備えたのですが・・・ |
| ■ きっかけ(2002.11.19) |
| 2002年の11月、とある助成金の対象になるかもしれないと、事務所内システムの開発を思い描いた私。 プログラマ(というのかな?)の知人に相談したところ、「それはVC++でやるしかないよ」とのお言葉。 Win3.1からPCには触れている、あの使いづらいPCと環境を経験してきた私に、そして助成金が貰えれば、実質とても格安でシステムが手に入るという欲がVC++へのトライを決意させた。 下準備で色々と本を見て回っていたところ、3000円弱の本に「体験版」のVisualStudio.NETも付いているし、とりあえず何万円も、いや十何万円も出してソフトを買わないと進まないという話でもないし、照れ隠しに関東地方の方言を引用しやってみるべ〜と着手したのだった。 |