////////////////////////////////////////////////////////////////////
/*

    KAB-studio.h


    (C)KAB-studio 1999 - 2001 ALL RIGHTS RESERVED.
        http://www.kab-studio.com/
        info@kab-studio.com

    送信日： 2001/08/13(Mon) No.120
    配信数： 3750 ( Mag2 + Pubzine )
＊    発行元： まぐまぐ ( URL: http://www.mag2.com/  ID: 0000012198 )
＊    発行元： Pubzine ( URL: http://www.pubzine.com/  ID: 590 )
*/
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
/*              ２００１年８月１３日（月）の更新                  */
http://www.kab-studio.com/

・KAB-studio.h 縮刷版更新
　KAB-studio.h が１２０号になるので縮刷版を更新します。まとめ読みや
検索に便利です。ダウンロードはダウンロードルームにて。
[ ダウンロードルーム ]
http://www.kab-studio.com/Freeware/index.html#MailMagazine

 
////////////////////////////////////////////////////////////////////
/*                        チョー普通な日記                        */
http://www.kab-studio.com/nikki2/

2001/08/05 (Sun)
　掃除してカレー。仕（私）事はぷらとわとか作曲とか。テレビはＮスペ。
妙な訳が……。 Sircam 来る。そして Unicode 指定。これからの文字コー
ドのトレンドは？

2001/08/06 (Mon)
　会社でゼロ発信でドジる。さらに謎のデストラクタバグに悩まされる。
virtual デストラクタ作ってないだけでメモリリーク……。伸び悩む Java 
メルマガ。

2001/08/07 (Tue)
　こつこつクラス作り。それとビットマップのモノクロ化。 BitBlt() で自
動的になるとわ。家でも Java メルマガ書き。 package をやっと納得。そ
して壁紙いい感じ。さらにゼロ発信。

2001/08/08 (Wed)
　おばあちゃんの法事。一度実家に帰ってからお寺へ。そのあと野鴨の家で
お食事。ごはんもいっぱいもらったし。

2001/08/09 (Thu)
　プログラミングで泥沼化。クラス関係が複雑化の一方。昨日計った体重＆
体脂肪率。かなり減りました。も少し筋肉着けるかなー。

2001/08/10 (Fri)
　会社行ったら休みだった(爆)。４連休だそうな。というわけで横浜寄って
バーチャ４したりストラックアウトしたり、川崎行って中古ビデオ買ったり
天一こってり食べたり。そして UML ツール。こういう手軽なのがいいかも。

2001/08/11 (Sat)
　横浜行ってバーチャ４して撤収買って、帰ったらカレー作り。美味しい！
今回はインド風チキンカレー。午後はかぶヘッダーとイラスト、そして
Java メルマガ。全１７回になりそう？


////////////////////////////////////////////////////////////////////
/*                         風雅、舞い                             */
http://www.kab-studio.com/Novel/Fuga/

■　第一章　予言と運命　−１３−

「舞ーっ！！」
　廊下を走ってくる奨を見て、舞は苦笑いをした。
「お前の兄貴か？」
「……その穂香って人、読心術も使えるの？」
「いや、お前のお母さんに聞いたんだよ」
「え、母さん……？」
　そんな会話をしているうちに、奨はがたがたになった廊下を走り抜けて、
二人の所までたどり着いていた。
「舞、大丈夫だったか？　なんともなかったか？　何があったんだ？　こい
つなにもんだ？」
「いきなりこいつ呼ばわりかよ」
「しょうがないでしょ、そんな身なりなんだから。お兄ちゃん、この人が私
を助けてくれたの」
「あ、それは失礼……ですけど、どなたさまで」
「朴雅樹だ。んで見えないだろうけど、彼女が柊穂香、俺のパートナーだ」
「また言ってるし」
「普通は紹介するだろ？」
「本当にいるかどうかも判らないもん」
「なっ何言ってるんだそりゃ見えないだろうけど俺にはちゃんと見えるし」
　奨は唐突に始まった目の前のケンカに動揺しまくっていた。この雅樹とい
う男がどういう人間なのか分からなければその紹介した穂香という女性がど
こにいるかも分からないし第一この男と結構親しそうにケンカをする舞が信
じられなかった。
「あら、朴さん」
「あ、結白さん」
　がたがたの廊下を歩いてくる美咲は声を掛け、それに雅樹は答えた。その
場にいた舞と奨、それに美咲の後ろを付いてくる正はこれまたきょとんとす
るしかなかった。
「母さんを知っているの？」
「俺はお前のお母さんに呼ばれてここに来たんだ」
　美咲は雅樹の隣に立ち、まるで初対面の相手にするみたいに紹介した。
「この方は朴雅樹さん。朱き泉の洗礼を受けた、私達の頼もしい味方よ」
　この人が朱き泉の洗礼を受けた青年……二人は唐突に言われて信じられな
くても、舞にはイヤというほど解った。なぜ、この青年がとてつもない強さ
を持っているのかも。
　そして、この青年が次に何を言うのかも。
「結白さん、穂香も紹介してくださいよ」
「あ、そそうだったわね。え〜とね、雅樹さんには、見えないでしょうけど
女神様が一緒にいるそうで、それが穂香さんって言うんでしたよね？」
「そう」
「そう、そういうことなの。解った？」
　例によって男二人はぽかんとしているが、舞はもうイヤダと言わんばかり
の顔つきだった。

                               ◆

　そのあと、当然のことと当然でないことがあった。
　当然のことは、学校が当分の間休講になったこと。あれだけがたがたに
なったんだから、当然と言えば当然。
　当然でないことは、そのことが全くニュースにはならなかったこと。前に
前例があるから、そういう意味では当然なのかも。
　あと、母さんがまた山に帰っていった。もう少しゆっくりしていればいい
のに。確かに今の変な状況を考えれば、あんまり長い時間離れるのはまずい
んだろうけど。それにしても、兄さんが買ってきた大きなおみやげ、なん
だったんだろう。
　母さんから聞かされた話、今でもあまり実感がない。まだ１年くらい先の
話だし、それが、あの少年や犬とどういう風に関係するのか、想像も付かな
いし。でも、母さんはまじめに考えているみたいで、あいつにぺこぺこして
あたしの護衛なんて頼んじゃって……。
　「朴さん」は家の近くで部屋借りて住んでる。家に下宿なんかさせたくな
かったから良かったかな？　ま、役に立つヤツだけど、いきなりいもしない
人と話し出すし。ちょっと着いてけないわよ。
　あしたからまたプレハブで授業が始まる。午前中だけだけど、どんな顔し
ていけばいいのかな……もう少し休みたかったな。
　これからどうなっちゃうのかな……。
                                            (第一章　予言と運命　完)


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]
『上から命令が下ったわ！！』
「め、命令？」
『 Java メルマガの宣伝しろって！』
「せっぱ詰まってるなぁ……」
『でさ、オブジェクト指向ってなんなの？』
「それを解説するメルマガなんじゃないの？」
『なるほど、じゃあ絶対読まなきゃネッ！！』
「早！」
『でさ、あたしはオブジェクト指向ってもう教わったの？』
「んー、オブジェクト指向って範囲広いからねー。クラスはそうだよ」
『へ？　クラスってオブジェクト指向のなの？』
「オブジェクト指向の道具だね。でもちゃんと理解して使いこなせなきゃ」
『オブジェクト指向してるって言わないのね。そういうメルマガ？』
「じゃないかな」
『というわけで、興味もったあなたは絶対読まなきゃネッ！』
「笑顔が不自然……」
http://www.kab-studio.com/Programing/JavaOOP/
_______________________________________________________________[KCM]


////////////////////////////////////////////////////////////////////
/*                       #pragma twice                            */
http://www.kab-studio.com/Programing/PragmaTwice/


　Version 6.20
水希流コーディング＆デバッグ術

『……なんかへんてこなタイトル付いてるけどぉ？』
「へんてこってゆーな。デバッグ編、ホントの最後はコーディングスタイル
とデバッグの仕方について」
『水希ちゃん流、ってのは？』
「こういうのって、基本的に本に載ってないから、みんな我流になっちゃう
んだよね。これもそのひとつってことで、参考程度で」
『でも参考程度って感じじゃないね……』
「そ、そう？」
『……なんかムカツクから質問する！　まず！』

    int i = 100;
    TRACE( "%d\n", i );

『ってスペースがやたら多い理由は？』
「……くっついてると見にくいでしょ」
『それだけ？』
「それだけ」
『……次！』

    TRACE
        ( "%d, %d, %d, %d\n"
        ,  0 && 0, 0 && 1, 1 && 0, 1 && 1 );

『この妙な改行と , の付き方は？　なんで』

    TRACE( "%d, %d, %d, %d\n", 
        0 && 0, 0 && 1, 1 && 0, 1 && 1 );

『ってしないの？』
「 , の方は、左から見ていった時に〈前の行から続いてる〉ってことがす
ぐ分かるように」
『左から見た時に？』
「そ。プログラムを見る時は当然左上から見ていくわけだから、そのときに
できるだけ流れを追いやすいようにね。 , が付いてれば、それだけですぐ
〈前の行から続いてる〉って分かるでしょ」
『確かに……』
「最初の ( の改行は、引数が２行以上になるときにそうすると、その , と
並んで綺麗になるから」
『そういえば水希ちゃんのプログラムって、綺麗に並んでたり対称的だった
りするよね』
「プログラムが見やすくする、それがバグを取り除く第一歩、って考えてる
からね」
『そういうもんなんだ。あ、対称的で思い出したけど』

    for( int i = 0; i < 10; i++ )
    {
        TRACE( "%d ", ch );
        ch *= 10;
    }

『って水希ちゃんはしてるけど』

    for( int i = 0; i < 10; i++ ){
        TRACE( "%d ", ch );
        ch *= 10;
    }

『っていうのも多いよね』
「僕の知る限りだと、僕のは少数派かも」
『でも水希ちゃんがそうする理由は？』
「これも , に似た理由かな、下の } から上の { を探す時、僕の方法なら
普通に { を探せばいいけど、そうじゃないと for か if か while かのど
れかでしょ」
『右端を見ていけばいいんじゃない？』
「インデントで追った方が早いでしょ」
『そりゃそうだ』
「僕がこういう対称的だったり整列してたりするのを好むのは、コードを
〈絵〉として見られるから」
『え？　イラストとかグラフィックとかの絵？』
「そう。プログラムはもちろん文章だし、言語の構文もそういう文章として
考えられてるけど、僕は絵として見てるかな」
『絵、ねぇ……』
「絵として見ると、プログラムの全体構造が把握しやすくなるし、バグも見
つけやすくなるから」
『だいぶ違う？』
「打ち間違いしたとことかを〈なんか変〉って気付くことが多いかな。そこ
を良く見てみると」
『バグがあったと』
「ま、美しさばっかりこだわってても、ちゃんと動かなきゃ意味ないからほ
どほどにしないといけないけどね」
『それって〈この前〉愚痴ってた○○○○○○○○○ってヤツ？』
「……どこで聞いたかな」
『えーっと、あと』

    int iUserDataNo = 100; 

『この iUserDataNo みたく、長い変数名とか関数名多いよね』
「それはわざと。たとえば、画面上の横座標と縦座標の変数に」

    int iX;
    int iY;

「って、いうのは僕はまずしないかな」
『理由は？』
「タイプミス、つまり間違えちゃうのが怖いからね。 X と Y って両方とも
１文字だし、字も似てるから後から確認するときも見間違えること多そう」
『水希ちゃんなら？』
「僕なら」

    int iHorizontalPos;
    int iVerticalPos;

「とかかな。こうすれば、字はかなり違うから打ち間違いもしにくいし、間
違えてもうまくコンパイルエラーになったりするし、後からの確認も楽だ
し」
『……質問１、打つの大変じゃない？』
「〈今日の１分明日の１秒〉だし、 Visual C++ 6.0 には〈自動補完機能〉
が付いてるから」
『 Ver 6.02 ( No.102 ) でやったのだね』
「この例なら H か V まで書き込んでから補えばいいわけだからね」
『質問２、コピー＆ペーストしたらそういうの関係なくない？』
「それはそう。違いが大きいから見比べやすい、くらいのメリットだね」
『ん？　開き直ってる？』
「そうじゃなくて、実はコピー＆ペーストってのは魔物。簡単にできるから
ほいほいしちゃうけど、した後はじーっくりチェックしないとダメ」
『そだね、してみるといつの間にか必要な行がなくなってたりするもんね』
「基本は〈カット〉はしない、要らない部分はとりあえずコメントアウト、
とかかな。コピー＆ペーストはバグの温床になりかねないからあまりしない
ようにね」
『便利だからつい使っちゃうけど』
「それが良くないかな。特に、コピー＆ペーストをするときっていうのはプ
ログラムの量が無駄に増えるからね」
『増えちゃいけない？』
「よく増えるんならいいんだけど、たとえば元々あるプログラムがふたつも
みっつもあるとか」
『筋肉はいいけどぜい肉はダメってことね』
「そんなとこ。特にデバッグ時はね」
『どうして？』
「バグが見つかった時って慌てて色々しちゃうけど、そういうときはプログ
ラムにどんどん継ぎ足すんじゃなくて、削り落とすこと」
『要らない部分、ぜい肉を取り除くってこと？』
「そゆこと。ぜい肉を取り除くとバグがありそうな場所が減るわけだし」
『前に言ってた〈バグが起きる範囲を狭める〉ってのに似てるね』
「うん、それに近いかも。それにプログラムが小さくなれば全体が見渡せる
から」
『バグも見つけやすくなる！』
「バグが見つかったら削り時、って考えた方がいいかも。あ、でも、その前
にバックアップ取った方がいいかもね」
『バックアップ？』
「僕は、たとえば今回の Test ってプロジェクト名だったら、節目節目で」

    Test_20010721a

「ってフォルダごとコピーしてこういう名前付けるようにしてます」
『でも、これってサイズ大きくない？』
「あ、 Exe が作られるフォルダあるでしょ、 Debug とか Release 。この
中のものはビルドすれば作られるものだから、コピーするときに削除し
ちゃって大丈夫だよ」
『あ、そーなんだ。 .pch ってファイルがかなりでっかくて大変なのよね』
「でも、今は CD-R もあるしハードディスクも大きくて安い時代なんだか
ら、バックアップを〈もったいない〉って考えない方がいいかな」
『そういうもの？』
「そういうもの。たとえば、こういうバックアップ関係には diff ってツー
ルを使う方法もあります」
『 diff ？』
「 diff は different の diff 。前にコピーしたときとの差を取ってお
くって方法で、これだと取っておくファイルのサイズが少なくてすむんだよ
ね」
『へー、前は便利なのあったのね』
「今もあるよ。っていうか VC に付いてるし。 Windiff っていうツールが
あるけど、まぁこれは違いを見る機能しかないのかな。でも僕は、この系統
のは勧めないかな」
『どして？』
「ウィンドウズプログラミングだと、普通のソースファイルだけじゃなく、
いろんなファイルが関係してくるからね。それにバージョン管理も面倒だ
し、それよりは丸ごと、かな」
『丸ごとねー。あ、質問。そのバックアップを取る〈節目節目〉って？』
「まず今言ったようなバグが見つかったとき。バグかと思ったら実は違って
いて、でも気付いたらプログラムがぐちゃぐちゃで元に戻せない、とか」
『あ、ありそう……』
「あと、安定して動いてるなー、と思ったら」
『？　バグの正反対じゃない』
「そだね。これは、何かの拍子にバグが出た時に〈以前のバージョンなら
ちゃんと動いていたのか〉ってのを確認する時に使います」
『それでバグが出たらもっと前から出てるはず、とか？』
「そゆこと。出なかったらそこから作り直すとか、これとバグの出たのを比
較してどこがまずかったのか調べたりとか」
『つまり安定バージョンが〈正解〉になる、ってことね』
「まあそんなとこ。僕はたいがい１日に２〜４回はバックアップ取るかな。
その日最後にも必ず取るし」
『まめね……』
「っていうか、痛い目見たことあるし……」
『痛い目は嫌だ……』
「こういうのって、自分で痛みを感じないと分かんないから……」
『そうなんだ……って、今教えてること否定してるみたい』
「ま、だから今回はおまけ。やるもやらないも皆さんの自由、かな」
『最後の質問していい？』
「はい、火美ちゃん」
『こういうのって、水希ちゃんが思い付いたのなの？』
「ほとんどそうかも。 , とか長い変数名とかは他で見たことないし、まあ
バックアップはしてるとこあると思うけど、一応我流」
『どうしてそういうこと思い付くの？』
「んー、四六時中プログラミングのこと考えてるとね」
『あたし、確信した』
「……聞きたくないけど、なに？」
『水希ちゃんみたくはなりたくない！』
「ええ〜っ！？」

/*
    Preview Next Story!
*/
『ま、最後まで付き合ったげるけどね。次の７はなにするの？』
「最終的にはアニメーション！」
『ええっ！？』
「ダイアログを使って、ウィンドウズや MFC の仕組みに迫ります」
『面白そう！　ってゆーかデバッグ編つまらなかったし！』
「や、やっぱし……」
『そこ、落ち込まない！』
「というわけで次回」
＜ Version 7.01 描画してみよう！ ＞
『につづく！』
「でもはっきり言ってかなり色々教えるから覚悟してね」
『何をいまさら』


////////////////////////////////////////////////////////////////////
/*              ２００１年８月２０日（月）の更新予定              */
http://www.kab-studio.com/

・Java で納得オブジェクト指向プログラミング更新
　Java で納得オブジェクト指向プログラミングを更新する……予定。この
ときまでにあらかた書き上がってるはずなので、配信予定とかについて掲載
しようと思ってます。
[ Java で納得オブジェクト指向プログラミング]
http://www.kab-studio.com/Programing/JavaOOP/


////////////////////////////////////////////////////////////////////
/*                          ご注意！！                            */

・このメールを返信しないでください。
・ご意見・ご希望・ご感想は[チョー普通な日記]よりお送りください。
http://www.kab-studio.com/nikki2/
・購読登録を解除したいときにはこのページで行なってください。
＊http://www.mag2.com/m/0000012198.htm
＊http://www.pubzine.com/detail.asp?id=000590
・解除は自分で行なってください。
・バックナンバーはこれらのページにあります。
http://backno.mag2.com/reader/Back?id=0000012198
http://www.kab-studio.com/Freeware/index.html#MailMagazine


////////////////////////////////////////////////////////////////////
/*
    KAB-studio.h
      Weekly Mail Magazine.
      Written by Kaburaya Seiden.
      http://www.kab-studio.com/Info/MailMagazine/

    (C)KAB-studio 1999 - 2001 ALL RIGHTS RESERVED.
        http://www.kab-studio.com/
        info@kab-studio.com
*/
////////////////////////////////////////////////////////////////////




