連載 / プログラマー入門ーの リスト 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
IJN Ⅸへの招待 は、 \documentstyle{... } \begin{document} \end{document} の 3 つが必頭です。 % mule sample. tex さきはど書いたように、 IN1bX で文書を作成する場合 として新たな、、 . tex" ファイルを作成する場合、 C-c c-e 図 3 document 乍成 囹 mule@第鳴el.home \dæunentsty1e[a4j, む。 ] {jarti. cle} . f そに Fi_l* Edit !_ lffl. 引 L 訂 App].Y1-ng style 0ks... d0 \end{dæurent} \tegin{dæt-ænt} H*lp 「 L 日 T そ物ー で document 竟を指定すると、 あがります。 ます、 C—c C—e このワンセットかて、き とタイプします。すると、 Environment type : (default document) ロ と表示されます。ここで Return キーを押すと・・・・あら 不思バッフアの : 頁に ミニノヾッフアに \documentstyle か書き加えられて、 Document style : 、ニノヾッフアに (default jarticle) ■ と表示されます。デフォルトのスタイルにの例では jar ー ticle) でよければ、 Return キーを押します ( この部分で は Space キーによる補完カ鉢リ用できます ) 。すると、また またミニ / ヾッフアに と表示されます。 こでオプションのスタイル (a4j や twocolumn など ) 2 を入力すると ( オプションか不要な 場合は Return キーを押します ) 、図 3 のように 3 つの Opt i ons 2 複数のオプションを指定する場合は す。 148 " ( カンマ ) て区切って列挙しま コマンドカいます。新たに文書を作るときは、最初に の操作をするといいでしよう。 次は箇条書きを作成する itemize 竟です。この竟 では、箇条書きにする各項目を \ item の後ろに言己して いきます。 \begin{itemize} \item 初代は、ウルトラマンてした \item 2 代目は、ウルトラセプンです \item 現在は、ウルトラマンティガです \end{itemize} これを物杉すると、次のようになります。 イ & は、ウルトラマンでした ・ 2 代目は、ウルトラセプンです 現在は、ウルトラヤンティカです UNIX MAGAZINE 1997.5 ります。 3 2 回目以降は、その直前の C-c C-e て寸彳定した竟がテフォルトにな Space キーによるコマンド名の補完を利用して、 デフォルトの竟が itemize 以タトになっている場合は、 Environment type : (default itemize) ■ キーを押すだけでかまいません。 デフォルトの竟になっているはすですから 3 、 Return C-c C-e をタイプしたときは、下記のように itemize が こで、目的の環竟名、、 itemize" をタイプします。初めて フアに竟名の入力を促すメッセージカ俵示されます。 いだの任意の場所で C-c C-e をタイプすると、ミニバッ \begin{document} から \end{document} までのあ それでは、 itemize 竟を作ってみましよう。
UN Ⅸへの招待 図 2 プリアンカレと本文の関係 スタイルの指定 法では中括弧までは補完してくれないので、自分でタイプ するか、引続き ESC と TAB キーを押してください ( 後 者の場合、中瓜だけカ黼完されます ) 。 マウスで選ぶのではなく、候補一覧を見ながら AUC か補完できるまで文字をタイプし、再度 ESC と TAB キーを押してもかまいません。この場合は、コマン ド名か補完さ末尾に中瓜か加えられます。 い TEX の文書の本髄 こまでは、テキストの入力時にコマンド名を補完す ごニノヾッフアを使い、 る機能を紹介しました。以降では、 MuIe のメッセージに従ってコマンドや引数、オプショ ンなどを指定する機能をみていきましよう。この機能を 利用すると、 \documentstyle [a4j] {j article} のようにプラケット ( [ ] ) 内のオプションや中瓜内の 引数をともなうコマンドを簡単に入力できます。 ところで、この documentstyle というコマンドはど のような働きをするものなのでしようか。話が前後しま すが、こですこしだけで作成する文書の構造に 触れておきましよう ( ご存しの方は、さきに進んでくだ さい ) 。 INIbX で整形する文書の本文は、原則として \begin {document} と \end{document} のあいだに記述しま \documentstyle い / の 細部を調整するための : コマンドを記述 \begin {document } 本文 \end{ document } ・ープリアンプル す。つまり、 \begin{document} 本文 \end{document} というふうにします。そして、 この文書全体をどのよ うに整形するかという指示を、ファイルの先頭部分 (\begin{document} の前 ) に記述します。この部分 を、、プリアンプル (preamble)" と呼びます。 文書のおおまかなスタイル ( ー殳の文書、報告書、本、 手紙など ) は、プリアンプルの地寬こ書く、 \documentstyle{style} UNIX MAGAZINE 1997.5 の style の部分で指定します。標準では、次のようなスタ イルが用意されています 1 。 ・ article (jarticle 、 j-article) ーヨ勺な文書のためのスタイル ・ report (jreport 、 j-report) 147 のは NTT 用のスタイルで・す・。 1 知頁に j カイ寸いているのはアスキー日本語 IATEX 用、 j - カ寸いている 境を入力してみましよう。 キーで作成できます。このキーを使って、 document 環 AUC rIbX では、これらの環境を C-c C-e という ださい ) 。 ど、さまざまなものがあります (ü岩田は前号を参照してく や箇条書きのための itemize 、表を作成する tabular な ment をはしめ、センタリング ( 中 : リ 9 前え ) をする center という命令です。環境には、前節で例に挙げた docu- に挟まれた部分を、、〇 x △ " という環境で整形しなさい」 があります。これは「 \begin{ 〇 x △ } と \end{ 〇 x △ } 前回も触れたように、 I*TEX には、、環境 " という概念 を作る す ( 図 2 ) 。 に、プリアンプルと本文との関係を簡単に図示しておきま ころはこれだけ知っていれば一ト分でしよう。参考のため 部分の幅や高さなど、細かな各ができますが、いまのと プリアンプルでは、これ以外にも用紙の大きさや本文 手紙のためのスタイル ・ letter 本のためのスタイル ・ book (jbook 、 j-book) 論文、報告書など、やや長めの文書のためのスタイル
連載 / プログラマー入門ーの リスト 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
AUC がインストールされていても、ホーム・ディ レクトリの下の . emacs ファイルに次の 1 行を書き加える 必要があります。 (require 'tex—site) これは、、、 MuIe の起重加こ auctex の基本言殳定か書か れたファイル (tex-site) を読み込んでおく " というおま しないです。 それでは、 AUC rIbX で INI'EX のドキュメントを作 りながら、機能を 1 つずつ勉強していきましよう。ます、 と入力します。すると、次のように補完されます。 UN Ⅸへの招待 図 1 補完のため羅一覧 回 mule@謝-tgel 」 - 2 LaTeX. r_,r_TffflFtnd :uffe.r.s Fi-1p. Edit H*.lp ー * * ヨ小口 - : .sample. t_er (LaTe7.) ーー自Ⅱ ~ C11Ck 四 e ー 2 on a completxon t0 select it. ln this buffer, type RET t0 18t the cocnpletion near t. ド cunpletion lxst... done Possib1e cmpletions are: dasbx ー「 1u1 日 : * 〔 : 朝を t.l 国霍 * \documentstyle{}å \do [É$C] [ な可 ( 「 0 Ⅲ pl 已 t_ ユ L 工 t_.i ーー自 11 ー Mule を起動します。 % mule sample. tex ます、コマンド名の補完機能から紹介しましよう。ご コマンド名の補完 ります。 ' IVfX が使えるようになり、モードは LaTex モードにな た (require 'tex-site) という言己があると、 AUC ードになります。このとき、 . emacs にさきほど説明し 子が、 . tex " だと、 Mule は TeX ( または LaTeX) モ 前回も説明しましたが、編集対象のファイル名の拡張 \end{document} \begin{document} \documentstyle{j article} 存じのとおり、い (IbX のコマンドは、 ろまでタイプし、 ESC TAB キーを押すと、コマンド する機能があります。 \ に続けてコマンド名を適当なとこ AUC には、逆スラッシュて始まる文字列を補完 ドもたくさんあります。 その後ろに中括弧 ( { } ) を付けて引数を指定するコマン のように、、 \ " ( 逆スラッシュ ) から始まります。さらに、 \documentstyle たとえば、 名の残りの部分か補完されます。 146 を入力したいときは、 \do までタイプしてから、 コマンド名に続けて { } も補完してくれるところが嬉 しいですね。前述したように、 INIVfX にはコマンド名の 末尾に中括弧の付くものがたくさんあります。引数を指定 する場合は、カーソルを 1 っ左に移動し、それを入力す るだけです。 候補一覧 にはたくさんのコマンドがあるので、先頭の 何文字かが同しものもあります。たとえば、 document- style 、 dashbox 、 date は、、 d " て始まり、後ろの 2 つは 先頭の 2 文字目まで同しです。このような場合、たとえ ば date を補完しようとして、 \da [E$C] [ な可 とタイフすると、どうなるでしようか。 AUC rIbX は、入力された文字列だけでは完全に補完 できない場合、一嚇甫一覧を、、 *Completions* バッファ に表示します。図 1 をご覧ください。これは、 \ da に続け て ESC と TAB をタイプした直後の様子です。下のウィ ンドウに *CompIetions* バッフアが作らオしそのなかに 候浦となるコマンド (dashbox と date) が表示されます。 : 麪頁のメッセージにもあるように、ここで目的のコマンド にマウスカーソルを移動してマウスの中央ボタンをクリッ クすると、そのコマンドか〕尺できます。ただし、この方 UNIX MAGAZINE 1997.5
CIFS ■ ・印刷、プラウジン久セキュリティについては、別個 に負嶽を作成する。 ・ SMB の機能を吸収する。 ・イ」 : 様の細部を煮詰める。 88 cepts 員れ d Me 0 赤 , RFC 1001 , Mar. 1987 NetBIOS Ser ・ vice 0 れ佖 TCP/UDP れれ夘 0 : CO ル NetBIOS Working Group, ProtocoI S れ da For 佖 [ 1 ] DARPA, End-to-End Services Task Force, IAB, [ 赭文献 ] ■ Jeff Tanner WRQ のサーバー・ソフトウェア t 者。 企業ネットワークの PC 接続、管理用ソフトウェアを開発する 編集については WRQ の Linda Lewiso は、 Steven Baker と SunSoft の Brent Callaghano and Services の Richard Sharpe 、 WebNFS について Leach 、 Gary Voth および NS Computer S0ftware Jackson の各氏、 CIFS については、 Microsoft の Paul Mark Espe 、 Kyle Marvin 、 Dave Kriewall 、 Michael Keith Mange 、 Scott Werden 、 POIIY Powledge 、 SMB と NFS については、 WRQ の David Hebert 、 ーーに記して謝意を表する。 この記事の執筆にあたり、以下の方々にお世話になっ る程隻の時間が必要かもしれない。 めとするファイルシステムと同等の水售に達するには、あ しかしながら、 CIFS 標準とその実装が、 NFS をはし とのあいだでのメッセージ交換を可能にする。 管理端末 (administration console) 、ほかの DC ・ドメイン・コントローラ (DC) とクライアント・サーバ SMB ( ューサーデータ ) を暗号化する。 ・ネゴシェーションとセッションの確立を除くすべての する。 る。これにより、取替えが可能で、一貫性をもつものに ・ CIFS の認証を拡張し、 GSS-API[6, 7 ] をベースにす を使うプラウジング欟冓を言する。 (Lightweight Directory Access Protocol) [ 3 , 4 , 5 ] ・プラウズリストの階層構造を可能にする LDAP ・ NetBIOS セッションを確並する部分を切り離す。 [ 2 ] DARPA, End-to-End Services Task Force, IAB, NetBIOS Working Group, 、 otocol S れ d 佖司 For 佖 ル召 / OS Service 0 れ佖 TCP/UDP 7 テ佖れ s 〃 0 : De- tailed Specifications, RFC 1002 , Mar. 1987 [ 3 ] Wengyik Yeong, Tim Howes, Steve Kille, カ朝ん t - e 朝ん t Directory Access Protocol, RFC 1777 , Mar. 1995 [ 4 ] A. Young, Connection-less ん朝ん twe 朝んこ Directory Access ProtocoI, Jun. 1995 [ 5 ] T. Howes, 員れ 9 月 se れ t 佖 0 れ可カ〃員 P Se 礰℃ん Filters, Jun. 1996 [ 6 ] John Linn, Generic Security Service 員観れ Program lnterface, RFC 1508 , SPt. 1993 [ 7 ] John Wray, Generic Security Service API : C- 碗れ市れ gs , RFC 1509 , Sept. 1993 [ 8 ] B. CaIIaghan, B. Pawlowski and P. Staubach, NFS Version 3 Protocol S 〃 ec ca 0 れ , RFC 1813 , Jun. 1995 [ 9 ] G. CouIouris, J. Dollimore and T. Kinkberg, 〃を s ー t い記 Systems: Concepts 0 れ d 〃 es 朝れ , 2nd ed. Addison-WesIey, 1994 [ 10 ] B. Friesenhahn, "WebNFS" BYTE, Nov. 1996 [ 11 ] I. Heizer, P. Leach and D. Perry, "Common lnternet FiIe System Protocol(CIFS/1.0) ” , Microsoft, Aug. 1996 ftp: //ftp.microsoft .com/deve10pr/drg/CIFS/ cifs/cifs4. txt [ 12 ] Microsoft, OpenNET/Microsoft ル et 社 , 0 s 角 S ん 0 れ 9 PT ・尻 ocol ノ . 仏 lntel PN 136329-001 , 1987 [ 13 ] Richard Sharpe, "Just what is SMB?" vl. 0 , Sept. 1996 http: //samba. anu.edu/au/cifs/docs/what-is¯ smb . html [ 14 ] Ⅵを Richard Stevens, UNIX e ) 0 Programming, Prentice Hall, 1990 [ 15 ] X/Open, 、 'IPC Mechanisms for SMB ” , X, / 0 を e れ Document CAE C ノ 95 , Feb. 1992 [ 16 ] X/Open, 、、 X/Open CAE Specification—Protocols SMB, Version2 ” X/Open PC lnterworking: X / 0 〃 e れ Document CAE 209 , Sep. 1992 [ 17 ] X/Open, "Protoc01s for X/Open lnterworking: XNFS" , X / 0 e れ Document C ス月 525 , Aug. 1996 「 CIFS: Common lnternet FiIe System 」 UNIX REVIEW 1997 年 2 月号より ◎ 1997 , UNIX REVIEW (). S. A. ) UNIX MAGAZINE 1997.5
c-c c-m は、、、マクロ " を補完するためのキーです。 そもそも、 INIbX 自体が rIbX のコマンドを組み合わせ て作られた、、マクロバッケージ " なので、 IATEfX のコマ ンドや環境は、ほばすべてマクロといってもよいかもし れません。ただし、 AUC では、工竟やフォント、 見出しなどの指定を除くコマンドをマクロと呼んでいる ようです。どのコマンドがマクロと呼ばれるのかを知り ニバッフアで入力するときに、 \ に続けて たい人は、 Space キーを押してみてください。 C-c C-m て補完でき るコマンド ( マクロ ) の一覧が *CompIetions* ノヾッファ に表示されます。 必要な引数やオプションは、コマンドごとに異なりま す。 AUC rIbX は、 C-c C-m キーで補完できるコマン ドの引数やオプションをすべて知っているので、ユーサー に入力を促すメッセージもそれぞれに違います。たとえ ば、水平 / 葮方向に指定した長さぶんのスペースを空け る \hspace/\vspace コマンドを C-c C-m を使って入 \hspace{10pt} うにコマンドか元成します。 場合は 10pt 、 '2cm 、 0.5 ⅲなど ) を入力すると、次のよ と長さについて訊かれます。ここで適切な引数にの例の Length : ロ 力すると、 UNIX MAGAZINE 1997.5 どから anonymous FTP で入手してください。 る人は、 ftp://ftp.riken ・ go ・ jp/pub/tex-archive/support/ な ためのコマンドてす戦念ながら日本語には対応していません ) 。興床のあ 4 どちらも、 I*TEX のファイルに勺な誤りがないかどうかをヾる など窈篥作はもちろん、 lacheck や chktex4 による 整形結果のプリントアウト 整形結果のプレビュー 書の整形 ・ (tex や jlatex コマンドなどによる厂 I / I kX 文 もシェルから使えるコマンドか起動できます。たとえは、 M ⅲ e 標準の I VfX 環竟と同じように、 AtJCTVfX で 整形コマンドなどの実行 UN Ⅸへの招待 ファイルの検査などもできます。 ここまでの説明で、次のような文書ができているはす です。ためしに、これを整形してみましよう。 \documentstyle [a4j , twocolumn] {j article} \begin{document} \begin{description} \item[ あや ] 本人 \item[ たかし ] \itemC ゆうすけ ] 長男 \item[ せいじ ] 次男 \end{description} \end{document} 最初は、 C-c C-c というキーを使います。すると、 下記のように、編集中のバッファ ( この例では sample. tex) をファイルに保存しますか ? " と訊かれます。 Command : (default jLaTeX) ■ 次に、実行するコマンドを訊かれます。 コマンドカ躾行されません ) 。 こでは y と入力します ( そうしないと、整形用の Save file sample. tex? (y or n) jLaTeX: successfully formatted { 1 } page ・ 数です ) 。 表示されます ( 中手刮瓜のなかの数字は、出力されたページ ニバッフアと同じところ ) に、次のメッセージが 工ラーもなく、ぶじに整形できた場合は、エコーライ ルしていきます。 フアカ鯛き、処理が進むにつれて、次々に画面がスクロー ださい。 * ファイノレ名の糸色対ノヾス output*" という / ヾッ カ始まったら、 C-c C-I というキーをタイプしてみてく トでは表示されないので、 latex コマンドなどによる整形 でも同様なバッフアが用意されます。ただし、デフォル コマンド実行の様子がそこに表示されます。 AUC TbX されると * tex ー she Ⅱ * という新しいバッフアが用意され、 Mule 標準の TVX/I*TEX 竟では、コマンドカ起動 なコマンド名を入力して Return キーを押します。 ンド ) でよければ Return キーを、そうでなけれは適切 デフォルト ( この例では jLaTeX 、つまり jlatex コマ 151
連載 / プログラマー入門ーの 図 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
図 7 latex 実彳エラー 囹 mule@ange 1. home \dæurentstY1e[a4J, twoco 五Ⅷ ] {ærtxcle} Ein{document} \begin{description} \ it 鈿 [ あや ] 本人 \ it 鈿 [ たかし ] \ it 鈿 [ ゆうすけ ] 長男 \ it 鈿 [ せいじ ] 次男 \end{dcmrnent} UN Ⅸへの招待 LaTe,X. r.-.om 可目 ;nffe.rs Fi-1e Ed it 比日 T トー自Ⅱーー lp 凹 JLaTeX errors ' *&/sample output*'. LL± C-c ー t0 d P12. このように整形が正常に終了したあと、 ファイ 152 翻駅し、配布パッケージに含めてもらったものです。 5 AUC の日本言ヒを積勺に進めていた富七凾の′忖料載台さんが せられます。 たりも、ユーサーへの配慮がいきとどいており、感心さ なった部分の近くにカーソルが移動しています。このあ 整形前 ( 図 7 ) とくらべてみましよう。工ラーの原因と 編集中のバッファ (sample. tex) のカーソルの位置を、 に日本語になっている点 5 ) カ鱚しいですれ の見当がつきますし、なにより HELP メッセージ ( とく は最初の 1 行を見ただけで、エラーの原因となった箇所 ないことも多いと思います。これに対し、 AUC rIVfX で ジカ咄力されるので、慣れないうちは何がなんだか分から ルから latex コマンドを起動するとたくさんのメッセー 図 8 は、 C ー c ' キーをタイプしたあとの様子です。シェ てみましよう。 です。指示どおりに、 C-c' ( バッククオート ) キーを使っ ー箇所は、 C-c ' キーて表示できます」というメッセージ 。 utput * というバッフアにエラー情報があります。工ラ が表示されます ( 図 7 ) 。この図の例では、「 *-/sample のでしようか。この場合は、ますェコーラインにその旨 それでは、 ' IVX ファイルにエラーがあったらどうなる るわけです。 らプレビューするという作業の手順をちゃんと心得てい 備をしてくれます。 AUCTVX は、整形がうまくいった と表示さプレビュー用のコマンドを起動けるための準 Command : (default View) ■ と、 ルに変更を加えすに ) 引続き C-c C-c キーをタイプする 図 8 工ラー %Ø Help パッファ 圄国 ul 日 0 富•'g 日 1. ト日 \ dcr 山 tyle [ ま t 衄対 {oartacle} \tegin{dw-ænt} 、、 tegin{description} \ it [ あや ] 本人 \itn [ たかし ] \ it [ ゆうすす ] 長男 \item [ せいじ ] 次男 \eni{dcculent}l L 当ト ' Fi1+ 新 1 ヤ ERROR: \ teg 川 { des ュ叩 txon } e by \ e { dcz 山℃ nt }. TeX said \@latexerr ... f 。 r imediate help.}\erræssage { # 1 } 、、、ト団 ... 鈿 pa \ nv ⅱ、、 e ] 、、@b記erd { # 1 } \emidæl-ænt ーハ h 畑ⅵ {dcctænt} 表 1 AUC rIbX のキーと働き れかでしよう . 境名を章えたか , 余分な \ g 命令があるか , \ e 命令をわすれたカ切いす 対応する \ g 命令のない \ e 団命令を信 TeX か見つけました . \ e 面命令の環 工 9 \erd{dccurent} \erx:i # 1 ー〉 \ c 肥 e 団 # 1 \ e 面 c 引 \ ー団 { # 1 } 、、 if 、、 glob 訌 \let \ 0 戚 e.. \ \clearpage \ 咫ェ。叩 \if@fi-læ'å、、・・ ESC TAB C-c C-e C-c C-j C-c C-m C-c C-c C-c C-I C-c ' 操作 バッファ入力におけるコマンドの補完 環竟の作成 \item コマンドの作成 引数やオプションを含むマクロ ( コマ ンド ) の作成 (latex などの ) コマンド実行 コマンド実行の様子を表示 ェラー箇所グ与定 今月は、 AUC rIVfX の機能のうち、表 1 のキーを紹介 しました。 もちろん、 AUC にはこれ以外にもたくさんの機 能が備わっています。バッフアを対象にした各種コマン ドの実行 (C-c C-c) も、まだまた説明し足りない点があ ります。来月も引続き、 AUC の豊富な機能を紹介 する予定です。どうぞお楽しみに ( さかもと・あや ) UNIX MAGAZINE 1997.5
襲してい 連載 / プログラマー入門ーの リスト 4 履歴に残っているべージの URL の一覧を表示する HTML く html> く head> く title> 履歴の表示 (URL) く /title> く /head> 以下は表示べージの履歴の一覧です。く p> く body> く script 1anguage="JavaScript " > for (i = 0 ; i く window. history. length; document . writeln '+windov. history[i] + " く br>") ・ く /script> く /body> く /html> 十十 ) 図 5 履歴に残っているべージの URL 覧の新例 ~ らみ H に E [ ・ま h 鱸 P ノ / 粃ョ - 「 - ョ引を 0 / ga/li 引ん引物ー m ー 以下は表示ページの履歴の一覧で。 0 : h 十十 p : / なョー no 十 e. ヨ ec / 聞 i “な“ . h 十引 1 : h 十十 p : / な′ョー no 十 e. お十 ec / u れ i / 00 十 i 刊 e. h 十引 Z. h++p : / / 北日一れ 0 十 e. 十 ec / 聞 i / 00 側 e 匚 h 十引 1 : h++p : / / 日一れ 0 十 0. 硼十 ec / 聞 i “ / ⅱ s+h i $ 十 . h 十引 履歴の URL の一覧表示 はイ N 罍 150 印を - [ 届歴 0 、手〒 ( 凵 RL 月 同ロ それでは、住。 ] メニューの下に表示されるべージの URL の一覧を表示する JavaScript のプログラムを作っ てみましよう。これは簡単です history の要素を 0 か ら順に length 個ぶん表示するだけなので、次のようなプ ログラムになります。 for (i = 0 ; i く window. history. length; i + + ) { window. history[i] を表示する リスト 4 は、履歴にあるべージの URL の一覧を表示 する HTML で、図 5 はこの HTML の表月、列です。順 番カ吩かりやすいように、タイトルの前に番号を表示する ようにしています。 履歴のタイトルの表示 history 配列ではページの URL しか得ることができ ないので、住司メニューのようにページのタイトルを 並べて分かりやすく表示することができません。しかし、 window. history" をそのまま使えは、タイトル文字列を UNIX MAGAZINE 1997.5 ここだわる 凹皿卒業したい ソフト技術者 過去は EWS 「 ap 訓 0 」をソフトハウスとして国内第 1 号導入。 自社オリジナル LS レ CAD ソフトを開発・販売 画像処理・解析システムを開発・販売 現在は 産業用のアプリケーション・ソフトウェアを開発・製造・ 販売する会社です。競争力を保持するため、 2 つのセ グメントを大切にしています。 1 . 社内ネットワーク開発環境の整備 2. 工ンドユーザとの強力な技術開発バートナーシップ コア技術は、データベース、ネットワーク、画像処理、 リアルタイム OS 、 EDA etc. です。 未来は ? 見えません。 UNIX 、 WINDOWS 、 WWW 、 JAVA ソフト開発を支える基盤技術のヘゲモニーはすべて アメリカ。標準語は英語。しかも「歴史を変える技術」 として、まるごと受け入れざるを得ません。しかし、 まるごと受け入れても、なお自分たちの言葉で何を 発信するのかが、厳然と問われています。 ・会社概要 【設立】円 70 年 4 月【資本金】 20g 万円 【従業員数】 40 人【売上高】 4 億 4000 万円臼 995 年実績 ) ・募集要項 【資格】 35 歳位までのソフト開発経験者【給与】経験・年齢・能力・ 前給を考慮の上、当社規程により優遇します。【待遇】昇給年 1 回。賞与年 2 回。交通費全額支給。社会保険完備。各種制度 充実しています。従業員持株制度。リフレッシュ休暇制度 ( 勤 続 10 年で特別休暇 5 日と報奨金 50 万円支給 ) 。住宅借入金利子 補給制度。クラブ活動 ( テニス・ゴルフ ) 。 1990 年度企業ゆと り度診断で通産大臣賞を受賞しています。【勤務地】中目黒 【勤務時間】フレックスタイム制 ( コア 10 : 00 ~ 16 : 00 ) 標準労働 時間 7 時間【休日休暇】完全週休 2 日制 ( 土・日 ) 、祝日、年末 年始・夏期・有給・慶弔・特別・誕生日休暇。 【応募】電話連絡の上、履歴書 ( 写真貼付 ) ・職歴書を持参ください。 【交通】東横線中目黒駅より徒歩 1 分。 ・問い合わせ先 企画部採用担当 / 内田、藤本 電話 ( 03 ) 5723-8147 E-mail kikaku@tool.co.jp くホームページ URL 〉 http://www.sun.co.jp/smi.jp/www-catalyst/tool/ 株式会社トウール社 〒 153 東京都目黒区上目黒 3-3-14 TEL ( 03 ) 5723-8123 資料請求 No. 00B 111