連載 / プログラマー入門ーの 図 6 履歴に残っているべージのタイトルと URL の一覧の表 こを - は . を〒・ 1 ト残をリ R い ] 以下は表示ヘージの履歴の一覧で確。 列 指定へージへ . h+fp: / / 4 ー no 4 $ い叩 i 第醜 4 / 00 十 i 刊 0 厨引 れファン・ h 幵 p : / / 4 ー np 朝卲 i 節 0 町 4 厨引 WRL) 履歴の表示 移動 4 る 指定へージへ 移動 4 る 履歴の表示 ( 窄 . わ幵 p : / / 4 ー no 朝叩ル日 44 / hi 4 厨引 含む URL の一覧か得られます。 イトルこ UR い 112 く /TABLE> ザの不鶤頁によって異なるかもしれません。 るかはとくに規定されていないので、バージョンやプラウ window. history の値としてどのような文字列カ亟され ・・・く TR > ~ く / TR > がページ数ぶん並ぶ く A HREF=" U カ " > URL く /A></TD> く /TR> く TD VALIGN=top> く TD>  ; く /TD> く STRONG> タイトル文字列く /STRONG> く /TD> く TR> く TD VALIGN=top> HSPACE=8> く TABLE BORDER=O ALIGN=center VALIGN=top く TITLE>Window History く /TITLE> 字列が返されました ( 子位置は実際とは異なります ) 。 てください。たとえば、図 6 の表示では、次のような文 は、、、 window. history" で得た値を文字列として操作し できますね。この文字列から情報を取り出したいのであれ 図 6 は、このまま住司メニューの代わりとして利用 ます。 字列が入っているのではなく、リンクの形式になってい これから分かるように、 URL の部分はたんに URL 文 が履歴の数だけ並んだページか表示されます。 右のカラムに URL のリンク 左のカラムにタイトル を実行すると、図 6 のように、 document . writeln (window. history) ; 例は省略しますが、 JavaScript プログラムとして、 ちょっと表示してみましよう。簡単なので HTML の 「それしゃあ、どうやって window. history カ亟す本当 の文字列を知ればいいの ? 」 「 [EiIe] メニューの下の [Save As... ] でファイルに保存 したらええやろ」 「なるほど ! ・・あれ、だめだあ。もとの JavaScript フログラムかイ呆存されちゃった」 図 6 のページをファイルに保存しても、もとの Java- Script プログラムを含む HTML が保存されるだけで、 window. history の文字列が保存されるわけではありませ ん。表示からは、 表示されている文字列 ・テープルを使って配置している などは想像がつきますが、 ・属性の設定 ・タグ文字列が大文字か小文字か ・空白文字の戸 ) までは分かりません。 window. history か返す文字列を知りたければ、リスト 5 をプラウサで表示させてください。この JavaScript プ ログラムは、 HTML で特別扱いされている文字、 を、プラウザ画面上で普通の文字として表示するプログラ ムです。 Netscape のセキュリティ 「あつれ一、おっかしいなあ」 「さっきから、何ふつふつゆうてんねん」 「話は戻るんだけどね、履歴の URL なんかか表示されな いのよ。言われたとおりにしているつもりだけど・ 「あっ、それはやなあ」 「なに ? なんか不共でもあるの ? 」 Java や JavaScript のように、クライアント ( プラウ ザ ) 側でのプログラムの実行は、潜在的にたいへん危険で す。 コンピュータで、、危険 " といわれると、真っ先にコンピ ュータ・ウイルスを思い浮かべるでしよう。ディスクの中 UNIX MAGAZINE 1997.5
Cross-Platf 、 ln を薈“も、 : ー を代社 0 載 01 凵ロ重 1 」里些にと」 . 当」 (å): R 引 orm 0 et " - ノする 7 のクラスライフラグ 鸞し : ツへ 1 ”い歹応 を 0 、を、施・を町 いい当他い崢、二 ( 、 0 3 に第 : を rmo 旅 el に lease f : 物「第 4 重 Directories H : p 懼 . 脳ⅵ n 山ル 5 と国 2.0 bOX ェ 信面 x. h fsbox.i fsbox. obj tsboxvin-c tsbowin. def fshoxvin. exe fsboxvin. mak box ⅶし ⅱ「 s lype: X 副 ベストセラー GUI ビルダ—UIM/X に統合すれば、 UIM/X の機 能を使って通常の Motif プログラムと同様に UN Ⅸ用のプログラム を開発することができます生成されたソースコードを Windows でコンパイルして Windows 用の Cross-Platform Toolset ライプ ラリとリンクすれば、同じ機能でほぼ同じ見た目の GUI を持つ Windows 用のフログラムを作ることができます UNIX と Windows が混在し、共通の見た目と操作が必要なクラ イアントサーバー環境の GUI 開発の決め手としてお使い下さい。 動作環境 UIMX : SPARCstation SunOS 4.1.3 、 Solaris 2.4 等 Windows : 3.1 (Win16) 、 95 、 NT 3.5 、 NT 3.5.1 ( 以上 Win32) Cross-Platform TooIset は複数のプラットフォームから共通の API で使うことのできる GUI のクラスライプラリです現在のバージョン は、 UNIX 上の Motif の GUI を持つプログラムと、 Wrndows 上の (W1ndows の GUI を持つ ) プログラムから使うことができます。 Cross-Plafform Toolset で提供するクラスはアプリケーションレベル のクラスで、 2 つのライプラリとして提供されます。 1 つは、 Motif 用のクラスライプラリで Motif のウイジェットを使って実現してい ます。もう 1 つは、 Windows 用のクラスライプラリです。 A S T E C 株式会社アステック営業部 お問い合わせ先 〒 162 東京都新宿区南町 6 BR 市ヶ谷 電話 ( 03 ) 5261-5972 ( 直通 ) FAX ( 03 ) 5261-8574 資料請求 No. 051 info@astec.co.jp E-mail : ( E - ma ⅱでのお問い合わせは商用ネットをご利用ください。 ) URL : http://www.astec.co.jp/CPT/cpt20.html
連載 / プログラマー入門ーの リスト 6 Navigator オプジェクトのプロバティを表示する HTML く html> く head> く tit1e>Navigator オプジェクトのプロ / ヾティく / title > く /head> く body> く table border=l> く script 1anguage="JavaScript " > / / appCodeName プロバティの表示 document . writeln ( " く tr> く td>appC0deName く td>" + navigator ・ appC0deName) ; / / appName プロバティの表示 document . writeln ( " く tr> く td>appName く td>" + navigator. appName) ; / / appVersion プロバティの表示 document . writeln (" く tr> く td>appVersion く td>" + navigator. appVersion) ; / / userAgent プロバティの表示 document. writeln( " く tr> く td>userAgent く td>" 十 navigator. userAgent) ; / / plugi Ⅱ s プロバティは P1ugi Ⅱオプジェクトの配列 / / ーこでは、 P1ugi Ⅱオプジェクトの name 、 description プロバティを表示 document . writeln(" く tr> く td>plugins く td>") ; for(i 0 ; i く navigator ・ plugins . length; i + + ) { document . write(navigator. plugins [i] . name 十 " : " + navigator . plugins Ci] . description 十 " く br>") ; / / mimeTypes プロバティは MimeType オプジェクトの配列 / / ここでは、 MimeType オプジェクトの t e プロバティを表示 document . writeln( " く tr> く td>mimeTypes く td>" ) ; for(i 0 ; i く navigator. mimeTypes . length; i + + ) { document . write(navigator. mimeTypes [i] . type + " " ) ; く /script> く /table> く /body> く /html > 次回は JavaScript の文法 UNIX MAGAZINE 1997.5 そこで、次回は JavaScript の文法 ( 言言士様 ) をとり しように書いてエラーを起こした方もいるでしよう。 うにしました。しかし、なかにはつい Java や C 十十と同 として紹介したプログラム類も、できるだけ簡単になるよ と宣言して、言語 f±様の説明は避けてきました。サンプル 「 JavaScript の文法は Java とだいたい同し」 これまで、 JavaScript 言語の文法を習得しましよう。 が一段落しました。このあたりで、いったん落ち着いて これでやっと、 JavaScript のオプジェクト・ツアー あげます。すでに、皆さんは多くの JavaScript オプジェ クトを扱えるようになっているはすなので、文法を知らな くてもなんとかやりくりできるでしよう。しかし、スクリ プト言語のネックである、、処理速度 " を上げるには 仕様を知っているほうがよいに決まっています。 JavaScript の言言士様は、 Java の言言吾信 : 様のサプセット十住 なので、マスターするのに苦労はありません。さらに 、、十。 " の部分には、本 f 勺な JavaScript フログラムを作 るのに役立つ、ちょっと個勺な機能か含まれているので、 知っていると重宝するでしよう。 ( あらい・みちこ ASTEC) 115
連載 / プログラマー入門ーの リスト 5 window. history 文字列をそのまま表示する HTML く html> く head> く title> く /title> く /head> く body> く script> / / windov.history 文字列を str に設定 str = new String(window. history) ; / / 1 文字すっ調べる 0 ; i く str. length; i + + ) { for (i = / / c は i 番目の文字 str. charAt(i) ; C if (c / / HTML の予約文字は、普通の文字として表示 document . write("< " ) ; else if (c document . write("> " ) ; else if (c document . write(t'& ” ) ; else { / / 普通の文字はそのまま表示 document . write (c) ; しました。 Netscape を起重丿けるときに、次の環境変数カ症義され ていれば安全対策の機能が外さクライアント側の情報 が JavaScript プログラムに渡されます。 NS-ENABLE TAINT 竟変数は定義さえされていれは、設定する値はなんで もかまいません。たとえば、 /bin/sh を使っているなら、 $ NS_ENABLE-TAINT=yes $ export NS-ENABLE—TAINT と設定しておけは、リスト 4 やリスト 5 の HTML も期 待どおりに動くでしよう。 Windows を使っている場合 も、 NS- ENABLE- TAINT を設定すれば安全対策の機 能が外れ、一描されていた情報にアクセスできるようにな ります。 「ふーん。でも、なんで履歴の一覧か守らなきゃいけない 情報なんや ? 」 「たとえは、社内の Web の情報も一緒に見てたとする じゃない」 く /script> 「ふんふん」 く /body> 「とすると、社内のページのタイトルが履歴に表示される く /html> よね」 「それで ? 」 身を破壊されたり、ェイプリルフールの日に画面に変な表 「そのなかに、、 xx 工事の合意価格 " なんてタイトルがある 示か現れる 3 なんて症状は序のロです。なにしろ、多くの と、やばいしゃん」 Web プラウサはインターネットにつながっているので、 「なるほど。俺はまたてつきり、ェッチベージにはかり クライアント側のコンピュータで集めた情報をネットワー アクセスしてるのがはれると恥すかしいんやと・・ クを通じてどこカ送りこむことだってできるのです。そ こで、 Java や JavaScript を安全に実行するために、な Navigator オフジェクト んらかのセキュリティ対策が必要になります。 Netscape の上昜合 Netscape 3.0 よりも前の JavaScript には、これまで 説明してきたオプジェクトに加えて、もう 1 つだけ利用で クライアント側青報を JavaScript プログラムに渡さ きるオプジェクトがあります。その名も Navigator オプ ジェクトです。 という方針で安全対策をおこなっています。ところが、 「そ、それって、すいぶんすごい名則じゃない ? 」 すべての情報を JavaScript プログラムに渡さないと 「 Netscape 以外は、このオプジェクトをもったらあかん なると、それはそれで使いものになりませんそこで、 N 。、一叩。では、安全対策に穴をあけるガ去も高時に提供 のやろかと思うような名前やろ」 「うん、まったく。で、そいつは何ができるの」 3 ウイルスに感染していなくても、 Web ではしはしは画ⅲに変な表カ訒覡 Netscape Communications のマニュアノレには、 れますが・・ 113 UNIX MAGAZINE 1997.5
連載 / プログラマー入門ー② リスト 2 キ諚されたタイトルのページを表示する HTML く html> く head> く input type=button value=" 移動 く input type=text name="where"> く form> く body> ください。指定されたページを表示します。く p> 空欄にタイトルを入力して「移動」ボタンをクリックして く /head> く title > 指定ページへ移動するく /title> ( 誌面ク堵に合ーにて折り返しています。以ー - ト 1 研 く /html> く /body> く /form> (form. where . value) onCIick="window. history ・ go れ盟れわ er には、現在表示しているべージからどれだけ戻 るか、あるいは進むかを指定します。 number の値は次の ようになります。 0 なら現在のページをそのまま表示 ーれ " なられページ則のページを表小 れなられページ後ろのページを表示 「すると、 ・・ちょっと待ってよ」 「ん ? なんか、ええこと思いついたん ? 」 「タイトルの代わりに 3 とか、一 5 " とかの数字を入力 すれは、リスト 2 のプログラムをそのまま使えるんしや なし、 ? 」 試してみましよう。さきはどの図 3 の空欄に や、、一 5 " を入力してみてください。 「あれえー。違うべージか表示されちゃった」 「うーん。こっちは表示か変わらへん」 3 図 3 諚されたタイトルのページを表示 由記らの 0 n P 市 9 物まツ三ど日 Edit 内 N “ョ” - [ 指定ページへす引 find はテキスト・フィールドを表すフォームで、、、 where" と いう名前を付けています。 このリストの主役は、、移動 " ボタンのはうで、前後のペ ージを表示する例と同しく、 onC1ick="window. history ・ go(form. where . value)' のイベントハンドラが、クリックしたときの処理を決めて 空欟にイトルを入力して移動」ボ窄ンをクリックし てください。指定されたページを表示します れァ′ form . . います。 次に、ページ数を指定するガ去を試してみましよう。記 定ページにジャンプしています。 トルカされます。この値を go() メソッドに渡して、指 こでは、テキスト・フィールドに入力されたタイ 、 where" という名前の部品の value の値を返します。っ は、ボタンを含むフォームと同しフォームに含まれる UNIX MAGAZINE 1997.5 window. history. go ( れ社 mbe の 杉式は以下のとおりです。 同しフログラムを流用するアイデアは、、いまいち " だっ たようです。いったい何が間題だったのでしようか。 スクリプト言語だと、つい、、型 " を忘れがちですが、 応 JavaScript にも型があります。テキスト・フィールド の value の値は文字列型です。しかし、ページ数を指定す るときの g 。メソッドは、数値型の値を受け取ります。し たがって、文字列型の値を数値型の値に変換しなくてはい けません。 変換には関数の parselnt() を利用します。 parse- lnt() は文字列を受け取り、その文字列が意味する数値を 返します。リスト 2 のイベントハンドラを、 onCIick="window. history ・ go (parselnt(form. where . value) ) " と書き直せは、ページ旨定バージョンの完成です。 リスト 3 は、指定されたページ数のページを表示する HTML の完全版です。図 4 は、この HTML を表示し て、テキスト・フィールドに、、 4 " を入力した状態です。 ばいいカ寸旨定しづらいというか・ 「 g 。メソッドって、どうも使いづらいよね。どこに飛べ history オフジェクトは変身する のページを表示します。 の状態で、、移動 " ボタンをクリックすると、 4 ページあと 109
おいのいをい辷 ! マ′ 3 ッち 11 ニ V 日一粍・「物 - ー l[ülJlJSC SC 翡 30 クラフィックス開発キット 実践 3 ロプロクラミンク 3 次元空間を自由自在に操る、 実践 3 ロプロクラミンク。 W i n d 0 w s 9 5 / N T 、 M a c i n t 0 s h 、 F M - TOWNS 、 X-Window 、 SiIicon Graphics に 対応したプログラム開発が可能 ! マルチプラット フォームに対応した 3 ログラフィックスライプラ ミリ、開発ツール、サンプルプログラムをソースド とともに C ロ - ROM に収録。 ue lmpuls を用 いて開発したプログラムーフリーソフトであるか 製品であるかを問わす、自由に公開可能。 修著属 0 誠司 ル価 30 グラフィックス盤キッ 有川課ー第 山川を習・ ・表示価格には消費税を含みません。・本製品は、書店及び書籍を扱っているパソコンショップでお買い求めください。・品切れの際は書店にてこ注文いただくか、 通信販売をご利用ください。・通信販売のお問い合わせ先株式会社ダイレクト電話 03-5351-8202 http://www.ascii. CO. jp/direct/ 〒 151 ・ 24 東京都澁谷々木 4-33-10 出版営業部 ( 03 ) 5351-8194 株式会ネ土アスキー
第一回 プログラミング コンテスト AITEC では、第五世代コンピュータブロジェクトの主要成果である KLI 言語を、汎用計 算機上に移植した処理系 C を使って、プログラム作成の腕前を競うユ C プログラミング・ コンテストを実施しました。多数の応募を頂きありがとうございました。最終的に 77 件 ( グループ含む、内訳学校関係 : 件 / 社会人 : 17 件 ) の作品を応募いただきました。 審査委員会倭員長 : 溝ロ文雄東京理科大学教授 ) による厳正な審査により、受賞された方々です。 受賞者の方々おめでとうございます。 規定課題 自由課題部門 逐次環境部門 味松康行殿 ( 北陸先端科学技術大学院大学 ) 宇佐治彦殿 ( 東京大学 ) 寺西克敏殿 ( 東北大学 ) 並列環境部門 最優秀賞 長健太殿 該当者なし ( 早稲田大学 ) ( 副賞 50 万円 ) 優秀賞 宇佐治彦殿 荒木拓也殿 ( 東京大学 ) ( 東京大学 ) ( 副賞 30 万円 ) 大野和彦殿 津邑公暁殿 佳作 ( 京都大学 ) ( 京都大学 ) ※技術賞 川崎直丸殿 ※名取伸殿 ( 副賞 10 万円 ) ( 東京工業大学 ) ( 東京工業大学 ) 伍十音川頁 ) ◆受賞者コメント : 「プログラム作成に際しては、主に処瑪里度を速くするということに注意したのですが、純粋 ( 抜粋 ) に速度だけで評価されるのかどうか分からなかったので、ちょっと不安でした。」 休松氏、逐次環境部門 ) 「 KI ュは他の並列計算機用の言語と違い、プログラムが逐次環境で動くのか、並列環境で動く のかをあまり意識せずに並列に処理できるプログラムを書くことができ、面白いと感じまし た。」 ( 川崎氏、並列環境部門 ) 「床屋にも行かず頑張った甲斐があサました。」 ( 津邑氏、自由課題部門 ) ◆審査員コメント : 「多くのプログラムは、見通良く書かれ、、、リ機でも正しく動作し、糺 1 言語が基本的に並 ( 抜粋 ) 列プログラミングに適していることを再認識するらとができました。その一方、プログラムの チューニングによって良い並列性能をあげるための方法論や技術の確立と、並列プログラミン グ環境の整備の必要性を痛感しました。」 ( 上田委員、早稲田大学助受 ) 「自由課題には、多彩な応募作品があり、その一つ一つを審査員として楽しむことができた。 ビジュアルな効果を持つ応募作品が多く、 c プログラミングについて、新しい世代の台頭を実 感した。 ( 田中委員、筑波大学助受 ) サイバー表彰式 / 受賞イ乍品 / 講評等は、ホームページで公開しております。是非、お立ち寄り下さい。 第二回 IC プログラミング・コンテスト 平成 9 年 5 月上旬頃、開催日程を AITEC ホームページにてお知らせします。 KLIC についての詳細も、 AITEC ホームページをご覧ください。 Ⅲ C はこのページでソースの配布をしておりますが、希望者には CD - ROM にて配布いたします。ご希望の際は、電子メー ルにて、氏名、住所、所属、および「 KLIC の CD-ROM 希望」と明記の上、 klic-contest@icot.or.jp あてにお願いします。 財団法人日本情報処理開発協会先端情報技術研究所 ( AITEC ) 主催・事務局 〒 105 東京都港区芝 2-3-3 芝東京海上ビル 2F TEL. 03-3456-3193 FAX. 03-3455-4877 e-mall : 1甲r@icot.or. JP URL : http://www.icot.or.jp/AlTEC/ 資料請求 No. 040 一三
連載 / プログラマー入門ーの history オプジェクトでページを移動するには、次の 3 ージへ移動するく /title> リスト 1 前後のページを表示する HTML く form> く body> く /head> く title > 前後のペ く head> く html> すないでしょっ 2 く /html> く /body> く /form> onCIick="window. history. forward( ) value= " それとも進む ? " name="forward_button" く input type=button onCIick="window. history. back() " > value=" あと戻りする ? " name="back_button" く input type=button back メソッドと forward メソッド history オプジェクトを使います。 history オプジェク JavaScript では、たどってきたページを表小するのに トは window オプジェクトのプロバティとして、 ・ go 朝 e ) ・ forward() ・ back() つのメソッドを利用します。 て参照できます。 window . history から紹介しましよう。リスト 1 をプラウサに読み込むと、 ますは簡単な back() と forward() のプログラムの例 ます。 を表示し、 go(page) は四 ge で指定したページを表小し back() は 1 つ則のページを、 forward() は次のページ 図 2 崩麦のべージへ手鋤するべー EiEe 印 i を Yiew 旦 eokm いにを。娵 Y 8 k 「朝ⅵ 4 H32 OEdit 、 Reload ) 1 の み《をこ叩を一 [ 前住のページへす引 Open Find ■同ロ、 と書かれた、 2 つのボタンカに並びます。、、あと戻りす る ? " ボタンをクリックすると 1 つ前のページが、、、それと も進む ? " ボタンなら次のページが表示されます。ただし、 このとき表小するべージがない場合は、現在のページがそ のまま表示されます。 表示されたボタンは、 HTML のフォームで作った普通 のボタンです。ただし、それぞれのボタンを表すリスト 1 のⅲ put タグには、イベントハンドラとして、 ・ onClick=" window. history. back()" ・ onClick=" window. history. forward() ” か叡疋されています。これで、ボタンがクリックされたと きには上のイベントハンドラか夫行されて前後のページが 表示されます。 go メソッド 次は go メソッドです。 go メソッドで表小するべー を指定するには、 2 つの去があります。 1. タイトルを指定 2. ページ数を指定 ン 図 2 のように ・あと戻りする ? ・それとも進む ? 2 1 つ 1 つ謌・ヾてまわったわけではないですが、 プラウサはとても使いにくいでしようれ 108 もしあったら・・・・その 最初はタイトルを指定する例から紹介しましよう。言当 形式は以下のとおりです。 window. history. g0(厖″e) title には、表示するべージのタイトル文字列を指定し リスト 2 をプラウザに読み込むと、空欄 ( テキスト・フ ィールド ) とボタンが 1 っすっ表示されます。図 3 のよう に、空欄にこれまて表示したページのタイトルを書き込ん でボタンをクリックすると、指定したページか表示されま す。リスト 2 の、 く input type=text name="where"> ます。 UNIX MAGAZINE 1997.5
図 12 日版のインストール画面 とかできます。 図 11 下部の、、 Select" や、、 Exit lnstall" を、 こでは メニューボタンと呼ぶことにします。基本的に、インスト ール竹喋は画面上部で設定し、言カ鮗ったらメニューポ タンの、、 OK " などを選んで次のステップに進みます。イ ンストール・プログラムで用いるおもなキー操作を表 3 に まとめます。参考にしてください 34 以前のバージョンからのアップグレードなどを除き、 FreeBSD のインストールには 3 つのコースがあります。 版をお使いの場合は適 : 売み換えて竹喋をおこなってくだ ・ N()VICe monkey 君が言っていたように、どのような OS であ ドキュメントにも書かれていますが、、、 FreeBSD の初 インストールイ 1 璞はだいたい同じようなステップを踏 心者 " ではなく、、、インストール・プログラムの初心者 " みます。 FreeBSD の場合、、、入れ物 " であるハードディ 向けのコースです。インストール・プログラムカ鴃めら スク ( 以降、、、ディスク " と略 ) の設定から始め、以下の れた手順に沿ってナビゲートしてくれるので、ユーサー ような手庫に竹喋します。 はインストール・プログラムからの質問に答えていくだ けです。これから何をするかという説明かイ′ド業の前に示 1. FreeBSD をインストールする領域の設定 されるので、初めて FreeBSD をインストールする場 ディスクに FreeBSD のための領域を石呆します。今 合にお勧めです。 回はディスク全体を FreeBSD として使いますが、ディ ・ Express スクを分割して MS-DOS や Windows などと混在さ 順番に従ってイ 1 喋は進みますが、イ乍業内容の説明などは せることもできます。 ありません。過去に何可も FreeBSD のインストールを 2. 領域内でのパーティション疋 経験していて、それぞれの設定画面で何をすべきかが分 こでのノヾーティションとは、 UNIX のノヾーティショ かっている人向けです。 ンを意味します。 MS-DOS や Windows でいうパー ・ Custom ティションではありません。 DOS/Windows でいう メニューから必要な項目を選んで設定します。 パーティション ( 領域 ) のなかに、さらに UNIX が独 自にパーティションを作ります。 FreeBSD の領域に対 それぞれのコースは、上下の矢印キーを使って図 11 の し、 / ( ルート ) や /usr などのパーティション、ス 項目 5 ~ 7 のうちいすれかを反転させ、メニューボタン ワップ領域を割り当てます。 の Select を選ぶと始まります。ここでは Novice コース 3. ソフトウェアの〕尺 を〕尺したものとして進めます。項目 2 の、、 D 。 c " を選ぶ マシンの構成や利用目的などに応しインストールする と、 FreeBSD に関する説明やインストール・ガイドなど ソフトウェアを尺します。 のさまざまなドキュメントを見ることができます。日本語 4. ディスクのネノ琪月化とソフトウェアのコピー 版のプートフロッピーでは、これらのドキュメントも日本 おこなった設定に沿って、実際にディスクをセットアッ 語に翻訳されているので、竹業を始める前にぜひ読んでお プして CD-ROM などからソフトウェアをコピーしま いてください。 す。この竹喋はインストール・プログラムがおこなうの FreeBSD のインストール・プログラムは / stand / で、ユーサーは進み具合を眺めるだけです。 sysinstall にあり、インストール後も使うことができま 5. インストール後の設定 す。最初からすべてをやろうとすると、、ハマる " こともあ X ウインドウ・システム (XFree86) やネットワーク 34 ネノ画面で、 1 Usage" も遽 ; : と、キー操イ ) ー -- ・覧表を見ることかでき といった各種の設疋、ユーサーの追加などをおこなうこ ます。 のでを 下と 以こ、 ョす る用な、 , ド ち用一 てを のナか者モ のが ュ文そとそキつ物復 ・ビせ熟修る 1 てこ のとる 確るるるしド設 初こけ るを下すす用一 下抜 、すン始始始使レ の押を 明択ョ開開開を / てム名を一′訳選シをを一プ 0 をプルルルビッ集 「・一ョ田ニ 下ブオ一一一ツア語 関イルトトトロをの用 にタ一スススフム後る ; 1 ルのトンンンはテルす →一ドスイイイたス一関 ト一ン用グムまシトに : 一キ下王 矢し イキ各初ク . カ圓既イ各 、を選す・ か」ま ッョムグ どョて 日のシが法マシ者タプ ンプと 用書一プズュ正引 LL ョオこ 使文キオ初高カア設 はシのる れア的す こオ目動 38 UNIX MAGAZINE 1997.5
連載 / プログラマー入門ーの リスト 3 キ諚されたべージ数のべージを表示する HTML く head> く html> 空欄に数値を入力して「移動」ボタンをクリックしてください。 く /he ad> く title > 指定べージへ移動するく /title> (form. where . value) ) (parselnt onC1ick="window. history ・ go く input type=button value=" 移動 く input type=text name="where" > く form> く body> 指定されたべージを表示します。く p> く /form> く /body> く /html > 図 4 諚されたページ数のべージを新 BEk ケ当らを L 朝 ( トⅢ P ノ / 物 - 「。。 / をョ / 。あ物ー み ( ョ” - [ 指定へージー、、輸す引 - ロ X 空欄に数値を入力して「移動ボンをクリックしてく 「なんか、はかにないの ? 」 「そうくると思った」 ださい。指定されたページを表示しま 110 拓漲機能の大部分は、 されたときに、 JavaScript の機能も拡張されていました。 に書いてきました。ところが、 Netscape 3.0 がリリース たので、 JavaScript の仕様も Netscape 2. x をベース JavaScript の連載を始めたころは Netscape 2. x だっ 「 Netscape 3.0 以降でしカ硬えないんだな、これが」 「何か問題があるの」 「うーん、できないこともないんだけどね・・・・・・」 住司メニューみたいに一覧にしてみたいよね」 「でも数だけ分かっても使い途がないしゃん。やつばり、 で得られます。 history. length メソッドで彩動できるべージの数は、 表示されるべージの数か設定されています。つまり、 go() history の length プロノヾティには、 [Go] メニューに ・新しいオプジェクトをまるごと追加 ・複数のオプジェクトに共通のメソッドを追加 ・グローバル関数をメソッドに変更 なのですが、なかには history オプジェクトのように、フ ロバティが」助日されたり、使い方カ吠きく変わったものも あります。さらに、 j 助日機能のなかには、 Netscape 以外 の JavaScript 対応プラウサではまた川乍しないものもあ るので主意してください。 本題に戻って、表示ページの履歴を得るガ去の説明を続 けましよう。なんだか妙なのですが、 window. history でアクセスできる情報には、 3 つの側面があります。 1 つは、 back メソッドや length プロバティをもつ普 通のオプジェクトとして刎則面です。 2 つ目は、履歴に保存されているべージの URL をもっ た配列として刎則面です。 window. history [ れ de 司 で、履歴に保存されている d 番目のページの URL が 得られます。つまり、 ・売ェが、、 0 " なら履歴に残っている一番古いページ window. history 挙した文字列としての側面です。 3 つ目は、履歴に残っているすべてのページの情報を列 読み込んだページ ・乞れ de ェカゞ、 window. hist ory. length ー 1 ' なら、最後に UNIX MAGAZINE 1997.5 列の history や文字列の history が参照されたりします。 ストによってオプジェクトの hist 。 ry か参照されたり、配 これらの 3不鶤頁の history は同じ名前ですが、コンテキ パティと考えてください。 は、 history 配列とは別の、文字列形式の情報を返すプロ 配列に分類されています。しかしプログラムを作るときに tions が公開しているオンライン・マニュアルでも history 式として位置つ、けられており、 Netscape Communica- が、これは history 配列の [index] を省略した特別な形 した文字列か得られます。どのような理屈なのかは謎です にアクセスすると、タイトルと URL を含むリンクを列挙