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

    KAB-studio.h


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

    送信日： 2004/07/26(Mon) No.267
    配信数： 2091
    発行元： まぐまぐ ( URL: http://www.mag2.com/  ID: 0000012198 )
*/
////////////////////////////////////////////////////////////////////

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

・ほとはー８の１２追加！
　三人合体ホットハーブに「８の１２ 真のヒロイン」を追加！
[ 三人合体ホットハーブ ]
http://www.kab-studio.biz/Comic/HotHerb/index.html


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

2004/07/18 (Sun)
　らくえん。

2004/07/19 (Mon)
　ペンタブレットのペンを無くす。見つかる。なぜ見つからなかったのか。
らくえんＣＧ探し。無駄な１日。

2004/07/20 (Tue)
　久しぶりのおしごと。増分よりは減らせてる。そば食べて電話して。
修羅の刻が良かった。らくえんＣＧフルコンプ。「ぼくのたいせつなもの」
はまだです。

2004/07/21 (Wed)
　客先某イベントのため午後休。帰ったらぐだーっ。蒼穹のファフナーに笑
いを。リブレットへの想いと代替機への要望。アキュポイントキーボードっ
てないんかな。

2004/07/22 (Thu)
　今日はごたごた。仕様変更ががーっと。明日中に目処立てないと。日記と
かぶろぐの分け方。絢爛舞踏祭はエステル回。

2004/07/23 (Fri)
　がりがりがりがりバグ潰し。プロジェクト参加が１ヶ月伸びて、客先常駐
連続８ヶ月に。バグ＆仕様変更は０．５枚に。なんか疲れてる……。

2004/07/24 (Sat)
　午前中は洗濯。午後は……のんびり。ほとはーは描いた。目覚まし時計の
話。すごく高性能のを持ってるんですが……壊れかけ。どうするかなぁ。そ
して自分の状況。


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

■　第十章　剣と魔法　−１６−

　この村には似つかわしくない、応接室。
　洋風の長テーブルと椅子は、色褪せることなく綺麗なつやを見せていた。
「少々古いかもしれんが」
　赤葉は丸いお盆から洋風のティーカップを置く。雅樹と舞は妙に感心して
いた。
「残念ながら、茶請けはこんなものしかないが」
　枝を編んだ籠に、たくさんのおせんべい。そのひとつひとつはちゃんと袋
に入っていて、湿気てはいないようだった。
「むちゃくちゃちぐはぐだな」
「気にしていることを言うな。こんなかわいらしいお姫様がこのような場所
に来るなど思っても見なかったからな」
　その言葉に、皮肉はない。
「それに、この部屋も使う機会があって良かった。もう何十年と使用してお
らなんだ」
「こんな部屋自体あること自体、信じられないけどな……」
　泉の近く、赤葉の家の地下に、この部屋はあった。石の壁、洋風の調度
品、そのどれもがこの村にとっては異質だった。
「この部屋、明治時代に作られたそうだ」
「そんな昔……」
「あまり文献には残ってないが、隆盛を極めていた時代があったようだ。大
方、能力を利用したのだろう」
　炎を操る能力、使いようによっては便利な道具となる。西洋文明の入り初
めともなれば、その能力は金のなる木に違いない。
「さて、と」
　赤葉は、自分のティーカップを置いて、席に着く。
「私も聞いてよいかな？」
「はい」
　リシュネは、頷いた。
                                                              (続く)

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

　Version 13.31
アルゴリズムのまとめ

「というわけで、今回でアルゴリズム編は最後です」
『今回も長かったね……』
「これでもはしょった方なんだけどね」
『ほんとにぃ？』
「う”……よけいなものは付け足しちゃったかもしれないけど」
『でもたぶんそのよけいなものが必要なんだと思うけど』
「え？」
『で、今回はまとめ？』
「う、うんそう。まず、今回のアルゴリズム編は３つの解説で構成されてい
ました」

アルゴリズム概要（コントラクト、テストプログラム）
　Version 13.01 ( No.237 ) - Version 13.05 ( No.241 )

ソート（バブルソート、クイックソート、マージソート）
　Version 13.06 ( No.242 ) - Version 13.21 ( No.257 )

日時処理（問題点、変換、作成、比較）
　Version 13.22 ( No.258 ) - Version 13.29 ( No.265 )

「あと番外編として」

手作業撲滅
　Version 13.26 ( No.262 ) - Version 13.27 ( No.263 )

「がありました」
『なんか手作業撲滅が一番頭に残ってる……』
「そうなんだ……さて、アルゴリズムについてソートと日時処理を見ても
らったんだけど、同じアルゴリズムでもこのふたつは対局にあります」

□ソート
・繰り返し処理中心
・汎用的
・ライブラリがある

□日時処理
・逐次処理中心
・あまり汎用性がない
・ライブラリがない

「日時処理はプログラム毎に微妙に変えなきゃいけないところがあって、そ
のためにややこしい部分が多いです」
『ホントに細かいところ気にしなきゃいけなくて大変だったよねー』
「実際、アルゴリズムっていう点で考えると、日時処理はちょっと違うか
も」
『え、そうなの？』
「狭い意味のアルゴリズムだと当てはまらないかな。でも、ある程度汎用性
があって使い回せるから、まったく違うとも言い切れないんだけど」
『ふーん』
「さて、ここで重要なのは、プログラムの要素について。プログラムは次の
組み合わせでできています」

・一覧形式
・流れ形式
・繰り返し形式

『 Version 13.26 ( No.262 ) でやったのだね』
「さらに、【一覧形式】は順番が関係ない処理のことなのでこれをひとつの
処理として考えると、実質的には」

・流れ形式
・繰り返し形式

「のふたつだけになります」
『シンプルねー』
「さて、このふたつには主従関係があります。プログラムは【流れ形式】だ
けですべて書くことが理論上可能ですが、【繰り返し形式】だけでプログラ
ムを書くことはできません」
『え？　そうなの？』
「繰り返し処理の中身は流れ形式になるから」
『そか、同じ流れをまとめたのが繰り返し……繰り返しは必ず流れとペアっ
てわけね』
「そういうこと。繰り返し処理は流れの中にあるし、繰り返し処理の中にも
流れはある、というわけ。だから、繰り返しが有限であれば、それを展開し
て流れにできる、というわけです」
『でも繰り返し処理するわけだよね』
「そう。繰り返しを使うと、流れを小さく小さくまとめることができます」
『だらーって長いのが短くなるわけね』
「同じ処理があればそれをまとめて繰り返し処理にすることでプログラムが
小さくなります。そうすると修正箇所が少なくなるし、全体が見やすくなり
ます」
『可読性、ってヤツ？』
「そういうこと。だから、流れ形式で書いたプログラムは、同じ箇所を見つ
けて繰り返し形式へと置き換えていくわけです」
『流れから繰り返し……』
「そうして作られた繰り返し処理のうち、多くの場面で使える汎用的な繰り
返し処理が、ソートとかのアルゴリズム」
『そっか、そういうふうに繰り返し処理にしたのがアルゴリズム……』
「それに対して、まったく汎用性のない、繰り返し処理にしようがない部分
というものもあります。それが、それぞれのアプリで絶対に書かなきゃいけ
ないプログラム、っていうところかな」
『……？？？』
「ん、ちょっと話が早すぎたかな。まぁ、プログラムは流れ形式と繰り返し
形式の組み合わせでできているってことは押さえておいて」
『う、うん……』
「さて、今回は、プログラムを組む上でのノウハウをたくさん紹介しまし
た」
『テストプログラムの作り方、日付の比較方法、ブロック選択、どれもすぐ
役立つのだったね』
「プログラムを作る上ではこういうノウハウって必須なんだけど、実はほと
んど解説されないんだよね」
『なんで？』
「うーん、ホームページやメールマガジンならともかく、一冊の本にまとめ
るだけのボリュームがないからかなぁ」
『雑誌連載ならありそうじゃない？』
「そうだよね。これに関しては僕も理由はわからないかな……でも僕は必要
だと思うから」
『うん、必要必要』
「で、こういったノウハウと同時に、概念的なことも説明しました」
『そうそう、さっきのもそうだし、コントラクトとかもそうだし』
「概念の説明で重要なのは、次の２点」

・なんとなく作らないように気を付ける
・ライブラリの背景としての概念を理解する

「まぁ実際には同じことを言ってるんだけど」
『どゆこと？』
「プログラムって、ほとんどの場合〈なんとなく〉で作れます」
『だよね、上から下にコーディングしてけばいいだけなんだから』
「でも実際には違うってこと。プログラムは〈なぜこういうプログラムに
なったのか〉っていう理由が必ずあって、それに基づいて作られなきゃいけ
ないんです」
『理由が必要、ってこと？』
「よくある例をたとえると、お医者さんに行ったときに、とりあえず風邪薬
出しておきましょう、とか言われたら」
『すっごくイヤ』
「風邪薬を出すにしても、そのための明確な根拠が必要なわけ」
『その根拠を踏まえたうえでプログラムを作りなさい、ってことね』
「そういうこと。そこで出てくるのが」

・ライブラリの背景としての概念を理解する

『ライブラリの背景……ライブラリも、概念があって、それが根拠になって
プログラムが作られてる、ってこと？』
「そういうこと。特にライブラリは明確な設計思想があってそれに基づいて
作られていることが多いから、概念がはっきりしていることが多いんです」
『つまり、それを読み取れってこと？』
「読み取って、こういう理由があるからこういうプログラムを作る、ってい
う仕組みを理解することが大事かな。理想は、それをベースにして自分も
プログラムを作れるようになること」
『読み書き両方ってことね。そか、書けるようになれば』

・なんとなく作らないように気を付ける

『ができるわけだ』
「そういうこと。自分が作ったプログラムに対して明確な理由・根拠が言え
るようになる、そのためには使ってるライブラリの背景を理解したり、自分
が作ったものを改めて見直す、とかが必要かな」
『……なんか、結構大きな話だね』
「うん……現場からしてみれば、プログラミングって、コードが書けたらで
きるってものじゃないよ、っていうものだからね」
『ホントは敷居が高いってこと？』
「そういうこと。ま、だからといって、こういった概念やノウハウをちゃん
と理解してる先輩は少ないし、まとめたり教えたりっていう努力もしてない
んだから、初心者だからって気にすることないよ」
『ないんかい！』
「ただ、申し訳ないけど、概念やノウハウについて、全部をここで説明する
ことは量的に不可能です」
『確かに、またどんどん遅れちゃうもんね……』
「ただ、こういったものがあるってこと、こういったものが大事、ってこと
は憶えておいて、機会があったら本屋とかで探してみてください」
『本はないんじゃないの？』
「ノウハウの方はあまりないけど、概念の方はいっぱいあるよ。ただ、概念
の本は学術的というか」
『机上の空論的というか？』
「う、まぁ、そんな感じのが多いかな……」
『読んだら眠くなりそうね……』
「それでも、そういう研究というか、科学的な礎みたいなものがベースにあ
るってことは憶えておいて」
『はーい！』
「さて、今回でアルゴリズム編は最後です」
『次回は？』
「次回からは【プロセス】と【スレッド】について説明します」
『プロセスは何度か聞いたことあるけど……スレッドも他のホームページで
はよく見かけるけど』
「ま、それよりは【同期】の方が重要かな」
『どうき？』
「ま、詳しくは次回からということで！」

/*
    Preview Next Story!
*/
『アルゴリズムもややこしかったけど、マルチスレッドはもっと大変そう』
「うん、大変」
『げげ』
「特に、関数を使う、みたいな簡単な話じゃないから」
『つまり、アルゴリズムを作る、くらいのことができないとダメ？』
「そのくらいは必要かも」
『ううう』
「というわけで次回」
＜ Version 14.01 マルチスレッドって？ ＞
『につづく！』
「ま、最初は簡単なところから」
『でも結局は難しくなるんじゃん！』


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

・８月表紙壁紙！
　毎月恒例、新しい表紙です。
　今度のカバーガールはパプリカの予定。今回もがんばります！


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

・このメールを返信しないでください。
・ご意見・ご希望・ご感想は[チョー普通な日記]よりお送りください。
http://www.kab-studio.biz/nikki2/
・購読登録を解除したいときにはこのページで行なってください。
http://www.mag2.com/m/0000012198.htm
・解除は自分で行なってください。
・バックナンバーはこれらのページにあります。
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 - 2004 ALL RIGHTS RESERVED.
        http://www.kab-studio.biz/
        info@mail.kab-studio.biz
*/
////////////////////////////////////////////////////////////////////

