本文へジャンプ

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む


お客様が developerWorks に初めてサインインすると、プロフィールが作成されます。プロフィールで選択した情報は公開されますが、いつでもその情報を編集できます。お客様の姓名(非表示設定にしていない限り)とディスプレイ・ネームは、投稿するコンテンツと一緒に表示されます。

送信されたすべての情報は安全です。

  • 閉じる [x]

developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む


送信されたすべての情報は安全です。

  • 閉じる [x]

容易な統合開発のためにXAMPPをインストールする

オープン・ソースで多重階層のソフトウェア開発に革命をもたらし得るミドルウェア・スタック

Nils-Erik Frantzell (nfrantze@ucsc.edu)Computer Science Department, UC Santa Cruz
Nils-Erik Frantzellは現在、カリフォルニア大学サンタ・クルズ校でコンピューター・サイエンスを学んでいます。彼の関心対象はWebプログラミング(特にPHP)やネットワーク、オープン・ソース技術、そしてコンピューターのハードウェアをいじり回すことです。コンピューターから離れている時には、電子音楽を聴きながら肉食魚の世話をしています。連絡先はnfrantze@ucsc.eduです。

概要: Apache FriendsにあるXAMPPのようなオープン・ソース・スタックを使用すると、安定で標準化された環境でアプリケーションを書いたり配布したりすることが容易になるため、オープン・ソース開発を単純化することができます。これまで伝統的にAMPP(つまりApache、MySQL、PHPそしてPerl)は、別々の製品としてインストールされ、設定されてきました。これらを統合したミドルウェア・スタックとして組み合わせる傾向によって、少なくともローエンドのアプリケーションでは、オープン・ソース開発がJ2EE™アプリケーション開発に対抗できるだけのものとなります。この記事では、Mandrake Linux™ 10.0にXAMPPをインストールし、設定し、バックアップする方法と、XAMPPの設定管理方法、またXAMPP環境に自分のアプリケーションをインストールする方法について学びます。

日付:  2004年 11月 30日
レベル:  初級 この記事の原文:  英語
アクティビティー: 4467 ビュー
お気軽にご意見・ご感想をお寄せください: 


Java 2 Enterprise Edition™の登場によって、Java™アプリケーションを書き、展開する作業を大幅に簡素化する統合されたミドルウェア・スタックが提供されたことにより、ソフトウェアを取り巻く状況が劇的に変化しました、オープン・ソースのコミュニティーにはそれに似た統合アーキテクチャーが無かったため、しばらくの間、取り残された状態になっていました。

最近、Apache Friendsが提供するXAMPPのような、統合されたオープン・ソース・スタックが導入されたことよって、この状況が変わり始めています。このスタックはJ2EEに比べればまだ非常に単純で基本的なものですが、それでも、より完全なシステム統合に向けての重要なステップと言えます。PHP 5.0(PHPを完全にオブジェクト指向にします)は、この傾向が加速することを示す良い指標と言えるでしょう。

この記事では、統合されたオープン・ソース・スタックの一つであり、Apache Friendsが提供する、XAMPPを取り上げます。

XAMPPの紹介

XAMPPは完全機能のAMPP (Apache、MySQL、PHP、Perl)パッケージであり、Linuxで利用できる、数少ない非商用AMPPミドルウェア・スタックの一つです。堅固に統合されているため、XAMPPを使用すると、個人用のホーム・ページから完全機能の実稼働サイトまで、何でも実行することができるようになります(ただし開発目的に限ります。XAMPPはセキュリティーの問題から、実稼働のサーバーで使われることは意図していません)。

XAMPPの強みは下記のような点です。

  • インストールや設定が容易
  • トラフック・レポートを生成したりPHPコンテンツを加速したりすることが容易になるような、便利なパッケージを幾つか含んでいる
  • SUSEやRed Hat、MandrakeそれにDebianなどのLinuxディストリビューション上で、またWindows®やSolaris上でも完全にテストされている

この記事では、XAMPP をMandrake Linux 10.0にインストールします。まず、XAMPPに含まれてくるデフォルトのパッケージを見るところから始めましょう。

基本パッケージ

基本パッケージには次のような、システムやプログラミング・ソフトウェア、それにサーバー・ソフトウェアが入っています。

  • Apache(有名なWebサーバー)
  • MySQL(素晴らしい、無料のオープン・ソース・データベース)
  • PHP(プログラミング言語:この記事の執筆時点では4.3.8と5.0.1)
  • Perl(プログラミング言語)
  • ProFTPD (FTPサーバー)
  • OpenSSL(セキュア・ソケット・レイヤーのサポート用)

グラフィックス・パッケージ

XAMPPにはグラフィックス関係として、次のパッケージが含まれています。

  • GD(「Graphics Draw」ライブラリー)
  • libpng(正式なPNG参照ライブラリー)
  • libjpeg(正式なJPEG参照ライブラリー)
  • ncurses(キャラクター・グラフィックス・ライブラリー)

データベース・パッケージ

そして、統合スタックと言うからには、下記のようなデータベース・パッケージが含まれています。

  • gdbm(標準UNIX® dbmライブラリーのGNU実装)
  • SQLite(超小型で設定不要のSQLデータベース・エンジン)
  • FreeTDS(UNIXやLinuxプログラムをMicrosoft® SQLやSybaseデータベースにアクセスできるようにするデータベース・ライブラリー)

XMLパッケージ

XAMPPにはXML開発用に下記が含まれています。

  • expat(XMLパーサー・ライブラリー)
  • Salbotron(XMLツールキット)
  • libxml(GNOME 用のXML Cパーサーとツールキット)

PHPパッケージ

XAMPPにはPHP開発用に下記が含まれています。

  • PEAR(PHPライブラリー)
  • PHPで動的PDF文書を生成するpdfクラス
  • TURCK MMCache(PHPパフォーマンス・エンハンサー)

その他のパッケージ

そして最後に、次のようなパッケージが含まれていることでXAMPPの多様性が分かります。

  • zlib(圧縮ライブラリー)
  • mod_perl(実行可能形式のPerlインタプリターをApacheに埋め込む)
  • gettext(GNUパッケージで複数言語のメッセージ生成を補助するツールセット)
  • mcrypt(暗号化プログラム)
  • Ming(Flash (SWF) 出力ライブラリー)
  • Freetype2(ソフトウェア・フォント・エンジン)
  • IMAP C-Client(メール・プログラムのAPI)

今度はXAMPPのインストールについて説明しましょう。


インストールとデーモン化

XAMPPをインストールするには、Apache FriendsのWebサイト(参考文献にリンクがあります)から最新のバイナリーをダウンロードします。これを、次のコマンドを使って /opt に展開します。

tar xvfz xampp-linux-1.4.7.tar.gz -C /opt

それだけで終わりです! これでXAMPPが /opt/lampp にインストールされました。それまで /optにインストールされていたものは、全て上書きされます。もし皆さんが古いバージョンのXAMPPを実行していて、再度全パッケージをインストールしたくない場合には、Apache Friendsからアップグレード用のパッケージをダウンロードすることができます。

これで全てがインストールできたので、新しいデーモンを開始しましょう。カレントのワーキング・ディレクトリーを /opt/lampp (cd /opt/lamp) に変更し、次を入力します。

./lampp start

そうすると下記が見えるはずです。

Starting XAMPP for Linux 1.4.7...
XAMPP: Starting Apache with SSL (and PHP5)...
XAMPP: Starting MySQL...
XAMPP: Starting ProFTPD...
XAMPP for Linux started.

これでXAMPPが動作するようになりました。これを検証するのに一番良い方法は、ブラウザーを開き、アドレス・バーにlocalhostと入力してEnterキーを押します。そうすると、XAMPPの先頭ページが開きます。


図1. XAMPPの先頭ページ
図1. XAMPPの先頭ページ

必要なサービスが正しく起動しているかを見るために、左側のナビゲーション領域にあるStatusリンクをクリックします。全てが正常であれば、次のようなページが見えるはずです。


図2. サービス・ステータス・ページ
Service status page

おめでとうございます! これで完全動作するAMPP開発環境のインストールと設定が終わりました。では簡単なアプリケーションをインストールして、この環境をどのように使うかをお見せしましょう。


簡単なアプリケーションをインストールする

XAMPPの基本機能を利用するためには、簡単なアプリケーションが必要です。一番良いのはデータベースのバック・エンドを利用するアプリケーションです。比較的単純なデータベースで、一つだけテーブルを含むようなもので充分です。

テスト用のデータベースには、一つだけカラムのあるテーブルが一つだけあります。(コンピューター時代の)テスト・プログラムの伝統に従い、このテーブルが一つのレコード「Hello World!」を保持するようにしましょう。このデータベースに、PerlスクリプトとPHPスクリプトの両方を使ってアクセスします。どちらのスクリプトもデータベースをアクセスして一つの行を取得し、それを画面に出力します。

ツール

このデータベースを、PHPで書かれたWebベースのMySQL管理ツールであるphpMyAdminを使って生成、管理することにします。phpMyAdminには素晴らしいユーザー・インターフェースがあり、簡単なことから複雑なことまで、例えばデータベースやテーブルの生成/削除/変更からデータのエクスポートやキー管理、SQLファイルの処理まで、様々なことに使用することができます。phpMyAdminの素晴らしさは下記のように表現することができます。

  • 尻込みしたくなるようなコマンドライン・インターフェースによらなくても、初心者がMySQLに馴染めるようになる
  • 上級ユーザーであれば、単純な繰り返し作業を容易に素早くできるようになる
  • 何でもできてしまうシェル・アクセスを許すことなく、データベースの管理権限を誰かに与える必要のある場合に便利

データベースを作る

phpMyAdminでテスト用のデータベースを作るには、次のようにします。

  1. XAMPPのスタート・ページ(localhost)に行く
  2. Toolsの下にある左側のナビゲーターにあるphpMyAdminを選択する
  3. phpMyAdminホーム・ページのCreate New Databaseフィールドでhello_worldを入力し、Createをクリックする

今度はこのデータベースの中にテーブルを作り、そのテーブルがいくつのフィールド(フィールドとカラムは同じです)を持つのかを規定する必要があります。このテーブルを「hello_table」と呼ぶことにし、「Hello World!」というレコードを保持する一つのフィールドを持つようにします。Nameテキスト・フィールドにhello_tableと入力し、Fieldsテキスト・フィールドに1と入力します。終わったらGoをクリックします。

今度はデータベース生成の最後のステップです。このカラムに対して、名前とデータ・タイプ定義を選択します。「hello」というテーマに固執することにし、カラムの名前を「hello_column」とします。Fieldテキスト・フィールドにhello_columnと入力します。

このカラムには「Hello World!」という文字列を保存するので、そのタイプは長さ12(文字列「Hello World!」の長さ)のcharである必要があります。デフォルトのタイプvarcharで充分です。Typeの隣にあるLength/Valuesテキスト・フィールドに、最大長さ12文字として12を入力します。このページの他のフィールドに関しては気にする必要はありません。Saveをクリックして先に進みます。

全てが正しく行われれば、次のようなものが見えるはずです。


図3. Hello Worldデータベースのサマリー
Hello World database summary

では、レコード「Hello World!」を挿入しましょう。Insertタブをクリックし、Valueテキスト・フィールドで「Hello World!」を入力します。この場合はFunctionドロップダウン・リストはそのままにしておきます。Goをクリックして、データベースに「Hello World!」レコードを挿入します。

レコードが正しく挿入されたかどうかを確認するには、Browseタブをクリックします。リストされている「hello world」が表示されるはずです。

スクリプト

これでバック・エンドが動作するようになったので、今度はスクリプト部分を処理します。ここでは、一つはPerl、一つはPHPという、2つのスクリプトを使います。それぞれのスクリプトに対する要求は、一つのデータベース接続、一つのデータベース・アクセス、そして取得した行を画面に表示する一つの出力です。


リスト1. PHPでPEAR::DBを使った、単純なデータベース接続とデータ取得
                
require_once 'DB.php'; // must be included in any script that uses PEAR::DB
// it is a huge security risk to store your database connection information
// in the same file as your code. We have done it here solely for the purpose
// of this example. Please store your database connection information in another
// file that is not in your document root directory and adequately protected.
// database connection information
$db_host    = "localhost";  	  // hostname of the database server
$db_user    = "root";           // database user's username
$db_pass    = "";      		  // database user's password, nothing by default
$db_name    = "hello_world";    // the name of the database to connect to
$db_type    = "mysql";          // the type of database server.
// your data source name string. This contains the connection
// information for your database.
$dsn = "$db_type://$db_user:$db_pass@$db_host/$db_name";
// creates a database connection object or a database error
// object based on the success of the database connection.
$db = DB::connect($dsn, TRUE);
// if an error was encountered, the script exits with an error message
if (DB::isError($db)) {
    die($db->getMessage());
}
// SQL query that you wish to use to query the database
$sql = "SELECT * FROM hello_table";
// query the database, store result in $result
$result = $db->query($sql);
// exits with an error message if the query was unsuccessful
if(DB::isError($result)){
		 die($result->getMessage());
}
// fetch rows from the database until no more rows exist.
// output the "hello_column" field of each row to the screen.
// once no more rows exist, exit with an error message.
while($row = $result->fetchRow(DB_FETCHMODE_OBJECT)){
		 if(DB::isError($row)){
		 		 die($row->getMessage());
		 }
		 print("<H1>$row->hello_column</H1>");
		 $result->free();
}
$db->disconnect(); //disconnect from the database

それぞれのスクリプトがデータベースに接続し、一行のデータを取得し、その行を画面に出力します。PHPのデータベース・アクセスはPEAR::DBを使って行われます。PEAR::DBは手軽なデータベース抽象化レイヤーであり、どのようなデータベースが実装されているかによらず、同じデータベース・アクセス・コードを使用できます。残念ながらXAMPPにはまだ、Perl用のデータベース抽象化レイヤーはありません。

スクリプトを置く

さて、これで必要なものが全て揃いました。データベースは動作するようになり、テスト用に2種類のスクリプトがあります。あとはこのスクリプトを適切な場所に置くことだけです。ハード・ドライブ上でXAMPPがどのように配置されているかをリスト2でちょっと見てみましょう。

ここで私達に関心のあるディレクトリーは、Apache Documentsディレクトリーである /opt/lampp/htdocs/です。誰かがそのWebサイトのルート・アドレスにアクセスした時に表示したいWebページや関連ファイルは全て、ここに置かれます。XAMPPの先頭ページを見ることはできたので、このディレクトリーには既に幾つかのファイルがあります。それを確認するために、ディレクトリー・リストをちょっと覗いてみましょう(ls /opt/lampp/htdocsとタイプします)。

drwxr-xr-x 2 root root 4096 Jan 24 2003 apache
-rwxr-xr-x 1 nobody root 163 Oct 31 2003 index.html
drwxr-xr-x 2 nobody root 4096 Sep 12 21:54 webalizer
drwxr-xr-x 5 root root 4096 Jun 15 06:24 xampp

ご覧の通り、ここには既に中身があります。私達のスクリプトを保存するために、hello_worldという新しいディレクトリーを作りましょう(mkdir hello_world)。これから後は、localhost/hello_worldをタイプすることで、hello_worldディレクトリーにある全てのものにアクセスできるようになります。さて、2つのスクリプトをこのディレクトリーに保存しましょう。それで全部終了です!

アプリケーションをテストする

アプリケーションをテストするために、好みのブラウザーからlocalhost/hello_worldと入力します。そうすると、次のようなものが見えるはずです。


図4. Hello World!
Service status page

おめでとうございます! XAMPP上にアプリケーションが設定できています。


セキュリティーの強化

XAMPPは開発環境であることが目的です。ですからXAMPPは、プログラマーが何ら制限無くツールセットを自由に使用できるように構成されています。その自由さの結果として、デフォルトのXAMPPインストールは非常にセキュリティーが低くなっています。例えば、何をするにもログインがほとんど必要ありません。

XAMPP 0.9.5とそれ以降では、次のコマンドを実行することでセキュリティーを強化することができます。

/opt/lampp/lampp security

そうすると、そこに存在している、セキュアでない様々な部分に対する警告が表示され、それを修正するかどうかを選択するように促されます。これによってXAMPPのインストールはよりセキュアになりますが、XAMPPを実稼働のサーバー上で実行するのはやはり避けるべきです。リスト3はセキュリティー・プロンプトを示しています。


リスト3. XAMPPで表示されるセキュリティーの問題
                
XAMPP: Quick security check...
XAMPP: Your XAMPP pages are NOT secured by a password.
XAMPP: Do you want to set a password? [yes] yes
XAMPP: Password:
XAMPP: Password (again):
XAMPP: Password protection active. Please use 'lampp' as user name!
XAMPP: MySQL is accessable via network.
XAMPP: Normaly that's not recommended. Do you want me to turn it off? [yes] yes
XAMPP: Turned off.
XAMPP: Stopping MySQL...
XAMPP: Starting MySQL...
XAMPP: The MySQL/phpMyAdmin user pma has no password set!!!
XAMPP: Do you want to set a password? [yes] yes
XAMPP: Password:
XAMPP: Password (again):
XAMPP: Setting new MySQL pma password.
XAMPP: Setting phpMyAdmin's pma password to the new one.
XAMPP: MySQL has no root passwort set!!!
XAMPP: Do you want to set a password? [yes] yes
XAMPP: Write the password somewhere down to make sure you won't forget it!!!
XAMPP: Password:
XAMPP: Password (again):
XAMPP: Setting new MySQL root password.
XAMPP: Setting phpMyAdmin's root password to the new one.
XAMPP: The FTP password is still set to 'lampp'.
XAMPP: Do you want to change the password? [yes] yes
XAMPP: Password:
XAMPP: Password (again):
XAMPP: Reload ProFTPD...
XAMPP: Done.


バックアップを実行する

さてこれでXAMPPのインストールは何週間か動作を続け、かなり大きなサイズのデータ・セットを蓄積しました。これをハード・ディスクのクラッシュで失うリスクは避けたいものです。バックアップはどうすれば良いでしょう?

XAMPPでは非常に簡単です。カレント・ディレクトリーを /opt/lampp (cd /opt/lamp) に変更し、次のコマンドをタイプします

./lampp backup

ルート・パスワードをそのコマンドの最後にするように設定してある場合は、ルート・パスワードをMySQLに追加します。そうすると下記が表示されるはずです。

Backing up databases...
Backing up configuration, log and htdocs files...
Calculating checksums...
Building final backup file...
Backup finished.
Take care of /opt/lampp/backup/xampp-backup-15-09-04.sh

バックアップをリストアするには、ルートとして次のコマンドを実行します。

sh backupfilename

全てがうまく行けば、下記のような表示が出るはずです。

Checking integrity of files...
Restoring configuration, log and htdocs files...
Checking versions...
Installed: XAMPP 1.4.7
Backup from: XAMPP 1.4.7
Restoring MySQL databases...
Restoring MySQL user databases...
Backup complete. Have fun!
You may need to restart XAMPP to complete the restore.

XAMPPを再起動 (cd /opt/lampp, ./lampp restart) すると、リストアされたデータが使えるようになっているはずです。


統合AMPPソリューションを使い込む準備はできていますか?

統合ソリューション・スタックがJ2EEによるソリューションと全面的に競合するかどうかは何とも言えません。ただ、最近のPHP 5.0のリリース(主な追加として、完全にオブジェクト指向になったことが含まれています)とMySQLデータベースの急速な成長とを合わせて考えると、開発者の間で統合AMPPソリューション・スタックがより一般的になりつつあるようです。これはXAMPPのようなオープン・ソースのミドルウェア・スタックが、ローエンドのソフトウェア・マーケットでは充分な存在価値があることを示していると思います。


参考文献

  • Apache FriendsからXAMPPをダウンロードしてください。Apache FriendsはApache Webサーバーを普及させるための非営利組織で、ここにはXAMPPの最新情報と最新リリースがあります。

  • Road to better programming シリーズ(developerWorks)は皆さんのPerlの技能向上に役立つ実践的なシリーズです。developerWorks のサイトを探せば、他にもPerlに関する豊富な資料が見つかります。

  • 2つの記事Connecting PHP Applications to Apache Derby (developerWorks, 2004年9月)とDevelop Perl applications with Apache Derby (developerWorks, 2004年10月) は、PHPやPerlのアプリケーション開発を行う人には必読です。

  • phpMyAdmin projectには、この恐ろしいほど強力なMySQL管理ツールに関して、豊富な情報やダウンロードがあります。

  • Practical Unix & Internet Security (1996年O'Reilly & Associates刊)は、ユーザー管理からセキュリティー・ポリシーの立案まで、システム・セキュリティーのあらゆる側面に関して非常に参考になります。

  • PHP.netではオンラインで検索できるファンクション・ライブラリーを提供しており、PHPメソッドに関する詳細情報を探したり、PHP言語のビルドを見つけたりする上で非常に役に立ちます。

  • The PHP Extension and Application Repository (PEAR)では、永遠に人気のあるPEAR::DBを含めて、PHPのプログラミングが簡単になるコンポーネントを提供しています。

  • MySQLに関するヘルプとしては、MySQL reference manualがMySQLのあらゆる側面に関して詳細な情報を提供しています。

  • Apache HTTP Server Projectを見ると、Webで最も一般的なこのhttpサーバーの最新のビルドと情報を得ることができます。

  • developerWorksのLinuxゾーンにはLinux開発者のための資料が他にも豊富に用意されています。

  • Linux上で実行する、IBMミドルウェア製品の無料試用版をダウンロードしてください。developerWorksのSpeed-start your Linux appセクションからWebSphere® Studio Application DeveloperやWebSphere Application Server、DB2® Universal Database、Tivoli® Access ManagerそしてTivoli Directory Serverが入手できます。また、ハウ・ツー記事や技術サポートもご覧ください。

  • developerWorks blogsに参加して、developerWorksコミュニティーに加わってください。

  • Developer BookstoreのLinuxセクションではLinux関係の技術書が値引きして購入できますので、ご利用下さい。

著者について

Nils-Erik Frantzellは現在、カリフォルニア大学サンタ・クルズ校でコンピューター・サイエンスを学んでいます。彼の関心対象はWebプログラミング(特にPHP)やネットワーク、オープン・ソース技術、そしてコンピューターのハードウェアをいじり回すことです。コンピューターから離れている時には、電子音楽を聴きながら肉食魚の世話をしています。連絡先はnfrantze@ucsc.eduです。

不正使用の報告のヘルプ

不正使用の報告

ありがとうございます。 このエントリーは、モデレーターの注目フラグが設定されました。


不正使用の報告のヘルプ

不正使用の報告

不正使用の報告の送信に失敗しました。


developerWorks: サイン・イン


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 利用条件

 


お客様が developerWorks に初めてサインインすると、プロフィールが作成されます。 プロフィールで選択した情報は公開されますが、いつでもその情報を編集できます。 お客様の姓名(非表示設定にしていない限り)とディスプレイ・ネームは、投稿するコンテンツと一緒に表示されます。

表示名をお選びください

developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

(半角英数字で3文字以上31文字以下にする必要があります)


「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 利用条件

 


この記事を評価する

コメント

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Linux, Open source
ArticleID=231488
ArticleTitle=容易な統合開発のためにXAMPPをインストールする
publish-date=11302004
author1-email=nfrantze@ucsc.edu
author1-email-cc=

タグ

Help
このタグで、My developerWorks のすべてのタイプのコンテンツを見つけるために検索フィールドを使用します。

スライダーバーを使用することで、より多く(少なく)タグを表示します。

人気のタグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するトップのタグを表示します。

マイ・タグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するお客様ご自身のタグを表示します。

このタグで、My developerWorks のすべてのタイプのコンテンツを見つけるために検索フィールドを使用します。人気のタグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するトップのタグを表示します。マイ・タグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するお客様ご自身のタグを表示します。