World Wide Web の仕組み(3)

共通科目情報処理(上級)、インターネットの仕組み、2005年01月24日

                                       電子・情報工学系
                                       新城 靖
                                       <yas@is.tsukuba.ac.jp>

このページは、次の URL にあります。
http://www.coins.tsukuba.ac.jp/~yas/ipe/inet-2004/2005-01-24
あるいは、次のページから手繰っていくこともできます。
http://www.coins.tsukuba.ac.jp/~yas/ipe/
http://www.coins.tsukuba.ac.jp/~yas/
http://www.ipe.tsukuba.ac.jp/~yshinjo/

■復習

■今日の重要な話

World Wide Web での(サーバとブラウザ以外の)プログラムの実行。 単に HTML や CSS を使う方法に比較して、はるかに高度な機能が追加できる。 Java と JavaScript は違う。

World Wide Web の応用・高度な利用

■CGI

WWW サーバは、普通は、ファイルに保存された HTML データやイメージ・データを 読み込み、WWWブラウザに返する。 CGI (Common Gateway Interface) では、ファイルが読み込まれる代わりにプログラムが実行され、その実行結果 がブラウザに返される。

Gateway とは、WWW で使われている HTTP というプロトコルへの入り口という 意味。 プログラムの実行結果は、普通は、HTML にすることが多いが、普通のテキス トであることもイメージであることもある。

クライアント、WWWサーバ、CGIによるプロセス、ファイル

図? CGIの仕組み

「プロセス」とは、実行中のプログラム。

CGI の利用例

◆CGIのファイル名

CGI になるファイル名のパタン


/cgi-bin/name
/dir/name.cgi

設定によっては、これ以外のものも可能である。

◆CGIプログラムを既述するための言語

スクリプト言語が多く使われる。 C言語やJava言語を使うこともできる。

◆フォーム

ブラウザからサーバに情報を送る用に指示する時には、 フォーム(form) という機能を使う。 HTML記述例:
<FORM ACTION="http://www2.coins.tsukuba.ac.jp/~yas/ipe/inet-2004/2005-01-24/cgi-printarg.cgi" method="post">
    <P>
    姓: <INPUT type="text" name="lastname">
    名: <INPUT type="text" name="firstname"><BR>
    <INPUT type="radio" name="sex" value="Male"> 男 <BR>
    <INPUT type="radio" name="sex" value="Female"> 女 <BR>
    <INPUT type="radio" name="sex" value="others"> その他 <BR>
    電子メール: <INPUT type="text" name="email"><BR>
    <INPUT type="submit" value="send"> <INPUT type="reset">
    </P>
</FORM>
表示例:

姓: 名:


その他
電子メール:

<FORM></FORM> で括られた部分が1つのフォームになる。

<INPUT>の部分が、ブラウザからサーバに送られるデー タを表わす。

send ボタンが押されると、ブラウザは、 HTTPの POST メソッドを使って、サーバにデータを送る。

サーバは、それを受け取ると、指定されたプログラムを実行する。

◆CGIプログラムの入力

実行されたプログラムは、環境変数や標準入力(ともに、プログラムにデータ を与える方法の種類)からデータを受け取ることができる。 Apache では、次のような方法がある。

環境変数

REQUEST_METHOD
	データを送るのに使われたメソッド。POST か GET。
	GET は、普通のページを得るものと同じ方法で、長いデータは送れない。
SCRIPT_NAME
	プログラムの名前。
QUERY_STRING
	URLの指定で「?」以下に指定された文字列
メソッドとして POST が使われた時、標準入力からは、 <FORM></FORM>で指定されたパラメタを受け取ることが でる。

このデータは、「&」で区切られた 「フィールド名=」の並びになっている。

例:

lastname=姓&firstname=名&sex=Male&email=who@u-ust.ac.jp

環境変数 CONTENT_LENGTH からは、データの長さが得られる。

メソッドとして、GET が使われた時には、 環境変数 QUERY_STRING に 「&」で区切られた「フィール ド名=」の並びが含まれている。

送られてくるパラメタの中に漢字など含まれていた場合、 「%hh(2桁の16進数)」 という形になっている。

これを元にもどすには cgiparse というプログラムや perl の命令 hex() が使われる。

◆cgi-printarg

■SSI (Server Side Include)

SSI (Server Side Include) は、CGI よりも手軽にHTML の途中に、他 のファイルの内容やプログラムの実行結果を埋め込むための仕組。

SSI が使えるシステムでは、 file.html の変わりに file.shtml とすると、 SSI の機能が働くようになります。

例1: ファイルの内容の読込み

<!--#include file="filename"-->
例2: プログラム/bin/calの実行結果の埋め込み
<PRE>
<!--#exec cmd="/bin/cal"-->
</PRE>
例3:ファイル file.shtml の更新時刻の表示
最終に変更されたのは、
<!--#config timefmt="%Y/%m/%d %H:%M:%S"-->
<!--#flastmod file="file.shtml"-->
です。

◆SSIとセキュリティ

SSI を使う時にも、CGI と同様に、 セキュリティに気をつける。 特に、 `#include'`#exec' で、大事なファイルが盗まれないように、細心の注意を払ながら利用する必要 がる。

筑波大学教育用計算機システムでは、SSI は使えないような設定になっている。

,(ssi-example.shtml,ssi-example.shtml,◆ssi-example.shtml)

■PHP (Hypertext Preprocessor)

PHP は、Web サーバで動作するスクリプト言語。

普通は、Apache のサーバの内部(拡張モジュール)で動作する。 この方法で動作させると、「プロセス」が作られない分だけ高速になる。

PHP の特徴。

PHP は、基本的には、サーバ上で動き、動いた結果として、HTML ファイル等 がクライアントに送られてくる。

http://www.php.gr.jp/ 日本PHPユーザ会

◆PHPプログラムの例

<HTML>
<HEAD>
<TITLE> PHP の例題
</TITLE>
<BODY>

PHP の例題です。

<UL>
<?php
    for( $i=5; $i>0; $i-- )
    {
	print("<LI> ");
	for( $j=$i; $j>=1 ; $j-- )
	{
	    print("★");
	}
	print("\n" );
    }
?>
</UL>

</BODY>
</HTML>
実行例: http://www2.coins.tsukuba.ac.jp/~yas/ipe/inet-2004/2005-01-24/php-example.php

◆PukiWiki

講義の掲示板 で使っている PukiWiki も PHP で既述 されている。ただし、変則的ではあるが、CGI で動かしている。標準的には、 PukiWiki も Apache の内部で動かす。

■その他のサーバ側でのプログラムの実行

利用方法や目的は、CGI や PHP と同じである。

◆Javaサーブレット

Java言語のプログラムをサーバで動作させる場合、CGI で Java のプログラム を動作させることも可能だが、専用のサーバでを動作させることが多い。この 時、一塊のJavaのプログラムをJavaサーブレットという。

Javaサーブレットは、XMLの扱いに強い。

◆Java Server Pages

Java言語のプログラムを、PHP と同様に、HTML に埋め込んで使えるようにし たもの。Javaサーブレットに変換されて動作する。

◆Microsoft Active Server Pages

Microsoft社の Web サーバ Internet Information Server (IIS) 上で VBScript と呼ばれるスクリプト言語、(または、JavaScript)を動作させる。 結果として、HTML 等が変えされる点は、CGI と同じである。

(JavaScript も使えるが、サーバ側で動作するだけで、クライアントに変えさ れるのは、HTML だけ。)

最近では、VPScript, JavaScript の他に、VP.NET や C# といった 言語も使える(ASP.NET(エーエスピー ドットネット))。

■Javaアプレット

Java アプレット(applet) とは、 Javaというプログラム言語 で書かれたプログラムの一種。

画面に何かを表示する機能があり、WWWブラウザ上で動く。 Javaアプレットを使うと、アニメーションを作ったり、 CGI を使わずにユーザとの対話できる。

CGI では、プログラムは、WWWサーバが走っているコンピュータで動くが、 Javaアプレットは、プログラムはブラウザの上で動く。

◆Javaアプレットのタグ

Javaアプレットは、HTML からみると、 インライン・イメージと似ている。 Javaアプレットのためのタグは、 <APPLET></APPLET>

HTML記述:

<APPLET CODE="http://www.coins.tsukuba.ac.jp/~yas/ipe/inet-2004/2005-01-24/rctext.class" WIDTH="500" HEIGHT="50">
<PARAM NAME="message" VALUE="hello,world">
与えたメッセージが動き回るJavaアプレット。
</APPLET>
表示例:

与えたメッセージが動き回るJavaアプレット。

CODE属性で、Javaアプレットを保存している ファイルのURL(ただし、同一ホスト内)、 WIDTH属性で、幅、 HEIGHT属性で、高さを指定する。 <PARAM>タグを使えば、アプレットに オプションを渡すことがでる。

<APPLET></APPLET>の間には、 Java Applet に対応していないブラウザのためのテキストを書く。

ソース・プログラム

Java言語については、 共通科目では別の講義がある。

■JavaScript

JavaScript は、 WWW ページを作る時に使われるスクリプト言語である。

ブラウザで実行される。

JavaScript は、文法こそ少し Java に似ているが、Java とはまったく別の 言語である。WWW ページの中の Javaアプレットは、 「実行可能なインライン・イメージ」に似ているが、JavaScript の記 述は、「実行可能なインライン・テキスト」に似ている。たとえば、次 の例を考える。

<SCRIPT LANGUAGE="JavaScript">
<!--
for( i=0 ; i<10; i++ )
  document.writeln("<P>hello,world</P>");
//-->
</SCRIPT>
これで、<P>hello,world</P> を 10 回書いた のと同じ効果がある。<!--//->は、JavaScriptを知らないブラウザにはコメント として扱われる決まり文句である。関数定義などは、ヘッダ部分 <HEAD></HEAD>に書くという方法もよく使われる。

JavaScript は、CGI と似ているところもあるが、JavaScript でないとで きないものに、ブラウザの制御がある。たとえば、次の例では、ブラウザ の(戻る)ボタンと同じ動きをさせることができる。

<A HREF="javascript:history.back();">戻る</A>
戻る

ブラウザを制御する仕組みが、悪用される。

JavaScrit は、信頼しているサイトから送られたときだけ有効にする方法がある。

■その他のクライアント側でのプログラムの実行

◆Macromedia Flash

Macromedia社が開発した、動画像や音声を組み合わせてWebページを表示する ためのソフトウェア。

Web ブラウザの拡張機能(プラグイン・モジュール)で動作する(ブラウザによっ ては、動作しないことがある)。

ActionScript と呼ばれるスクリプト言語で既述されたプログラムが、WWW ブ ラウザで動作する。たとえば、ボタンが押されたら動作するプログラムが既述 できる。

Flash のページを作成するには、一般的にはMacromedia社から購入することに なる。Flash の仕様は公開されているが、フリーの開発環境はそれほど普及し ていない。

Flash と CGI (サーブレット等も含む)や JavaScript (クライアント側)を連 携させることもできる。

◆Adobe PDF (Portable Document Format)

元々紙に印刷することを想定して作られた文書を、印刷しないで保存したり配 布したりすることを目的として、Adobe 社により開発された形式。

PostScript という、Adobe 社によるプリンタ用のプログラミング言語が元に なっている。PostScript と比較すると複雑な制御構造は取り払われている。 フォントを埋め込んだり再現する機能は引き継いでいる。

JavaScript が埋め込める。

PDF 文書作成するには、Adobe Acrobat (readerがつかない) や、その他のフ リーのプログラムが使える。MacOSX では、OS内部でも使っているので、印刷 の代りに PDF で保存できるようになっている。

手書きPDF入門 というのが以前あった。

◆Scalable Vector Graphics

SVG は、画像を表現するための XML の形式である。

現在、World Wide Web で広く用いられている画像の形式としては、GIF, JPEG, PNG などがあるが、いずれもビットマップ、または、それを圧縮した形 式である。この場合、拡大すると画像が荒くなるという問題がある。これに対 して、SVG は、ベクトル形式、すなわち、画像の輪郭線を表現したものである。 よって、画像を拡大しても荒くなることがない。また、画像の大きさとデータ 量は無関係であり、大きな画像であってもデータ量が増えない。

以下は、SVG で直線、長方形、円を記述した例である。

<svg>
<line x1="10" y1="100" x2="100" y2="100" style="stroke:blue" />
<rect x="20" y="200" width="100" height="50" style="fill:red; stroke:red;" />
<circle cx="300" cy="300" r="50" style="fill:yellow; stroke:yellow;" />
</svg>
SVG は、W3C (World Wide Web Consortium)により標準化作業が進 められている。XML 形式を用いているが、モデルとしてはPDF や PostScript と似ているである。Adobe 社からも WWW ブラウザ用の プラグインも提供されている。Web ブラウザ Mozilla や FireFox でも、ブラウザ本体で SGV 扱うための開発が進められている。

SVG は、地図を表示するために適している。携帯電話や PDA に対 して地図を配信するサービスで SVG がよく使われる。

■検索エンジン

インターネット上にある膨大な情報から、必要な情報を見つけ出すためには、 次のような方法がある。

リンク集 とは、他のページへのリンクを集めたWWWページ。 なにかWWWページを探したい時には、すぐに「キーワード検索」を思い浮か べるかもしれないが、実際には、 FAQ FAQやリンク集の方が速いことがある。

◆検索に必要な考え方

ヒット率と選択率

ヒット率
欲しかった情報のうち、どのくらい見つかったか。
選択率
見つかった情報のうち、どのくらいが本当に欲しかったものか。

図? ヒット率と選択率

図? ヒット率と選択率

あちらを立てればこちらが立たず。 トレードオフ。

3つの論理演算

外枠は、全体(インターネット上の膨大な数のWWWページ)を表す。 色が付いている所が、見つかったデータを表す。

「keyword1」で検索。

図? キーワードを1つ与えた時

図? キーワードを1つ与えた時

keyword1 AND keyword2 AND keyword3

図? キーワードを3つ与えた時(AND)

図? キーワードを3つ与えた時(AND)

keyword1 OR keyword2 OR keyword3

図? キーワードを3つ与えた時(OR)

図? キーワードを3つ与えた時(OR)

NOT keyword1

図? キーワードを1つ与えた時(NOT)

図? キーワードを1つ与えた時(NOT)

キーワードを1つ与えた時の NOT は使えない。

NOT keyword1 AND keyword2 AND keyword3

図? キーワードを3つ与えた時(AND,NOT)

図? キーワードを3つ与えた時(AND,NOT)

NOT は、AND といっしょにつかう。 NOT 単独では、使えない。

◆絞込検索

絞込検索(しぼりこみけんさく)のイメージ

図? キーワードを1つ与えた時

図? キーワードを1つ与えた時

図? キーワードを2つ与えた時

図? キーワードを2つ与えた時

図? キーワードを3つ与えた時

図? キーワードを3つ与えた時

絞込検索は、実は、AND と同じ。

keyword1 AND keyword2 AND keyword3

図? キーワードを3つ与えた時 図? キーワードを3つ与えた時(AND)

図? キーワードを3つ与えた時(AND)

◆検索エンジンとWWWロボット

検索エンジン(サーチエンジン)
WWWで検索機能を使う時、実際に検索を行うプログラム。 インターネット上のあるWWWサーバで動いていてる。
検索結果は、手元のWWWブラウザの画面に表示される。

検索対象のデータにキーワードを与える方法

自動抽出したものは、ヒット率はよいが選択率が悪い。 人間が整理したものは、選択率はよいがヒット率が悪い。
WWWロボット
WWWページからプログラムでキーワードを自動抽出するプログラム。
WWWロボットの動き
  1. ロボットは、あるURLが与えられると、そのページ を訪れる(ページの内容を得る)。
  2. 得たページの内容を解析して、キーワードを抽出する。
  3. そのページにリンクが含まれていたら、1 に戻って繰り返す。
このような繰り返しの方法を、コンピュータ・サイエンスの用語では 再帰(recursion) とう。ロボットは、世界中の WWWページを歩き回り、キーワードを抽出する。 ただし、一度訪れたことがあるページは記録しておいて、2度訪れないようす る。

◆FAQ

インターネット上の重要な情報源に FAQ がある。 FAQ は、もともとは、 Frequently Asked Questions の略で、「よくある質問」という意味である。 実際には質問だけでなく て答えもいっしょに書かれている。しかも、実用的で非常に品質がよい情報 が集まっていることが多いので、質問したいことがなくても、自分の興味がある 分野の FAQ を探して読むことはよい勉強になる。

FAQ を作る活動は、ネットワーク・ニュースでよく行なわれている。というの も、繰り返しなされる質問をまとめて定期的に投稿することで、記事の質を高 めることができる。インターネットで流通するようなフリー・ソフトウェアで も、マニュアルとは別に FAQ が作られることもよくある。

■Wiki

Wiki、あるいは、WikiWiki Web は、WWW(World Wide Web) を利用 した共同作業と議論を支援するツール。

普通の WWW は、直接的にはページを編集する機能を提供していないので、情 報の発信者と受信者は明確に区別されていた。Wiki では、基本的にはページ を表示することができれば、簡単な操作でそれを編集することができる。これ により、気軽な双方向のコミュニケーションが実現される。wikiwiki とは、 ハワイの言葉で、「素早い、形式張らない、急ぐ」ということを意味している。

Wiki では、WWW ページを記述する時に、HTML のようなマークアッ プ言語を用いず、基本的にはテキストを用いる。ただし、次のよう な簡単なルールがあり、HTML に近い表現能力を持つ。

Wiki は、Ward Cunningham氏が開発したものの他に、Wikiクローン と呼ばれる同等品が多数開発されている。多くのクローンは、Perl や Ruby のようなスクリプト言語により記述されており、WWW サー バが持っている、外部のプログラムを実行する機能(CGI機能) を用 いて動作する。

◆Wikiの種類

オリジナルの Wiki に続いて、様々な種類の Wiki が開発された。 日本製が多い。

◆Wikiでできること

問題点

◆ウィキペディア(Wikipedia)

Wiki を利用した世界規模の共同作業の例として、フリーの百科事 典を作るプロジェクト。

http://ja.wikipedia.org/
ウィキペディア(日本語)

■ブログ

ブログ(blog)、または、ウェブログ(web log)とは、World Wide Web において日記形式でニュースを発信するものである。

◆ブログの歴史

ブログは、各個人が日々発見した Web ページへのリンク集を公開したことか ら始まったとされている。当初は、実際に個人的な日記のレベルに止まってい るものも多く、また、ページのデザインも商用のニュースサイトと比較して見 劣りするものが多かった。

Blogger と呼ばれるブログ作成ツールの登場すると、商用のニュースサイトに 匹敵するようなデザインのページをブログとして簡単に作ることができるよう になった。それに伴い、充実した内容を含むものも増え、専門家による情報発 信にも利用されるようになった。今日では、ブログはパブリッシングツールと しての地位を得初めている。

ブログが一般的に着目され始めたのは、9月11日の米国同時多発テロ事件以後 である。イラク戦争の前には、「Where is Raed ?」と題するバグダッド在住 の Salam Pax と名乗る人物のブログに1日数十万件のアクセスがあった。こ のような出来事では、現場の人の声やマスメディアでは報道されないような情 報がブログとして発信された。

日本では、土佐日記以来、誰かに読まれることを前提にした日記(形式の文学) の歴史があり、今でも個人的な日記も多い。

◆ブログと単なる Web ページの違い

◆ブログ・ツール

サーバで CGI や PHP で実行する 一般のアプリケーションとして実行する コンテンツ・マネージメント・システム サイト

◆blogの内容

■RSS (RDF Site Summary)

RSS (RDF Site Summary、 または、 Rich Site Summary)は、Web サイトの要約や見出しを記述するための XML 形式。

RSS の 記述は、全体で大きく2つの部分に分かれる。前半は、Web サイト 全体(RSSではチャネルと呼ぶ)の記述であり、Web サイト全体の タイトル(40バイト程度)、URL、および、リンク、簡単な説明(500 バイト以内)が含まれる。後半では、個々の Web ページのタイトル や URL が置かれる。

RSS は、ニュースサイトが記事の見出しを配信するためによく使わ れている。また、ブログ(blog、Web log)のツールの中には、自動 的に RSS により更新情報を提供するものがある。RSS を自動的に 収集して表示するためのブラウザや RSS を蓄積し検索サービスを 提供する Web サイトも開発されている。

現在、RSS には、1.0 系列と 0.9-2.0 系列の2つの系列がある。 RSS は、1999年、Netscape Communications社により、自社のサー ビスで見出し一覧を配信するために開発された。その後、見出しだ けでなく、要約、日付などの拡張がなされた(RSS 0.9, 0.91)。 Netscape が開発をやめた後、RSS-DEV と呼ばれる開発グループが 作られた。そのグループにより、基本的な要約提供部分をコアとし、 高度な機能をモジュールとして追加できるようにした RSS 1.0 が 策定された。一方、別のグループは、RSS 0.91 を元にして、コン テンツ配信を目指して RSS 2.0 を作成した。

RSS 2.0 は、クリエティブ・コモンズのライセンスで配布されている。

RSS -- サイト情報の要約と公開 by 神崎正英 http://www.kanzaki.com/docs/sw/rss.html

◆Atom

RSS と同様に、見出しを配信するための形式。 IETF (Internet Engineering Task Force) で開発されている。 次のような RSS の問題を解決することを目指している。

◆RSSリーダ

RSS で配信された見出しを元に、元のページを表示する機能を持つWWW ブラウ ザを RSS リーダという。多くの場合、RSS だけでなく Atom を扱える。

英語圏では、「RSS reader」よりも「aggregator」という呼び方が多い。 複数の RSS や Atom で配信されている情報を1つに集約(aggregate)して 読みことができることによる。

RSS reader/Aggregator を使うと、単純に WWW サイトを訪れる方法と比較し て、楽に更新された情報を見ることができる。メーリング・リスト等と 比較して、spam が混入することは(今の所)ない。

2種類の方法がある。

■実習

◆cgi-printargの実行

cgi-printarg.html,http://www2.coins.tsukuba.ac.jp/~yas/ipe/inet-2004/2005-01-24/cgi-printarg.html にある CGI のプログラムを 実行してみなさい。GET と POST の違いを比較しなさい。

GET の例で、WWW ブラウザに現れた URL に ? 以降のパラメタを変更してみなさい。

テキストボックスの中に漢字を入れた場合どうなるか観察しなさい。

◆telnet による cgi-printargの実行(get)

HTTP による WWW ページのアクセス と同様に、telnet コマンドによりサーバに接続して、CGI を実行しなさい。

まず、サーバに telnet (Tera Term) でサーバ (icho) に接続してログインしなさい。 一連の作業が終わったら、exit でサーバからログアウトしなさい。

  1. サーバで、次のように telnet コマンドを実行する。
    % telnet www2.coins.tsukuba.ac.jp 80 [←]
    
    注意:www ではなく www2。ipe ではなく coins。
  2. 「Escape character is '^]'.」と表示されたら、次のように打つ。
    GET /~yas/ipe/inet-2004/2005-01-24/cgi-printarg.cgi?lastname=l1&firstname=f1&sex=Male&email=a%40b HTTP/1.0[←]
    [←]
    
    ([←] (Return, Enter)は、2つ必要。)
これができたら、GET の ? 以降のパラメタを変更してみなさい。
GET /~yas/ipe/inet-2004/2005-01-24/cgi-printarg.cgi?a=1&b=2&c=3 HTTP/1.0[←]
[←]

同様に、telnet で接続された後に、次のようなデータをサーバに送って見なさい。

POST http://www2.coins.tsukuba.ac.jp/~yas/ipe/inet-2004/2005-01-24/cgi-printarg.cgi HTTP/1.0
Content-Length: 43

lastname=1&firstname=2&sex=Male&email=a%40b
ここで、43 は、送るデータのバイト数(空行を含まない)である。 変数を修正する時には、バイト数(ASCII文字(英数字直接入力)なら文字数)と一致している。

◆Javaアプレットのパラメタの修正

Javaアプレットのタグの例で用いたアプレットに対して、 別のパラメタを与えて実行してみなさい。たとえば、WIDTH, HEIGHT, PARAM の VALUE 属性を変更してみなさい。

◆検索エンジンの使い分け

自分が欲しい情報を決めなさい。それを、次の2種類の検索エンジンを 使って検索しなさい。 探したい情報により、どちらを選択すればよいかが違う。

◆よいキーワード

よいキーワードになるものには次のようなものがある。 これを確かめなさい。他にどのようなキーワードがよいか。

固有名詞を例に、類似のデータを引出してみなさい。

◆キーワードの組み合わせ

AND, OR, NOT などの演算で組み合わせてみなさい。

検索エンジンによっては、これ以外の他の演算子を提供していることがある。

◆課題7 Wikiサイト、または、ブログの紹介

他の人に推薦したい Wiki サイト、または、ブログを探し、紹介しなさい。次 のような情報を含めなさい。
  1. URL
  2. 内容(3行程度)。
  3. 更新頻度。最終更新時刻。
  4. 推薦する理由。
紹介ページは、 講義の掲示板 の所定の場所に起きなさい。ただし、同じ Wiki サイト、または、ブログを紹 介してはならない。重複していた場合、最初に URL を既述した時刻の古い方 を優先するとし、新しいものは、別の場所を探しなさい。

締め切りは、2005年1月31日月曜日 23:59:59 とする。


↑[もどる] ←[1月17日] ・[1月24日] →[1月31日]
Last updated: 2005/01/24 17:07:58
Yasushi Shinjo / <yas@is.tsukuba.ac.jp>