サーバーが混雑状態になり、ダウンロードが途切れ、タイムアウト・エラーになる状況が稀に発生します。
その場合、時間を適当において、再度チャレンジして下さい。




『思考方法概論』第二十七版は、2024年11月11日に発行されました。
電子書籍のファイル形式は、EPUBです。閲覧には、EPUBビューアの「Calibre」などが必要です。



『思考方法概論』上巻 第二十七版 ダウンロード
ShikouHouhouGaironV1E27.epub : 2.7MB

『思考方法概論』下巻 第二十七版 ダウンロード
ShikouHouhouGaironV2E27.epub : 2.5MB


【内容見本】

▲本書の内容

本書の内容は、「論理」を中核に据えた「思考原理論」であり「思考方法論」であって、「思考」に関わる広範な話題に及ぶエッセイ(試論、随筆)である。 「思考原理論」は、分析を手段とする抽象論であって、「思考方法論」は、総合を手段とする具体論である。 「思考原理論」で基礎固めをした上に「思考方法論」で原理応用を積み重ねる二段構造が必要で、抽象論から始めて具体論に至る「思考方法論」が最終目的である。 ただし、本書では、「思考」において、「論理」こそが全ての秩序を統合的に捉えるものであり骨格(内骨格および外骨格)となるもの、と見なしている。 なお、内骨格は、連鎖構造によって図式化され、外骨格は、集合構造によって図式化される。

これまでの論理学は、「論理」が扱う分野の半分未満しか論じて来なかったも同然で、「意味」を捨象して、「形式」だけで考える「形式論理」に偏っていた。 だが、大事な「意味」を捨象したままでは、「論理」全体を正しく駆動できないため、「意味」に含まれる具体的パターンを駆動する「意味論理」 をも活用しなければならない。 また、「思考」の原理面に関しては、脳科学や心理学で専門的に論じられて来ただけで、「論理」と共に総合的に扱われることはなく、部分的なものであった。 本書の内容は、「論理」および「思考」の全貌を、統合的かつ概略的に解明しようとする試みである。

あらゆる分野に共通する「思考の原理」や「論理の原理」を知っていれば、根本的な大嘘にだまされることが少なくなる。 全ての分野の詳細を知り尽くすことは、誰にとっても不可能だが、物事の根本であれば、数が限定され質が単純であるため誰でも知ることができ、 しかも、根本的な大間違いが避けられる。本書の内容は、物事の理解に関する根本について、集中的に考察したものである。 従って、根本的知識から派生する専門的で詳細な知識については、それぞれの分野の専門書に譲るしかない。 また、ちまたあふれる雑多な情報に対し、 そこに含まれる根本的な大嘘や大間違いを見抜く技能解明および技能獲得に重点を置いた内容にもなっている。

本書の記述に際して、思考実験として、妥協のない純粋な極論や暴論から始めることが、少なからずある。 その後、その極論や暴論が、論述を進めるに連れ、否定されたり制限されたりして、そのまま通じるわけではないことを証明または説明する場合が殆どである。 そのため、読者は、或る論題を扱った早い段階で極論や暴論が現われても、その真意を即断するのではなく、 その後に慎重な批判が加えられる可能性がある、と予想しなければならない。

本書の内容は、「論理学」や「思考法」に関わる抽象論(哲学的考察)が中核になるが、誰もが考えるべき重要問題の具体論(実践的考察)をも扱っている。 その具体論とは、国家論、戦争論、歴史論、情報論、科学論、価値論、道徳論、死生論、これらに関わる実例を挙げた具体的考察である。 我々は、生存を根底からおびやかす重要問題を無視して、日常の些末問題や非現実な空理空論に気を取られているわけにはいかない。 なお、本書は、事実判断および価値判断の両方を含み、それと連動して、客観的判断および主観的判断の両方を含んでいる。

▲本書の読み方

本書では、「概略目次」を掲げると共に「詳細目次」も掲げている。「詳細目次」の中の重要項目には、★印を付している。 ★印は、一つ星から五つ星までの五種類があり、★印が多いほど重要な項目であることを示している。ただし、★印の付かない項目もある。 本書の内容は長大であり、このことが長所であり短所でもあるが、長所を残し短所を削るため、「詳細目次」に★印を表示することにした。 これら以外にも各種目次を用意していて、読者の便宜を図っている。

時間節約を重んじる読者であれば、三つ星以上の重要項目を読んだ上で、二つ星の項目だけを読むとか、関心のある項目だけを読むとか、 大胆に読み飛ばす読み方であっても構わない。また、重要事項の記述は、第一章および第二章に集中しているため、第三章以降の大部分を読み飛ばしても構わない。 なお、第二章までは、主に「思考原理論」または「抽象的思考方法論」であって、第三章からは、主に「具体的思考方法論」である。 何事であれ、「取捨選択」は、重要である。自分にとって無駄な部分は無視して取り合わないことも、無駄をなくす有益な方法になる。 ただし、「無駄」との判断が適切かどうかに関しては、どうしても不確実性を抱えるため、それなりに慎重な判断でなければならない。

本書の内容は、三つ星以上の項目だけが必読箇所であって、それ以外は、支援材料や詳細情報や関連余談に過ぎず、 時間的余裕や個人的関心や状況的必要に従って読めばよい。 本書の記述は、重要事項なら別の場所でも繰り返し説明する手法(意図的冗長記述法)を採用していて、多少の読み飛ばしがあっても、理解できるようにしている。 さらに、難解煩雑な記述の部分を読み飛ばし、平易簡略な記述の部分だけを選んで読んでも構わない。 本書の内容は、複雑難解な事柄にも言及しているが、それゆえに上手く説明できていない部分もあろうし、重要な事柄は、その殆どが単純明快であろうから、 分かりにくい部分の読み飛ばしは、読者の判断に委ね、あえて推奨する読み方としたい。

もし仮に、納得できない箇所があれば、そこを読み飛ばしても構わない。あるいは、懐疑的または批判的に読む態度で構わない。 意見の不一致は、生活でも読書でも誰もが頻繁に経験することであって、一々気にする必要はない。 納得できないのなら「奇妙な考え方もあるものだ」と思って、否定も肯定もせず判断を留保し、特に気にせず読み飛ばすのが、取り敢えずの対応として適切である。 納得できない部分は受け入れず、納得できる部分だけを受け入れるのが、ベストではないがベターな読書のあり方になる。 もし仮に、情報が砂の中に砂金が混じっている状態であれば、砂金だけをり出す作業が必要になる。 本書の内容も、玉石混交状態にある。その取捨選択権は、読者にある。

本書の内容は、思考に関する特殊用語の「辞典」や分析結果の「便覧」の性格をも有し、必ずしも最初から最後まで通読する必要がない。 百科事典を最初から通読する人が殆どいないように、本書も同様の読み方であって構わない。興味を感じたり必要を感じたりした箇所が、読むべき部分である。 なお、読む話題をランダムに選んだり、知らない分野の話題をあえて選んだりするのも、未知の世界への探索として、良い読み方の一つになる。

全部で大小約四百項目ある内で、必読となる重要項目は、以下の通りであって、極めて少数である。ただし、重要項目は、重要ゆえに文章量が多い。

■第一章◆第一節●第一項▲第一目 具体性と抽象性【★★★】
■第一章◆第一節●第一項▲第二目 同一性と関係性【★★★】
■第一章◆第二節●第一項▲第一目 基本的関係構造【★★★】
■第一章◆第二節●第一項▲第三目 視点の四要素【★★★★】
■第一章◆第三節●第三項▲第一目 批判的思考の概要【★★★★★】
■第一章◆第五節●第一項▲第三目 人間属性の分析【★★★】
■第二章◆第一節●第四項▲第一目 意味論理の基礎【★★★】
■第二章◆第一節●第四項▲第五目 推理の全貌【★★★】
■第二章◆第一節●第四項▲第八目 局所合理性【★★★】
■第二章◆第三節●第一項▲第四目 トゥールミン・モデル【★★★★★】
■第六章◆第一節●第一項▲第五目 強制討論の必要性【★★★★】
■第八章◆第一節●第二項▲第二目 良質決は究極の方法【★★★★】

▲本書の主張要旨

「具体性」および「抽象性」は、思考における基本であって、考えるに際し、「具体」(例えばイメージ)と「抽象」(例えば言葉)との往復が重要になる。 「言葉」は、具体的事実を元にして、記号として概念として抽象化されているが、その抽象化された言葉から、具体的なイメージを想像することもでき、 その具体化によって納得感のある「理解」が生じるわけである。具体的なイメージでも思考は可能だが、動物的で原始的な「イメージ的思考」に限られる。

「同一性」および「関係性」は、パターン認識における根源的認識であり、思考の基礎であり、論理の基礎でもある。 同一性および関係性の認識なしに、物事を考えることは出来ない。同一性認識からは、集合構造認識が派生し、関係性認識からは、連鎖構造認識が派生する。 多くの要素が複雑に込み入る思考となると、集合構造(静的秩序、分類系秩序)や連鎖構造(動的秩序、因果系秩序)による構造的思考が必要になる。

「基本的関係構造」は、「同一性」に基づく要素認識の下に、複数の要素からなる「関係性」に基づく認識を構造として捉え、 二者関係構造と多者関係構造とに分けた考え方になる。 これは、二者と多者とでは、論理としての考え方が根本的に違うことによる大別である。 二者関係構造は、論理において特別な関係であり、「対立構造」と「相補構造」とからなり、多者関係構造は、論理において普通の関係であり、 くくる認識の「集合構造」とつなぐ認識の「連鎖構造」とからなる。

「視点」は、物事の認識を左右するものであって、視点が変われば、認識も変わる。視点は、それほどに重要である。 視点は、「立脚点」と「着眼点」との二つに分かれるが、これを補助する要素として、「観察法」および「認識法」が付加される。 そのため、視点を構成する要素としては、「立脚点」「着眼点」「観察法」「認識法」の四要素になる。 認識結果を決めてしまう視点四要素について、深く考察せずにはいられない。

「批判的思考」は、論理的思考を発展させたものであって、二面的思考、多角的思考、論証的思考、実証的思考、この四種類の思考方法の集合体である。 二面的思考では、二者構造を踏まえて真偽や善悪の両面を均等に考える思考となり、多角的思考では、多者構造を踏まえて視点を多様に変えて立体的に考える思考 となり、論証的思考では、論拠を立てて矛盾なく論理的に証明する思考となり、実証的思考では、証拠を立てて無理なく合理的に証明する思考となる。 なお、二面的思考および多角的思考では、従来の見方を改める要素を含み、創造的思考としての性格も含んでいる。

「人間属性」は、人間側の精神的属性としての問題点が認識や判断を左右する重大要素となるもので、これを考えないわけにはいかない。 例えば、人間の愚劣、卑劣、臆病、怠惰などの問題点が、認識や判断を大きく歪ませることになるわけである。 だとしたら、人間属性を加味した上で、認識や判断の何たるかを考えねばならない。

「意味論理」は、「形式論理」(formal logic)の欠陥を補うものであって、「非形式論理」(informal logic)とも呼ばれるものである。 普通、「論理」と言えば、「形式論理」を指すが、より根源的で重要なのは、「非形式論理」でもある「意味論理」の方である。 「形式論理」は、意味を捨象して、論理の形式だけで考えて結論を出すが、「意味論理」では、その捨象された意味を拾い上げ、意味を考えて結論を出す。

「推理の全貌」は、「意味論理の全貌」と実質的に同じである。「意味論理」は、言語的な論理駆動を中核にしつつ物理数理心理などの摂理駆動を 補助的に用いるが、「推理」は、物理数理心理などの摂理駆動を中核にしつつ言語的な論理駆動を補助的に用いる。 つまり、中核となるものが違うだけで、両者は、全体としてほぼ同じものである。 そのため、「推理」と言われるものの全貌を捉えることで、「意味論理」の全貌もほぼ同じものとして理解できることになる。

「局所合理性」は、正しい考え方のように見えるものの、間違った考え方の典型であって、このことについても深く考えなくてはならない。 一面的真理を捉えて全面的真理と誤解するのが、この「局所合理性」である。 部分的に見れば合理性はあっても、全体的に見れば合理性のない考え方、それが「局所合理性」である。

「トゥールミン・モデル」は、「非形式論理」を説明する理論モデルの一種であり、その中でも最も優れた理論モデルになっている。 「トゥールミン・モデル」では、論理(論証)に含まれるべき要素として、「基礎付け」(根拠付け)および「限界付け」(制約付け)の必要を指摘している。 「トゥールミン・モデル」を学べば、論理の視野が拡大すると共に本質が理解でき、論理の見方が根底から変わる。それほどに重要な理論モデルである。

「強制討論」は、今現在、どこの国も採用していない未来の国家制度であって、世間にあふれる洗脳工作を打ち砕くには、 この「強制討論」が不可欠になる。 洗脳工作者は、洗脳に含まれる欺瞞が暴露されることを嫌い、公開討論を強硬に拒否するが、それゆえ、国家制度として「強制討論」が必要になる。 現時点では、幻想的制度に違いないが、近未来においては、洗脳で操られない堅固な民主主義を実現させるため、是が非でも実現させるべき制度である。

「良質決」は、「多数決」の欠陥を補う集団意思決定方法である。「多数決」では、衆愚政治になり兼ねず、現に衆愚政治に陥ることが多い。 「多数決」がやがて「衆愚政治」に陥りがちなのは、自主考察の衰退や洗脳工作の進展、利権構造の構築や支配構造の固定、これらが同時並行で進むからである。 たとえ少数意見に過ぎなかろうとも、それが全員にとって最良意見であることが証明されたなら、それを集団意思に採用する体制にすべきである。 しかし、「多数決」なら簡単に実現できるが、「良質決」の実現となると相当に難しい。難しかろうと、近未来において「良質決」を実現させねばならない。




『Java 実例 プログラミング 描画処理編』第七版は、2024年12月2日に発行されました。
電子書籍のファイル形式は、EPUBです。閲覧には、EPUBビューアの「Calibre」などが必要です。



『Java 実例 プログラミング 描画処理編』第七版 ダウンロード
GCreatorBookE7.epub : 2.9MB


以下は、『Java 実例 プログラミング 描画処理編』第七版に収録したソース・コードを、ZIP圧縮したものです。
「XHTMLタグ」や「XHTMLエスケープ・シーケンス」が付加されていない純粋なソース・コード(UTF-8)です。

『zipGCreatorV3_3.zip』 ダウンロード
zipGCreatorV3_3.zip : 92KB


以下は、『Java 実例 プログラミング 描画処理編』第七版に収録のプログラムの稼働状態の外観です。

「GCreator Ver.3.3」 の稼働状態の一例。

「GCreator Ver.3.3」 の稼働状態の一例。


【内容見本】

本書『Java 実例 プログラミング』「描画処理編」(第七版)は、プログラムの実例ソース・コードを提示し、その具体的方法を解説する 「Javaプログラミング解説書」(中級者対象)です。 ただし、Javaの言語としての文法規則の説明は、省略しています。Javaに関しての基本的知識が、読者に既にあるものとします。 姉妹編の『Java 実例 プログラミング』「事務処理編」(初級者対象)と比べて、それなりに複雑長大なプログラムになっています。 Javaプログラミングの方法解説に際し、著者が開発した実際に動く描画プログラム(GCreator:ジークリエイター)を公開し、 そのソース・コード内の大量の注釈文によって、プログラミング・テクニックを実践的に解説する形式とします。 そのため、日本語の注釈文を埋め込んだソース・コードを読んでいただくことになります。

描画プログラム「GCreator」がユーザーに提供する機能は、「線描画機能」(面描画を含む)、「点描画機能」、「模様自動生成機能」、この三種類です。 ただし、点描画機能は、必要も需要も少ない「おまけ機能」(趣味用途)であって、その実用性は、限定的です。 点描画機能は、将来の課題として、エア・ブラシ(霧吹き、砂子散らし)機能の発展的追加が望まれますが、完成できるかどうかさえ、現時点で目処が立ちません。 線描画機能と模様自動生成機能との二つの機能に関しては、実用目的のものであり、その機能充実により実用水準に達しています。 本書(第七版)で公開するプログラム(GCreator Ver.3.3)は、旧バージョン(Ver.3.2)に比べて、自由曲線描画関連の機能が向上しました。 スプライン曲線描画機能および輪郭線内部彩色機能の追加が、それです。本書(第七版)の表紙意匠も、「GCreator Ver.3.3」によって作成しました。 「GCreator」にどれだけの描画表現力があるかについては、「GCreator」によって作成した本書の表紙(別途、各種作例画像も掲載)を御覧下さい。

スプライン曲線描画アルゴリズムに関しては、奥村晴彦および他七名共著『Javaによるアルゴリズム事典』(技術評論社刊)を参照しました。 『Javaによるアルゴリズム事典』の著者諸氏(奥村晴彦氏、首藤一幸氏、杉浦方紀氏、土村展之氏、津留和生氏、細田隆之氏、松井吉光氏、光成滋生氏) の事典編纂およびその公刊による学術貢献に対し、謝意を表します。また、『Javaによるアルゴリズム事典』の「スプライン補間」の項目の末尾では、 参考文献として、市田浩三、吉本富士市、共著『スプライン関数とその応用』(教育出版刊)が掲載されていますが、この文献は、参照できませんでした。 『スプライン関数とその応用』では、「Java」ではなく、「FORTRAN」によるスプライン関数プログラム実装例の提示がなされているようです。

「GCreator Ver.3.3」が想定する用途は、ブック・カバー・デザイン、ウォール・ペーパー・デザイン、ラッピング・ペーパー・デザイン、 ポスター・デザイン、テキスタイル・デザイン、パッチワーク・デザイン、ステンドグラス・デザイン、その他、 デコラティブ・アート(アール・デコ、装飾芸術)分野の各種デザイン(意匠製作)です。 プロフェッショナルな用途にも耐えられる多機能を目指していますが、それでも不足や未熟やバグが潜んでいることでしょう。 不足や未熟やバグの対処に関しては、Javaを使いこなせる読者諸氏による独自の機能充実(独自改造)に委ねることとします。

本書が扱う内容は、具体的なプログラミング(アプリケーション作成)の基本的技法であって、グラフィックスを操作するものです。 さらに具体的に言えば、「Swing」を用いて操作画面を構築し、「Java 2D」を用いて任意画像(二次元画像)の作成を行ないます。 ただし、基本機能としては、ドローウィング(ペンによる製図タイプ)であって、ペインティング(絵筆による絵画タイプ)ではありません。 直線や曲線による描画、文字列の描画、四角形や真円(楕円)や自由図形による描画(内部彩色可能)、これらの機能を駆使して描画を実現するものです。 なお、拡張子が「bmp」や「gif」や「jpeg」や「png」の画像を取り込んで、その画像に加工変形を加える操作も含みます。 さらに、画像の背景透明化(スタンプ機能)、画像の切り貼り(マルチ・マスクおよびカット・アンド・ペースト機能)、指定色の色修正(カラー・チェンジ機能)、 画像の階調表現加工(線形グラデーション加工)、ソフト・フォーカス加工、色彩の混色(パレット機能)、画像の印刷(プリント・アウト)、そして、 比較的最近追加した新機能として、画像の部分切り取り保存(CutAndSaveImage命令)、画像の鏡像反転(ReverseImage命令)、 複数指定色の連続色修正(ChangeColorMulti命令)、などがある上に、さらに各種特殊画像処理を含んでいて、機能多彩です。 「GCreator ver.3.3」では、スプライン曲線を描画する命令と輪郭線の内側を指定色で彩色する命令とを追加したことで、表現力や利便性が格段に向上しました。 「GCreator」が実装している全機能(全命令の仕様)については、マニュアル(GCreator_Manual.txt)を参照して下さい。 また、その具体的な使い方は、「メニュー」にある「見本」を参考にして下さい。

本書が提供する描画プログラム「GCreator」は、言わば「描画インタープリター」(あるいは「描画スクリプト言語実行環境」)と呼ぶべきものであり、しかも、 マウス操作によってメニューから描画機能(直線描画機能など各種あり)を選び、起点と終点(場合により中間点もあり)とをマウス・クリックするなどで、 描画命令(スクリプト言語に相当)を自動的に生成し、この描画命令を複数行書き上げ、必要に応じて数値の修正(キーボードまたはマウスでの修正)を加えた上で、 「描画」ボタンを押すことで、これら命令全行を逐次解析し、解析結果をJavaの機能(主に「Java 2D」)によって画像として実現するものです。 マウス・クリックは、基本的に左ボタン・クリックですが、「自由図形」の描画や「スプライン曲線」の描画では、右ボタン・クリックも併用します。 命令文にシンタックス・エラー(文法間違い)があれば、エラーの種類をユーザーに告知する機能もあります。

線描画機能での描画命令は、マウス操作で自動生成され、JTextAreaに表示されると同時に、解析され実行されます。 例えば、「DrawLine(200, 300, 500, 600);」の命令文1行で、ある座標点(x:200, y:300)から別の座標点(x:500, y:600)まで、直線を描画します。 この命令文は、マウスの操作で自動生成されるだけでなく、キーボードの操作で手作業入力(手作業修正)することも出来、「描画」ボタンで解析され実行されます。 画像表示を見て、座標位置が不適切であれば、キーボード操作で文字(座標数値)を修正するか、マウス操作で位置移動(命令文の自動書き換え)を実行します。 だが、これら諸機能は、Javaに付属する機能を分かりやすくし使いやすくする形で通訳の機能を果たしているだけであって、 「インタープリター」としての機能を主体とするものです。

模様自動生成機能は、マウス操作によらず、JTextAreaへのキーボードによる手作業で、模様生成命令を数行記述することによって行ないます。 「描画」ボタンまたは「乱数」ボタンを押すことで、模様が自動的に描画されます。模様生成命令の引数を書き換えることで、微妙な模様配置変更を行ない、 「乱数」ボタンの連打で、配色自動変更の作業を行ない、気に入った配色になった時点で、画像のファイル保存を行なう手順となります。 メニューの「見本」から各種見本命令文書を選ぶことで、描画命令文書を表示しながら、必要に応じ「描画」または「乱数」ボタンを押し、 描画を試すことができます。見本の命令文書は、引数を書き換えることで、画像の変更処理も試せます。

著者が開発した描画プログラム「GCreator」は、ソース・コードの形で提供されるため、読者によって私的に機能拡張し私的に利用することができます。 なお、そのプログラム(無改造または改造済み)で作成された画像は、模倣ではなく独自の創作的意匠となって自己完結していることを条件に、 その画像を新たな著作物と見なし、営利か非営利かを問わず、法令や良識に従う限り、その利用を画像著作者の自由とします。 ソース・コードは、機能別に別ファイルに分割されているため、理解しやすく整理されています。 ただし、「GCreatorCanvasEngine.java」だけは、細かく分割しないままで、長大なコードになっています。 大量の説明コメントが、ソース・コードに埋め込まれているため、Javaの基本的知識さえあれば、誰でも理解可能です。 もし、理解しにくい部分があれば、「とにかく、そのような手続きで上手く行くのだ。」と理解するしかありません。 Javaプログラミングに関しては、その難しさの本質が、ライブラリーの膨大さにあり、そのブラック・ボックスの内部構造の難解さにあります。 ブラック・ボックスは、その内部構造を詳細に知ろうとしても、その趣旨からして困難で、その外形的な使い方を知るだけで満足するしかありません。 そのため、ライブラリーの使い方のパターンを機械的に憶えることも、ブラック・ボックス的理解の一つであって、 ブラック・ボックスの内部にまで深く踏み込むのは、上級者の範囲になります。





『Java 実例 プログラミング 事務処理編』第一版は、2024年5月27日に発行されました。
電子書籍のファイル形式は、EPUBです。閲覧には、EPUBビューアの「Calibre」などが必要です。



『Java 実例 プログラミング 事務処理編』第一版 ダウンロード
MakeCSV1BookE1.epub : 1.0MB


以下は、『Java 実例 プログラミング 事務処理編』第一版に収録したソース・コードを、ZIP圧縮したものです。
「XHTMLタグ」や「XHTMLエスケープ・シーケンス」が付加されていない純粋なソース・コード(UTF-8)です。

『zipMakeCSV1_PrintCSV1.zip』 ダウンロード
zipMakeCSV1_PrintCSV1.zip : 49KB


以下は、『Java 実例 プログラミング 事務処理編』に収録のプログラムの稼働状態の外観です。


メイン・システム「MakeCSV1 Ver.1.0」 の稼働状態の一例。


サブ・システム「PrintCSV1 Ver.1.0」 の稼働状態の一例。


【内容見本】

本書『Java実例プログラミング 事務処理編』は、Javaプログラミング入門書(初級者対象)です。 本書に掲載したプログラムの「MakeCSV1」および「PrintCSV1」は、姉妹編の「描画処理編」に掲載した「GCreator」よりも簡単平易な内容です。 ただし、Javaの言語としての文法規則の説明は、省略しています。 「入門」ではありますが、Javaに関しての初歩的知識が読者に既にあるものとします。 Javaプログラミングの解説に際し、著者が開発した実際に動くプログラム(「MakeCSV1」および「PrintCSV1」)のソース・コードを公開し、 そのソース・コード内の大量の注釈文によって、プログラミング・テクニックを実践的に解説する形式とします。 そのため、日本語の注釈文を埋め込んだソース・コードを読んでいただくことになります。

本書が公開するソース・コードのプログラムは、メイン・システムの「MakeCSV1」とサブ・システムの「PrintCSV1」との、二種類から構成されます。 「MakeCSV1」は、見積もり金額計算を想定した金額計算プログラムで、計算結果は、 「CSVデータ・ファイル」および「罫線描画命令書・ファイル」として保存されます。 「PrintCSV1」は、「CSV形式のデータ」を受け取り、さらに「独自形式の罫線描画命令書」を受け取り、罫線入りの計算明細書を プリンターから紙にプリント・アウトします。 「MakeCSV1」から「PrintCSV1」へのデータ伝達は、「ファイル経由の間接伝達」と「メモリー上で文字列コピーする直接伝達」とが可能ですが、 作業が簡単で操作間違いのない直接伝達を基本とします。 なお、CSV(comma separated values)とは、データ項目がコンマで区切られたテキスト形式のデータ・ベース規格のことで、ファイル拡張子が「CSV」になります。 一方、「独自形式の罫線描画命令書」とは、罫線の位置や長さを指定し、罫線区画された各欄にデータを嵌め込む指定を行なうテキスト形式の命令書で、 ファイル拡張子は独自の「pcc」になります。

「MakeCSV1」は、キーボードから文字入力を受け付ける「JTextField」と、表形式でデータを一括して取りまとめる「JTable」(DefaultTableModel)と、 警告表示を行なう「JTextArea」とを、操作画面の各所に配置し、必要な計算処理を行なうプログラムです。 プログラムを作動させる前に、CSVファイル形式で、「取引先データ・ベース」(Customer.csv)と「商品データ・ベース」(Item.csv)とを テキスト・エディターで作成しておく必要があります。 別途、見本となる「取引先データ・ベース」(Customer.csv)と「商品データ・ベース」(Item.csv)とを用意してあります。 「取引先データ・ベース」は、取引先コード、取引先名、基準掛率、この3項目からなります。 「商品データ・ベース」は、商品コード、品名、定価、消費税率、この4項目からなります。 「JTextArea」の所定欄に取引先コードが入力され確定(エンター・キー打鍵)されると、「取引先データ・ベース」をシーケンシャル・サーチで検索し、 取引先名および基準掛率を所定欄に自動的に書き込む仕組みです。 同様に、「JTextArea」の所定欄に商品コードが入力され確定されると、 「商品データ・ベース」をシーケンシャル・サーチで検索し、品名、定価、消費税率、これらを所定欄に自動的に書き込みます。 取引先コードおよび商品コードが予め設定されていない臨時取り引きの場合、コードを空欄のまま確定すれば、 その空欄に「コードなし」を意味する「**」が自動で書き込まれ、コード以外のデータを所定欄に手動でキーボード入力することになります。 発行年月日欄は、空欄のまま確定すれば、その日の年月日が自動的に書き込まれます。「年月日」ではなく、独自形式の「発行番号」の書き込みでも構いません。

「PrintCSV1」は、姉妹編の「描画処理編」に記載した「GCreator」を極度に簡略にし、表作成専用のコマンド(命令)を追加し、複数ページ対応にしたものです。 ただし、両者のコマンドは、似ているものの互換性はなく、それぞれ独自のコマンド体系になっています。 「GCreator」は、ピクセル単位で座標数値を扱い、「PrintCSV」は、ミリ・メートル単位で座標数値を扱います。 単位を統一することも出来ましたが、それぞれの利便性を優先しました。 そもそも、コマンド体系の一部が似ているだけで全体的に大きく違うため、互換性を断念しました。 「PrintCSV1」は、「MakeCSV1」に付属するサブ・システムですが、単独で実行することも可能です。 サブ・システムとして実行する場合、表示された罫線入りの「計算明細書」の内容を確認し、それで問題なければ、 メニューの「ファイル」から「画像印刷」を選んで、紙へのプリント・アウトを実行します。 「PrintCSV1」を単独で実行する場合、メニューの「見本」を選んで、使い方のサンプルを参考にしつつ、「PrintCSV1Manual.txt」も参照して下さい。

著者が開発した描画プログラム「MakeCSV1」および「PrintCSV1」は、ソース・コードの形で提供されるため、読者によって私的に機能拡張することができます。 ソース・コードは、機能別に別ファイルに分割されているため、理解しやすく整理されています。 大量の説明コメントが、ソース・コードに埋め込まれているため、Javaの初歩的知識さえあれば、理解可能です。 もし、理解しにくい部分があれば、「とにかく、そのような手続きで上手く行くのだ」と理解するしかありません。 Javaプログラミングに関しては、その難しさの本質が、Java付属のライブラリーの膨大さにあり、そのブラック・ボックスの内部構造の難解さにあります。 ブラック・ボックスは、その内部構造を詳細に知ろうとしても、その趣旨からして困難で、その外形的な使い方を知るだけで満足するしかありません。 そのため、使い方のパターンを憶えることも、ブラック・ボックス的理解の一つであって、ブラック・ボックスの内部にまで深く踏み込むのは、 上級者の範囲になります。





EPUBファイルの閲覧には、優先手段として、電子書籍ビューア(EPUBビューア)の「Calibre」を利用して下さい。
「Calibre」は、最初の起動時に相当な時間を要しますが、機能的に安定しています。
表示テストは、「Calibre Ver.7.18」で行ないました。
「Adobe Digital Editions」では、正常に表示できない場合があります。
EPUBファイルは、ZIP圧縮されたファイルであり、拡張子「epub」を「zip」に書き換え、圧縮を解除すれば、
複数のXHTMLファイル(HTML互換)に分割されるため、インターネット・ブラウザでも閲覧できます。
XHTMLファイルをテキスト・エディタで閲覧する方法(画像は表示されない)もあります。
「Calibre」は、ファイル形式変換機能を内蔵していて、「epub」を「pdf」などに変換することも可能です。
なお、EPUBファイルに対するシンタックス・チェックは、「Epubcheck」(EPUB3基準)を用いて、確認済です。








以下は、「GCreator」を用いて、比較的最近製作した表紙の変遷です。





















以下は、「GCreator」の稼働状態の外観の一例です。