プログラム - みる会図書館


検索対象: UNIX MAGAZINE 1998年8月号
61件見つかりました。

1. UNIX MAGAZINE 1998年8月号

連載 / UN Ⅸの玉手箱ー 3 図 6 インストール直後の /etc/ftpusers (FreeBSD) # list 0f users disallowed any ftp access. # read by ftpd(8) . root toor daemon operator bin game S neWS man uucp Xt en nobody ファイル転送 マシン間でのファイル転送は、もっとも基本的なネット ワーク・サービスの 1 つです。インターネットでファイル 転送をおこなうためのプロトコルは FTP (File Transfer Protocol) で、 RFC959 で定められています。 FTP を 用いたファイル転送のプログラムにはプロトコルの名前が そのまま付けられており、サーバー・プログラムは仕 pd 、 クライアント・プログラムは ftp です 19 バーでは、 /etc/ftpusers ファイルを用 FTP サー いてユーサーごとにアクセスの可否を設定できます。具 イ勺には、アクセスを許さないユーサー名を列挙します。 FreeBSD の場合、インストール直後の /etc/ftpusers フ ァイルでは、システムカリ用するアカウントや root によ るアクセスを禁しる設定になっています ( 図 6 ) 。 さらに、 FTP サーバーはユーサーのログインシェルを チェックし、 /etc/shells ファイルに書かれていないログ インシェルを使っているユーザーに対してはアクセスを拒 否します。 電子メール 電子メールは古くからあるネットワーク・サーピスの 1 つで、ユーザーどうしがネットワークを介してメッセージ をやりとりするためのイ督はみです。電子メールのメッセー ジ・フォーマットは RFC822 で定められており、以前はテ キスト情報しか送ることができませんでした。プログラム などのバイナリデータを送るには、いったんテキスト形式 に変換してからメッセージに取り込まなけれはならなかっ 19 ftp を使ってファイルを取ってくることを「 ftp する」などと言った 124 りします。 たのですが、従来のメッセージ・フォーマットを刻長した MIME (Multipurpose lnternet Mail Extensions) と いう規格カ磴場してから、画象や音声などのマルチメディ ア・データを簡単に取り込めるようになりました。 電子メールを読み書きするソフトウェアにはさまざまな ものがあります。 UNIX であれは、標準のクライアント・ プログラムである mail コマンドや、 MH パッケージなど が代表的です。一方、メールの酉当医は sendmail という フログラムがおこないます。こちらは、 FreeBSD や BSD /OS はもちろん、あらゆる UNIX システムに標準で付属 しています。 sendmail は、 IP . バケットのように、メッセージを バケツリレー方式で転送します。転送時のルールなどは、 / etc / se Ⅱ dmail. cf ファイルによって定義されています。 このファイルには、メールアドレスを解釈して中幻医先を決 定するための細かなルールか書かれています。ファイルの 内容は複雑で、ちょっと見ただけではわけカ紛からないで しよう。ファイルを自分で作成するには、相当の知識と 根が必ですが、 CF と呼はれるフリーウェア 20 を使う と、基本的なパラメータをえるだけで sendmail.cf ファ イルを自重加勺に生成してくれます。もちろん、メールシス テムに関するある程度の知識がないと使えませんが、マニ ュアルをはじめ、ドキュメントの多くが日本語て書かれて いるので、 sendmail.cf をカスタマイズする必に迫られ ている人は試してみるといいでしよう。さいわい、フライ べートなネットワーク内でメッセージをやりとりするので あれば、メールサーバーを指定する程度のカスタマイズで すみます 21 また、 sendmail では /etc/aliases という成疋ファイ ルを使って、あるメールアドレスに対する別名を設定した り、あるメールアドレスに送られてきたメッセージを特別 なプログラムで処理することができます。 メールサービスの設疋については機会を改めて紹介する つもりですが、それまで待てない方は『 sendmail システ ム管↓当 [ 3 ] 、『 sendmail リファレンス』 [ 4 ] などが参考に なります。 20 WIDE プロジェクトで開発されたツールで、最新バージョンは 3.6Wbeta7 です (ftp://ftp.iij.ad ・ jp/pub/network/send- mail / などから入手できます ) 。 21 メッセージを 1 つのサーバーに集めるのでなけれは、まったく変史す る必要はありません。 UNIX MAGAZINE 1998.8

2. UNIX MAGAZINE 1998年8月号

「わたしたちが業界最高の技術とサービスを提供していま魂」 UNIX/NT ・インターネット接続に伴う一 XIFL ( ザイフル ) XI 旧 5 テクニカルドキュメント デバイスドライバ開発 環境構築 / セキュリティ設定 / Ⅸイメージ操作ライプラリーセット Ⅸ 11 日 5 日本語版マニュ乃レ全 5 巻 ・各種ファームウェア開発 運用保守 / リモートメンテナンズ ・日本語団 T 日 OFF ・ XI 旧 6 テクニカル・ドキュメント ・ X ウインドウ・サーハプログラム ・インターネット関連のツール開 和文書式整形プログラム X11R6 日本語版マニュアル全 5 巻 開発 / 移植 ・ LAN/WAN の環境構築 / ・技術資料シリーズ ・アプリケーションプロクラム コンサルティン 刈 1 日 5 日本語版マニュ挈し全 5 巻 ・ WWWサバ設定 / ・ X 1 旧 6 日本語 ・デタベース設計構築ィ 、情報提供ンるテム尸 オンライン : ア ; ュア 羊細はホームページをごらん下さい。 URL: れれ P : / / ルⅣ″ .50 リ m. ( 0. ノ〃 / ど - 川′ゴ n ′ 0 @50 リ m. ( 0. ノ p ※ IJN Ⅸは、 X / Open カンバニーリミテッドがライセンスしている米国ならびに他の国における登録商標です。 IJ N Ⅸ技術者随時募集中 ! ※ X WindowSystem は米国 X コンソーシアムの商標です。 詳細はお電話でお問い合わせください。 ※会社名及び商品名は各社の商標または登録商標です。 創夢 〒ト 0072 東京都渋谷区幡ヶ谷ト 29 ー 9 日星ビル お申し込み・お問い合わせ・資料請求先株式会社 TEL : 03 ( 5453 ) 1251 ( 代 ) FAX : 03 ( 5453 ) 1252 E-MAlL:info@soum.co.jp 資料請求 No. 046

3. UNIX MAGAZINE 1998年8月号

CAFE BABE リスト 9 import import import import public RFC1123 形式の出力 j ava. text . Simp1eDateFormat ; Java. util . Date; java. util. Loca1e; 」 ava. util . TimeZone ; class rfC1123 { public static void main (String ロ args) { Simp1eDateFormat f = new Simp1eDateFormat ( "EEE , f . setTimeZone (TimeZone. getTimeZone ( "GMT" ) ) ; System. out ・ println(f . format(new Date() ) ) ; dd MMM yyyy HH:mm:ss 'GMT"' Loca1e. (S) ; 2. 文字列の構成要素ごとの段階的な角財斤 DateFormatSymboIs クラス 92 されます。 ロケールで、それぞれ次のようなエラーメッセージが出力 このプログラムをコンパイルすると、 en ロケールと ja System. ou. print1n("He110 Wor1d") ; public static void main (String ロ args) { public class err { tem. out を "System. ou" とミスタイプしています。 たとえば、次のプログラムでは、標準出力を表す Sys- れを使います。 たメッセージ・パターンをリソースパンドルにオ内し、そ 定をする必はありません。ーヨ殳には、各ロケールに応し スや DateFormat クラスのように、ロケールに応した設 MessageFormat クラスでは、 NumberFormat クラ Format クラスを使います。 ない方法でフォーマットするには、 java. text. Message- 単語やデータが連結するメッセージを言語に依存し メッセージのフォーマットと鰰斤 FormatSymbols() メソッドを用いて取得します。 正する場合は、 SimpleDateFormat クラスの getDate- ジェクトを耐妾作成することはありません。この内容を修 一般に、プログラマーが DateFormat クラスのオプ ルのリソースをロードします。 のクラスは、 java. text. resources ノヾッケージの各ロケー ータなどの記号の集合を扱うために用意されています。 . DateFormat で必要になる小点やグルーフイヒのセパレ java. text. DateFormatSymboIs クラスは、 java. text % setenv LANG C % j avac err. 」 ava UNIX MAGAZINE 1998.8 MessageFormat(String パターン文字列 ) はなく、 - 己のコンストラクタを用いて作成します。 ト関連クラスのようにファクトリー・メソッドを使うので MessageFormat オプジェクトは、ほかのフォーマッ MessageFormat オフジェクトの作成 翻訳する場合も、ソースコードに手を加えすにすみます。 いう変数は定義されていません。 " のようにほかのに 、、 { 1 } には { 0 } と して定義できます。こうしておけば、 able { 0 } defined ⅲ { 1 }. " などのメッセージ・パターンと しかし、 MessageFormat クラスを使えば、、 No vari- けれはならなくなります。 いても、国を逆転させるためにソースコードを変更しな コードされていたら、いくらリソースパンドルを使用して かで、、文字列 1 十変数名十文字列 2 十クラス名 " とハ もし、最初の央文工ラーメッセージがソースコードのな とではクラス名と変数名の順序が逆転しています。 います。しかし、上の例からも分かるように、英文と和文 ラーが発生したクラス名と変数名を組み合わせて作られて このメッセージは、あらかじ乍成された文字列に、工 工ラー 1 個 System. ou ・ println( " He110 Wor1d" ) ; いう変数は定義されていません。 err. Java:3: class java ・ lang. System には ou と % j avac err. 」 ava % setenv LANG ja 1 error System. ou. print1n("He110 Wor1d") ; java. lang. System. err. Java:3: NO variable ou defined in class

4. UNIX MAGAZINE 1998年8月号

あった。 連載 /UNIX Communication Notes— 0 大学では、プログラミング教育に UNIX システムを使 う傾向が 1990 年代初めまで続いた。低価格の UNIX ワ ークステーションの登場によって、その動きはさらに加速 された。そのころになると大型汎用言 1 算機不要論がかなり ~ し、大莫な 1 算を必要とするユーザーのための スーパーコンピュータと、各ューザーの日常的な研究開発 を麪爰する UNIX システムによるネットワーク竟の構 築が 1 つのスタイルになった。このような工鼬竟か普及す るにつれて、情報関連の学利では UNIX 環境を前提とし たプログラミング教育が多数を占めるようになってきた。 その結果、大部分の学生が C 言語を習得するようになっ たが、そオ LJ ユタ ) 言語を学ぶことは少なくなった。 UNIX 上で Fortran や Pascal などを使うこともあったが、異 なる OS を利用する機会は減ってしまった。 1990 年代半ばになると、多くの大学がコンピュータ・ リテラシー教育を重視し始めた。情報工学利のようなコン ピュータそのものを研究対象とする哮科も例外ではなかっ た。同時に、プログラミング中心の教育ガ去を、プログラ ミング偏重主義 " と呼び、ややもすると否定的に捉える動 きがあったことも否めない。こオ丿、降、情報里学利・のカ リキュラムに占めるプログラミンク教育の割合は、以前に くらべてかなり少なくなったように思える。 最近のプログラミング教育の実態 不劫ゞ勤務している奈良先端科 ! 判支術大凝完大判青報窄 研究利・はコンピュータはもとより、それに関連する技術の 研究開発を目的とした大完研究科である。入学してくる 学生の多くはコンピュータ勵里の学部・哮利の業生であ り、そのおかげで全国各地の大学におけるコンピュータ教 育の一端を知ることかできる。 前述したようなプログラミンク育の減少も、学生たち との会話から分かってきたことの 1 つである。・丘は、ど の大学でも実験や演習で書カせるプログラムの量がひどく 少ない。 たいていの大学では、 C 言語のプログラミング実習をお こなってはいるが、実情は次のようにお粗末である。 ・複数のプログラムに分割してコンパイルするような量の プログラミングは珍しく、多くは数百行程度のプログラ ムである。 UNIX MAGAZINE 1998.8 ・ C 言語に関する教育はしているが、 UNIX における C プログラム開発環境ははとんど教えられていない。した がって、 make などのコンパイル管理ツール、 RCS や CVS といったバージョン管理ツールなどを用いた効率 的なプログラム開発の手法を学ふ機会がない。 ・プログラミング教育と並行して、テンヾッガや lint など の言語文法チェッカといったテンヾッグッールに関する 教育をしている大学は皆無に等しい。 他人か書いたプログラムや優れたプログラムの実例を読 む機会がないので、ほかのプログラムで使われているさ まざまなテクニックを身につけることかできない。 そのためか、情報里の科を卒業していても、プログ ラムがほとんど書けない学生が多い。ましてや、入学した はかりの学生が開発系の研究プロジェクトに加わり、シス テム開発に携わるなどといったことはほは不可能である。 表現手段としてのプログラミング 情報 : I 斗における研究成果は、どのようなかたちであ れ、コンピュータで利用するものであり、その多くはなん らかのプログラムの作成によって得られる。 プログラミングは、情幸里の研究開発に携わる者に不 可欠の表現手段であり、その利用頻度はきわめて高い。ロ い換えれば、自分の研究をほかの人たちに理解してもらう ためによく使う表現手段である。たとえ素晴らしい研究で あっても、その表現が悪けれは価値を認めてもらえない。 つまり、プログラミング能力の高低は、研究成果の強力な 表現手段を得られるかどうかの重要な問題なのである。そ の未でも、情報連の哮科では、すくなくとも 1 つのプ ログラム言語は自由に使えるように徹底して教育してほし いものである。 学生も、プログラミング手法を積極的に学ぶべきであ る。私の周囲にも、大凝完に入ってよい研究をおこなって いるにもかかわらす、プログラムがうまく書けすに研究成 果の表現に苦労している学生がたくさんいる。あるいは、 素晴らしいアイデアを思いついても、開発に時間をかけす ぎて、そのあいだにほかのグルーフ。か 1 司様のシステムを開 発してしまい、せつかくの研究がお蔵入りになったことも あった。このような不幸な状況を招かないように、ぜひと も大学でプログラミング技術を積極的に習得してはしい。 21

5. UNIX MAGAZINE 1998年8月号

表 1 authmgr のパラメータ属性 パラメータ属性 説明 authserver host 0 言忍言正サーノ、一へのアクセス先 を指定 login コマンド : 書 : 上に . [ 社 ser れ 07 れ e このパラメータ属性は必です。省略すると認証サーバ ます。 認証サーバーか動いている計算機とポート番号を指定し authserver します。 す。たった 1 つですが、意味とオプションについて説明 authmgr に指定できるパラメータ属性を表 1 に示しま パラメータ属性 す login コマンドを夫行する必要があります。 アカウント・データベースにアクセスする前に、かなら ます。 ューサー username の権限で authsrv にログインし コマンドの書式 ーに孑できません。 ら、新で紹介する authload を使ってバイナリ形式に再 ントを同時に作成するときに便利そうです。編集を終えた べースをテキストエデイタて編集できます。複数のアカウ 立つかもしれません。テキスト形式に変換すると、データ 両方でバックアップを作成しておくと、万一の場合に役 このプログラムを用いてバイナリ形式とテキスト形式の 出力に書き出します。 ているデータベースをテキスト形式に変換し、結果を標準 形式に変換するプログラムです。バイナリ形式で翻勺され authdump は、アカウント・データベースをテキスト - authdump authmgr りません ) 。 authmgr コマンドの書式は次のとおりです ( 引数はあ UNIX MAGAZINE 1998.8 変換します。 ア パラメータ属性 authdump に指定できるパラメータ属生は 1 つだけで、 省略できません ( 必頭です ) 。 authdump に対するルール では、プログラム識別名に authdump ではなく auth- srv を指定します。注意してください。 前回、 authsrv のルールを成疋したので、 authdump のためにとくに言聢することはありません。 database authdump が参照するデータベース・ファイルのパス を指定します。 コマンドの書式 authdump コマンドの書式は次のとおりです ( 引数は ありません ) 。 authdump - authload authload は、テキスト形式のアカウント・データベー スをバイナリ形式に変換するプログラムです。 標準入力からテキスト形式のデータを読み込み、パラメ ータ属性で指定したパス ( ンヾイナリ形式のデータベースを 書き出します。 パラメータ属性 authload に指定できるパラメータ属性も 1 つだけで、 省略できません ( 必須です ) 。 ルールでは、プログラム識別名に authload ではなく authsrv を指定します。つまり、 authdump と同様、と コマンドの書式 指定します。 authload か書き込むデータベース・ファイルのパスを database くに追加する設定はありません。 authload コマンドの書式は次のとおりです ( 引数はあ authload りません ) 。 33

6. UNIX MAGAZINE 1998年8月号

CAFE BABE 図 5 メッセージ・パターンの定義 メッセージフォーマット・ノヾターン 要素フォーマット メッセージフォーマット要素 日付・日駭リスタイル choice スタイル 新直スタイル = 文字列 ( " { " メッセージフォーマット要素 " } " 文字列 ) * = 引数 { " "date" { "choice "long" ” full " ー要素フォーマット } ' 日付・日リスタイル " choice スタイノレ } ー直スタイル } " 日付・日該リスタイル } ー DateFormat ノヾタ currency percent" ー integer ー ーーン ー NumberFormat / ヾターン ChoiceFormat ノヾタ。ーン リスト 11 MessageFormat における NumberFormat と DateFormat 窈吏用 lmport j ava. text . MessageFormat ; import java. util . Date ; public class message2 { public static void main (String ロ args) { MessageFormat m = new MessageFormat(" 今日は {O,date,fu11} です 0bject ロ al = { new Date ( ) System. out . println(). format(al) ) ; new MessageFormat ( " いま私は { 0 , number , currency} 持っています Object ロ a2 = { new lnteger( 1000 ) System. out . println(). format (a2) ) ; メッセージ・ハターン メッセージ・パターンは、図 5 の形式で定義します。 引数は、 0 から 9 まで使用することができます。 このメッセージ・ / ヾターンは、一般に MessagePat- tern オプジェクトを作成するときに指定しますが、次の applyPattern() メソッドを用いて変更することもできま す。すでに指定しているパターンを、 toPattern() メソッ ドで取得することもできます。 void app1yPattern(String メッセージ・パターン ) String t0Pattern() time date number" は、 DateFormat と Num- berFormat に相当します。 MessageFormat では、 94 これ らのフォーマットを簡単に使うことができます。 リスト 11 のプログラムでは、メッセージのなかで日付 と通貨のフォーマットを使用しています。このフログラム の実行結果は次のようになります。 % java message2 今日は 1998 年 06 月 28 日日曜日です。 いま私は \ 1 , 000 持っています 引数の内容に応して変化するような複雑なメッセージの 場合は、 java. text ℃ hoiceFormat クラスを使います。 ChoiceFormat クラスでは、 double の昇順リストを 使って、ある項目から次の項目までの範囲の直にフォー マットを関係づけることができます。一致する項目がない UNIX MAGAZINE 1998.8

7. UNIX MAGAZINE 1998年8月号

連載 IJN Ⅸの玉手箱ー 3 PPP UNIX MAGAZINE 1998.8 ワークの利用を終えると、その IP アドレスは返却される 日判勺に、貸し出し " ます。 DHCP クライアントがネット トワークに接続する際、使われていない IP アドレスを一 ストックとしてもっておき、 DHCP クライアントがネッ されます。 DHCP サーバーはいくっかの IP アドレスを た IP アドレスを利用する DHCP クライアントから及 スの割当てをおこなう DHCP サーバーと、割り当てられ RFC2131 で規定されています。 DHCP は、 IP アドレ は IP アドレスを動的に割り当てるための仕組みで、 DHCP (Dynamic Host Configuration ProtocoI) るたびに IP アドレスを付け替えるのは面倒です。 刎則からみると、自宅とオフィスのネットワークに接続す は、ネットワーク資源の無馮置いです。また、ノート PC べてのノート PC に固定した IP アドレスを割り当てるの 続されているわけではないので、接続する可能生があるす うになりました。ノート PC などは常時ネットワークに接 カードと組み合わせて手軽にネットワーク接続ができるよ 運べるノート PC か普及し、 PC カード規格の Ethernet レスは固定的に割り当てられます。しかし、去も丘では持ち 通常、ネットワークにマシンを接続する場合、 IP アド DHCP などが参考になります。 「 UNIX の道具箱ーダイヤルアップ接続 ( 1 ) ~ ( 6 ) 」 [ 6 ] ッフ。接続」 [ 5 ] 、モデムも含めた PPP の設疋については す。 PPP のプロトコルについては「 ppp とダイヤルア PPP については本誌でも何度かとりあげられていま の設疋サンプルが用意されています。 パッケージがバンドルされていて、 /etc/ppp ・ sys など ンプルが収められています。 BSD/OS には独自の PPP おり、 /etc/ppp ディレクトリの下に設定ファイルのサ ばれるフリーウェアカ陏名です。 FreeBSD にも伺属して UNIX 上の PPP ノヾッケージとしては、 iij-ppp と呼 トに孑売する場合は PPP の上で IP を利用します。 コルもサポートしています。モデムを使ってインターネッ せず、 IP はもちろん IPX や AppleTalk などのプロト RFC1661 で定められています。特定のプロトコルに依存 シリアル回線などを用いて接続するためのプロトコルで、 PPP (Point-to-Point Protocol) は、 2 台のマシンを 仕組みになっています。 ノート PC を DHCP クライアントとして設定しておけ ば、 IP アドレスの設などは自重加勺におこなわれるため、 接続するネットワークが変わるたびに IP アドレスを設 定しなおす手間カけます。また、同時にすべてのノート PC がネットワークに接続する可能性カ觝ければ、 DHCP サーバーでストックする IP アドレスの数はノート PC の 台数よりも少なくできるため、まさに、、一挙両得 " の技術 といえます。 BSD/OS には DHCP パッケージか刊属しており、設 定ファイルのサンフ。ルが /etc/dhcp-sample ディレク トリの下に置かれています。 FreeBSD では、オ剽僧忝付で はありませんが、バイナリ・パッケージとして提供されて いるため、簡単にインストールできます。 Solaris 2.6 に は、標準で DHCP サーバーが含まれています。 inetd inetd は、、スーパーデーモン " とも呼はれ、サーバー プログラムを起重丿けるためのデーモンです。これまでとり あげた以外にも、ネットワーク・サーピスにはさまざまな ものがありますが、利用頻度の低いサーピスのサーバー プログラムをつねに起動しておくのは、 CPU やメモリな どの資源を浪費しているも同然です。 inetd は各サービスのサーバー・プログラムに代わって ポートを監視し、ポートにアクセスがあると、設定ファイ ルで対応つ、けられたプログラムを起動します。たとえば、 FTP のサーバー・プログラム (ftpd) を inetd か管理す る場合、クライアントが ftp プログラムを使って 21 番 ポートにアクセスすると、 inetd がそれを検知して ftpd を起動します ( 図 7 ) 。 inetd か管理するポートとそれに対応するサーバー・プ ログラムなどの情報は、 /etc/inetd. conf ファイルで設 定します。サーバー・プログラムの起動を inetd か管理す るメリットは、資源の有抔リ用だけではありません。 inetd に tcp-wrapper というパッケージ 22 を組み合わせると、 サーピスにアクセス可能なクライアントをホスト単位で制 御できます。アクセス匍脚の仕組みも含めた inetd の設定 については、次回以降で詳しく説明します。 22 BSD/OS には付属しており、 FreeBSD ではバイナリ・ として提供されています。 125

8. UNIX MAGAZINE 1998年8月号

・第 : V 車 い U 匡 SC 翡 Windows 95/NT 、 Macintosh 、 FM- TOWNS 、 X-Window 、 Silicon Graphics に 対応したプログラム開発が可能 ! マルチプラット 、フォームに対応した 3 ログラフィックスライプラ 。ま : リ、開発ツール、サンプルプログラムをソースコード = = : はを一とともに C ロ - ROM に収録。 00 ー 0P0 を用 。、 : = : み 1 ヤ・。いて開発したプログラムフリーソフトであるか。 = 製品であるかを問わす、自由に公開可能。 30 クラフィックス開発キット 実践 3 ロプログラミンク 3 次元空間を自由自在に操る、 実践 3 ロプロクラミンク。 圧 \J 日一 lj 時お、に $Y 引 File View 30 グラフィックス髜キッ 有川誠修 山川第田物 DUIL プログラミ・ 修著属 0 誠司 ・表示価格には消費税を含みません。・本製品は、書店及び書籍を扱っているパソコンショップでお買い求めください。・品切れの際は書店にてご注文いただくか、 通信販売をご利用ください。・通信販売のお問い合わせ先 . 株式会社ダイレクト電話 03-5351-8202 http://www.ascii.co.jp/direct/ を : 1 引を 24 東京都渋谷々木 4-33-10 出版営業部 ( 03 ) 5351-8194 株式会ネ土アスキー

9. UNIX MAGAZINE 1998年8月号

3 : い 3 第 33 : 新第 3 : 勢 3 。信 3 : 材工材等 43 物等ん信第第材 3 第信第工に信等等既新・ : 霊信第霊物第槲霊等を島第信第 W 既新。を 3 等既けを Subject: Fujitsu FMLBP2xx driver for Ghostscript Message-lD:n く NAKA. 98 」 un24114025@fennel.fadev. fvd. fujitsu. co jp 〉 作者・中山正一さん GNU の PostScript クローン・インタープリタであ る Ghostscript の、富士通 FMLBP2xx シリーズ用プ リンタドライバの職斤版です。 ・今月の *. sources. * タイジェスト Newsgroups: alt. sources Subject: wping. 19980609 Message-lD: く 61i4nb$g42$I@fse3.aist-nara.ac.jp 〉 作者 . Kenichi Chinen さん WWW サーバーの動イ大態を確認するプログラムで す。非い期の HTTP 接続を使って WWW サーバーが 動いているかどうかを確認します。このプログラムでは 短い時間に多くのサーバーを確認できるそうですが、大 量のトラフィックを発生するので注意が必要です。 Newsgroups: comp. compilers,comp.lang. misc,comp. archives. admin,news. answers,comp. answers Sub 」 ect: Catalog of compilers, interpreters, and other language tools [ P10f1 ] フリーのプログラム言語のコンパイラ、コンパイラ生 成ツール、インタープリタ、変換ツール、重要なライプラ リ、アセンプラ、その他の言語ツール一覧の公開のお知ら せです。 以前はこれらの一覧が直接投稿されていましたが、 の記事では、一覧が公開されている Web ページや、 anonymous FTP サーバーの清報だけが示されています ( 一覧は、 http://www.idiom.com/free-compilers/ま たは ftp://ftp.idiom.com/pub/compilers-list/free- compilers/ から入手できます ) 。 Newsgroups: comp. archives. admin,comp.lang. perl. rmsc Subject: Mirror 2.9 ー Now Available Message-lD: く3572AFDF.819F9FE6@icparc.ic.ac.uk 〉 作者 . Lee McLoughlin さん ーにあるファイル群をそっ anonymous FTP サー くりコピーするツール mirror の最新版公開のお知らせ です。 mirror はほかの anonymous FTP サーノヾーで 132 公開されているファイル群を自分カ壻理している anony- m 。 usFTP サーバーにコピーしたり、欲しいソフトウェ ア群の最新版を手許に置いておきたいときなどに便利な ツールです。 Newsgroups: gnu. emacs. help,comp 」 ang. c 十十 ,gnu. emacs. SOL.jræS Subject:l reinvented the wheel Message-ID: く 357E8845. A1324EFA @ufmech. rwth-aachen. de 〉 作者 Markus WerIe さん C 十十のプログラムを書く際に、新しいクラスの定義を 手助けしてくれる Emacs Lisp プログラムです。新しい クラスの名前、コンストラクタの引数、ヘッダファイル 名、このクラスを使うソースコードのファイル名を入力 すると、必要なファイルを作ってくれます。 これらのコード部分は上交的定型のものになるでしょ うから、このようなプログラムを使って自重加勺に生成で きるのであれば、多少はプログラミングの手間が省けま すね。 Newsgroups: gnu. emacs. sources Subject: feedmail v8 released Message-ID: く 8741- Tue16 」 un1998113217-0400- b Ⅲ @pointillist.com 作者 W 」 Carpenter さん GNU Emacs に付属の sendmail.el に代わる、電子 メール酉占医プログラム feedmail. el です。 sendmail. el に くらべて、溜めておいたメールの一括送信や空ヘッダの削 除、 From: もしくは Sender: ヘッダがないと酉占を中止、 Message-ID: ヘッダや Date: ヘッダの生成など数多くの 機能が追加されています (http://www ・ carpenter ・ org /feedmail/feedmail.html から入手できます ) 。 UNIX MAGAZINE 1998.8

10. UNIX MAGAZINE 1998年8月号

CAFE BABE 表 1 ロケールと直フォーマット (JDK 1.1.5 ) 酩 ( ロケール ) デンマーク (da-DK) ドイツ (de-DE) 米対 (en-US) ェストニア (et-ES) 日本 (ja-JP) スイス (fr-CH) リトアニア (It-LT) 12.345 , 67 12.345 , 67 12 , 345.67 12 345 , 67 12 , 345.67 12 ' 345.67 12.345 , 67 リスト 2 巍直フォーマットの鰰斤 kr 12.345 , 67 12.345 , 67 DM $ 12 , 345.67 12 345 , 67 kr ¥ 12 345 Fr. 12 ' 345.67 12.345 , 67 Lt パーセント 1.234.567 % 1.234.567 % 1 , 234 , 567 % 1 234 567 % 1 , 234 , 567 % 1 ' 234 ' 567 % 1.23.45.67 % import j ava. text . NumberFormat ; import j ava. text . ParseException ; public class number2 { System. out . println(). format (). doub1eVa1ue ( ) ) ) ; Number d = p ・ parse ( " 1 , 234 , 567 % " ) ; try { NumberFormat p = NumberFormat . getPercentInstance ( ) ; e. printStackTrace ( ) ; } catch (ParseException e) { System. out ・ println(c . format (). doub1eVa1ue ( ) ) ) ; Number d = c ・ parse ( " \ u00a512 , 346 " ) ; / / U + 00a5 は円記号 try { NumberFormat c = NumberFormat . getCurrencyInstance ( ) ; e. printStackTrace ( ) ; } catch (ParseException e) { System. out . println(). format(). doub1eVa1ue())) ; Number d = n. pa て se ( ” 12 , 345.67 " ) ; try { NumberFormat n = NumberFormat . getNumberInstance ( ) ; public static void main (String ロ args) { } catch (ParseException e) { e. printStackTrace ( ) ; います。 魏直フォーマットの鰰斤 リスト 2 のプログラムでは、表 1 のフォーマットか解 ParsePosition 位置 ) Object parseObject(String 文字列 , Number parse(String 文字列 , ParsePosition 位置 ) Number parse(String 文字列 ) 直フォーマットは、次のメソッドて斤します。 析できます。このプログラムを実行すると、図 2 の出力が 84 得られます。 このプログラムは、デフォルト・ロケールが ja の場合 には、円記号を含む日本の通貨のフォーマットを正しく解 析できますが、 en のときには角斤に失敗して java. text ・ ParseException 例外か発生しています。 こで、半角円記号 ( ¥ ) について注意しておきます。 4 月号のエンコーディンク畯換の解説て融れたように、 Java でははとんどの場合は半角円記号を Unicode の半角逆ス ラッシュ (REVERSE SOLIDUS, U 十 005C ) に変換し てしまいます。そのため、エデイタなどでプログラムの文 字列として半角円記号を入力しても、エンコーディンク畯 UNIX MAGAZINE 1998.8