Discover Programming f0 「 Windows 日本語版リリース 5 5 新装版プログラミング講義 C + + 2 名 ゲーム機や PDA など幅広いプラ ットホームで活躍する C / C + + / Java のコンパイラと , プログラ ミングを学ぶための資料が満載 されたキット。豊富なサンプル プログラムと , 5 冊にも及ぶオン ライン書籍を利用しながらプロ グラミングを学ぶ。 C + + の初歩 から高度な概念までを理解し , 技術を身につけることができる 書籍とセットで提供 - ロ . い」灯・・にい灯 1 ーい 業洋プログラミングシリ - ーズ 新装版 D 0 「 p 「 ram れ 9 日版 十 CO 円 柴田望洋著 提供 . メトロワークス株式会社 価格 . 28 , 000 円 動作環境 : Windows 95 / 98 / NT4.0 / 2000 URL : http://www.metrowerks.co.jp/ ソフトバンクバブリッシング株式会社 価格 . 2 , 600 円 ISBN コード :ISBN 4-7973-1336-6 URL : http://books.softbank.co.jp/ ゼ 0 中 6 3 名 プログラミングの学習に最適な C 言語インタブリタ。一般的な W1ndows アプリケーションのよ うな WinMain ( ) から始まるプロ グラムではなく , main() 関数か ら始まるプログラムを実行可能 なので多くの入門書の例題をそ のまま入力して確認することが できる。基本情報技術者試験の 言語科目である「 C 言語」の解説 書とセットで提供。 物′ / / 町 4.3 ウルトラ C プロ 2.1 ク 集中ゼミ 提供株式会社ソフトボート 価格 : 38 , 000 円 動作環境 Windows 95 / 98 / NT4.0 URL : http://www.softboat.co.jp/ ソフトバンクバブリッシング株式会社 価格 : 2 , 400 円 ISBN コード :ISBN 4-7973-1460-5 URL : http://books.softbank.co.jp/ 1 イ C MAGAZINE 2001 4
NEW BOOKS S6ftbanI&PübliShn n に . コア・サープレット & JSP Java サ→ヾ・・による Web 開発 Marty H ー物 SOFTBANK 靠熊〃加① . s ①熊 c ①加 / ー http://www.cbook24.com/ こちらからもこ購入できます . コンビュータ出版物の専門サイト じ 0 おど SERVLETS 4 .JAVASERVER PAGES 暴走する プライ - テクロジーか 暴き屋の武器になる日 り哂透 するプライバシ - M & PHP コア・サープレット & JSP 田中ナルミ著 Simson GarfinkeI 著橋本恵訳小西透監修 Marty Hall 著岩谷宏訳 商品化する個人情報。マイク・ビデオ・衛星によ オプジェクト指向言語 Java による Web アプリケ 高速 & 簡単 We b DB システムを実現する、 My S Q L の人門書がついに登場。 M y S Q L の性能 ーション開発の要点を 1 冊に凝縮。サープレッ る監視システム、医療記録・遺伝子情報の悪用、 を 1 2 0 % 引き出す P H P の解説と併せ、 S Q L 収集したプロフィールから恐るべき予測をするイ トと JavaSe 「 ver Pages についての解説だけで や DB の基礎解説から実用的な We b DB システ ンテリジェントコンピュータ。本書は、テクノロ なく、 HTML のフォーム、アプレットとの連携、 ムのサンプル解説まで、 MySQL と PHP の基 ジーがプライバシーに与える影響を検証し、いか JDBC といった関連技術まで、豆富な具体例と 礎をすべてフォロー に対処すべきかを提言した書である。 ともに子ふ。 B5 変・ 362 ページ本体価格 2 , 800 円 ISBN : 4-7973-1325-0 四六判・ 370 ページ本体価格 2 000 円 ISBN : 4-7973-0977-6 B5 変・ 584 ページ本体価格 4 , 200 円 ISBN : 4-7973-1431-1 P t0S れ叩 6 TechniQUe 8ibLe テクニック八イブル ーラ三〕シーズ編・著 「これがしたい」がすくわかる目的別インデックス、「何ができ るの ? 」にズバリ答える簡潔・明解な機能解説など、手元にお いていつでも使える便利な構成。また ,ImageReady3.0 にも 対応しており、 Web 制作も完全サポ - トしている。 B5 変・ 336 ペーシ本体価格 3 , 800 円 ISBN : 4-7973-1500-8 ◆〃 インターネット ワンプワン ワワン コミュニティ戦略 説 C + + 第料インターネットサーヒス カイト P 加 t0S れ叩 TechniQlJe 8ible インターネット コニテ戦略 ビジネスにコミュニティをとう活用するか る川一人コむニテ・第・顧・・ 関谷博之著 インターネット上に氾濫する無料サ - ピスから、著者が実際に 使って特に役立っと判断したものを厳選してこ紹介。プロバイ ダやホームページスペースはもちろん、グループウェア、無料 国際電話など、知って得するサービスの使い方を解説する。 A5 ・ 272 ペーシ本体価格 1 , 600 円 ISBN : 4-7973-1520-2 谷第 ワン 9 ーウ”チ ゲ - ムろう ! 長久勝著 ワンダースワンの開発ツール「ワンダーウィッチ」の人門書が ついに刊行 ! セットアップから、簡単なプログラム、そして 本格的なゲームまでを解説。ワンダースワンカラー用のライプ ラリについても対応。 B5 変・ 288 ペーシ本体価格 2 , 800 円 ISBN : 4-79737410-9 石川直人・コミュニティ戦略研究会著 ウエプサイトの集客力を高め、顧客定着率を向上させるには、 ネットコミュ二ティを構築することによって顧客間インタラク ションを活性化させる必要がある。日米コミュニティモデルの 最前線から、ネットビジネスの競争優位性戦略を探る。 四六判・ 304 ページ本体価格 1 , 900 円 ISBN : 4-7973-1335-8 翫 m 日 0W99 Web/XML 対応電子フォーム作成ガイド シェットフォーム・シャパン株式会社監修・著 既存のデータベースやシステムを、最大限活用していますか ? Web / XML 対応電子フォームソリューションが凝縮。 XML の 概要の解説から , FO 「 mFIow99 のインストール・操作方法など、 ワークショップも交えてマスターできる ! B5 変・ 200 ページ本体価格 2 , 600 円 ISBN : 4-7973-1575- X Aut0desk MechanicaI Deskt 叩 5.0 プロフェッショナル技法 詳説 大城正典著 「 C MAGA 乙 NE 」で好評を博した連載「 C + + 入門マニュアル」 を大幅加筆して書籍化。 ANSI C + + に対応し , C + + の根幹とな るオプジェクト指向の考え方もしつかり解説。 C + + を 1 から IO まで完全に理解したい人のための最適の - 。 B5 変・ 416 ページ本体価格 3 , 000 円 ISBN : 4-7973-1225-4 Aut0desk MechanicaI Deskt 叩 の使い方 し対応電チフ第一ム 員破 0 Sk - Mechanical Des 叩の使い方 レ、 江尻優子・中森隆道・村井広志著 utodesk 小西信博著 咄訓 s MDT の新バージョンに合せた入門書。既存の CAD ソフトから 技能競技の対象ソフトとも知られ、世界的な 3 次元 CAD の業界 3 次元 CAD に処理を移行させる場合の方法について解説。内容 標準ソフトとなった、 Autodesk 社の Mechanical Desktopo そ は 2 次元データから 3 次元データへの移行、金型設計の概要、 の 3 次元 CAD の実践テクニックを、現役の技術者として駆使し MDT の新機能を使った作図など。 ている著者による実践テクニックを紹介。 B5 変・ 280 ページ本体価格 4 , 200 円 ISBN : 4-7973-1484-2 A4 変・ 336 ページ本体価格 5 , 800 円 ISBN : 4-7973 ヨ 424 ・お近くの書店にてお求め・ご注文下さい。また、左記のホームページからもご購入できます。 ( 表示価格は税別 ) ソフトバンクバブリッシンク株式会社 ・ご不明な点は、 SOFTBANKBOOKS サポートまでお問いあわせ下さい。※土・日・祝日を除く 10 : 00 ~ 12 : 00 13 : 00 ~ 17 : 00 http://books.softbank. CO. JP/ E メール :sbp-s 叩 port@softbank.co.jp 〒 107-0052 東京都港区赤坂 4-13-13 TEL : 03-5549-1201 FAX : 03-5549-1212 PubIishi ng
[ 春の新人応援モ会 MAGAZINE WonderWitch 7 ワンダースワンゲームプログラミング ワンン 子坊ゾ 3 名 最新携帯用ゲーム機「 Wonder Swan C010r 」の専用アプリケー ション開発環境「 WonderWitch 」 , および代表的なゲームの仕組み とその作成方法を解説する書籍 をセットで提供 (WonderSwan 本体は含まれない ) 。ゲーム機の 性能を使い切るプログラミング , アイデアを形にするプログラミン グが楽しめる。本誌「遊びのレシ ピ forWonderW1tch 」も好評連載 中。 ル層 0 石 50 w “・ 0 “ 0 ′ 0 , 滝襯 ワン一つイ ワンダースワンがホビープロクラミンクのプラットフォームになる一 で 日へ N Dfti ソフトバンクバブリッシング株式会社 価格 . 2 , 800 円 ISBN コード :ISBN 4-7973-1410-9 URL : http://books.softbank.co.jp/ 提供株式会社バンダイ 価格 . 16 , 800 円 動作環境 Windows 98 / NT4.0 / 2000 URL : http://www.swan.channel.or.jp/ wonderwitch/ VisuaIAge fO 「 Java プロフェッショナル V3.5 日本語版 8 VisuaIAge forJava によるオプジェクト指向プログラミング 3 名 Web を有効活用する Java アプリ ケーションを作成するための統 合開発環境。 RAD 環境や JavaBe ans の作成 , テスト / デバッグな どのための多くのツールが提供 されている。 Web とデータベー スの連係のための強力な機能を そろえている。このツールを使 ってオプジェクト指向プログラ ミングを実践する書籍とセット で提供。 アプリケーシ , ン VisualAge f 。 r ⅵによな第 オプクト指向 フログラミング Programming with VisuaIAge fo 「 JavaN VisualAge 日本語版 プロフェッショナル M. カレル - ー J ・エーカト 日本ビー・エムを ナシ■ナル・ランケーシ・ ・ビー・エム・システムズ・エンジニアルク 1 第 S ューシ立部 J 第グループ 株式会社トッパン 価格 : 3 , 800 円 ISBN コード :ISBN 4-8101-8995-3 ava 1 提供 : 日本アイ・ビー・エム株式会社 価格 . 23 , 900 円 動作環境 . Windows 98 / NT4.0 / 2000 URL : http://www.ibm.com/jp/software/ad/ 1 5 春の新人応援モニタ大会
春の新人応援モ会 MAGAZINE TurboLinux Workstation 日本語版 6.0 9 はじめての Turb0Linux 0 3 名 TurboIinux と多くの商用アプリ ケーションを組み合わせたパッ ケージ。付録 CD - ROM 「本気で 使おう ! Linux アプリケーシ ョン」 , およびデスクトップ用 Turbol ⅲ ux 製品次期バーション を優待価格で購人できるクーポ ンが付く。インストールから基 本操作 , 付属プログラムなどを やさしく解説する書籍とセット で提供。 T リ R 日ロ L N 凵 X 、 H 一日日 PE RF ロ RMANCE LINLJX T リ R 日ロ u-lNLJX W ロ R K 5 TAT ーロ N 日本語版 6.0 日本国内を - 売上実績・ 20 はじめての T 凵 R 日ロ し一 N 凵 nux オペレーティングシステム ターボリナックスワークステーション日本語版 6.0 提供 : タボリナックスジャパン株式会社 ソフトバンクバブリッシング株式会社 価格 . 12 , 800 円 価格 : 2 , 400 円 動作環境 : PC/AT 互換機 ISBN コード :ISBN 4-7973-1251-3 URL : http://www.turbolinux.co.jp/ URL : http://books.softbank.co.jp/ Kondara MNU/Linux 2000 0 & 新 Linux/UNIX 入門 3 名 Kondara Project の「 Kondara M NU/Linux 1.2 」の成果を元にデ ジタルファクトリが開発した製 品版。日本語 / 英語環境を適宜 使い分けることが可能で , 1 つの ソースで Intel/AIpha 両プラット ホームをサポートする。 Linux と その標準シェルである bash を素 材として UNIX の世界をわかり やすく解説する書籍とセットで 提供。 - KO ・ヨ da 当 a MNU 、 ri・ョ物、X ( た Linux /UNIX 比 0 2000 ま ソフトバンクバブリッシング株式会社 価格 : 3 , 800 円 ISBN コード :ISBN 4-7973-1318-8 URL : http://books.softbank.co.jp/ 提供 : デジタルファクトリ株式会社 価格 : 12 , 800 円 動作環境 : PC/AT 互換機 URL : http://www.digitalfactory.co.jp/ 1 6 C MAGAZINE 2001 4
Microsoft VisuaI Studio 0 ProfessionaIEdition 1 & VisuaIC + + 6.0 プログラミング入門編 Ⅵ 0 に + + 6.0 フログラミング 0 1 名 Windows 阪 / Me / NT / 2000 など の OS を提供するマイクロソフト の C / C + + 言語統合開発環境。機 能修正のための Se Ⅳ ice Pack 5 も配布が開始され , より安定し た環境を提供する。あわせて , Ⅵ sualC + + を利用したウインド ウブログラミングの入門書をセ ットで提供。ウイザードを利用 しないプログラムの解説で , ウ インドウアプリケーションの知 識を学ぶ。 マイクノフトビジュアルスタディオ 0 , メントンム プ 0 フェンヨナルエアイン一ン C プログラマーのための Ⅷ n 面 ws プログラミング入門 田中正道ーーー 門 0S0 代 professionat Edition 提供 : マイクロソフト株式会社 ソフトバンクバブリッシング株式会社 価格 . オープン価格 ( 推定小売価格 148 , 000 円 ) 価格 . 2 , 800 円 動作環境 . Windows 95 / 98 / NT4.0 / 2000 ISBN コード :ISBN 4-7973-1053-3 URL : http:″www.asia.microsofi.com/japan/ U RL : http ://books. softbank. co.jp/ BorIand C + + BuiIder 5 ProfessionaI 2 詳説 C + + 1 名 実績のある C / C + + コンパイラと , GUI 開発に貢献する RAD ツール を兼ね備える開発環境。最新技 術のサポートはもちろん , RAD とソースコードが常に連動する 2Way - T001 機能によって , さまざ まな開発スタイルに柔軟に対応 する。本誌連載をもとに書籍化 された , C + + プログラムを安全に 作るための C + + 解説書とセットで 提供。 Windows ′ 9 & 95 , NT / 2 网 詳説 Hi 曲印 e 面 rm 聞 s + + visualdevelopment with Database and InternetT001s ーーー画第目 er 新 使いやすいビジュアル開発環境 ・ 0 以上のコンポーネント ・メモリバグを検出する c 。 G d ・インターネット対応 ・多彩なデータベース機能 ・既有の資産の再利用 十十 ANSI C + + 完全理解 圧倒的な生産性を誇り、多様なニーズに応える C + + で実現されたビジュアル開発ツール 大城正慢】 円 0 SSion 提供 . ボーランド株式会社 価格 : 68 , 000 円 動作環境 . Windows 95 / 98 / NT4.0 / 2000 URL : http://www.borland.co.jp/ ソフトバンクバブリッシング株式会社 価格 : 3,000 円 ISBN コード :ISBN 4-7973-1225-4 URL : http://books.softbank.co.jp/ 1 2 C MAGAZINE 2001 4
春の新人応援モ火会 BorIand DeIphi 5 ProfessionaI 遊びのレシビ 1 名 初心者にもわかりやすく , 幅広 い応用が可能な Object PascaI を 採用した RAD ツール。 Linux 版 の Delphi である Kylix もリリース 間近で , 身につけた知識と技術 はそのまま Linux へと展開でき るようになる。さまざまなゲー ム開発の基礎知識と実装手法を DeIphi のソースコードで詰め込 んだ , ゲーム開発者必見の書籍 とセットで提供。 Windows 98 / 95 / 、 T を 訂 as s 気 mo Pt0ductive Windows 0 叩 m t t0 ゲ = ムプロクラミンク 遊びのレシビ アルゴリズムとテータ構造 C/C ” 使いやすいビジュアル開発賤境ー ・を第なコンポ - ネント ・インターネノト第応 ・多第なデータヘース強載 ・粃し、℃ 0 リ応 ・プ 0 ジークトマネージ , あらゆる開発シーンで威力を発揮する ビジュアル開発ツール BorIand DeIphi 5 ソフトバンクバブリッシング株式会社 価格 : 2 , 300 円 ISBN コード :ISBN 4-7973-0342-5 URL : http://books.softbank.co.jp/ 提供 . ボーランド株式会社 価格 : 68 , 000 円 動作環境 . Windows 95 / 98 / NT4.0 / 2000 URL : http://www.borland.co.jp/ BorIand JBuiIder 4 ProfessionaI 4 Java の落とし穴 1 名 ポーランド伝統の 2Way - T001 を 採用した Java 言語 RAD ツール。 最新 JDK に対応 , アプレットか らエンタープライズまで幅広い Java 開発をサポートする。無料 の Foundation 版 ( 要登録 ) も Web ページよりダウンロードできる。 Java 開発時にとまどったとき , そのよくある原因と対応を解説 した書籍をセットで提供 Linux, W ⅲ do 、、 s, solaris と ソフトバンクバブリッシング株式会社 価格 : 2 , 800 円 ISBN コード :ISBN 4-7973-1358-7 URL : http://books.softbank.co.jp/ Pure 」 a 肭園 DeveI 叩 ment with i database 加 . 一翳イ Pitf MiehaeI C. 以川 ta/E ⅱ J 円ⅲ KelIer/Keith 岩谷宏ー駅】 ビジュアル Java 開発ツール ・サープレット / JSP の開発 ・ DataExpress 、 JDataStore ・マルチプロセス対応デバッガ ・ JDK の切り替え ・ビルトイン w 曲サーバー Java 開発ツールのデフア外スタンダード ⅶ 4 提供 . ボーランド株式会社 価格 : 68 , 000 円 動作環境 . Windows 95 / 98 / NT4.0 / 2000 URL : http://www.borland.co.jp/ 1 3 春の新人応援モニタ大会
プログラミングのセオリー ちょっと長めに技術者をしていれば , 経 験がとても重要だということがわかる。た とえば設計技術に関しても , その経験が生 かされた設計とそうでないものでは実際に 完成した時点で大きな違いが出る。それは , たとえ小さいことでも , 経験によって事前 に対処されているさまざまな事柄が最終的 な形になるからだ。 ほんのちょっとした事柄の積み重ね , た だ知っている , 経験したことがあるという ことが , 結局は技術者の大切な能力となる。 経験を生かすということはどういうことか といえば , 結局はセオリーや定石といった 形に落ち着くのかもしれない。では , その セオリーや定石を学ぶためには , いったい どうすればいいのだろうか。 豊かな経験に裏打ちされた内容 本書『プログラミング作法』は , ご存じ 『プログラミング言語 C 』 (ISBN : 4-32 026 92-6 ) の著者の 1 人である Brian W. Kernigha n が RobPike とともに書いた , プログラミ ングの実践に関する書籍だ。 入門でも解説でも仕様でもなく , 実践の ノウハウを書いた書籍は , ためのセオリー ことプログラミングの分野に限ると , 思っ たよりも少ない。 その内容は , プログラミングスタイルか らアルゴリズム , データ構造 , 設計と実装 , デバッグおよびテスト , チューニング , 移 植性など , 幅広い範囲を網羅している。か といって内容が薄いかというと , そんなこ とはない。文章や構成がよくできており , わかりやすく論理的な説明があるため読み やすい印象がある。しかし汎用性の高い内 容に重点を絞ってあるため , むしろ全体と 『プログラミング作法』 プログラミング作法 THE PRACTICE OF PROGRAMMING し、 福崎俊博訳 日 ob Pike Brian W. Kemighan ASCII Brian W. Kernighan, 344 ペーシ , 2 , 800 円 アスキー 旧 BN4-7561-3649-4 Rob Pike 著 / 福崎俊博訳 してはひどく重い内容になっている。各所 に小問題も用意されており , 理解を助けて くれる。また , 各章の末尾にあげられた参 考文献も興味深い。どれも大切な文献ばか りで , 参考資料としてそろえておきたいも のばかりだ。 経験豊かな先輩からさまざまなノウハウ を教えてもらう。本書を読んでいると , そ ういう感覚を味わうことができる。 本書を読んで感じたことは , 経験の重み だ。デザインパターンを知ったときにも思 ったのだが , 個々人が問題から学んだこと は結局は普遍的な問題を扱っていることが 多く , 特定の解決方法としてまとめて共有 できるということだ。先端技術を学び続け ていくエンジニアの世界では , どうしても 過去の知識の蓄積 , 経験の共有といったこ とが軽んじられる傾向があるように思う。 実際には , 現場にいればいるほどまとめて おきたくても簡単なメモさえとれないこと が多いにれはたとえば企業的に重要視さ れないといった影響も大きいだろう ) 。 本書はその積み重ねの大切さをしつかり と教えてくれる。そしてそこから導き出さ れた現実的な , 机上の空論ではないノウハ ウを解決手段とともに提示してくれるのだ。 たとえば , 第 4 章のインタフェイスに関 する部分では , カンマ区切りフォーマット , いわゆる CSV の実装を例に話が進んでい く。いかにも誰でもやったことがある内容 にもかかわらず , ほとんどの人が多くのこ とを学ぶことができるだろう。 なお , Appendix として本書に登場したル ールがまとめてあるのだが , これがとても 重要な内容に思えるのは決して筆者だけで はないだろう。「悪いコードにコメントを 付けるな。書き直せ。」などの , 心に染み込 んで胸が痛くなる格言がずらりと並んでい て , 読むだけで平謝りしたくなるはずだ。 プログラマ必携の書物 なお , 同じく Brian W. Kernighan と P. J. Plauger ( 本誌の読者はよくご存じの Plaug er 氏だ ) の共著として , 共立出版から『ソフ トウェア作法』 (ISBN : 4-320-02142-8 ) , 『プログラム書法』 (ISBN : 4-32 圓 2085-5 ) と いう書籍も出ている。こちらも長い間プロ グラマのバイプル , 名著として知られてい る。 本書を読むなら , 間違いなく若ければ若 いほど , 早ければ早いほどいい。もっとも , 経験豊かなほうが本書に書いてあることの 重要性を実感することができるかもしれな 本書は , 設計から実際のプログ ラミングまで , およそ「プログラム」にかか わる人であれば必読 , 必携だと断言してよ い大切な書籍だ。常に傍らに置いておくべ ・問い合わせ先 ( 株 ) アスキー TEL 03-5351-8111 ( 代 ) http://www.ascii.co.jp/books/books/ き書物だといえるだろう。 Cmaga B00kends 凵 5
フィンロ ダの あつばれ ご意見番 ー 1 6 回 とりあえずかきをかける 一時期はフレツツ・ ISDN も不安定でま ったくどうしようもなかったが , 今世紀に 入ってからこちらの環境はずいぶん状態が よくなったようだ。しかし , 世間は ADSL が着実にユーザを増やしているようだし , 光ファイノヾを使った高速通信サービスも , 100Mbps のものが家庭向けに始まるそうだ し , 何となく , 時代に取り残されているよ うな気がしないでもない。 時代遅れといえば , 実は今ごろト m 。 de の 携帯電話を get したのである。世の中 , i ア プリとかいう時代になってきたのだが , パ ケット通信サービスを使いたいということ で , まだ最新機種にはその機能がないため 残念ながら i アプリ対応の機種はパスする ことに。しかも , 今までは DoPa 対応のモ デルを使っていたので 28 , 800bps でバケッ ト通信ができたが , i - mode が使えてかっパ ケット通信可能なモデルは , 実は 9 , 600bps しか速度が出ないのである。さらに バケ ット当たりの料金は 1.5 倍になってしまう。 それしか料金プランがないのだからどうし ようもない。最近は大きな添付ファイルを メールに付ける人もけっこういたりして , これでは安心してメールを読むこともでき ないが , まあ緊急用には使えるだろうとい う感じか そういえば , ト mode は当然 Web サイトを 見る機能があるわけだから , 自宅のサーバ にアクセスすることもできるはずだ。実際 に試してみたが , たしかにアクセスはでき る。ところが , パスワードの入力が猛烈に めんどうなのだ。個人用に使っているサー バは誰からでも見えるとマズいので , 認証 するように設定してある。ユーザを入力す るのはよいとして , 問題はパスワード入力 のテキストボックスだ。ご存じのとおり , 携帯電話には数字キーと補助的な 2 , 3 のキ ーしかなく , アルファベットを入力しても 工コーバックは「 * 」だから実際にどんな文 字が入ったかわからない。たとえば「 html 」 と入力するためには , 「 4486555 」とキーを 押すのだが , 同じキーを何度も押すのがす ごく不安になるのである。 そういえば , i-mode 対応のあるオンライ ントレードサービスを使ってみたが , ユー ザ認証時のパスワードを数字だけで指定す る仕組みであった。数字だけだと危ないの では , とか思ったが , たしかにこれは数字 だけにしておかないと , 入力するのが大変 だ。数字だけなら , 1 つの数字を指定する ために押すキーは 1 回で済むのである。桁 数が十分多ければ , セキュリティ上は問題 なさそうだから , まあいいか。 自宅のサーバに i - mode で接続して何がお もしろいのかというと , そう言われてみる と何に使ったらいいのかよくわからない。 @ni晦, のログは自宅のサーノヾのオートパイロ ットで取得できるから , それをダイジェス トにしてト mode で読めるようにすればどこ からでも読めるぞ , とか思ったのだが , 現 状のバケット料金では非現実的なのである。 erl でかきをかける 最近 , ニュース系のサイトとか見ている と , 「あなたはどっち ? 」系のちょっとした アンケートがあったりする。こういう機能 がプログラマーズフォーラムのページにも あるとおもしろいと思ってアンケート機能 を追加しようとした。 CGI で書けば簡単じ ゃん , とナメてかかっていたら , 意外と厳 しい戦いになった。 アンケートとかカウンタを CGI で作る場 合にもっとも注意が必要なのは排他処理で ある。要するに , 結果を同時に書き込まれ ないように工夫するという話だ。もっとも , ほとんど誰も使わないようなアンケートな ら , 現実的には排他処理を考えるだけムダ かもしれないが。 Perl でロックを実現するには , flock とい うシステム関数を使えばよい。 ActivePerl Help なら , perlfunc というところで flock と いう文字列で検索すれば , メールボックス をロックする処理の例が出ている。これは 大ざっぱに言えば , 1 ) ファイルをオープン 2 ) そのファイルハンドルに対して flock を かける 3 ) 必要な処理 4 ) flock を使ってロックを外す という手順のようだ。「のようだ」というの は , これまた大ざっぱな表現だが , 実は情 けない話 , よく理解していないのである。 まず , ファイルをオープンして , 次に fl ock でロックする。この順序はわかる。オ ープンできなければロックもできない , と いうか , しても意味がない。オープンでき たのにロックできない場合は ? ファイル 構造的に美しい順番の例 List open IN, $infile; open OUT, ">$outfilen # IN, OUT を使った処理 close OU close IN; List 有効期間が交錯している open IN, $infile; open OUT, ” > $ou f 土ー e ” # IN, OUT を使った処理 close IN; close OUT; 150 C MAGAZINE 2001 4
困ったが , そういえばほかの人も困ってい の内容には触らずに終了させれば問題は発 では一体何が気になるのか ? アンロッ クしてからクローズするまでのわずかな間 ると思うわけで , 一体Ⅲ MNET ではロック 生しないはず。では , オープンに成功し , 処理を CGI で書く場合にどうやって実現し ロックもできたし , 必要な処理もできたと である。これも非現実的かもしれないが アンロックしたその次の瞬間に何かほか しよう。次にどうすればいい ? ているのだろうか ? そういえば , CGI を作るには , 確実に動 手順としては , オープン , ロック , 処理 , のプロセスがロックしにくるかもしれない。 作状況を把握できるサーバがあると便利で アンロック , クローズ , というのが構造的 ロックに成功したら , その次には同じファ に美しいと思う。ファイルを 2 個オープン イルをオープンして上書きする可能性もあ ある。工ラーが発生したときに , http サー バのエラーログを確認すれば , 原因がはっ る。これではロックした意味がない。 するとき , A, B の順にオープンしたら , B というわけで , 実は現在使っている CGI きりすることがよくあるからだ。ただ , レ A の順にクローズすると何となく美しいの ンタルサーバは別として , CGI が使えるプ スクリプトは , オープン , ロック , 処理 , と同じだ。 List 1 のような感じである。 ロバイダでも httpd のエラーログまで公開 こでは構造がわかりやすいようにあえてイ クローズという順に処理している。 List 3 してくれるプロバイダは少ないようだ ( と ンデントしてあるが , 通常はこの処理では は実際のコードである。見てのとおり , ア いうか , あるのか ? ) 。 インデントを付けないことに注意するよう ンロックの処理はコメントアウトしてあ そこで目をつけたのが , 自宅で稼働して に。これに対して , List 2 のような書き方 る。つまり , アンロックしていないのだ。 いる叩 ache サーバだ。これなら , すべての サンプルにないことをすると , どうも精神 は , IN の有効期間と OUT の有効期間が交 的には落ち着かない。はたして本当にいい 情報をチェックできる。というか , もしか 錯しているので , 何となく美しくないよう して , これで動作したものをそのまま公開 のだろうか ? な気がする。 すれば , ロックの問題は解決するのでは ? ただ , この順序にまったく意味がないか んなでかき、をかけると ? どうせフレツツ ISDN で 24 時間接続してい というと , あまり現実的ではないかもしれ るのだから , 外からアクセスできないこと ないが , 理屈だけなら多少のこじつけは可 こうやってとりあえず CGI は完成した もない。という経緯があって , 現在は自宅 能である。たとえば , $ infile をオープンし というか未完成だが , とにかく動く一 のサーバで機能の一部を公開して使ってい ている時間をできるだけ短くしたい場合。 る。あまりトラフィックが多くなっては使 にはなっている。そこで , これを RIMNET ほんのわずかではあるが , List1 のほうが い物にならないと思われるが , アンケート に転送して処理させようとした。ところが , $outfile をクローズするのに必要な時間だ ここに大きな落とし穴があったのだ。 RIM のための CGI 処理に絞っているので , これ け , $ infile をオープンしている時間を短縮 NET では flock は正しく動作しないというの ならどうせ 1 日の利用者は多くて数名程度 することができる。あるいは , $outfile に である。公式アナウンスによれば , 「 PerI なので , まったく問題にならない。 対して行う処理が , 時間がかかるものなら の flock 関数など , OS が提供するファイル というか , 考えてみれば , そんなに利用 ば , 最後に $ infile を読んだらすぐにクロー 者が少ないのなら , わざわざロックしなく の 1 。 ck 機能は , 複数のサーバが並列動作を ズしてしまえば , そのあと時間のかかる処 ていいような気がするのだが しているリムネットの WWW サーバでは正 理をしてから $outfile をクローズするまで ( フィンローダ @nifty FPROG SYSOP) しく動作しません。」というのだ。これには の時間が短縮できる可能性はある。 きを開けるタイミング 現在使っているコード # # # # # # # # ロック処理を行いつつ必要なファイルをオープンする # $data は既存でなければならない さて , オープン , ロック , 処理 , クロー &error—exit("cannot open $data" ) unless (open IO, ″十く $data" &error—exit( ncannot lock $data" ) if (flock( IO, $LOCK—EX) = = FALSE); ズ , アンロック , という順序は , たぶん , &error—exit( "cannot open 引 og n つ unless (open LOG' ">>$ ー og ” &error—exit( "cannot lock 引 og 基 n ” ) if (flock(LOG, $LOCK—EX) = = FALSE); 原理的におかしい。というか , ファイルが p て土 n しも "$sys—date%n" クローズされた時点でロックは解除されて # # # # # # メインの処理 いると思われるので , たぶんアンロックで &body; きないのではないか ? だから , もしアン # # # # # # # # 後始末をする # flock IO, $LOCK—UN; ロックするのなら , 順序としてはオープン , close IO; # flock LOG, $LOCK—UN; ロック , 処理 , アンロック , クローズの順 close l.m; でなければならない。 List 151 ーダのあつばれご意見番 フィンロ