
/*
    KAB-studio.h
        　ＫＡＢ−ｓｔｕｄｉｏで先週更新した内容
        が格納されたヘッダーファイルです（笑）。

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

    送信日： 2000/04/17(Mon) No.053
    配信数： 3650（ Mag2 + Pubzine ）
＊    発行元： まぐまぐ( URL: http://www.mag2.com/  ID: 0000012198 )
＊    発行元： Pubzine( URL: http://www.pubzine.com/  ID: 590 )
*/


/*              ２０００年４月１７日（月）の更新                  */
http://www.kab-studio.com/Info/News/

・「鏑矢正伝の基本事項」更新。
　鏑矢正伝の基本事項のページを更新しました。ただ７年生になったからっ
てだけ（爆）。あーあと、顔写真は古いままです。今は全然違いますのでご
注意を。

[鏑矢正伝の基本事項]
http://www.kab-studio.com/cgi-bin/cgiperl7.pl?Info/Kaburaya/Kihon.html


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

2000/04/09 (Sun)
　風邪やや復調。長髪を切るべきか？　そしてアニメ色々。

2000/04/10 (Mon)
　就職関係の提出物と、空気清浄機。そしてゼミの宿題に四苦八苦。

2000/04/11 (Tue)
　初ゼミ〜。ＰＣネットワーク係になる。のちにそれで忙しくなる（汗）。
あとせらむんネタ。

2000/04/12 (Wed)
　授業受けたり研究室行ったりそんなとこ。

2000/04/13 (Thu)
　鏑矢正伝、でじこへの想いを語る！！　あとＭＵＭＵとか松坂とか。

2000/04/14 (Fri)
　長髪を切る！　顔変わる！！　ターンＡガンダム最終回良い！　コレクター
・ユイもよい！　そしてツッコミ３つ！　とゆー波瀾バンジョーな金曜でし
た。

2000/04/15 (Sat)
　リクナビの情報格差差別！（笑）　あとアニメの話とかもろもろ。いつも
通りやね


/*                         鏑矢の憂鬱                             */
http://www.kab-studio.com/Programing/KabuU/

2000/04/09 (Sun)
お休み

2000/04/10 (Mon)
情報理論という授業
圧縮とかに関係している……らしい

2000/04/11 (Tue)
お便り
「プログラミング言語C++3rd」に書かれている
引数を std::pair で省略する方法
できるの？
マクロ使うくらいしか
コンテナふたつ使う時に便利
サンプルコード
オーバーロードするか
お便り
floatの切り捨て方法
printf() 系ならこう
サンプルコード
「小数点数字」

2000/04/12 (Wed)
昨日の「プログラミング言語C++3rd」について
オーバーロードされていた
STL 次バージョンに加えられるのか？
お便り
ありがとう
お便り
「ウインドウズキー」と「Ctrl」+「Alt」+「Del」キーをロックしたい
前者は不明
フックを使えば大丈夫？
後者は Q161133 を参照
WinNT では使えない？

2000/04/13 (Thu)
お休み

2000/04/14 (Fri)
研究室のホームページを作成
メールと Telnet について
ホントはネットワークは専門外
アップロードしたら書き換えられる
Frontpage が働いているらしい
META とコメントを取り除いて再アップロード
テキストエディタ使っているのは変？

2000/04/15 (Sat)
#pragma twice を書く
これから忙しそう
書いたのはビットフラグと符号関係
図を入れられないのが辛い
これからどう教えていくか考え中
メインは MFC を読み解くこと
そして自分用のクラスライブラリへの布石に


/*                       今週の追加単語                           */
http://www.kab-studio.com/Programing/Dictionary/

・追加単語：
インポート エクスポート スマートポインタ データ型 派生 派生クラス
基底クラス 子 親 コンカレンシモデル 

・今週のごめんなさい
CALLBACK アタッチメントモード セフォマ ファイル IP スレッド

　単語追加はまだ休止中。ごめんなさい。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]
『へー、こうすると１６進数もきれいに表示できるんだ』
「あ、でも TRACE() でも同じふうに表示できるんだけどね」
『じゃー iostream 要らないじゃん』
　要らなくても使いたいなら購読登録。
http://www.kab-studio.com/Programing/STLiostream/
_______________________________________________________________[KCM]


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

　Version 4.03
トランジスタスイッチ

「前回はメモリの中を見たけど、今回はさらにその中を見ましょう」
『ってゆーか、そーゆーのって意味あんの？』
「残念ながら、必須なんだよね。こういう細かいこと知ってないと使えない
のが、 C++ 言語」
『ふーん』
「さて、前回 char 型の変数はメモリの１マス分、１６進数だと２桁分だっ
てとこまで言いました」
『言われました』
「でも、メモリの中に実際に１６進数の数字が入っているわけじゃないんで
す」
『じゃー１０進数』
「も入ってません」
『じゃー何が入ってるの？』
「その前に！」
『そのまえに？』
「この前みたいに〈メモリの中身〉は見れたけど、そのさらに奥、つまりメ
モリの１マスに何が入ってるかは、直接見れないから」
『そんな細かいのは見れないのね』
「だから、なんとかイメージ膨らませてみてね。間接的には見られるし」
『よーするに水希ちゃんの解説に頼れってことよね』
「うーん、そーゆーわけじゃないんだけど……ま、とりあえず話を進めてみ
ましょう」
『うん、進めて進めて』
「では質問。メモリの中には何が入ってるんでしょう」
『……小人さん？』
「なんでやねん」
『そういえば、数字とか保存できるんだもんねぇ、なんか入ってるのよね』
「実は、〈スイッチ〉が入ってます」
『スイッチ？』
「そう。オンとオフになるスイッチ」
『ウソだぁ、あのでっかいのが入ってるの？』
「いや、ああいう機械式のじゃないスイッチ。正確には〈トランジスタ〉っ
てもの」
『あ、トランジスタラジオとか聞いたことあるね』
「トランジスタは極小のスイッチ。２０００年の CPU やメモリなら、だい
たい何百万〜何千万って数が入ってます」
『な、何百万！？　あのさ、テレビとかで CPU の中身とか見たことあるけ
ど、あれってものすごくちっこいよねぇ、あんなかに』
「何百万」
『ほー』
「このトランジスタひとつひとつが、スイッチとして働いてます」
『働いて、どうなるの？』
「ここからが大事。あるトランジスタスイッチがあります。これは、オンと
オフになります」
『うんなるね』
「このスイッチがふたつありました。さて〈スイッチが入っているかいない
か〉は、何通りの組み合わせがある？」
『ええっと……』

オフ・オフ
オフ・おん
おん・オフ
おん・おん

『だーね。だから４通り！』
「じゃあスイッチが３つだったら？」
『げ！　なんかそれって数学っぽくない？』
「数学ってほどじゃないけど……今の４通りが、加えたスイッチがオフの時
とオンの時の２通りあるわけだから、加えたスイッチを一番左に書くと……」

オフ・オフ・オフ
オフ・オフ・おん
オフ・おん・オフ
オフ・おん・おん
おん・オフ・オフ
おん・オフ・おん
おん・おん・オフ
おん・おん・おん

『あ、８とおり！』
「ってことはスイッチが４つだったら」
『えっと、これがまた、オンとオフ２通りあるんだから……２ずつかけてい
けばいいってことだから、１６通りだね。……あ、これって１６進数のこ
と！？』
「そゆこと。前回見たメモリの１マスのうち、１６進数１桁分を、トランジ
スタスイッチ４つで表してるんです」
『？？　つまりどゆこと？』
「スイッチ４つで１６通り表せるでしょ」
『うん、表せる』
「そこで、それぞれに〈数字〉を割り当てたわけ。例えば」

オフ・おん・オフ・おん

「なら 5 って数字と見なす、って」
『みなすってどーゆーことよ』
「例えばバーコード」
『ばーこーど？』
「あのしましまが、商品の値段を表しているでしょ。これが〈見なす〉。あ
のテキトーなしましまを、レジは〈特定の値段〉とみなすから、あれが数字
になる」
『つまり、あたしがこれを数字と見なさなきゃいけないってこと？』
「火美ちゃんがじゃなくて、コンピューターが。実際にメモリ見たり、変数
の中身を出力したときは、数字として表れてたでしょ」
『あ、ってことは、メモリの中はこんなわけ分かんないのだけど、コンピュー
ターはそれ読んで、数字に直してくれるってことなんだ！』
「そゆこと。メモリの中はこーゆーおんとオフしかないんだけど、それを特
定の規則にのっとって〈数字に置き換えて表示する〉ってこと」
『ほー』
「この〈見なす〉っていうのはとーっても大事だから。これから何度も〈見
なす〉ことが出てくるから」
『なんか難しそう……』
「頭の体操っぽいけどね。例えば！」

void TestHex()
{
    int i;
    i = 15;
    TRACE( "%d\n", i );    // 15
    i = 0xF;
    TRACE( "%d\n", i );    // 15
}

『えーっと、数字入れる変数 i を作って、それに 15 入れて、表示して、
そのあと 0xF ……１６進数で F は 15 、あ、同じ数字だね、これ入れて、
表示して、同じ結果。ってこれが？』
「 i に 15 と 0xF 入れてるけど、これはどっちも同じことだからね」
『どゆこと？』
「どっちも、結局はオンとオフってこと」
『あ、スイッチに置き換えられちゃってるんだ』
「どっちの形式で入れても、 i の中身は同じ。スイッチのオンオフだから」
『よーするに表現の違いってことね』
「そう、それが大事。例えば

void TestHex2()
{
    int i;
    i = 15;
    TRACE( "%X\n", i );    // F
    i = 0xF;
    TRACE( "%X\n", i );    // F
}

『 %X って確か１６進数で表示するのだよね。あ、だから F なんだ』
「つまり、 i のスイッチのオンオフを、 %d なら〈整数と見なして表示〉、
%X なら〈１６進数と見なして表示〉するってこと」
『あ、これってつまり〈解釈の仕方〉ってゆーか〈変換の仕方〉ってゆーか、
そういうのなんだ』
「これがさっき言った〈数字として見なす〉って部分。コンピューターは、
メモリは〈スイッチの集まり〉としか見えないから」
『つまりオンオフだけってことね。プログラムの方で〈これを１６進数とし
て表示しろ！〉って言わないと、１６進数になんないわけだ』
「そういうこと。なんとなくイメージ掴めてきた？」
『なんとなく。ってことはさ』

    i = 15;

『のとこは、 15 がスイッチのに変換されてから、 i の中に入るってこと
なんだ』
「うーん、それはちょっと違うんだよね。 Ver 1.0 ( No.003 ) を思い出し
てみて」
『うわ、１年前！　えーっと、確かファイルをバイナリーモードっていうの
で……あ、なんか今やってるとことすごく似てる！』
「メモリがスイッチの集まりってことは、この 15 も、今表示されている文
章も、コンピューター上のすべてはそのスイッチのオンオフで格納されてる
ってこと」
『ってことは、ここで見えている 15 っていうのは見せかけなんだ』
「そういうこと。これはプログラム全体に言えるかな」
『どゆこと？』
「このプログラムは C++ 言語ってプログラミング言語で書かれてるんだけ
ど、それはこの〈スイッチのオンオフ〉とは違うでしょ」
『全然違う。ってことはスイッチのオンオフに変換する必要がある？』
「そう、それが〈ビルド〉をするってこと」
『そのためにビルドって必要だったんだ！』
「ビルドする事で、このプログラムがスイッチバージョンに書き換えられる」
『 15 もスイッチのオンオフになるわけね』
「そういうこと。だから〈 15 がスイッチのに変換され〉るのは、実行する
ときじゃなくて、ビルドする時ってことだね」
『ひゃー、なんか違う世界って感じだね』
「違う世界でしょ。コンピューターの中の仕組みはかなり特殊。それをうま
くごまかしているから、特殊に見えないってこと」
『ってゆーか、ここまでしないと見えないもんねぇ。ってゆーか、見ないと
プログラムって組めないもんなんだ』
「特に C++ 言語はね」
『この前もそれ言ったね』
「 C++ 言語はこういうことができないと使いこなせないから。まずは、こ
の〈スイッチのイメージ〉を頭に焼き付けて」
『んーと、メモリの中にスイッチがいっぱい……』
「スイッチ４つで１６進数ひとけた分」
『ってことはスイッチ８個で char ひとつ分』
「それがずらーっと並んでる」
『スイッチ８個１セットがずらっと並んでる……』
「コンピューターの中はそんなのばっか」
『ばっか！』

……・おん・おん・オフ・おん・オフ・オフ・オフ・おん・おん・オフ……

「このイメージをしっかり叩き込んでおけば、結構何とかなるかな」

/*
    Preview Next Story!
*/
『コンピューターの中身って全部こんな感じなんだ』
「そう、メモリもディスクも CPU も」
『……ってことは、あたし自身も！？』
「そういえばそんな設定あったね、はは」
『はは、じゃねーっ！』
「というわけで次回」
＜ Version 4.04 ２進数 ＞
『につづく！』
「火美ちゃん、アイディンティティー崩壊の危機！？」
『ってゆーかそーゆーストーリー系全然ないよね』
「解説で手一杯だからねぇ」
『あたしに人権はないのね……』


/*                       金菜さんの憂鬱                           */
http://www.kab-studio.com/Programing/KanaU/

アプリのツボ
#16 通信　その３

　最近の通信アプリは「使いやすさ」がとっても大事。
　例えばメーラー。メーラーが「ただメールのやりとりができればいい」な
んて考える人はもういないでしょ。そのメーラーがどれだけ使いやすいか、
が大事。エディタはカスタマイズできるか、外部エディタを使えるか、複数
アカウントを使い分けられるか、メールの振り分けが簡単にできるか、セキュ
リティは万全か、とかが大事てことね。
　ちょっと前まで、ネットワークは実務用だったけど、今はコミュニケー
ションツールとしての面がとっても大きいから、その部分が大事ってこと。
ICQ タイプでも、単なる通話だけじゃなくて、出逢いの場を設けるとか、自
分のスキンを送って相手のにかぶせられるようにするとか、そういう事の方
が大事かな。

　正直そうなってくると、プログラマーってそういうの作るのに向いてない
こと多いと思うから、大変かもね。外部デザインやユーザーインターフェイ
スは、自信がないなら外部委託した方がいいかも。フリーウェア、シェア
ウェア、パッケージウェア問わずにね。今は、いいものを作るためにはそれ
なりの努力をしなきゃいけないってことね。

　次回は「アプリのツボ」の最終回、ユーティリティアプリについて。じゃ
ね。


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

・旧かぶスタ削除開始。
　旧アドレスにある各ページを、そろそろ削除していこうと思います。マイ
ドメインのシステム上、旧ページは３ヶ月くらいしか残らないそうで、そろ
そろその期限が迫ってるんで。
　とりあえずは、末端コンテンツを削除して、目次ページには「引っ越しの
お知らせ」を置くつもり。んでそのあと少ししたら、たぶん全削除。それま
でにリンクとか張り替えよろしくっす！

[旧 KAB-studio ホームページ]
http://www2.justnet.ne.jp/~kabstudio/


/*                          ご注意！！                            */

・このメールを返信しないでください。
・ご意見・ご希望・ご感想は[チョー普通な日記]よりお送りください。
http://www.kab-studio.com/nikki2/
・プログラミングに関する質問は[鏑矢の憂鬱]にお送りください。
http://www.kab-studio.com/Programing/KabuU/
・購読登録を解除したいときにはこのページで行なってください。
＊http://www.mag2.com/m/0000012198.htm
＊http://www.pubzine.com/detail.asp?id=000590
・解除は自分で行なってください。
・バックナンバーはこれらのページにあります。
http://bigbeat.tegami.com/~mgsearch/frame.cgi?id=0000012198
http://www.kab-studio.com/Freeware/

/*
    KAB-studio.h
    Weekly Mail Magazine.
    Written by Kaburaya Seiden.

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


/*                      See you next week!!                      */


