 |
 |
 |
 |
 |
 |
Python でのメタクラス・プログラミング、第 3 回 プログラミングが技巧的になりすぎると、設計が複雑になり、コードが脆弱になり、学習曲線がなだらかになり、そして何よりも困ったことに、デバッグが困難になります。著者の Michele と David は、彼らが以前に執筆した記事「Python でのメタクラス・プログラミング」が熱狂的に受け入れられたため、その後必要以上に技巧的になってしまったことに責任を感じています。この記事では、プログラマーが技巧的なプログラミングを避けるための支援をすることで、その修正を図ります。 |
|
|
|
2007/09/25 |
|
| |
QEMU によるシステムのエミュレーション QEMU は、PC システム全体を対象としたオープンソースのエミュレーターです。QEMU ではプロセッサーをエミュレートするだけでなく、必要なすべてのサブシステム (ネットワーク用ハードウェアやビデオ・ハードウェアなど) もエミュレートすることができます。さらに、対称型マルチプロセッシング・システム (最大 255 基の CPU) やその他のプロセッサー・アーキテクチャー (ARM、PowerPC など) といった高度なシステムをエミュレートすることも可能です。この記事では、QEMU とそのアーキテクチャーについて探り、Linux ホストでゲスト・オペレーティング・システムをエミュレートする方法を紹介します。 |
|
|
|
2007/09/25 |
|
| |
論理ボリュームの管理 ボリューム管理は -ix の世界 (UNIX、AIX など) では目新しいものではありません。論理ボリューム管理 (LVM) にしても、すでに Linux カーネル 2.4v1 および 2.6.9v2 から導入されています。この記事で紹介する LVM2 は、論理ボリューム管理機能を提供する比較的新しいユーザー空間のツール・セットです。ここではとりわけ役に立つ LVM2 の機能を紹介するとともに、システム管理タスクを容易にする方法をいくつか提案します。読者からのフィードバックを基に、著者によりリスト 10、14、15、および 16 が更新されています (編集者より)。 |
|
|
|
2007/09/20 |
|
| |
マウント名前空間を適用する ユーザーがシステム管理者の決めた構造に制約されることなく、独自のファイルシステムをセットアップできるようにすれば、ユーザーが自分のファイルシステムのツリーを部分的にエクスポートしたり、他のユーザーがエクスポートしたファイルシステムのツリーを自分のツリーにインポートしたりできるようになります。この記事では、マウント・プロパゲーションという手法を使って、Linux システム管理者がユーザーによるこのようなエクスポートとインポート操作を可能にする方法を順を追って説明します。 |
|
|
|
2007/09/17 |
|
| |
cairo を使ったクロスプラットフォーム・グラフィックス cairo はプリンターと画面の両方でまったく同じ出力を、しかもプラットフォームに依存しない方法で生成することにこだわって作成されました。そんな cairo は、Linux グラフィックスの世界で中心的な存在となってきています。GNOME、GTK+、Pango やその他多くで使用されている 2D の威力を活用してください。 |
|
|
|
2007/09/05 |
|
| |
Web サーバーのクラスターをセットアップする 5 つの簡単なステップ Linux Virtual Server と Heartbeat v2 を使用した 5 つの簡単なステップで、複数の物理または仮想 Linux サーバーにまたがる高可用性 Apache Web サーバー・クラスターを構成してください。 |
|
|
|
2007/08/22 |
|
| |
Linux のヒント: スケジュール・ジョブの持続時間をコントロールする 例えば皆さんが、真夜中に 30 分間、いくつかのトレースを実行することで面倒な問題をデバッグしなければならない、あるいは単純に、Linux システムを目覚まし時計として使いたいとしましょう。このヒントは、cron や at の機能を使って開始したジョブを、一定時間実行した後に、あるいは他の判断基準を満たした時に、停止する方法について説明します。このヒントは AppleTalk ネットワーキング・パッケージ (Netatalk) での timeout コマンドに関する情報を含むように変更されました (編集者より)。 |
|
|
|
2007/08/02 |
|
| |
gperf を使って効率的に C/C++ コマンド・ラインを処理する GNU ツール、gperf は「完全」ハッシュ関数であり、ユーザーが提供する一連のストリングに対して、ハッシュ・テーブル用の C/C++ コードとハッシュ関数、そして参照関数を生成します。C/C++ コードでの効果的なコマンド・ライン処理のために、gperf の使い方を学びましょう。 |
|
|
|
2007/07/25 |
|
| |
Linux のヒント: cron と at を使ったジョブ・スケジューリング 皆さんはシステム使用率が低い真夜中にジョブを実行しなければなりません。あるいは毎日、あるいは毎週ジョブを実行しなければならないかもしれません。しかし皆さんは、そんなことをするよりも眠りたい、あるいは他の方法で人生を楽しみたいと思うはずです。そういうときにジョブをスケジューリングすると役立ちますが、ジョブをスケジューリングすると、ルーチン・タスクを自動的に行わせることができたり、またタスクを必ず毎回同じ方法で処理することができます。このヒントでは、定期的に、あるいは将来のある時点で、ジョブが実行されるようにスケジューリングするために、cron 機能と at 機能を使う方法について説明します。 |
|
|
|
2007/07/18 |
|
| |
libspe の変更内容: libspe2 が Cell Broadband Engine プログラミングに与える影響 PPE (Power Processor Element) プログラムが SPE (Synergistic Processor Element) のアクセスと管理に使用する標準ライブラリー、libspe に大幅な改訂が行われ、Cell/B.E. (Cell Broadband Engine) SDK 2.1 ではライブラリー・インターフェースを libspe1 から libspe2 に正式に変更しています。この記事では、Jonathan Bartlett が libspe2 のコンセプトを紹介し、libspe2 で基本 SPE プロセスの管理と通信を行う方法を説明します。 |
|
|
|
2007/07/17 |
|
| |
軽量 Web サーバー 最近では、lighttpd や litespeed、mongrel など、興味深い Web サーバー実装が全盛です。これらの Web サーバーは、パフォーマンスや管理の容易さ、移植性、セキュリティー、その他関連する価値をさまざまに組み合わせ、独特の機能を誇っています。これから述べる工学研究では、軽量 Web サーバーの領域について調査し、皆さんの次期プロジェクトの技術要件を満足できそうな 1 台を見つけるために役立てたいと思います。 |
|
|
|
2007/07/10 |
|
| |
Linux ネットワーク・スタックの徹底調査 Linux オペレーティング・システムでとりわけ優れた特徴の 1 つとなっているのは、そのネットワーク・スタックです。当初、BSD スタックの派生的なものだったネットワーク・スタックは、今では明確な一連のインターフェースで整然と編成されています。インターフェースには、共通ソケット層インターフェースやデバイス層といったプロトコルに依存しないインターフェースから、それぞれのネットワーク・プロトコルに固有のインターフェースまであります。この記事では、層という観点から Linux ネットワーク・スタックの構造を説明するとともに、そこに含まれる主要な構造をいくつか取り上げます。 |
|
|
|
2007/06/27 |
|
| |
ActiveScaffold を使って Ruby on Rails を機能アップする Ruby on Rails の ActiveScaffold プラグインを使うことで、時間を節約して、頭痛の種を解消し、もっと管理のしやすいページを作成しましょう。ActiveScaffold はユーザー・インターフェースの CRUD (create, read, update, delete) に必要なことをすべて処理してくれるため、開発者はより多くの時間を、難しい (そして興味深い) 問題に集中して費やせるようになります。 |
|
|
|
2007/06/08 |
|
| |
LAMP システムを調整する: 第 3 回 MySQL サーバーを調整する LAMP (Linux、Apache、MySQL、PHP/Perl) アーキテクチャーを使ったアプリケーションは次々と開発され、デプロイされています。しかし多くの場合、アプリケーションはサーバー管理者以外の人が作成したものであるため、サーバー管理者はアプリケーション自体をほとんど制御することができません。この 3 回シリーズの記事では、アプリケーションのパフォーマンスを向上させる、あるいは低下させる、サーバー構成上のさまざまな項目について説明します。シリーズ最終回の今回は、最大の効率を実現するためにデータベース・レイヤーを調整する方法について説明します。 |
|
|
|
2007/06/07 |
|
| |
Linux カーネルの徹底調査 Linux カーネルは大規模で複雑なオペレーティング・システムのコアですが、その大きさのわりには、サブシステムおよび層構造に関してよく整理されています。この記事では Linux カーネルの一般的な構造を調べ、主要なサブシステムとコア・インターフェースを説明します。該当する箇所では、さらに詳しく掘り下げられるように、他の IBM の記事へのリンクも記載しています。 |
|
|
|
2007/06/06 |
|
| |
わかりやすいコードを作成するための 6 つの方法 開発者にとって最も貴重なリソースは時間です。時間の節約、それにフラストレーションの解消を望むなら、管理しやすいコードを作成する方法について、ここで説明する
6 つのヒントを参考にしてください。コメントの作成に費やす 1 分につき、1 時間分の苦しみを取り除けるはずです。 |
|
|
|
2007/05/29 |
|
| |
1日5分のXen理解: 第3回 Xen導入のメリット 仮想マシン環境を導入すると、どんなメリットがあるのでしょうか? すでに幾つかの点について触れてきましたが、もう一度ここで仮想マシン環境の利点を考えてみましょう。 |
|
|
|
2007/05/18 |
|
| |
1日5分のXen理解: 第2回 仮想マシンモニタXenの特徴 ここでは、仮想マシンモニタ「Xen」を取り上げ、その特徴を見ていくことにしましょう。 |
|
|
|
2007/05/18 |
|
| |
1日5分のXen理解: 第1回 仮想マシンとは何か? 2005年12月5日に仮想マシンモニタXen 3.0がリリースされました。読者の中には、すでに利用されている方もいるのはないでしょうか? 2004年ごろから仮想化環境はホットな話題です。MicrosoftによるVirtual PCの買収、無償利用できるVMware Playerの登場など、仮想化というトピックに大きな話題が集まっているのでご存じの方も多いでしょう。本稿では、まず仮想マシン環境とは何であるのかを説明します。仮想マシンモニタとはどういうもので、Xenを使うと何ができるのかを眺めてみましょう。 |
|
|
|
2007/05/18 |
|
| |
Linux スラブ・アロケーターの徹底調査 オペレーティング・システムのパフォーマンスの良し悪しは、オペレーティング・システムがどれだけ効率的にリソースを管理できるかによってある程度決まります。かつてはヒープ・メモリー・マネージャーがメモリー管理の標準でしたが、フラグメント化、それにメモリーを再利用しなければならないということがパフォーマンスの弱点になっていました。現在 Linux カーネルで使用されているのは、メモリーをサイズに応じたオブジェクトとして割り当てるという方法です。元々この方法が生まれたのは Solaris でしたが、だいぶ前から組み込みシステムで使用されています。この記事ではそんなスラブ・アロケーターの背後にある概念を探り、スラブ・アロケーターのインターフェースとその使用方法を検討します。 |
|
|
|
2007/05/15 |
|
| |
PS3 を既製品から実験装置に、第 1 回: Sony PLAYSTATION 3 から Linux 実験装置を構築する
既製の Sony PLAYSTATION 3 (PS3) の Cell Broadband Engine (Cell/B.E.) プロセッサーを利用して、Linux ベースの実験装置を構成する方法 (要するに、Cell/B.E. を既製品から実験装置に転用する方法) をご存知ですか。この連載では、Lewin Edwards がゲーム・コンソールを簡易オーディオ帯域スペクトラム・アナライザー兼ファンクション・ジェネレーターに変身させる方法を披露します。まず初めにこのプロジェクトの設計意図を明らかにした後 Cell/B.E. プロセッサーで信号を生成、分析する過程の出発点としてユーザー・インターフェース実装の詳細を詳しく説明します。 |
|
|
|
2007/05/15 |
|
| |
新入学生/新社会人応援企画: 第3回 あるWebプログラマーの作業環境 春は出会いと別れの季節。入学や就職で、新しい生活を始める人も多いでしょう。それを機にPC環境もそろそろ大人への階段を上ってもいいかもしません。ここでは、はてなという企業でプログラマーとして働くあの人の開発環境を紹介することで、プロが好む作業環境を考えてみます。 |
|
|
|
2007/05/11 |
|
| |
新入学生/新社会人応援企画: 第4回 あるWebプログラマーの作業環境 はてなという企業でプログラマーとして働くあの人の開発環境には欠かすことのできない三種の神器が存在します。後編となる今回は、前回紹介できなかった神器を紹介するとともに、意外と知られていないWebプログラマーの生態についてもみてみましょう。 |
|
|
|
2007/05/11 |
|
| |
新入学生/新社会人応援企画: 第2回 Windows上でLinuxを走らせてみよう Linuxを使ってみたいとは思っても、Windowsから完全に移行するのはまだ早いかな、とお考えのあなた。Windows上でLinuxを動作させることができるcoLinuxを使って、まずはLinuxに触れてみてはいかがでしょうか。 |
|
|
|
2007/05/11 |
|
| |
Second Life クライアント、第 3 回: Second Life に単純な変換機能を追加する Second Life ソフトウェアを探るシリーズ最終回の今回は、言語変換機能を持つ単純なコマンド・ライン・プログラムを Second Life に組み込むための方法を学びます。 |
|
|
|
2007/04/30 |
|
| |
Second Life クライアント、第 2 回: ドキュメンテーションを掘り下げる Second Life クライアントの開発者用ドキュメンテーションは、ウィキの形式をとっています。この、Second Life ソフトウェアについて探るシリーズの第 2 回目の今回は、ドキュメンテーションについて調べ、それを利用して早速クライアントに一部変更を加えます。 |
|
|
|
2007/04/30 |
|
| |
LAMP システムを調整する: 第 2 回 Apache と PHP を最適化する LAMP (Linux、Apache、MySQL、PHP/Perl) アーキテクチャーを使ったアプリケーションは次々と開発され、デプロイされています。しかし多くの場合、アプリケーションはサーバー管理者以外の人が作成したものであるため、サーバー管理者はアプリケーション自体をほとんどコントロールできません。この 3 回シリーズの記事では、アプリケーションのパフォーマンスを向上させる、あるいは低下させる、サーバー構成上のさまざまな項目について説明します。今回の第 2 回は、Apache と PHP を最適化するために必要なステップに焦点を当てます。 |
|
|
|
2007/04/30 |
|
| |
Linux PD-障害発生時の金科玉条: 第6回 PDツールでシステムの内部情報に迫れ(後編) 過負荷状態となったとき、OSの内部ではどのような動作が行われているのでしょうか。ここでは、幾つかのツールを使用して、ステータスの解釈やデータ分析を行ってみましょう。問題を解決するには、まず問題を知れ、です。 |
|
|
|
2007/04/27 |
|
| |
新入学生/新社会人応援企画: 第1回 ディストリビューションの選び方、試し方 春は出会いと別れの季節。入学や就職で、新しい生活を始める人も多いでしょう。そこで本連載では、新入学生/新社会人応援企画として、オープンソースで作る環境構築を解説していきます。また、デスクトップ環境のほか、新しくプログラミングを始める人のために、Web/Java開発の第一線でいまどのように環境が使われているかを紹介します。 |
|
|
|
2007/04/27 |
|
| |
Linux通へのステップバイステップ: 第2回 ちょっぴりLinuxの開発/配布体制が語れるようになる基礎知識 インストールが楽になるように、と始まったディストリビューションですが、その開発/配布体制にも発展の流れがありました。ライセンスの話も整理しながら、ポイントをまとめていきましょう。 |
|
|
|
2007/04/27 |
|
| |
障害発生時の金科玉条: 第5回 PDツールでシステムの内部情報に迫れ(前編) PDを行う際に心強い味方となってくれるのがさまざまなツール類です。ツールを利用することで、ログや設定ファイルからだけでは分からない、システムの内部情報についても知ることができます。そこで今回は、過負荷状態となったときOSの内部ではどのような動作が行われているのか、幾つかのツールを使用して探ってみましょう。 |
|
|
|
2007/04/27 |
|
| |
Linux通へのステップバイステップ: 第1回 ちょっぴりLinuxが語れるようになる基礎知識 Linuxディストリビューションは数多く、どれを選ぶか悩むところです。特にここ最近で各ディストリビューターやプロジェクトに動きがあり、数年前とは状況が変わってきています。ディストリビューション選びのポイントとなる部分を整理し、Linuxディストリビューションのいまを掌握していきましょう。 |
|
|
|
2007/04/27 |
|
| |
Sugar と XO ラップトップで、子供たち一人ずつに 1 台のラップトップを One Laptop per Child (OLPC) は、世界中の子供たちにコンピューター技能を広めるために、ソフトウェアが付属した低コストのラップトップ (USD100) を開発するという使命を掲げた組織です。そのコンピューターの対象は子供たちであるため、今までにないユーザー・インターフェースとアプリケーションを提供して、子供が表現や学習用のツールを試せるようにしなければなりません。OLPC のオペレーティング・システムは Linux カーネルの移植版ですが、Sugar という独特なインターフェースを備えています。この記事では、Sugar ヒューマン・インターフェースの概要、標準的な PC でQEMU を使って OLPC ラップトップを仮想化する方法、そして Sugar と OLPC の機能を紹介します。 |
|
|
|
2007/04/24 |
|
| |
障害発生時の金科玉条 第4回 ハードウェアかOSか、それが問題だ 障害発生時にPDに必要なハードウェア関連情報の収集方法を解説する本稿。今回は、ハードウェアRAIDの監視について解説します。 |
|
|
|
2007/04/20 |
|
| |
障害発生時の金科玉条: 第3回 ハードウェアかOSか、それが問題だ I/O関連のトラブルやカーネルパニックなどの原因にハードウェアがかかわっているのは多々あることです。しかし、実際にそのような状況に直面した場合、どのように原因を探れば良いのでしょうか。今回から2回に分けて、PDに必要なハードウェア関連情報の収集方法について解説していきましょう。
|
|
|
|
2007/04/20 |
|
| |
Linux カーネル仮想マシンを探る Linux と柔軟性は切り離せないものですが、仮想化のオプションにしてもそれは同じことです。しかし最近では、カーネル仮想マシン (KVM) の登場によって Linux 仮想化の全体像が変わってきています。KVM は主流の Linux カーネル (V2.6.20) に統合される初の仮想化ソリューションです。Linux ゲスト・オペレーティング・システムの仮想化をサポートする KVM は、Windows でさえも仮想化を認識するハードウェアでサポートします。この記事で、Linux KVM のアーキテクチャーについて、そして Linux KVM と Linux カーネルとの統合が Linux の使い方を変えるかもしれない理由について学んでください。 |
|
|
|
2007/04/18 |
|
| |
SoC ドロワー: Cell Broadband Engine チップ: 大衆のための高速オフロード 世界規模の接続性と帯域幅によって私たちの住む世界が変化するなか、コンピューティングのブロードバンド革命を推進し、スーパーコンピューティングや医用画像処理、そして続々と登場している新たなアプリケーションのシリコン DNA のコアとなっているのが Cell Broadband Engine (Cell/B.E.) チップです。この記事では、Yellow Dog Linux を実行する Sony PLAYSTATION 3 の Cell/B.E. システムにおけるアプリケーション・コードのパフォーマンスを検討します。単純なプログラムを例に、マルチスレッド・アプリケーションで Synergistic Processing Element (SPE) に作業を負担させると、どれだけ大幅な高速化を実現できるかを説明します。 |
|
|
|
2007/04/17 |
|
| |
Linux on POWER でのアプリケーション開発 IBM のPOWER プラットフォーム、System p(TM) と System i(TM) で Linux(R) アプリケーションを開発し、デプロイするための方法は、他の Linux システムでデプロイや開発を行う場合と同様です。この記事では、Linux on POWER システムで開発やデプロイを行う場合の類似点と相違点について、知っておくべき事項を解説します。(2007年4月更新。) |
|
|
|
2007/04/16 |
|
| |
Linux 鍵保存サービス入門 Linux 鍵保存サービスは、Linux 2.6 から導入されました。これは、Linux プラットフォームで認証、暗号化方式、ドメイン間のユーザー・マッピングなどのセキュリティー関連項目を扱う、これまでにないすばらしい方法です。この記事で、Linux 鍵保存サービスのコンポーネントについて学習し、実稼動サンプル・アプリケーションを通じてコンポーネントの使用方法について理解してください。 |
|
|
|
2007/04/11 |
|
| |
64 ビット Linux での Power Architecture の Time Base Register Power Architecture 技術の Time Base Register を使用し、PowerPC および Cell/B.E. (Cell Broadband Engine) マイクロプロセッサーで動作する Linux で、ナノ秒レベルの時刻を測定してください。この精度の高い時刻測定が役に立つアプリケーションとしては、トランザクション (通常は暗号化されるか、またはデジタル署名が付いた 1 回だけ使用されるメッセージ) へのタイムスタンプ付与、コードのプロファイル作成、そして微小時間の正確なソフトウェア遅延の実装などがあります。 |
|
|
|
2007/04/04 |
|
| |
Cell BE プロセッサーでのハイパフォーマンス・アプリケーションのプログラミング、第 6 回: DMA 転送での賢いバッファー管理 今回紹介するのは、ダブルバッファー方式およびマルチバッファー方式の概念です。これらの方式では、処理とデータ転送を並列化し、SPE のメモリー・フロー・コントローラー (MFC) が最適な順序でロードと保存の操作を行えるようにして、コードの処理速度を改善します。 |
|
|
|
2007/04/03 |
|
| |
coLinux による仮想化 最近の仮想化には、VmWare、Xen、そして KVM (Kernel-based Virtual Machine) が盛んに使われていますが、Linux と Microsoft Windows を連携させて実行できることをご存知でしたか? この記事では Cooperative Linux (coLinux) に焦点を当て、仮想化の簡単な紹介から始めて、coLinux による仮想化の手法、そして Windows 上で coLinux を起動して動作させる方法を説明していきます。 |
|
|
|
2007/03/31 |
|
| |
LAMP システムを調整する: 第 1 回 LAMP アーキテクチャーを理解する LAMP (Linux, Apache, MySQL, PHP/Perl) アーキテクチャーを使ったアプリケーションは次々と開発され、デプロイされています。しかし多くの場合、アプリケーションはサーバー管理者以外の人が作成したものであるため、サーバー管理者はアプリケーション自体をほとんどコントロールできません。この 3 回シリーズの記事では、アプリケーションのパフォーマンスを向上させる、あるいは低下させる、サーバー構成上のさまざまな項目について説明します。今回の第 1 回は、LAMP のアーキテクチャーと、測定を行うための方法、そして Linux のカーネルやディスク、ファイル・システムなどの基本的な調整方法について説明します。今後の記事では、Apache と MySQL、PHP のコンポーネントの調整方法について調べます。 |
|
|
|
2007/03/31 |
|
| |
仮想マシンモニタ Xen 3.0解読室:第1回 Xenのモデルと構造 複数の仮想マシン環境を作り上げ、制御するために、仮想マシンモニタであるXenが具体的に何をやっているのか、興味がある方に向け、Xenの設計思想と実装について連載で解説していく。 |
|
|
|
2007/03/30 |
|
| |
developerWorksの歩き方 第1回 現場で使える技術を求めて日々Webサイトを巡回する技術者は多い。国内ではコアな情報を扱うサイトや雑誌が少ないが、developerWorksには多くの有益な情報が存在している。本連載では、developerWorksを徹底的に活用するためのガイドを提供します。 |
|
|
|
2007/03/30 |
|
| |
developerWorksの歩き方: 第2回 ゾーンを巡る 前回は、日本語による技術情報が集約された「IBM developerWorks」を紹介しました。今回は、developerWorksにはどういったコンテンツがどのように配置されているのかを紹介します。 |
|
|
|
2007/03/30 |
|
| |
仮想マシンモニタ Xen 3.0解読室:第3回 Xenの内部設計(後篇) 前回に引き続き、Xenが仮想マシン環境を実現するために行っていることの全体を眺めてみましょう。 |
|
|
|
2007/03/30 |
|
| |
作って学ぶ、今どきのWebサービス: 第2回 RSSフィードの料理はLWPとXML::RSSにおまかせ 今回から、いよいよPerlプログラミングの世界に入っていきましょう。手始めに、PerlにおけるWebプログラミングの要ともいえるLWPを用いた、HTTPコンテンツをPerlでHackする手法を解説します。 |
|
|
|
2007/03/30 |
|
| |
developerWorksの歩き方: 第3回 トレンドをつかむ developerWorksのコンテンツを十分に味わうには、外部のサービスなども活用した方がいいでしょう。今回は、RSSやソーシャルブックマークを活用してdeveloperWorksの人気記事をチェックしていきます。 |
|
|
|
2007/03/30 |
|
| |
仮想マシンモニタ Xen 3.0解読室:第2回 Xenの内部設計(前篇) Xenが仮想マシン環境を実現するために行っていることの全体を眺めてみましょう |
|
|
|
2007/03/30 |
|
| |
作って学ぶ、今どきのWebサービス: 第3回 XML::SimpleであらゆるXML文書を料理する RSSにおけるXML::RSSのように、専用のモジュールがある場合にはそれを使えばよいのですが、そうでない場合は汎用のXMLパーサーモジュールを使ってパースすることになります。今回は、XML::Simpleを使ってあらゆるXML文書を料理できるようにしてみます。 |
|
|
|
2007/03/30 |
|
| |
作って学ぶ、今どきのWebサービス: 第1回 何はなくともCPANを知ろう
最近のWebかいわいでは、Webアプリケーション同士が連携してどんどん面白いサービスが生まれています。しかし、Web上のサービスは手元にソフトウェアも何も残らないので、どうしても雲をつかむような分かりにくさがあります。そこで本連載では、Webサービスを実際に利用/作成しながら、そういった「今どき」のテクノロジーを学んでみたいと思います。
|
|
|
|
2007/03/30 |
|
| |
Second Life クライアント、第 1 回: Second Life の詳細を調べる Second Life を開発した Linden Lab が Second Life のビューアー・プログラムをオープン・ソースでリリースしたことによって、クローズド・ソースの開発モデルとオープン・ソースの開発モデルそれぞれの強みを比較できる稀な機会が得られました。シリーズ第 1 回の今回は、両者の開発スタイルの違いの概要と、皆さんが独自のビルド環境を設定するために必要な事項を解説します。 |
|
|
|
2007/03/27 |
|
| |
Linux システム・コールを使用したカーネル・コマンド
Linux
システム・コールは私たちが毎日使っているものですが、システム・コールはどのようにしてユーザー空間からカーネスに対して行われるかをご存知ですか。そこで、この記事では
Linux システム・コール・インターフェース (SCI) の詳細を説明します。新しいシステム・コールを追加する方法
(そしてその代わりとなる手段)、そして SCI 関連のユーティリティーについて学んでください。
|
|
|
|
2007/03/21 |
|
| |
Cell BE プロセッサーでのハイパフォーマンス・アプリケーションのプログラミング、第 5 回: C/C++ での SPU のプログラミング 連載「Cell BE プロセッサーでのハイパフォーマンス・アプリケーションのプログラミング」の第 5 回では、これまでに学んだ相乗演算処理装置 (SPU) の知識を、Cell BE (Cell Broadband Engine) プロセッサーの C/C++ プログラミングに応用します。ベクトル拡張機能を使用する方法、コンパイラーに分岐を予測するよう指示する方法、そして DMA 転送を C/C++ で実行する方法を学んでください。 |
|
|
|
2007/03/20 |
|
| |
Linux と対称型マルチプロセッシング 代表的な中央演算処理装置 (CPU) ベンダーの数々を見ても明らかなように、マルチコア・プロセッサーがデスクトップ市場と組み込み市場を独占しようとしています。マルチプロセッシングによって確かにパフォーマンスは向上しますが、新たな問題も伴います。この記事ではマルチプロセッシングの背後にある概念、そして SMP を活用する Linux 対応アプリケーションを開発する方法を検討します。 |
|
|
|
2007/03/14 |
|
| |
VMware ESX Server を使用して Linux 仮想マシンで DB2 Enterprise 9 をセットアップする この記事では VMware Infrastructure コンポーネントを紹介し、VMware ESX Server 製品を使って 64 ビットの
Linux 仮想マシン上に DB2 Enterprise 9 をセットアップする手順を説明します。 |
|
|
|
2007/03/08 |
|
| |
アプリケーションの並列化で Linux のブートをより高速に行う Linux について特に開発者たちが持っている一番大きな不満の 1 つは、Linux がブートする際の速度です。Linux は、細かい設定をしなくてもデフォルトでクライアント・デスクトップまたはサーバーとしてすぐに機能する汎用オペレーティング・システムです。このような柔軟性を持つ Linux は幅広い用途に向いてはいるものの、特定の構成に対応するのに最適とは言えません。この記事では、初期化プロセスを並列化するための 2 つのオプションをはじめ、Linux のブート速度を向上するための方法を説明します。また、ブート・プロセスのパフォーマンスをグラフを使って視覚的に表示する方法についても紹介します。 |
|
|
|
2007/03/06 |
|
| |
Fedora Live CD を作成する Fedora Linux は一般的で成熟した Linux ディストリビューションであり、多くの人が Fedora をベースとした Live CD ディストリビューションを作成していますが、Fedora プロジェクト自体は 2006年の12月まで、最初の正式な Live CD をリリースしませんでした。Fedora Live CD 作成ツールである Pilgrim をリライトしたものを使って、使いやすい、独自のカスタム Live CD を作る方法を学びましょう。 |
|
|
|
2007/02/28 |
|
| |
Power アーキテクチャーのためのアセンブリー言語 第 4 回: 関数コールと PowerPC の 64-ビット ABI ABI (Application Binary Interface) とは、作成した言語やコンパイルしたコンパイラーが異なるプログラム同士がそれぞれの関数を互いに呼び出せるようにするための一連の規則のことです。4 回からなる連載の最終回となるこの記事では、64-ビットのELF システム (UNIX ライクなシステム) に対応した PowerPC ABI について説明し、PowerPC ABI を使用して関数を作成し、呼び出す方法についても取り上げます。64-ビットの PowerPC ABI がどのように機能するかを詳しく知ることで、アセンブリー言語でプログラミングしているかどうかに関わらず、POWER5 や他の PowerPC ベースのプロセッサーに対応した 64-ビットのプログラムを一層効率的に作成できるようになります。この記事では取り上げていませんが、32-ビット ABI もあります。 |
|
|
|
2007/02/28 |
|
| |
Cell BE プロセッサーでのハイパフォーマンス・アプリケーションのプログラミング、第 3 回: 相乗演算処理装置の紹介 この連載では、Cell BE (Cell Broadband Engine) プロセッサーの相乗演算処理要素 (SPE) の詳細と最低限の基本レベルでのその動作方法を説明しています。今回の記事で取り上げるのは、ストレージ・アラインメントの問題と SPE の通信機能です。 |
|
|
|
2007/02/22 |
|
| |
Linux のヒント: Bash のテスト関数と比較関数 皆さんは、Bash シェルの膨大なテスト・オプションや比較オプションで混乱していないでしょうか。このヒントでは、さまざまなタイプのファイル・テストや算術テスト、文字列テストの神秘を解き明かします。このヒントによって、どういう場合に test や [ ]、[[ ]]、(( ))、あるいは if-then-else といった構成体を使うべきかを理解できるはずです。 |
|
|
|
2007/02/20 |
|
| |
Linux のヒント: CUPS を使って DVI ファイルを印刷する 皆さんは、Linux で DVI ファイルや他のファイルを印刷しようとして「unsupported format」メッセージを受け取ったことはないでしょうか。このヒントでは、既存のツールを組み合わせて DVI ファイル印刷用の CUPS プリント・フィルターを作成する方法を説明します。 |
|
|
|
2007/02/07 |
|
| |
Linux のメモリー・フットプリントを削減する 物理的なメモリーが不足すると、Linux のパフォーマンスが大きく制限されます。この記事では、Linux システムが使用するメモリーの量を正確に測るための方法を学びます。また Ubuntu システムを例として使用しながら、メモリー要求を削減するための実際的なアドバイスを示します。 |
|
|
|
2007/01/31 |
|
| |
Power アーキテクチャーのためのアセンブリー言語: 第 3 回: PowerPC 分岐プロセッサーでのプログラミング これまでの 2 回の記事では、POWER5 プロセッサー上で 64-ビットの PowerPC 命令セットを使用してプログラムがどのように動作するか、また PowerPC 命令セットがどのようにしてメモリーをアドレス指定するか、そして位置に依存しないコードを作成する方法について説明してきました。今回の記事では、PowerPC 命令セットに用意されている非常に効果的な条件命令および分岐命令の使い方に焦点を当てます。 |
|
|
|
2007/01/17 |
|
| |
仕事中に口笛を吹いて、コンピューターにコマンドを実行させる Linux あるいは Microsoft Windows とオープンソースの sndpeek プログラム、そして単純な Perl スクリプトを使って、特定のトーン・イベント・シーケンスを読み取らせ (つまり文字どおりコンピューターに向かって口笛を吹いたり、ハミングしたり、そして歌を歌ったりし)、こうしたトーンに基づいてコマンドを実行しましょう。コンピューターに向かって、ベートーベンの交響曲第 5 番の最初の数小節を、短くて低いトーンの口笛で吹くことで、E メールをチェックしたり、スクリーンセーバーのロックを解除したりすることができます。口笛を吹いて、作業効率を高めましょう。 |
|
|
|
2007/01/09 |
|
| |
Cell BE プロセッサーでのハイパフォーマンス・アプリケーションのプログラミング、第 1 回: PLAYSTATION 3 での Linux 入門 プログラマーが新たな Cell Broadband Engine? (Cell BE) プロセッサーを体験して使いこなせるようになるには、SonyR PLAYSTATIONR 3 (PS3) が最も簡単で最も安上がりな方法になります。この記事を読んで、話題の全容、そして PS3 に LinuxR をインストールして PS3 の Cell BE プロセッサーを対象とした開発に着手する方法を学んでください。 |
|
|
|
2007/01/03 |
|
| |
魅力的な Python: デコレーターで魔法を身近に Python はメタプログラミングを可能にしましたが、メタプログラミングを実現する方法は、Python のバージョンごとに多少異なる (そして完全に互換するわけではない) 趣向が加えられています。Python の魔法に手を伸ばす手法として長いことあれこれ操作されてきたのは、ファースト・クラスの関数オブジェクトです。バージョン 2.2 では、Python はカスタム・メタクラスのメカニズムを拡張しました。これは効果を発揮しましたが、ユーザーの頭を混乱させるという犠牲を伴いました。最近ではバージョン 2.4 で「デコレーター (修飾子)」が拡張されています。デコレーターは、大抵のメタプログラミングを行う際の最新かつ、とびきりユーザー・フレンドリーな手段になります。 |
|
|
|
2006/12/29 |
|
| |
仮想 Linux
仮想化の意味は、人によってさまざまです。目下、仮想化で大きな焦点となっているのは、サーバーの仮想化、つまり複数の独立したオペレーティング・システムを単一のホスト・コンピューターでホストすることです。この記事では、仮想化の背後にある意図を説明した後、仮想化を実装する方法をいくつか取り上げます。さらに、Linux
でのオペレーティング・システムの仮想化など、世間に出回っている仮想化技術についても目を向けてみます。
|
|
|
|
2006/12/29 |
|
| |
IP エイリアスを使って 1 枚のネットワーク・カードで複数の SSL サイトをホストする SSL と名前ベースの仮想ホストの併用への関心が高まっています。そんなことは不可能だと言う人もいますが、Apache では IP ベースの仮想ホストを使って仮想ホストを実装できます。John Liao と Jim Miles がこの記事でその方法を伝授します。 |
|
|
|
2006/12/19 |
|
| |
遅延プログラミングと遅延評価 遅延プログラミング (lazy programming) は、結果が必要になるまで関数あるいはリクエストの処理を遅らせるという、一般的な概念です。この概念には、さまざまな用途があり、用途が明らかなものから、それほど目立たないものまであります。遅延プログラミングの観点から考えることによって、不必要な計算を避けることができ、またプログラムを問題指向の構成に変更することができます。 |
|
|
|
2006/12/18 |
|
| |
Linux 対応のデータ可視化ツール Linux 上でデータをグラフィカルに表示するアプリケーションは、単純な二次元グラフから三次元曲面、そしてサイエンティフィック・グラフィックス・プログラミング、グラフィカル・シミュレーションまで多岐にわたります。幸いにも、可視化ツールには gnuplot、GNU Octave、Scilab、MayaVi、Maxima、OpenDX など、多数のオープン・ソースが揃っています。ツールのそれぞれには利点と欠点があり、対象となるアプリケーションも異なるため、さまざまなオープン・ソース・グラフィカル表示ツールを学んで、そのなかからご使用のアプリケーションに最適なものを選択できるようにしてください。[この記事は OpenDX を追加記載するために更新されています (編集者)。] |
|
|
|
2006/11/30 |
|
| |
Apache Proxy のディレクティブ (mod_proxy) を使って LAMP セキュリティーを改善する この記事では Nick Maynard が、Apache の mod_proxy モジュールを使って LAMP セットアップのセキュリティーを改善する方法の概要を説明します。この記事は Linux のみを対象としますが、ここで説明する原則のいくつかは、他のオペレーティング・システムにも適用することができます。 |
|
|
|
2006/11/29 |
|
| |
Linux で Web スパイダーをビルドする Web スパイダーとは、ユーザーに代わってインターネットを巡回して情報を収集、フィルタリング、そして場合によっては集約するソフトウェア・エージェントのことです。Web スパイダーは、一般的なスクリプト言語とそれぞれの一連の Web モジュールを使って簡単に開発できます。この記事では、Web サイトを巡回して情報 (この記事の場合は株価データ) を集める Linux® 対応のスパイダーとスクレイパーをビルドする方法を紹介します。 |
|
|
|
2006/11/14 |
|
| |
Linux ThinkPad の振動検出を活用する カーネルを修正することによって最先端のカタルシス・インターフェースをコンピューターに実装しましょう。カーネル・パニックが起きた際に Linux ラップトップに振動を与えると、自動的にリセットすることができます。 |
|
|
|
2006/11/07 |
|
| |
Make をデバッグする GNU make や System V make、Berkeley make などの make ユーティリティーは、アプリケーションのビルド・プロセスを効率化するための基本的なツールですが、お互いに少しずつ異なっています。この記事では、makefile の構造や makefile を作る際に犯しがちな誤りを防ぐ方法、移植性に関する問題への対処などについて学びます。また、その他の問題が発生した場合のための解決のヒントも解説します。 |
|
|
|
2006/10/24 |
|
| |
m17n を使って世界中にコードを移植する Linuxアプリケーションを世界中で使えるようにするためには、しかも西欧の言語と世界各国の多くの言語との間に不公平を生じさせないためには、どんなに複雑な言語であっても任意の言語を入力でき、また保存、取得、描画できる、ローカライズしたアプリケーションを提供できなければなりません。多言語化ライブラリー、つまり
m17n は、UNIX ライクのプラットフォームのあらゆる言語に対して、単一の国際化ソリューションを提供します。
|
|
|
|
2006/10/17 |
|
| |
Linux のためのバージョン・コントロール バージョン・コントロール・システム、またはソース管理システムは、最近のソフトウェア開発にとって非常に重要です。これを使わないと、まるでスピードを出しすぎて車を運転するような羽目になります。つまり、楽しく、早く目的地に着けるかもしれませんが、事故は避けられません。この記事では、CVS や Subversion、Arch、Git などを含めた SCM (Software Configuration Management) システムとその利点について、概要を説明します。また、一般的な SCM のアーキテクチャーについても解説します。そして最後に、新しい手法にはどんなものがあるか、従来のものとの違いについて説明します。(編集者より: Git の構文が改善されたのを反映して、リスト 4 を更新しました。) |
|
|
|
2006/10/10 |
|
| |
OpenSSL API によるセキュア・プログラミング 第 3 回: セキュアなサービスを提供する セキュアなサーバー・アプリケーションがなければ、セキュアなクライアント・アプリケーションが必要になることもありません。OpenSSL では、セキュアなサーバー・アプリケーションを作成できます。文書の上では手ごわそうに見えますが、実際は難しいことではありません。この 3 回シリーズの第 1 回で説明したコンセプトに基づいて、セキュアなサーバー・アプリケーションを構築する方法を学んでください。 |
|
|
|
2006/09/27 |
|
| |
オープンソースのロボット・ツールキット
ロボットを作るためには、組み込みのファームウェアやハードウェア設計、センサーの選択、コントロール・システムの設計、そして機械設計など、様々な分野でのスキルが必要です。しかしシミュレーション環境を利用すれば、開発に高いコスト
(そして時間)
をかけなくても、テストや測定、ロボット・アルゴリズムの視覚化などのための仮想的な場を作ることができます。この記事では、Linux
用のオープンソースのロボット技術ツールキットをいくつか紹介し、それらの機能を実際に使ってみながら、皆さんが最適なものを選ぶ際の参考にしたいと思います。
|
|
|
|
2006/09/05 |
|
| |
Linux のためのオープン BIOS 多くのシステムでは、ブート時間の大部分を MS-DOS に対するレガシー・サポートに費やされています。LinuxBIOS や Open Firmware など様々なプロジェクトでは、特定のシステム専用に作られた BIOS システムを、Linux カーネルをロードし、実行するために必要なことのみを行う、整理されたコードで置き換えようとしています。この記事では、こうした分野の概要を説明します。 |
|
|
|
2006/08/31 |
|
| |
developerWorks のトライアルへのパッチ: IBM Rational Systems Developer V6.0.1 trial for Linux の互換性パッチをインストールする Rational Systems Developer V6.0.1 for Linux のトライアル・バージョンをインストールしたら、それを実行する前に、一部のコンフィギュレーション・ファイルをアップデートするためのパッチを適用する必要があります。この記事では、パッチの適用方法やワークスペースのアップデートについて、またトライアル製品のアップデート方法などについて詳細に説明します。 |
|
|
|
2006/08/31 |
|
| |
developerWorks のトライアルへのパッチ: IBM Rational Functional Tester V6.1 trial for Linux の互換性パッチをインストールする Rational Functional Tester V6.1 for Linux のトライアル・バージョンをインストールしたら、それを実行する前に、一部のコンフィギュレーション・ファイルをアップデートするためのパッチを適用する必要があります。この記事では、パッチの適用方法やワークスペースのアップデートについて、またトライアル製品のアップデート方法などについて詳細に説明します。 |
|
|
|
2006/08/31 |
|
| |
Bluetooth と Serendipity サーバーを使ったモバイル・ロケーション・アウェアネス ワイヤレス技術によって、私達 1 人 1 人のつながりは増えました。それと同時に、どこででも携帯電話が鳴るおかげで、私達の注意はそがれてしまうようになりました。もし、ワイヤレス技術によって、注意がそがれる程度を軽減できるとしたらどうでしょう。Bluetooth ベースの WPAN (wireless personal area network) と、Serendipity サーバーのようなソーシャル・ネットワーキング技術を使えば、それが可能なのです。 |
|
|
|
2006/08/29 |
|
| |
developerWorks のトライアルへのパッチ: IBM Rational Data Architect V6.1 trial for Linux の互換性パッチをインストールする Rational Data Architect V6.1 for Linux のトライアル・バージョンをインストールしたら、それを実行する前に、一部のコンフィギュレーション・ファイルを更新するためのパッチを適用する必要があります。この記事では、パッチの適用方法やワークスペースの更新について、またトライアル製品の更新方法などについて詳細に説明します。 |
|
|
|
2006/08/29 |
|
| |
developerWorks のトライアルへのパッチ: IBM Rational Application Developer V6.0 trial for Linux の互換性パッチをインストールする Rational Application Developer V6.0 for Linux のトライアル・バージョンをインストールしたら、それを実行する前に、一部のコンフィギュレーション・ファイルをアップデートするためのパッチを適用する必要があります。この記事では、パッチの適用方法やワークスペースのアップデートについて、またトライアル製品のアップデート方法などについて詳細に説明します。 |
|
|
|
2006/08/29 |
|
| |
IBM BusyBox を使って組み込み Linux システムを単純化する BusyBox は、多くの標準的な Linux® ユーティリティーを 1 つの実行可能プログラムとして実装したものです。BusyBox
には、cat や echo のような単純なユーティリティーの他、grep や find、mount、telnet
など、もっと大がかりで複雑なツールも含まれています (ただし、従来のバージョンよりもオプションは少なくなっています)。 |
|
|
|
2006/08/15 |
|
| |
Linux テキスト・ユーティティーでデータ抽出を簡易化する Linux には UNIX で生成されたデータ抽出ユーティリティーが豊富に用意されています。例えば、head、tail、grep、egrep などです。この記事では実環境の例を用いて、これらの単純なコマンドライン・プログラムでシステム管理者としての手腕を上げる方法を紹介します。 |
|
|
|
2006/08/09 |
|
| |
GNU Linear Programming Kit 第 1 回: 線形最適化の紹介 複数の制約がある数値問題を解決する上で、GNU Linear Programming Kit は強力で実績のあるツールとなります。この記事では、glpsol クライアント・ユーティリティーである GLPK、そして、架空の玩具製造会社、Giapetto's Woodcarving, Inc. の運用最適化の問題を解決する GNU MathProg 言語について紹介します。 |
|
|
|
2006/08/08 |
|
| |
セブン・ミニッツ: AIDE を機能強化する アップデートされた AIDE ツールキット (Autonomic Integrated Development Environment toolkit) が提供する新機能について調べましょう。また developerWorks のフォーラムに立ち寄り、PMAC (Policy Management for Autonomic Computing) 技術を使う上での必要な情報を得ましょう。 |
|
|
|
2006/08/08 |
|
| |
Linux 初期 RAM ディスク (initrd) の概要 Linux® 初期 RAM ディスク (initrd) は、2 段階のブート・プロセスをサポートするためにシステムのブート中にマウントされる一時ルート・ファイル・システムです。initrd
には、実際のルート・ファイル・システムをマウントするための各種実行可能ファイルとドライバーが含まれています。実際のルート・ファイル・システムがマウントされると、initrd
RAM ディスクはアンマウントされ、そのメモリーが解放されます。 |
|
|
|
2006/07/31 |
|
| |
Linux ラップトップのためのノックによるコマンド コンピューターをたたくと意味のある反応が返ってくる - そんなことが初めて可能になります!この記事では新しい展開、つまりノック・コードと、特定のノック・コードが検出されたときにコマンドを実行する単純なプログラムを紹介します。 |
|
|
|
2006/07/25 |
|
| |
Python Web フレームワーク、第 2 回: TurboGears と Python を使って Web 開発を行う TurboGears は、Python をベースにしたもう 1 つのオープン・ソースで、MVC スタイルの Web アプリケーション・フレームワークです。この記事では、TurboGears を使った Web ベースのショッピング・アプリケーションの作成方法を説明し、最後に Turbogears と Django を比較します。 |
|
|
|
2006/07/11 |
|
| |
Git を使ってソース・コードを管理する Git は、Linus Torvalds が開発した、Linux カーネルの開発を管理する上で役立つオープン・ソースのリビジョン・コントロール・ソフトウェアです。ダウンロードして、独自のカーネル・ハッキング、または自分自身のソフトウェア開発プロジェクトのために使うことができます。 |
|
|
|
2006/07/06 |
|
| |
Linux スケジューラーの内側 Linux 2.6 カーネルの最も重要な機能の 1 つが、Ingo Molnar によって実装されたスケジューラーです。このスケジューラーは、動的であり、ロード・バランシングをサポートし、また一定時間内の動作をします・・・つまり O(1) です。Linux 2.6 のスケジューラーの持つ特徴などについて解説します。 |
|
|
|
2006/06/30 |
|
| |
Python Webフレームワーク、第1回: DjangoとPythonを使ってWeb開発 この記事は2回シリーズの第1回として、Djangoを紹介します。Djangoを使うと、高品質で維持管理の容易なデータベース・ドリブンのWebアプリケーションを、数分で作成することができます。 |
|
|
|
2006/06/06 |
|
| |
魅力的なPython: XMLとPythonのあれこれ Python において XML の処理を開始する主なエレメントは、使用可能なすべてのモジュールの比較機能を分類することにあります。Python についての新しいコラムの最初の記事である、この 魅力的な Python で、David Mertz 氏は、最もポピュラーで有用な XML 関連の Python モジュールについて簡単に説明し、それぞれのモジュールのダウンロード先や、それらについて説明している参考資料を取り上げています。 |
|
|
|
2006/06/01 |
|
| |
Linux on POWERにEclipseをインストールし、使用する この記事では、Eclipseのインストールと使い方の解説として、特にIBM POWERプロセッサー・ベースのシステムで実行するLinuxにEclipseをインストールし、使用する方法を学びます。また、サンプルのJava プログラムとCプログラムを通して、Eclipseを使ってアプリケーションをコンパイルし、実行する方法も学びます。 |
|
|
|
2006/05/05 |
|
| |
XMLの論考: マイクロフォーマットのパイプストリーム コンピューティングにおける最もエレガントな概念の1つは、UNIXのパイプ構造です。パイプを使用すると、あることをうまく処理できる小さなプログラムを再利用し、そのプログラムを接続して、あるプログラムからの出力を別のプログラムへの入力として送ることができます。あいにく、UNIXのパイプは、ほとんどが行指向なので、XML処理に簡単に応用することはできませんでした。この記事では、これを解決するために試されたいくつかの既存ツールをレビューします。 |
|
|
|
2006/04/25 |
|
| |
洗練されたPerl: Perl新刊ブック・レビュー パート2 今回は、システム管理に関する2冊をご紹介します。Shelley Powers、Jerry Peek、Tim O'Reilly、Mike Loukides著「Unix Power Tools」は、基本的なことをわかりやすく解説したシステム管理の必携書です。Mark Burgess著「Analytical Network and System Administration」は、理論計算機科学と数学の基礎ができている人を対象としたシステム管理の上級書です。 |
|
|
|
2006/04/13 |
|
| |