22 September, 2006

リッチクライアントとの比較(ページ24~25)

前回の記事の最後で当件について触れて解決しないまま終わりました。
今日再度ページ25~25の該当部分を読みました。

依然として明快な像は浮かんで来ませんが、恐らくこんな感じだろうと言う雰囲気で書きます。
と言うかそれ以外に書きようがありませんが。

シンクライアント = Thin Client まず戸惑うのはカタカナ英語の表記です。
「シン」クライアントと言われると、一体何だろうと思ってしまいます。

Thinなら分かります。
困りますね、日本語英語は。

Thin clientとは要するにサーバーサイドスクリプトと同義語か・・?
本に書いてある部分を抜粋します :
「PHPはサーバーサイドでスクリプトが処理され、その結果のHTMLだけがクライアント側に送られるため、クライアントに必要なのはブラウザだけで済みます。
このような処理方法は「Webアプリケーション」や「シンクライアント(Thin Client)」などと呼ばれます。
この処理方式はクライアントへのアプリケーション配布の容易性から普及が進んできているものの、HTMLへの依存から来るユーザービリティの問題が顕在化してきているのもまた事実です。」
以下省略。

ここで言っている事は明らかにサーバーサイドスクリプトの特徴です。
この方式は入力項目が多数ある業務に使用するには不便と言う事です。
何故なら入力操作性が低い為らしいが、サーバーサイドで入力項目が多いとどうして入力操作性が劣るのかその訳が分からない。
クライアントサイドスクリプトなら各自のPCの柔軟な操作が可能になると言う意味かも知れない。
実際にそれを自分の目で見たら恐らくあぁそう言う事かと分かると思いますが、想像の世界では具体的イメージを掴むのは困難です。

これに対抗する為に最近注目を集めてるのが、「リッチクライアント(Rich Client)」とか。
リッチクライアントとは従来のクライアントサイド型アプリケーション、またの名を「ファットクライアント(Fat Client)」が抱えていた問題を解決するそうな。
従来のクライアントサイド型アプリケーション = Fat Clientって要するにクライアントサイドスクリプトではないか?
スクリプトをアプリケーションに変えているだけ。
ScriptとApplicationの違いは・・?
MS Wordのようながっしりしたソフトは、Application Programme = アプリケーションで、PHPやHTMLで作成した小型の軽いProgrammeがスクリプトか・・?
そう言えばHTMLやPHPで作成したファイルはプログラムとは言わない。
その辺の違いと思われる。
アプリケーション = Application はApplication Programmeの意味だから、要するに特定の目的を持った事務用ソフトだろう。
そのFat Clientがどんな問題を持っていたのか私は知らない。
その説明は本には無い。

また、この本では問題解決策の事をご丁寧にカタカナ英語で、「ソリューション」と仰っている。
カタカナ英語は人心を混乱させる大きな原因だと思うので適切な日本語があるなら日本語を使って欲しい。
私のようなプログラム初心者がこのような初級者向け技術書を読んでいて何となくその輪郭がぼやけてくる原因の一つが余りにも多用されているカタカナ英語だ。
分かるようで居てどこかもう一つ意味が明確でないような落ち着かない雰囲気、あの気分に陥る。
だからカタカナ英語は止めて欲しい。
どうせやるなら正式な英語の綴りで書いて欲しい。
例えば、「Solution」とか「Thin」とか。

横道に逸れたが要するに今までのユーザーのPCに内臓されていたソフト(Fat Client)の問題を解決したのがRich Clientになるらしい。
しかし、それが一体如何なる代物かさっぱり分からない。

結論として、サーバーサイドアプリケーション(Thin Client)は不特定多数の人を対象にする場合に適していて、ユーザー(Client)のPC環境を余り意識したくない場合。
リッチクライアントは、イントラネット内など限られた利用者を対象とするらしい。
そしてリッチクライアントとシンクライアントとは競合しない。
ここまで来て分かったが、リッチクライアントってつまり、リッチクライアントプログラムの意味だと思う。
Rich Clientの意味を直訳すると豊かな利用者になるから利用者のPCと思いきやそうではなく利用者のPCに内臓されているプログラム(ソフト、アプリケーションソフト)の事だろうと推定される。

イントラネット = Intranetとは、企業、学校のような団体組織に限定して利用されるネットワーク。
インターネット = Internetと良く比較される。

19 September, 2006

ページ8~25

まず最初に書くべきでしたが、私のPC環境です。
使用OS : Windows XP, Home Edition, SP2
「基礎PHP」ではWindowsとLinuxを対象に書いています。

---------------------------------------
ページ8
「Windowsユーザーは、各サンプルコードを使用する前に、エクスプローラなどから各ファイルのプロパティシートを開き、「読み取り専用」のチェックを外して下さい。」
とあります。
これは、ページ35まで読み進むと出てきますが、
付属CD-ROMに入っているsampleをコピーした時に
必要になります。
しかし、私がsampleをコピーした後にそれぞれのファイル
のプロパティを見た限りでは「読み取り専用」に
なっていませんでした。

---------------------------------------
ページ9~13 目次
特記事項無し

---------------------------------------
ページ14~15 第1章の概略
特記事項無し

---------------------------------------
ページ16~18 PHPってどんなことができるの?
・ファイルアップロード(Chapter3)
・アクセスログのグラフ化(Chapter3)
・PDFドキュメントの作成(Chapter3)
・図書データ管理(Chapter4)
・掲示板(Chapter5)
・スケジュール管理(Chapter6)
このような事が出来るようになるとこれからの像を
示してくれています。
このようにこれから何をやるのかが示してくれる
と言うのはとても良い事だと思います。

こんな事が本当に出来るようになるのだろうかと
胸が高鳴る思いです。

---------------------------------------
ページ19~21 そもそもWebとは
インターネットでHPを見る仕組みやHTMLの説明。
インターネット構造の概念を親切に説明してあるので
とても良いです。

---------------------------------------
ページ21~25 PHPはサーバーサイドスクリプト
「スクリプトとは」
スクリプト = Scriptを英和辞書で引くと、
名詞 :手書き(文字)、書体、原稿、写本、文書、台本、
{法}写本(文書)の原本(⇔copy)、{英}受験者の答案、
書き方、{印}筆記体活字
等と言う意味があります。

インターネットやコンピュータの世界でスクリプトと言う場合は、
「原稿」と言う日本語が一番近い意味だと思いますが、
実際はプログラムの事です。

HTMLが動きの無い静的なページ(Webpage)を作る。
HTMLで作られたページは見るだけ。
HP(ホームページ = Website)を見た人間が
自分のPC(パソコン = Computer)から文字を入力
する動作などはHTMLでは出来ない。
それが出来るのが動的ページのHP。
PHPではその動的ページが作成できる。

スクリプトには、インタプリタ言語とコンパイル言語がある。
人間が書いたスクリプト(プログラム)をコンピュータが
分かる形式に変換する必要がある。
その変換方法には2種類あるらしい。
一括変換と逐次変換。
インタプリタ言語は、この変換作業が一括ではなく
逐次行われる。
コンパイル言語は、一括で変換する。
コンパイル言語の方が処理速度が速いという話を
何かの本で私は何度も読んでいます。
逆に言うとインタプリタ言語は処理速度が遅いと言う意味。

「クライアントサイドスクリプトの世界とサーバーサイドスクリプトの世界の違い」
クライアント = Clientとは本来の英語の意味は、
お客さんとか顧客と言う意味です。
特に医者とか弁護士とかその他知的サービス業で
使われていた言葉のはずです。

しかし、インターネットやコンピュータの世界で「クライアント」
と言えば、ブラウザーの意味です。
ユーザーエージェント = User Agentとも言います。
ブラウザー = Browserとは、Internet Explorerや
Netscape NavigatorやFirefoxやOperaなどの
HPを閲覧する為のソフトの事です。
Browserの動詞形Browseの意味は、
━━ n. 若葉, 若芽.
━━ v. (牛などが若葉を)食う ((on)); 拾い読みする; 品物をぶらぶら見て歩く.
とGooの英和辞書に書いてあります。
要するにぶらつくと言う意味ですね。

「クライアントサイドスクリプト」の意味するところは、
ブラウザー側で動作するプログラムの事です。

この代表選手がJavaScriptです。
JavaScriptもプログラム言語の一つです。
と一般的には良く言われますがそれをイメージしやすい
ように言うならば・・
ブラウザー側とは自分のパソコンの中に
入っているIE (Internet Explorer)のようなブラウザーで
動作すると言うことです。
つまりインターネット接続していなくても見れると言うことです。

例えば、あなたがJavaScriptを書けるとしたら、
出来たJavaScriptのファイルがあなたのPCの中に
有るブラウザーで動くと言うことです、
インターネット接続していなくてもです。

JavaScriptも動きのあるページを作ります。
例えば、マウスを有る画像に乗せると画像が変わるとか
プルダウンメニューの項目を一つ選ぶと自動的に
画面が変化するとかのような動きのあるページは、
JavaScriptで書かれているはずです。

「サーバーサイドスクリプト」の意味するところは、
サーバー側で動作するプログラムの事です。
と言ってしまうとありていの説明で済ませて高い値段で
売っている本と変わらなくなってしまう。


まず、サーバーとは何か?
サーバーとはHPを配信するコンピュータの事です。
例えばこのblogはGoogleが提供しています。
サーバーは恐らくGoogle自身で持っていてそれを
利用して配信していると思います。

テレビ番組を配信するのはテレビ局ですが、
HP(Website)を配信するのは、サーバーです。
世の中には無数のサーバーがあります。
例えば個人が良く利用するロリポップとか
さくらとかがあります。
私が運営している「ニュージーランドドリーム」と言うHPは、
Yahoo Geocitiesがサーバーです。

つまり、サーバーサイドスクリプトとは、
あなたが作ったPHPファイルをあなたが使っている
サーバーに送信してそれで動作します。
或いは、或るHP上で問合せなどをする場合、
あなたのPC上で文字を入力します。
全て記入し終わったなら送信ボタンを押します。
その内容は、サーバーに送られサーバー側で処理されます。
そしてその結果が直ぐあなたのPCに表示される事もあります。
つまりプログラム処理が遠く離れたサーバーで行われる、
(近い場合も有るかも知れない、隣町にあるとか)
それがサーバーサイドスクリプトの概念です。

PHPは将にそのサーバーサイドスクリプトです。

「リッチクライアントとの比較」
ページ24に書いてある内容ですが、意味が分かりません。
世の中には、リッチクライアント(Rich Client)と
シンクライアント(Thin Client)があるとか・・
そこまでは何とか納得できると言うかそうなんだと
思わざるを得ない。
しかし、それ以上は分からない。

この手の技術的な本を読んでいつも思う事、
分からない人間が分かるような説明が無いと言う事。
分からない人間の立場と心理に立ってそこから
説明すると言う配慮と思慮が完璧に欠如しています。

後日このページをもう一度勉強しそれで
出直します。
本日はこれにて御免。

17 September, 2006

ページ7まで

ページ番号なし(最初のページ)
「改訂によせて」
http://www.wings.msn.to/
と言うURLが参照として書かれている。
このURLへ行き左の縦長の欄上部のプルダウンメニュ
から「基礎PHP」を選ぶと当書籍のページへ行ける。

このblogの右側の欄の「リンク」にある「基礎PHP インプレス」
がそれ。

---------------------------------------
ページ4~5
「本書の読み方」
特記事項なし。

---------------------------------------
ページ6~7
「付属CD-ROMについて」
当書に付属CD-ROMの内容詳細が階層別に表示されている。
ページ7の下部に
「サンプルコード、MySQLデータファイルの文字コードはEUCです。」
とある。

初心者にとってこれは意外と重要かも知れない。
そもそも文字コードとは何か・・?
筆者も詳しくは知らないが推定で言うと
文字を構成するコードだと思う。

それでは「コード」とは何か?
電気コードの事か・・?
ちゃう。
電気コードのコードは、Cord。
文字コードのコードは、Code。
Codeとは暗号の事。
スパイ小説などで使われるコードネームはなど
と言う言葉は、それのこと。

つまり文字コードとは、文字を数字を並べて
PC内で判断する為の決まり。
かなり専門的な内容になり筆者も良く分からないので、
詳しい説明をこちらから参照下さい
         ↓
The Web KANZAKI 日本語と文字コード

IE = Internet Explorerのメニューバーで
「表示」→「エンコード」を開くと色んな言語に
対応するコードが表示される。
その中でも日本語が有るがその日本語の中にも更に
Shift_JISやEUCがある。

PC(パソコン)上で日本語を扱える文字コードには
いくつか種類がある。
例えば :
Shift_JIS
JIS
EUC
UTF-8
Unicode
など。
筆者もその違いと言うかその決まりは良く分からないが、
PHPではEUCが使われると言う事か・・?

PHPなどのスクリプトを書く場合、
テキストエディターが使われる。
テキストエディターとはWidnowsに付属のメモ帳
のように文字を打つだけの機能を持つソフト。
文字を打つだけとは、他の機能が殆ど無いと言う意味。
例えば、Wordのようにありとあらゆる機能が備わっている
ワープロソフトとは違い単純に文字だけを打つ機能と
それを補助する機能がいくつか付いているだけのソフト。
それ故に軽い。

但し、メモ帳は余りにも簡素過ぎる。
例えば、「元に戻る」命令(CTRL + Z)は2回しか出来ない。
それでは余りにも機能としては乏しいので
或る程度の機能は備わっていないと実用性に乏しい。

PHPで使われる文字コードが「EUC」と言う事らしい。
因みに私は、TeraPadと言う無料テキストエディターを使っている。
メモ帳ではEUCが扱えない。

16 September, 2006

phpを始める

今まで約3年間HTMLとCSSのみでHPを作成してきた。
cgi も多少使って来たが借り物の無料配布スクリプトばかり。
最近、cgi(perl), JavaScriptなどの動的ページの必要性も感じる。
自分でスクリプトを作成したいと言う意欲が出てきた。
今年大学へ進学した子供(情報工学)に聞いたらこれからは
PHPがperl よりも発展しそうだとのこと。
それで PHP を学習しようと思った。

そして子供にPHPの本を買ってきてもらった。
本の明細は以下 :
出版社 : インプレス
題名 : 改訂新版 基礎PHP
出版日 : 2005年4月11日 第1版 第3印発行
著者 : WINGSプロジェクト
価格 : ¥2,980 + 消費税 = ¥3,129
参考URL : http://www.wings.msn.to/index.php/-/A-03/4-8443-1807-1/




技術系の本を読むといつも思うことだが、
細かい説明が省略されている事が多い。
上記のHPを見ると下記のように書いてある。

======================================
『超初心者のためのPHP入門書』

{「PHPって何?」という方も大丈夫。
概要、環境設定などからデータベース連携、
本格アプリ作成まで、順を追って詳しく解説。
さらに最終章ではテンプレートシステムSmarty
を使ってスケジュール管理アプリ作成に挑戦。
章単位に練習問題もあり、習熟度チェックもできます。
PHP4.3.x、Apache2、MySQL4対応。}
======================================

と書いてあるが実際は超初心者には到底分からない記述が多い。
私は超初心者とは言いながら、HTMLやCSSの知識があり、
約3年間もHPを作成してきた。
だからそれなりの知識はある。
PHPに対しては超初心者だがWebsiteに関しては多少の知識がある。
それでも意味不明な記述が多い。

それらを一つずつ細かく取り上げ検証しそして解答を示して行きたい。
出来るだけやってみよう。
この記事を読んで何か気づいた事があれば、
書き込んで頂ければありがたいと思います。