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

    KAB-studio.h


    (C)KAB-studio 1999 - 2003 ALL RIGHTS RESERVED.
        http://www.kab-studio.biz/
        info@mail.kab-studio.biz

    送信日： 2003/12/15(Mon) No.236
    配信数： 2680 ( Mag2 + Pubzine )
＊    発行元： まぐまぐ ( URL: http://www.mag2.com/  ID: 0000012198 )
＊    発行元： Pubzine ( URL: http://www.pubzine.com/  ID: 590 )
*/
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
/*                ２００３年１２月１５日（月）の更新              */
http://www.kab-studio.biz/index.html

・ほとはー１話追加
　三人合体ホットハーブに７の４を追加。テレビチャンピオン……ではあり
ません。
[ 三人合体ホットハーブ ]
http://www.kab-studio.biz/Comic/HotHerb/index.html

・表紙壁紙！
　１週間遅れですが、表紙の壁紙バージョンを掲載！
　ダウンロードはCG Galleryにて。
[ CG Gallery ]
http://www.kab-studio.biz/CG/Gallery/index.html


////////////////////////////////////////////////////////////////////
/*                        ちょお普通な日記                        */
http://www.kab-studio.biz/nikki2/index.html

2003/12/07 (Sun)
　久々の表紙壁紙制作レビュー。最初は手抜きモード。あとはがしがし塗る
だけ。午前中はぐだーっと。午後はほとはーと表紙。プラネテスがいい感
じ。そしてかぶろぐの検索機能、 Java より C# 、ボーナス！

2003/12/08 (Mon)
　仕事はマージを引きつづき。プログラムも久しぶりに。外注さんとのミー
ティング。慣れちゃったのかも……。きららは一番面白いマンガ雑誌。クロ
ノクルセイド動きまくり。 DVD-R 焼くの、簡単だ……。睡眠時間ずれて調
子悪い。

2003/12/09 (Tue)
　質問メールの書き方。なんでいつの間に連絡役？　メモ帳を買うために
まっすぐ帰る。真月譚月姫１巻限定版はアマゾンで。バイオX505、神々しさ
に欠ける？

2003/12/10 (Wed)
　午前中は資料のまとめ、午後はファイルのマージ。朝起きるのが辛い。そ
してリブレットの形。バッグにどう入れる？

2003/12/11 (Thu)
　久々コーディング。実は作るの２機能目。たらい回しシステム。外注だけ
で。削除。

2003/12/12 (Fri)
　土曜日に日記書く。 Eclipse 重い。忘年会＆徹ゲー。酒に酔う。プリン
強すぎ、らしい。暴君ハバネロ、あまり辛くない？　「暴君」でぐぐる。今
日は休出予定。

2003/12/13 (Sat)
　横浜寄って冬コミカタログとか購入。ジャジャが面白い。冬コミは最終日
だけ行こうかなと。２時から９時まで休出。会社からかぶスタを見る。かぶ
ヘッダーとかは明日に。仕事が……。プラネテスはかなり素晴らしい。暴君
ハバネロが家の近くでも売ってた……。


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

■　第九章　四人　−１３−

「早い、な……」
　朱き泉の中央で、白葉は多くの命が消えたことを感じていた。愚痴ている
ように見えて、その表情は満足そのものだった。
　陽が昇らないうちにたどり着いてくれたからこその奇策だったが、それで
も村人全員が一致団結して動いたからこその結果に代わりはない。
「これがあのふたりの人徳、そして力か」
　腰を据え、両手を広げて、炎にかざせば、この森のことはだいたい感じ取
れる。だから、今は幽閉されているとしても、さして不自由は感じていなか
った。
　それに、少し待てば赤葉が来るだろう、そう期待した。
「赤葉……」
　他の３人は来まい。そう確信していた。村を護るためとはいえ、躊躇なく
鉄槌を振り降ろしたことに、白葉は満足してはいた。だからこそ、その中に
自分の孫が含まれていないことを、不満に感じる。
「……？」
　村に気配を感じた。
　嫌な予感がした。
　同時に、衝撃が床を揺らす。閉ざされた岩戸が砕け、白葉のいる泉に岩埃
が流れ込む。
「何者だ！！」
　白葉は立ち上がり、構える。
「なんだ、婆ひとりかよ」
　現れた男は、白葉を見るなり下卑た笑いを見せた。短髪痩身、黒のシャツ
を着ている。
「何者かと訊いている」
「俺は無駄なことはしない主義なんだ」
　足を上げ、踏み抜く。床がささくれ立ちそれが波打ち疾り、白葉を飲み込
んだ。
「ガッ！？」
　白葉の体は人の形をなさなくなる。がれきの中から見える白葉の口が、何
かをつぶやく。
「無駄無駄。なんか雰囲気違うけど、ここだって泉なんだろ？　使わせても
らうぜ」
　ひび割れた泉の中央で、男は手を広げ、炎に掲げた。
「さぁてめぇら、休むにはまだ早いぜ？」
                                                              (続く)


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]
『もうすぐ年末だね』
「今年もあっという間だったね」
『年末は何か目玉になるのある？』
「毎年恒例だけど、日記で〈今年を振り返る〉があるよ」
『あ、そういえば』
「日記の１年間のダイジェストだから、それを読んで感慨にふけるのも」
『……なんかじじくさい』
「う”」
http://www.kab-studio.biz/index.html
_______________________________________________________________[KCM]

////////////////////////////////////////////////////////////////////
/*                       #pragma twice                            */
http://www.kab-studio.biz/Programing/PragmaTwice/index.html

　Version 12.13
バイナリーのまとめ

「さて、バイナリー編は今回が最終回です」
『恒例のまとめね〜』
「まず、一番重要なのは、テキストもバイナリーも元々は同じメモリ上の
データってこと。メモリ上のデータで、文字としてみなせるものがテキスト
データ、それ以外がバイナリーデータに当たります」
『１バイトずつ区切って、それが文字になればテキストってわけね』
「基本的にはね。日本語が関係してくるとややこしくなるけど」
『そっか、１バイトずつ区切っても、２個ずつ見なきゃわかんないね』
「そう、だから、１バイトずらして見たりすると」
『リードバイトとトレイルバイトが逆になる……日本語の文字にならない
ね』
「とたんにバイナリーになっちゃう。ただ、バイナリーって言っても、た
いがいはなんらかのデータになるはず」
『なんらかのデータ？』
「４バイトで区切ったら int になる、みたいに」
『そか、テキスト以外がバイナリーって言っても、なんかのデータっていう
のは同じなんだもんね』
「さっきのリードバイトとトレイルバイトがずれた例を考えると、これは
データとして取り出せない、だからバイナリーデータですらない、とも言え
るかな」
『じゃあなんなの？』
「うーん……だから、むしろテキストかバイナリーかっていうのは〈見方〉
の問題かも」
『ファイル開くときのあのオプションの話？』
「そういうことだね。テキストとして見るか、バイナリーとして見るか」
『いまいちよくわかんない』
「僕もよくわからない」
『ダメじゃん』
「定義自体曖昧だからね」
『んっと、次に整数と実数について教わったんだよね』
「そう、 double の中身」
『複雑だったような簡単だったような。仕組みは簡単なんだけど、メモリを
直接見てもわからないから……』
「ビット単位で見ないと難しいね。そのために関数も作ったし」
『でも、仕組みってゆーか、誤差が出る理由さえわかっちゃったら、もう気
にしなくていいんでしょ？』
「うん、理解しておいてもらえばいいかな。 double は int と違って、
ビットやバイトを見て計算する必要はないし」
『次は、ファイルアクセスの時のテキストモードとバイナリーモードね』
「これはさっきの、 VC で開くときのテキストモードとバイナリーモードと
は違う意味だから注意してね」
『え、そうなの？』
「 VC の方も、テキストは改行コードを変える、っていうのはもちろんして
るんだけど、それに加えて表示方法も違うってこと」
『そか、テキストだと文字列で、バイナリーだと１６進で、っていう違い
ね』
「だからたとえば、テキストファイルをバイナリーモードで開いて、それを
文字列として出力、っていうこともできるよ」
『でもそれだと改行コード変わらないじゃん』
「元々 \n しか入っていないテキストファイルだったら？」
『なんか引っかけ問題っぽい……』
「そうじゃなくて、ＯＳによってはテキストファイルの改行が \n だけって
いうのもあるってこと」
『あ、なるほど。インターネットとかで、他のＯＳのテキストファイルをも
らった時の話ね』
「実際、改行コードや文字コードの関係で、多くのエディタはテキストファ
イルをバイナリーモードで開いて、適切な変換を行ってから表示するように
なってるはず」
『違う文字コードだったら、まさにバイナリーファイルなんだもんね』
「だから、この fopen() のテキストモードとバイナリーモードは、単に改
行コードの変換をするだけ、って憶えておいた方がいいかな」
『変換機能だけ、と』
「だから、そういう意味では fread() や fwrite() で読み書きするのと、
テキストモードかバイナリーモードか、っていうのは本当は別の話」
『でも、 fread() や fwrite() を使う時はバイナリーモードにするんで
しょ？』
「それはそう。バイナリーのデータに改行コードと同じものが入っていたら
変換されちゃうからね。でも」
『テキストモードでも fread() や fwrite() は使える、と』
「そういうこと。こういった、テキストだからこう、バイナリーだからこ
う、っていう形で分けられないっていうのが、バイナリーの難しいところか
も」
『ＴＰＯでどういう意味か考えなきゃいけないってわけね』
「 fread() や fwrite() の回では、複数のバイナリーデータの読み書きも
してみました」
『でもさ、構造体の方もそうだけど、結局バイナリーデータで読み書きする
な、って感じよね』
「最近の流れがそうなってきてるからね。
『その〈流れ〉って、具体的にはなんなの？』
「 XML って知ってる？」
『聞いたことはあるけど。ホームページの HTML みたいなのって』
「そう。たとえば、 Version 12.11 ( No.234 ) の TEST_STRUCT_DOUBLE_2 
を XML で表すと、こんな感じ」

<?xml version="1.0" encoding="UTF-8" ?>
<datas>
    <member name="m_ch">63</member>
    <member name="m_d">2.0</member>
    <member name="m_ch2">63</member>
</datas>

『へー、 name で変数名指定できるんだ』
「あ、ううん、それは僕が今決めただけ。何かの仕様とかで決まってるわけ
じゃないから」
『へ？』
「 XML は、そういうのを全部自分で決められるんです。そういう意味で、
すごく柔軟にデータを格納できるんです。それにテキストファイルだから」
『普通にエディタで作れる、と』
「そういうこと。それに、今火美ちゃんが言ったような感じに、実は〈型〉
も仕様で決めることができるんです」
『どういうこと？』
「たとえば」

    <member name="m_d">AAA</member>

「ってするとエラーにすることができる、ってこと」
『それってメリットある？』
「自分でエディタで打ち込むと、ミスが多いからね」
『あ！　コンパイルするみたいな感じなんだ』
「そういうこと。そういうチェックができるのはメリットだけど、その分、
きっちり決まりすぎて融通が利かなくなることもあるかな。まぁそういう
話になってくると難しくなってくるけど」
『……ってゆーか、なんでその XML の使い方って教えてくれないの？』
「 VC だと標準の機能だけじゃ使えないんだよね」
『え？　ファイル読み込めばいいんじゃないの？』
「さっきのあのファイルの構造、解析するプログラムって作れる？」
『難しそう……』
「だから、普通は専用のクラスとか使います。 DOM とか SAX とかっていう
から、興味があったら調べてみて」
『あとでぐぐってみる』
「そういったクラスを使うためには、ライブラリをダウンロードして組み込
んだりしなきゃいけないから、少し上級の話になっちゃうんで」
『あとまわし、ね』
「そういうこと。実際、 XML だけで１章は割かないと」
『そんなに奥が深い？』
「深いし、憶えることも多いし」
『それは難しそう……』
「難しいのに加えて、最近できたものってこともあって、あまり広まっては
いないかな。それよりは、 CSV の方が一般的だね」
『しーえすぶい？　それもよく聞くけど』
「 Comma Separated Values 、つまりカンマ（ , ）で区切ったファイル形
式のこと。 TEST_STRUCT_DOUBLE_2 を CSV にするとこんな感じかな」

63,2.0,63

『普通に , を挟んで並べてるだけね』
「 CSV はランタイムとかを使ってアクセスするのが簡単だから、こっちの
方が広まってるかな」
『でもカンマで分けるのってどうするの？』
「ひとつは、１文字ずつ拾っていって , が出てくるまでをひとつのデータ
とみなす、っていう方法」
『それ面倒そう……』
「それに、 CSV データの中に文字列を入れるときには注意が必要とか」
『たとえば？』
「文字列の中にカンマが入らないか」
『あ……』
「カンマが入る可能性があったら、カンマを他の文字に置き換えるとかしな
いといけないから面倒」
『書き込むときの話？』
「そういうこと。読み込む時の話で言うと、 Excel で CSV ファイルとして
出力すると、文字列が "" で囲まれて入ってるから、その中の , は無視す
る、っていう処理が必要になったりも」
『げげ』
「実際、 CSV ファイルはいろんな場面で使われているから、文字コードの
関係も含めて、実際に処理するのは結構難しいかも」
『……質問！』
「はい火美ちゃん」
『難しいのに、なんで一般的なの？』
「うーん……他に方法がないから、かな」
『ない？』
「データをまとめて格納する形式で、テキスト形式で、わかりやすい、って
いう条件を満たす物が CSV くらいしかなかった、とかかな」
『……もうひとつ質問！』
「はい火美ちゃん」
『 , の話って、 XML にも当てはまるんじゃないの？　< とか > が中に
入ってた時はどうするの？』
「それは、 XML 用のライブラリが自動的に変換してくれます」
『！』
「 XML 用ライブラリは、かなり機能的に充実してるし、ドキュメントも多
いから、使い勝手はいいよ。仕様も決まってるし」
『……逆に言うと、 CSV は歴史があるくせにちゃんとしたライブラリがな
いし、使い勝手も悪い、と』
「そういうことになるね。ただ、文化的なものもあるかも」
『文化？』
「 XML は Java っていうプログラミング言語が一番のメインになってて、 
Java は元々フリーのライブラリがいっぱい作られてるから」
『だから XML のライブラリも充実してる、と』
「 CSV は昔の C 言語や C++ 言語が中心で、この言語は Java みたいにラ
イブラリが充実してないから」
『自分で作らなきゃいけない……』
「 C++ はそういうの多いかな」
『めんどくさ……あ、もうひとつ質問！』
「はい、火美ちゃん」
『取ってきたデータを int や double にするのはどうすればいいの？』
「それは Version 12.02 ( No.225 ) でやったでしょ」
『そっか、ランタイムとか使えば文字列から変換できるんだね』
「そういうこと」
『そうなると、やっぱバイナリーよりテキスト、ってなるんだね』
「取り扱いが楽とか、ファイルを直接見られて編集できるとか、メリットが
かなりあるからね。今回はバイナリーの扱いについて見てみたけど、それは
推奨するためというよりは」
『あんま使うな？』
「ってことになるかな。使う時にはデメリットも考えて、ってところ」

/*
    Preview Next Story!
*/
『バイナリー編終わり〜、で、次は？』
「次回はアルゴリズム」
『よく聞くけどそれって何？』
「うーん、明確な定義ってないかも」
『なにそれ』
「次回はそこから説明します」
『というわけで次回』
＜ Version 13.01 アルゴリズム？ ＞
「に続く！」


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

・ほとはー１話追加予定
　三人合体ホットハーブに７の５を追加予定。


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

・このメールを返信しないでください。
・ご意見・ご希望・ご感想は[チョー普通な日記]よりお送りください。
http://www.kab-studio.biz/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.biz/Freeware/index.html#MailMagazine


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

    (C)KAB-studio 1999 - 2003 ALL RIGHTS RESERVED.
        http://www.kab-studio.biz/
        info@mail.kab-studio.biz
*/
////////////////////////////////////////////////////////////////////

