MAGAZINE - みる会図書館


検索対象: UNIX MAGAZINE 2002年11月号
171件見つかりました。

1. UNIX MAGAZINE 2002年11月号

しⅨ 定期購読 ( 年間 12 号 ) 十 1 号無料 ン 購読期間 1 年間十 1 号 ( 13 号 ) 購読料金 1 0 , 560 円 ( 送料・弊社負担 ) 日頃のこ愛読に感謝し、アスキー 3 誌では合同キャンペーンを実施中です。本 誌に綴込みの郵便振替用紙で申し込むと、送料無料、しかも 1 2 冊ぶんの料金で ] 3 冊お届けいたします。この機会にぜひ定期購読をお申し込みください。 本誌のほか、 Linux magazine 、 NETWORK MAGA 刀 NE のお申込みも承り ます ( 複数誌をお申込みの場合は、合計金額をこ記入ください ) 。 Linux magazine ( ] 6 , 680 円 ) NETWORK MAGAZINE ( い , 760 円 ) ※お申込みの際は、かならず本誌に綴込みの郵便振替用紙をこ利用ください。 キャンペーン内容 1 2 冊ぶんの料金で 1 3 冊お届けします ( 送料無料 / 振込手数料・弊社負担 ) 。 お申込み締切り 毎月 8 日までにこ入金を確認した場合、当月の発売号よりお届けいたします。なお、郵便局での お手続きからこ入金の確認まで、 4 日 ~ 2 週間ほどかかります。あらかじめこ了承ください。 お問合せ先 株式会社アスキー定期購読キャンペーン係電話 03-5362-3397 ( 月 ~ 金 / 午前 1 0 時 ~ 午後 5 時 ) 電子メー丿レ . threemag@ml.ascii.co.jp ・ご注意 地域や交通事情等により、発売日にお届けできない場合もあります。あらかじめこ了承ください。 顧客番号、お届け回数は、お届け時のタックシー丿レ下部に印字されています。 ・バックナンバーのほか、アスキーの出版物はアスキーストア (http://www.ascii-sto 「e.com/) をこ利用ください ( サービス内容は異なる場合があります ) 。 200 UNIX MAGAZINE 2002.11

2. UNIX MAGAZINE 2002年11月号

RFC ダイジェストー 検索規則を定義している。 [draft-ietf-crisp-lw-ipv6-OO. txt] Defining and Locating 旧 v6 Address BIocks using the lnternet Resource Query Service インターネット資源クエリーサービスを用いたⅢ v6 アド レスプロックの定義と位置イ寸け インターネット資源クエリーサービスを用いて IPv6 ア ドレスプロック・情報を検索するための LDAP スキーマと 本館き規則を定義している。 [draft-ietf-crisp-lw-user-OO. txt] Defining and Locating Contact Persons using the lnternet Resource Query Service インターネット資源クエリーサービスを用いた連絡先情報 の定義と位置イ寸け インターネット資源クエリーサービスを用いて叫各先情 報を検索するための LDAP スキーマと検索規則を定義し ている。 [draft-ietf-crisp-requirements-00. txt] Cross Registry lnternet Service Protoc01(CRlSP) Requirements CRISP の要求藝頁 CRISP に対する要求事項をまとめている。 まとめ 次回は 2002 年 9 月中旬から 10 月中旬にかけて公開さ れた RFC とインターネット・ドラフトの公開兄を紹介 する。 ( うお・ようしろう IIJ 技術研究所 おがしわ・のぶお北陸先立牆斗 ! 判支術大完大学 ) 読者アンケートのお知らせ いつも弊誌をこ愛読いただき、ありがとうこざいます。 今後の企画・編集の参考とするため、読者アンケートを 実施いたします。下記の Web ページにアクセスのうえ、必 要事項をこ記入ください ( 締切は 2002 年 1 1 月 17 日です ) 。 皆様からお寄せいただいたこ意見は、責重な資料として活 用させていただきます。 こ回答をお寄せいただいた皆様のなかから、 5 名様に特製 QUO カード ( 2 , OOO 円ぶん ) をさしあけます ( 応募者多数の 場合は抽選といたします。なお、当選者の発表は発送をもっ て代えさせていただきます ) 。 今後ともこ愛読のほど、よろしくお願い申し上けます。 UNIX MAGAZINE 編集部 リ 0 10 圓 ・アス← Linux Sh@S.net autO を LNX ( デザインは変更されることがあります ) ・ ( 株 ) アスキー UNIX MAGAZINE 読者アンケート専用 U 日 L http://mkt.uz.ascii.co.jp/unixmag/ こ注意 : 雑誌公正競争規約の定めにより、この懸賞に当選された方は、本号のほかの懸賞に入選できない場合があります。 187 UNIX MAGAZINE 2002.11

3. UNIX MAGAZINE 2002年11月号

連載 /UNIX Communication Notes—O 図 4 、 VIDE プロジェクトの日米回線における則 ( ビットレート ) 50 100 150 200 250 300 350 400 フロー数 図 5 WIDE プロジェクトの日米回線における則 ( フローレート ) 10 20 30 40 50 60 70 80 90 100 M bps UNIX MAGAZINE 2002.11 ックを生成するために使われたフロー数はさほど多くはな そのときの状況を図 5 て市忍すると、 1Mbps のトラフィ ク・サーピスが円滑におこなえない状況に追い込まれた。 ストに対して大量のトラフィックが送信さネットワー WIDE プロジェクトが運営するネットワークの特定のホ ば、そのトラフィックの多さは一目瞭然である。このとき、 Mbps はどの DoS 攻撃を受けている。このグラフを見れ 図 4 からも分かるように、 2002 年 3 月の下旬に 100 い。これらのグラフのもとになったデータを見ると、 2002 年 3 月 25 日午後 2 時からの 10 分間のけ勺で 95.44Mbps のトラフィックが日米回線に流入してきているが、フロー レートはたったの 1.5 フロ—/Mbps 程度である。つま り、少数のホストから大量のトラフィックを発生させた、 トラフィック窒息型 D 。 S 攻撃 " になっている。これら のグラフて示したのは毎日午後 2 時から 10 分間の引側結 果だけであるが、 WIDE インターネットの運用グループ 55

4. UNIX MAGAZINE 2002年11月号

図 4 31 図 5 連載 / 凵 nux のプートプロセスをみる一① ページテーカレの豈 2 つのページテーカレとページディレクトリ ページフレームのべースアドレス リニアアドレス空間 9 8 7 6 5 4 3 2 1 0 AVAIL 0 0 D A a- コェ P C0800000 C0400000 C0000000 00800000 00400000 ために使用します。 00000000 swapper—pg—dir pg 1 pg 0 物理メモリ空間 00800000 007FF000 00402000 00401000 00400000 003FF000 4MB 00002000 00001000 00000000 にあらかしめ石呆し、これを第 1 段階のページテープルの 84 ~ 90 行目のコードは、 pgO と pgl に表 1 のような UNIX MAGAZINE 2002.11 ( 図 4 ) 。 アドレスが並び、以下の 3 つのフラグがセットされます ープルのエントリには、ツ頁のページフレームから順番に 8MB の示観月をマッピングするためです。したがって、テ ページテープルを作成するのは、物理アドレスの : 麪頁から データを書き込んでページテープルを作成します。ここで ・ P ( メモリ上に存在する ) ・ R/W ( 読み書き可育印 ・ U/S ( ューサーモードでアクセス可能 ) pg0 および pgl のページテープルと物理ページフレー ムの関係は、図 5 の右半分のように表すことができます。 この段階では、まだページディレクトリを設定していない ので、リニアアドレスと物理アドレスのマッピングはおこ なわれていません。 163

5. UNIX MAGAZINE 2002年11月号

ワークステーションのおと一 0 写真 28 PCI スロットに挿したグラフィックス・カード ピポットを中心に収まる 写真 25 写真 29 カードを固定するプラケット押さえ 写真 26 グラフィックス・カード 写真 30 HDD 用のトレイ グラフィックス・チップ 写真 27 くいかもしれませんが、中央下にあるネジで押さえている のカワラケット押さえです。 てありました 3 ヒートシンクを外すと、グラフィックス・チッフ。か現 れます ( 写真 27 ) 。シリコンのダイがそのまま見えている ので、これは取り外さないほうがよさそうです。そっとも Sun Blade 150 では、ハードディスクを写真 30 のよ とに戻してから PCI のスロットに挿しました ( 写真 28 ) 。 うなトレイに載せ、これをさらに筐体に取り付けるイはみ このときに気づいたのですが、本体の PCI スロットより になっています。トレイには 2 台ぶんのスペースがあり、 XVR ー 500 のカードエッジのほうが長くなっています。 ハードディスクが 2 台内蔵できます。今回紹介している の XVR-500 は、 64bit PCI だったのですオ Sun Blade 150 には、 Seagate の「 Barracuda ATA スロットが横を向いている関係から、カードは、、プラケ IV ModeI ST310016A 」という 40GB のディスクが ット押さえ " で固定します ( 写真 29 ) 。写真では分かりに 入っていました。 ハードディスクのトレイは筐体の横、正面から見て右側 3 http://www.3dlabs.com/whatsnew/pressreleases/pr02/ の開口部から入れていきます ( 写真 31 ) 。マサーポードと 02-05-07- xvr500. htm ハードティスク 146 UNIX MAGAZINE 2002.11

6. UNIX MAGAZINE 2002年11月号

0 す情報を白寉に検索できるようにしています。 Q-Pocket はテキスト検索は得意ですが、キーワード が分からないと検索が困難ですし、テキストを含まない写 真などの情報は検索対象にできないという問題がありまし た。また、各データか関連づけられているわけではないの で、データ間の関係を用いた検索も不可能でした。 そこで、キーワード検索の代わりに迅想的なリンクを重 視し、頭のなかの清報を迅想によって探しあてるのと同様 な方法で引・算機内の情報を検索する「近傍検索システム」 を試作してみました。 近傍検索とは、 1 つの情報をもとに、その近傍の情報を たどる操作を繰り返していくことによって目的とする情報 を探し出す手法です。 ます、ある情報と内容や作成日時、置き場所などカ随い ものを、、近青報 " と定義します。そして、 1 つの情報を 表示するときは、つねにその近傍情報も表示することにし ます。近傍情報のなかから 1 つお尺すると、さらにその 情報に関する近傍清報も表示されるため、関連する情報を 連想的にたどって最終的に目的とする情報に到達できる可 能性か高くなります。 まったく単純なコンセプトですが、これだけでも次のよ うにけっこう強力な連想検索か可能になります。 例 1 : ある製品をどの展示会で見たのか思い出したい ・会場で、誰かとその製品について話したことを思い出 す。 展示会に一緒に行った人の情報を調べる。 ・その人に関連する写真リストのなかから展示会で撮った 近傍検索とは何か ・なぞなそ認証の原稿を参照する。 ・ UNIXMagazine ディレクトリを参照する。 の原稿を書いたころに写真を撮ったはすだと思う。 ・ UNIX MAGAZINE の記事でとりあげたのだから、そ 例 2 、、なぞなぞドア " の写真を探す 写真を撮った日時から展示会を特定する。 ものを選ぶ。 196 をみつける。 ・原稿の執筆前後に撮った写真のなかから、なぞなぞドア 例 3 : 学会で発表された論文を探す ・その学会の直後に山登りに行ったことを思い出す。 ・山に登ったときの写真を探す。 ・その写真を参照し、その前後に開催されたイベントを調 そのなかから学会を選び、 Web ページで公開されてい る論文を入手する。 通常、人間はこのような竹喋を自然に頭のなかでおこな っているはすですが、言算機ーヒではそれはど簡単には実行 できません。ー E 記の 3 番目の例でいえば、 1. 山登りに行ったことを思い出し 2. ファイルプラウサや写真管理ツールでそのときの写真を 探してキ彡日時をヾ 3. 予定表を開いてその日時に移動して学会の予定を参照し 4. 学会のホームページに移動して検索する といった一里のイ 1 三業が必要になります。近傍検索システム を利用して、これらの竹璞をすべてクリック 1 つで実行で きるようにしておけは、このような連想的な検索もかなり 楽になるはすです。 構造を利用するものにしても、キーワードにもとづくも のにしても、点て利用可能な計算機十の検索システム では、人間がなんらかの指定を明示的におこなう必要があ ります。しかし、構造を使うのか、それともキーワードで 検索するのかなどと、いちいち方法を指定すること自体が 面倒です。毎日のようにおこなっているイ / ド業とはいえ、フ ァイルを探そうとするたびに cd や ls でディレクトリをた どるのは、あまり効率的とはいえません。 Google などの全文検索システムが身近になってきたと はいえ、キーワード窈旨定による検索は、プラウサー E でク リックの系区しによって情報を探すガ去にくらべると、そ れなりに手間のかかる作業だと思います。 近傍検索システムは、目の前に見えているリストのなか からなんとなく必要そうなものお尺するプラウジンク髞 作を繰り返していけば、最糸勺には目指す情報にたどり着 けるというアイデアにもとづいています。 そもそも、 web のようなハイバーテキスト・システム は誰でも使える検索オ冓として考案されたものではないで しようか。たとえは、 Yaho 。 ! に代表される、、ディレクト UNIX MAGAZINE 2002.11

7. UNIX MAGAZINE 2002年11月号

188 195 サイバー関西プロジェクト・ CKP ネットワークの歩み ( 3 ) インターフェイスの街角・ 近傍検索 ・・岡本裕子、沖本忠久 ・・増井俊之 25 News CoIumn 印刷 / 東京書籍印刷株式会社 Printed in Japan 禁転載 02002 ASCII Corporation 1070211 ・出版広告担当 / 山本直吉郎桜山ちづる志摩和弘・製作購買担当 / 篠田敦 ・出版営業部長 / 松本浩・出版営業担当 / 三田秀雄井上大介藤本典子 ・編集 / 川崎通紀岸竜次久保田考長谷川光広 発行人 / 小森哲郎・編集人 / 土屋信明・編集長 / 大久保讓治・ Edito 「・ s Network Address: unixmag@ascii ・ co ・ jp 発行所・株式会社アスキー〒 160-8584 東京都新宿区信濃町 34 JR 信濃町ビル電話 03-5362-3300 ( 出版営業部 ) UNIX MAGAZINE 0 し .17 # 11 2002 年 11 月号 ( 通巻 193 号 ) 2002 年 11 月 1 日発行 187 158 157 Linux Update••••••宮地利幸、田淵貴昭 154 読者アンケートのお知らせ BooksheIf Security lnformation ・ NetNews 便り・・・・・・みるく 148 ワークステーションのおと・・・・・・坂下秀 141 女子大生の放課後・・・・・・北川渉、伊藤そよか、笠藤麻里 138

8. UNIX MAGAZINE 2002年11月号

特集・プログラミング入門 1 図 4 キ諚した日付の瞿日を計算するプログラム (test2. c) #include く stdio . h> int md [ 12 ] = { 31 , 28 , char *nd [ 7 ] main ( ) int year ; int month; int day ; 31 , 30 , 31 , 30 , 31 , 31 , 30 , "Wednes " "Thurs " 31 , 30 , 31 } ; "Satur' int X ; ye ar month day 2005 ; 1 ; wdow(year , month, day) ; printf ( "%d/%d/%d is %sday ・ \ Ⅱ” year , month , day , * what day Of the week , int wdow (int yr , int mo , int days ; int i ; 0 represents ) Monday ' int dy) / * January lst , 1970 is Thursday * / ()r ー 1970 ) * 365 + ()r ー 1968 ) / 4 ; day s if ( yr % 4 0 & & mo く = 2 ) days days for (i 1 ; i く mo ; i + + ) { days = days + md[i—l] , days = days + dy ー 1 + 3 ; return(days % 7 ) ; 図 4 に、第 1 版のプログラム (test2. c) を示します。 します。文の末尾には、、 ; " ( セミコロン ) を付け、文の最 C 言語では、 1 つの処理を文 (statement) として記述 文とフロック ないます。 そして、 2005 年 1 月 1 日の曜日を算出する処理をおこ ・関数 wdow() の定義 ・関数 main() の定義 ・プログラム本で使用する変数の宣言と初期化 ・ヘッダファイルの言ムみ このフログラムは、以下の部分から構友されています。 118 a = a 十 1 ; 後であることを示します。たとえは、 と、 while (i く j ) は、まったく別の処理になります。前者では、 while によ る糸お医しの対象になるのはプロックになっている 2 つの 文ですが、後者では、 は 1 つの文です。 ・・・ } " ( 中括弧 ) て括られた部分は、コンパイラによ ってひとまとまりのプロック (block) として扱われます。 たとえは、 while (i く j ) i + = 1 ; UNIX MAGAZINE 2002.11

9. UNIX MAGAZINE 2002年11月号

JavaServer Pages 荒井美千子 本体をもつカスタムタグ 今回のテーマは、、、本体をもっカスタムタグの作り方 " 前号で本体をもたないタグを作ったときは、 のお世話になります。 ・ BodyTagSupport クラス ・ BodyTag インターフェイス 本をもっタグを作るときは、 を利用してタグハンドラを作成しました。これに対して、 ・ TagSupport クラス ・ Tag インターフェイス UNIX MAGAZINE 2002.11 本体をそのまま出力するタグ た txt:style タグは、 定した大きさで表示するカスタムタグ " です。前回紹介し 今回作成するのは、前回と同様に、、指定した文字列を指 txt:bodyStyle タク カスタムタグ " を作ります。 最初は簡単なほう、すなわち、、本体をそのまま出力する という 2 通りの処理を提供しています。 ・本体をカ旺して出力する ・本体をそのまま出力する のために BodyTagSupport クラスは、本体をもつカスタムタグ ドラを作り、本体をもつカスタムタグに挑戦してみましょ 今回は、 BodyTagSupport クラスをカ長したタグハン く txt :style text=" 文字列 " size= または、 く txt :style text=" 文字列 " size= く /txt: style> " 大きさ " / > " 大きさ” > のように言当すると、 text 属性で指定した文子列が、 sizeWl±の、、大きさ " で表示されるものでした。 今回は、 く txt :bodySty1e size=" 大きさ " > 文字列 く /txt : bodySty1e> のように記述すると、タグの本体の、、文字列 " が size 属生 で指定した、、大きさ " で表示される txt:bodyStyle タグ を作ります。 本体を加工しないタクを作る手順 本体を加工しないカスタムタグは、次の手順て作成しま 1. BodyTagSupport クラスを拡張 (extend) したタグハ ンドラを作る。 2. タグハンドラで以下の 2 つのメソッドを定義して、もと の (BodyTagSupport クラスの ) メソッドをオーバー ライドする。 ・ doStartTag() ・ doEndTag() 3. タグの属性値を設定する setter メソッドをタグハンド ラに」助日する。 4. doStartTag() メソッドは、開始タグを処理し EVAL -BODY-INCLUDE を返すように実装する。 5. doEndTag() メソッドは、終了タグを処理し、 EVAL -PAGE を返すように実装する。 す。 93

10. UNIX MAGAZINE 2002年11月号

特集・プログラミング入門第 図 9 ポインタのインクリメント ( 1 ) pn, px); main ( ) char int Ⅱ , double x , ps = &s ; pn = ; px = &x; *ps; *pn ; *PX ; printf ( " char : 十十 ps ; 十十 pn ; 十十 px ; printf ("char : ps = ps + 1 ; pn = pn + 1 ; px = px + 1 ; printf ( " char : int : int : int : double : double : double : PS , PS , という結果になり、すべて同しサイズの変数になっている ことが分かります。つまり、ポインタとはメモリ上の場所 ( アドレス ) を表すための道具なのです。 次にこのポインタカ甘旨し示すメモリ領域の扱いをみて みましよう。あるポインタ変数 p があったとすると、 ・ p: アドレスそのものを表すポインタ ・ *p: ポインタカ甘旨し示す領域にオ絲されているデータそ のもの という関係になります。この単項演算子 * は、あるポイン タ変数カ甘旨し示すものを表します。、、指し示すもの " のデ ータ型可であるかは、ポインタ型の変数を宣言するとき の記に依存します。 一方、ある変数 x があった場合には、 ・ x: 変数そのもの ・ &x : 変数のアドレス という関係になります。単項演算子 & によって得られる変 数のアドレスは、ポインタ変数で扱えるものです。したが 126 しつかり理解してください。 は、変数そのものを表すということになります。この点を って、 ポインタのインクリメントとテクリメント ポインタには、インクリメントとデクリメントという処 理があります。 図 9 のプログラムは、次のような処理をおこないます。 ・文字型 (char) 、整数型 (int) 、倍精度浮動小数点型 (double) の自動変数を用意し、そのアドレスをそれぞ れのポインタ変数に代入する。 ・ポインタ変数をインクリメントさせる。 ・ポインタ変数に 1 を加える。 この結果、アドレスはどこを示すようになるでしよう か。プログラムを実行すると、私のシステムでは次のよう な結果か得られました。 % . /a. out char: 3217019927 , int : double : 3217019904 char: 3217019928 , int : double : 3217019912 char: 3217019929 , int : double : 3217019920 3217019916 , 3217019920 , 3217019924 , これは何を意味しているのでしよう ? ポインタ変数に対するインクリメント、デクリメント、 あるいは加算を表現するには、ポインタ変数カ甘旨し示す変 数がメモリ上で占有する領域を考え、謝妾するデータへの UNIX MAGAZINE 2002.11