使う - みる会図書館


検索対象: 図解でわかるWebアプリケーションのすべて : CGIからWeb 3層システムまで
227件見つかりました。

1. 図解でわかるWebアプリケーションのすべて : CGIからWeb 3層システムまで

8.1 セキュリティの概要 ・ユーサの使い勝手を考える Web アプリケーションは、公衆回線を使うため、 LAN 環境で使うシステムと比べ てデータの送受信に時間がかかるという特徴があります。時間のかかる処理は代替の 手段を用意しておく、本当に必要になるまでは行なわないようにする、必要な作業を 事前に示しておく、などの工夫をしておくことで、待ち時間と手間へのストレスを減 らすことができます。 たとえば、オンラインショッピングのサイトで、商品の有無を確認するためだけに ユーザ名とパスワードを入力して、認証されるのを待って・・・・・・といった作業をするの は面倒です商品を調べるだけなら認証が必要ないのであれば、購入するときになっ てはじめて認証処理が始まるほうが合理的です * 。 さらに、一度認証したあとはサイトを出るまで効果を保っといった工夫も必要で す。これには、セッション管理 ( P. 310 ) が必要です。 図 8-15 ・ユーサの使い勝手を考えた開発 一度ログインした後はログアウトするまで自由に使える 0 1 三 会ペ 非会員用 login ここでもある程度の処理が できるようになっていると便利 ・さまざまなケースを考えておく また、暗号化を行なう際は、サーバ側のソフトだけではなく、クライアントのソフト も同じ暗号化処理に対応していないといけません。すべてのプラウザが対応している とは限らないため、非対応ューザの扱いをどうするかを考慮しておく必要があります。 できないことはあらかじめ告知しておくといった気配りも大切でしよう。 図 8-16 ・できないことはあらかじめ告知しておく ・購入手続きをしないままブラウザを閉じると カートに入れた内容は失われます ・カートの品物は 30 日間保存されます ・暗号化するには SSL 対応のブラウザが必要です ・あらかじめわかっているとショックが少ない ログアウト画面を通らずに 切断されたら ? このアドレスに直接接続されたらどうする ? ログアウト ログイン 物を第第第一第新第コ できません あ、そうか そうだっけ など えっ ? できないの ? 【認証のタイミング】クッキー (). 326 ) を利用して、接続と同時に自動で認証作業を行なうのも 1 つの方法です。

2. 図解でわかるWebアプリケーションのすべて : CGIからWeb 3層システムまで

9.1 HTML から DHTML へ スタイルシートは、表示形態をきめ細かく設計することができるため、 web での表 現力が大幅に向上します。このほか、スタイルシートを活用することで、「構造と見栄 えの分離」と、「デザインの再利用」が可能になります。 ・構造と見栄えの分離 HTML だけで何でも定義できるというのは 1 つの魅力ではあります。しかし、文書 の中にデザインが入り込むと、肝心な、なにが見出しでどこが引用かなどといった、 論理構造がわかりにくくなってしまいます。 たとえば、 HTML でよく使われるテクニックに、 " 左右を空けたいときは引用であ るかのように書く " というものがあります。引用 (blockquote) と示した部分が、主 要プラウザで、たまたま左右に空白を入れて表示されていたためです。 左右が空いているほうが読みやすく、簡単に左右を空けるにはそうするしかなかっ たのもまた現実です。そうはいっても、見た目を変えるために意味づけをするので は、主客転倒です。 スタイルシートを使うことで、論理構造と見栄えを分離させ、内容を明確にするこ とができます。 図 9-5 ・構造と見栄えの分離 HTML ( 構造 ) HTML 構造 見栄え 役割分担 テータ ( コンテンツ ) に専念することで すっきりとわかりやすく ・デサインの再利用 スタイルシート ( 見栄え ) 見栄え ( プレゼンテーション ) 用の多彩な 機能を使ってきめ細かいデサインを 複数の HTML 文書で同じスタイルシートを使うことにより、文書の見栄えを簡単に 統一することができます。また、デザイン変更も容易になります。たとえば、サイト全 体のデザインを変更するには全 HTML ファイルの編集が必要ですが、共通のスタイル シートを使っていれば、そのスタイルシートと変更するだけですみます。 223

3. 図解でわかるWebアプリケーションのすべて : CGIからWeb 3層システムまで

第 9 章 HTM し DHTML とクライアントサイドスクリプト ・ CSS (Cascading style Sheets) スタイルシートを書くための言語の 1 つが CSS * ( p. 246 ) です。 1994 年に CERN で 開発がスタートし、 1996 年 12 月に W3C 推奨となりました。現在、 CSSI と CSS2 とい う 2 つのバージョンが使用されています ( p. 250 ) 。 スタイルシート記述言語には、このほか、 Netscape Communications 社が独自に 開発した JavaScript style Sheet (JSS) や、 XML と組み合わせて使用する XSL ( P. 285 ) などがあります。 XSL は、 XML 言語に特化したさまざまな定義が可能です。 なお、 CSS も XML に対応しています。 第 10 章 XML と XHTML : P. 271 ( 。ⅳ m れ HTML で Web ページの見栄えをコントロールする Web は、もともと研究論文などの学術データを共有するために設計されており、その ための HTML も、こく簡単な論理構造を表現するためのものでした。 Web が普及する大きなきっかけとなったのは、 1993 年に発表された GUI べースの Web ブラウ +fMosaic です ( p. 71 ) 。 Mosaic は、見出しを大きく表示するなど、デー タを見やすいレイアウトで表示するようになっていました。 「 HTML テータを見る = Mosaic のような G 団べースの Web ブラウザで見る」となる と、 HTML データを作る人が見栄えを細かくコントロールしたくなるのは当然の心理で す。 HTML について解説する書籍や Web サイトでも「こうすればこう表示される」とい う表現上のテクニックが数多く紹介されました。 こうしたニーズに応えるために、 HTML には論理構造とは無関係の見た目を表現する ための拡張がなされました。たとえば、 HTML のバージョン 3.2 では、表示に使用する フォントの種類やサイズ、色などを部分的に変更することができます ( font 要素 . P. 238 ) 。 そうはいっても、論理構造を表現するためという HTML の役割上、できることには限 界があります。そこで、 HTML4 では、データの見栄えについてはスタイルシートで定 義し、 HTML のほうは本来の役割である論理構造の定義に徹するよう、方向転換されま した。この方向性は、 HTML の後継規格である XHTML ( p. 290 ) でさらに強化されて います。 【 CSS 】英語では頭文字を使った略称が多用されるので注意が必要です。たとえば、 CSS には、 "Client Side script" ( 次ページ ) 、 "Cascading style Sheets" 、、℃ lient/Server system" "Content Scrambling System" など の意味があります。 content Scrambling system とは、データを暗号化して記録し、再生時に復号化するシステ ムで、 DVD のコピープロテクトなどに使われます。 224

4. 図解でわかるWebアプリケーションのすべて : CGIからWeb 3層システムまで

パーソナルコンピュータは年々能力が上がり、かってのワークステーションに匹敵 あるいはそれを超える機能を持つに至っています。 現在では、高性能なハイエンドコンピュータがワークステーションと呼ばれます。 パソコンとワークステーションの厳密な区別はありませんが、サーバ用途や基幹業務 で購入できる範囲の価格帯で提供されるマシンがパーソナルコンピュータと呼ばれて に耐えうる機能と信頼性をもつ高価なマシンがワークステーション、個人用途・個人 図 7-8 ・性能の上昇曲線 います。 大型汎用機 ワークステ ーション バーソナルコンピュータ ・スタンドアロンとクライアント / サーバシステム パーソナルコンピュータの登場によって、中小企業や個人でもコンピュータが使え るようになりました。 パーソナルコンピュータは、ネットワークに接続しない、単独の状態で使われるこ とがほとんどでした。これをスタンドアロン * といいます。パーソナルコンピュータ 用の OS の多くはネットワーク機能を持たず、また、ネットワーク用の装置も高価だ ったのです。さらに、パーソナルコンピュータ用の OS は、複数のソフトを同時に動 かすことができないシングルタスク * であることがほとんどでした。 スタンドアロン + シングルタスクのシステムでは、すべての作業を 1 つのソフトで まかなう必要があります。データベースを管理するのも、それを使うのも 1 つのソフ トです。この場合の問題は 2 つあります。 1 つは負荷が高くなりすぎるということ、 もう 1 つは同じような機能 ( たとえばデータベース ) でもソフトごとに開発しなけれ ばならないことです。 その後、 LAN の普及に伴い、ネットワーク機器が安価になり、また、 OS も進歩し ました。パーソナルコンピュータによるネットワークでも、クライアント / サーバシ 【スタンドアロン (standalone) 】単独で動作するコンピュータの他に、外部のライブラリを必要としない、独立 したアプリケーションを指すこともあります。 【タスク (task) 】 OS による仕事の単位。同時に複数のタスクを実行できる OS をマルチタスク OS といいます。 なお、シングルタスク OS でも、常駐プログラムと呼ばれる、メモリに " 居残り”するプログラムを使って、処理 の作業分担が可能です。

5. 図解でわかるWebアプリケーションのすべて : CGIからWeb 3層システムまで

ては美しく使いやすくとも、ほかの人には困難を強いる結果となることも珍しいこと ではありません。自分で作ったものは、たいてい、自分にとっては見やすく使いやす くなっているものです。 音声で読み上げるとどうなるか、モバイル端末からだとどうなるか、モノクロ環境 だとどうなるか、など、ちょっとした想像力を働かせるだけでもサイトの使い勝手は 向上するはすです。 特に、多くのユーザに訴える必要のある商用サイトでは、なにを重視するかを十分 に考える必要があるでしよう。 本書は、 Web アプリケーションで使われるさまざまな技術を網羅し、紹介できるよ うに心がけました。本書を通じて " 自分にはなにが必要か " の目星がついたらば、各 論については、本 " 図解でわかるシリーズ " をはじめとする関連書籍や雑誌などで、 より詳しい情報を手にしてください。本書が、「最初のひと漕ぎ」となれることを祈っ ています。 最後までお読みいただき、ありがとうございました。 西村めぐみ 360

6. 図解でわかるWebアプリケーションのすべて : CGIからWeb 3層システムまで

6.1 オブジェクト指向とは オプジェクト指向では、この考え方をさらに進めて、車の走行という動作をも、ま とめて管理します。 「運転」をベースに考える場合、「車 A を運転する→車 A の燃料が減る」と考えます が、オプジェクト指向では、「走る→ ( 自分の ) 燃料が減る」と考えます。 図 6-2 ・「運転」についての手続き指向とオブジェクト指向の考え方 手続き指向 離、 A を運転する ときは A の燃料が・ 走行したら 燃料が・ A の燃料 運転 車 A オブジェクト指向 車 A 燃料 走行距離 走行 ( 0 lum しくみと工夫 車 B 燃料 走行距離 走行 関連するものをまとめたり、内部を隠蔽したり ( カプセル化 : 次ページ ) ということは、 プログラムを作り、使い続けていく上でたいへん重要な考え方です。 したがって、オブジェクト指向ではないプログラムでも、プログラマはそのように。工 夫 " してきました。また、プログラム言語にもそのための機能が備わっています。 オブジェクト指向言語は、これらの。工夫 " を " しくみ " として取り込んでいる点が異 なります。オプジェクト指向言語を使うと、自然とオブジェクト指向にのっとってプロ グラムを作ることになります。 ただし、オプジェクト指向言語で非オプジェクト指向なプログラミングを行なってし まうことも不可能ではありません。このようなプログラムは、まとめるべきではないも のがまとまって、かっ隠蔽されている、という最悪な状態となりがちです * 。 しくみを理解することはとても大切です。 【しくみの無視】リレーショナルを理解しない状態で設計されたリレーショナルデータベースがしばしば最悪な状 況を招くのと似ています。このような " 過ち”は、ほかの方式に慣れているべテランも犯すことがあるので注意し ましよう。 147

7. 図解でわかるWebアプリケーションのすべて : CGIからWeb 3層システムまで

デタベース管理システム す。 Web アプリケー スと、 DBMS ( データベース管理システム ) を使う中規模 ~ 大規模なものとがありま ションで使うデータベースには、 CSV などを使う簡易データベー これで十分 たまになら 図 5-8 ・用途に応じてデータベースシステムを選ぶ の選択が大切です。 のにトラックはかえって使いにくいのと同様、規模に合わせたデータベースシステム べースシステムで処理するという観点では少ない部類に入ります。小さな荷物を運ぶ 数百件 ~ 数千件という件数は、手作業を思い浮かべるとかなりの量ですが、データ グラムから CSV データを直接操作する方法もあります。 ムよりも、簡易データベースシステムのほうが手軽で、導入も容易です。また、プロ 数百 ~ 数千件程度の小規模なデータの場合は、多機能な大規模データベースシステ CSV と簡易データベース なんか オオゲサだなあ データが少なければ 直接持ち歩くほうが ラクですね きちんと 箱詰めしないと 積めないよ ! データが多い場合は トラックじゃないと 無理ですね

8. 図解でわかるWebアプリケーションのすべて : CGIからWeb 3層システムまで

第 1 1 章サーバサイドのプログラム ・外部プログラム プログラムを HTML ファイルの中に書くのではなく、別個の独立したプログラムを 実行します。実行した結果は、そのまま web クライアントに渡すのが基本です。した がって、外部プログラム * は実行結果として HTML データを出力する必要があります。 図 11 -3 ・外部プログラムの処理 頼んだぞ 実行結果 外部宀 web プログラムーサーバ URL ( プログラムのアドレス ) ・第要コ web ブラウザ HTML データ 306 代表格は CGI というインターフェースを使用するプログラムで、「 CGI スクリプト」 や外部プログラムの「 CGI プログラム」と呼ばれます。 CGI とは Common Gateway lnterface の略で、 web サーバと連携するときのインターフェースを表しています。 Web サーバと外部アプリケーションのインターフェースには、 CGI のほかに ISAPI 、 NSAPI* などの web サーバ独自のインターフェースが使われることもあります。 なお、外部プログラム自身は、サーバ OS 上で実行できればどのようなものでもか まいません。 ・どちらを使うか ? サーバサイドスクリプトにしても、 CGI などを利用した外部プログラムにしても、 最終的な出力はすべて HTML となります。したがって、プログラムで生成したい部 分の量によって、どちらを使うか考えるとよいでしよう。 web ページ全体のデザインが決まっていて、表示される内容の一部だけ変化させ たいような場合はサーバサイドスクリプトが向いています。サーバサイドスクリプト の場合、 HTML 文書を作るオーサリングッール ( p. 235 ) を利用して Web ページを作 成できるというメリットもあります。 一方、複雑なプログラムを組む必要がある場合は、プログラミングに専念しやすい 外部プログラムのほうが開発しやすいことがあります。外部プログラムの場合は、 Web アプリケーション対応の開発ツールでプログラミングできる、既存の CGI プロ グラムを活用できる、などのメリットがあります。しかし、 Web ページのデザインを 変更するとき外部プログラム用言語の知識が必要になる点に注意してください。 【外部プログラム】実行できる内容がサーバによって制限されていることがあります。 (ISAPI/NSAPI 】 ISAPI (lnternet ServerAppIication Programming lnterface) はⅡ S 用のインターフェース。外部ア プリケーションは DLL としてサーバにロードされる。一度ロードされたらそのままメモリに残るため、 CGI のような 毎回起動するというオーバーヘッドがありません。同じく、 NSAPl(Netscape Application Programming lnterface) は Netscape Enterprise server (NetscaPe communications 社の Web サ (バ) 用のインターフェース。

9. 図解でわかるWebアプリケーションのすべて : CGIからWeb 3層システムまで

5.2 ・インデックス ァータベース管理システム データを検索するときに、データ全体を見るのは効率がよくありません。そこで、 データベースシステムでは、あらかじめインデックス ( 索引 ) を作成しておき、イン デックスを使って検索するのが一般的です。 データベースによって、インデックス項目しか検索できないものと、すべての項目 を使って検索できるもの * 、複数のインデックスで条件を組み合わせて検索できるも のなどがあります。また、データベースによって、作成できるインデックスの数が限 定されていることがあります。 なお、インデックスは、検索だけではなく、ソート ( 並び替え ) にも使用します。 データベース管理システム データベースの管理を行なうソフトウェアをデータベース管理システム (DataBase Management system : DBMS) といいます。 DBMS には、データの追 加と削除・更新・検索といった基本操作に加えて、データの保護や、データの整合性 を保っための機能が備わっています。 ・ DBMS の機能 ( 1 ) : 排他制御 使用中のファイルやデータなどを、他プロセスが使用できないように制御すること を排他制御と呼びます。 web アプリケーションは、複数のクライアントからアクセス されることが前提です。したがって、データのロックは非常に重要です。 図 5-9 ・データをロックする 在庫に 1 OO 追加しよう 排他制御していない場合 500 十 1 OO =600 500 十 30 = 530 在庫 = 530 、 それぞれが 500 に対して 処理してしまう 在庫に 30 追加しよう 排他制御をしている場合 在庫 = 500 待っててね 今 IOO 足してるから 600 十 30 の処理をすることになる 500 十 100 = 600 の結果を見て 【すべての項目で検索】インデックスを使ったほうが高速です。インデックスなしで検索できるシステムでも、検 索頻度が高い場合はインデックスを使ったほうがパフォーマンスがよくなります。

10. 図解でわかるWebアプリケーションのすべて : CGIからWeb 3層システムまで

第 8 章 セキュリティ 図 8-21 ・ SSL についてのアナウンスの例 ( 楽天 ) 皐天市場 / S 第叩 i isE e r す一 Mi ロ℃ 9 ) 代 lrterret EÄ , 「 方イル日集表示 ( = お気に入ワ谷ツ曰心ハルプ印 中止 アドレス ) 切 http7/wwwrakLtenco 加 楽 0 天 楽天市 契約企業数 : こ第商品数 : や 楽天市場の宝くし 0 」リリ 毎日 1 00 万円があたる宇くじ ! お中元 ・卞イント 10 キャン、 ・当工蘚地は「北冫 ・送無でお冒 + すか ? とっておきの「ありがとう」を ! 大切な方′、のこ拶はもうお済みで プーサイズ ビタミン気ープ。 : タイエット プレゼント第第 ンヨッヒング & オークンヨンソーン オ - クシ第ン彎り当ン一第新を スーバー、 0 ツを、 = ドお第市奏天に出店 フア、ソション S47494 ) 夏本物 ! T シャツ大時年 好評 ! アウトしオ集 ま要てす ! 場省のお土第び ! 「お中」のり忘れをまん 真百物ス - ノ下はトまかせ ! 介譲用品もお得に探しまゼんか ? ーーア ( 1 ・一インテリア・鬮がほしい 求もデヒ - リンヴ & リラクセーソゴン ー ) レ 641 夏の宿物はやつはり 邊も足 ! 頁は白ワインで轗 パソコン・モバイル・家電 ノートパソコンがしい ! 市で物型パソコンプしせント ・カルチー ( 7382 の - 天市場に関るお問いわセはこち、 ※品に - 、てのを拘合わせは、各ショップまでおいいたします . 楽天に出店 ! フリマに山 : 楽天市を旦応しているので、クしジオわード・号は第号化して送信されます 社 , ーー① i を k CTC 00 ri ( 己 1997 望〔新 Ra 缸 n. 比 0 AII 【某天市場】 SSL について一ロロ田代町 t E 心 0 ・ 「イル 0 集 0 表示 ) 」こス ) - 歩謝想 アドレス ( 0 盟 p / / 、物田 en の王 0 ) SS しとは ト当ス へ ( 印 谷案内所 ロ X ~ 移動Ⅱルりふ ー寳い物もに一こ 5 生が合まー天へ店ー人、オークションへー secure s«ket Layer の略で , 暗号化された安全な通信を提供します . 概要 SSL ロ簡単に言うと , データを暗号イ tl ノてやり取りするやり方の決まりです . SSL では , 公開阯音号 (RSA) と秘密音号を併用しています . 公開鍵暗号を使った暗号化・復号には 時間がかかるのて , より高速な秘密音号の鍵 (key) を公開阯音号で渡すようにしています . 暗号の必要性 インターネットでロ現在 v4 というプロトコル ( 通信手順 ) が使われていますが , 暗号化が全く規定されて いないため , 回線にラインモニタやパソコンなどを挿入すると非常に簡単に中身を覗くことができます . インターネットは各サイトの相互接続によって成り立っていますので , 接続先か週すれは遠いほど中継サ イトが増えます . 自分か全く矢吃ぬいところを通ることも少なくありません . そうなってくると , バケットを覗 かれる可能性も次第に増えていきます . 安心できるかどうかロ , 通り道になっているサイト全てをどこま で信用するかにかかってきます . インターネットロどこにどんな人がつなが - 。ているかわかりませんから , クレジットカード番号などの大七歩よ 200