 |
 |
 |
 |
 |
 |
cURL と libcurl を使ってインターネット経由でやりとりする cURL は、ファイル転送用のプロトコルをいくつもサポートする (HTTP、FTP、SCP (Secure Copy)、Telnet など) コマンドライン・ツールです。cURL を使用すると、コマンドラインからインターネットを介してエンドポイントとやりとりすることができるだけではなく、アプリケーション層のプロトコル・タスクを自動化するためのプログラムを、簡単なプログラムから複雑なプログラムまで、libcurl を使用して作成することができます。この記事ではコマンドライン・ツール cURL を紹介した後、libcurl を使って C と Python で HTTP クライアントを作成する方法を説明します。 |
|
|
|
2009/09/08 |
|
| |
Django の admin をカスタマイズする Django に提供されている組み込みの管理コンソールは Django の最大のセールスポイントの 1 つです。しかし単にルック・アンド・フィールをカスタマイズするだけでなく、いくつかのモデル・フィールドをカスタマイズしたい場合にはどうすればよいのでしょう。ソースを変更せずに既存の admin アプリケーションを拡張する方法を学びましょう。 |
|
|
|
2009/05/26 |
|
| |
Django アプリケーションを本番サーバーにデプロイする方法 Django はデータベース駆動型 Web サイトと Web アプリケーションの作成プロセスを簡易化することに重点を置く Python ベースのオープンソース Web アプリケーション・フレームワークです。このフレームワークには開発用 Web サーバーが組み込まれているため、Django アプリケーションの開発をすぐに始めることができますが、このサーバーは本番環境で使用するには適していません。そのため、Django アプリケーションを Web サーバーにデプロイする際には追加の作業が必要になります。この記事では、まず Django フレームワークについて概説し、このフレームワークをローカル・マシンにインストールする手順を説明します。続いて Django アプリケーションの構成内容と、アプリケーション用に作成された自動管理インターフェースについて詳細を調べた後、Apache が mod_python を有効にした状態で稼働するサーバー上で Django アプリケーションを Web サーバーにデプロイする方法を説明します。最後に、アプリケーションの要件が拡大するのにあわせて、どのように Django アプリケーションをスケーリングできるか、またスケーリングすべきかを説明します。 |
|
|
|
2009/04/07 |
|
| |
魅力的な Python: RPyC による分散コンピューティング RPyC (Remote Python Call) は多くのマシンやプロセスに Python のプロセスを統合するためのシームレスなライブラリーです。この記事では、RPyC を XML-RPC や Pyro といった他の Python の分散フレームワークと比較した場合の利点と欠点について調べます。また RPyC ライブラリーとはどのようなものか感覚をつかめるように、RPyC を使用した簡単な例もいくつか紹介します。 |
|
|
|
2009/03/31 |
|
| |
Ganglia と Nagios: 第 2 回 Nagios でエンタープライズ・クラスターを監視する 2 回の記事からなるこの連載では、オープンソースのツール、Ganglia と Nagios を使ってデータ・センターを監視する実践的な方法を取り上げます。第 2 回のこの記事で説明するのは、Nagios をインストールして構成する方法です。Nagios は、よく使われているオープンソースのコンピューター・システムおよびネットワーク監視アプリケーション・ソフトウェアで、ホストとサービスを監視し、問題が発生するとユーザーにアラートを出します。この記事ではまた、第 1 回で説明した Ganglia に Nagios を統合し、標準クラスター、グリッド、そしてクラウドに対応するための 2 つの機能を Nagios に追加して、ネットワーク・スイッチとリソース・マネージャーの監視を支援する方法についても説明します。 |
|
|
|
2009/03/25 |
|
| |
Ganglia と Nagios: 第 1 回 Ganglia でエンタープライズ・クラスターを監視する 2 回の記事からなるこの連載では、オープンソースのツール、Ganglia と Nagios を使ってデータ・センターを監視する実践的な方法を取り上げます。第 1 回のこの記事で説明するのは、階層型設計に基づくハイパフォーマンス・クラスターを対象としたスケーラブルな分散監視システム、Ganglia をインストールして構成する方法です。また、Ganglia プラグインを作成したり、外部ソースのスプーフィングを有効にしたりすることで、監視機能をさらに追加する方法も学んでください。 |
|
|
|
2009/03/04 |
|
| |
Python 3: 第 2 回: 高度な話題 Python 3 は Guido van Rossum による強力な汎用プログラミング言語の最新バージョンです。Python 3 は 2.x シリーズとの後方互換性をなくし、その代わり構文に関するいくつかの問題を解決しています。この記事は前回の記事の続きです。今回はこの 2 回シリーズの記事の第 2 回目として、Python の新しい機能に関する説明を続けるとともに、抽象基底クラス、メタクラス、修飾子における変更点などの、より高度なトピックの詳細について説明します。 |
|
|
|
2009/01/30 |
|
| |
Python 3: 第 1 回 何が新しいのか Python 3 は Guido van Rossumによる強力な汎用プログラミング言語の最新バージョンです。Python 3 は 2.x シリーズとの後方互換性をなくし、その代わり構文に関するいくつかの問題を解決しています。この記事ではシリーズの第 1 回の記事として、Python 言語と後方互換性に影響する変更点について説明し、また新しい機能の例を紹介します。 |
|
|
|
2008/12/19 |
|
| |
lxml を使用して Python での XML 構文解析をハイパフォーマンスにする lxml は高速ながらも柔軟性の高い、Python での XML 処理用ライブラリーです。XPath (XML Path Language) と XSLT (Extensible Stylesheet Language Transformation) のサポートがあらかじめバンドルされた lxml が実装するのは、お馴染みの ElementTree API です。この記事では lxml に備わった使い易さ、そして極めて大きな XML データを処理する際のハイパフォーマンス特性の両方に焦点を当てます。 |
|
|
|
2008/10/28 |
|
| |
Google App Engine をベースに Eclipse を使用して作成するマッシュアップ: 第 1 回 アプリケーションを作成する ソーシャル・ソフトウェアを活用することは、アプリケーションに価値を加える素晴らしい手段となり得ます。ソーシャル・ネットワークでは、画期的な新しい Web アプリケーションを作成するためのデータを容易に収集してマッシュアップできるからです。しかしそれでもやはり、スケーラブルな Web アプリケーションを作成する上で常に伴う問題のすべては、自分で処理しなければなりません。この部分の負担を軽くしてくれるのが、GAE (Google App Engine) です。GAE を使用すれば、アプリケーション・サーバーのプールの管理について一切忘れ、大量の静的コンテンツと動的データの保存について懸念することなく優れたマッシュアップを作成することに専念できます。この 3 回連載の「Google App Engine をベースに Eclipse を使用して作成するマッシュアップ」の第 1 回では、GAE アプリケーションの開発に取り掛かる方法を説明し、GAE 開発をさらに容易にするために、どのように Eclipse を利用するかを検討します。 |
|
|
|
2008/08/05 |
|
| |
OLPC ラップトップ向けデスクトップ開発 XO ラップトップ (OLPC (One-Laptop-Per-Child) イニシアチブの一環) は、世界中の子供たちの教育支援を目的とした低価格のラップトップ・プロジェクトです。このラップトップには、低価格で耐久性に優れた今までにないハードウェア設計、そして基礎となるオペレーティング・システムに GNU/Linux を採用するなど、数多くの革新が盛り込まれています。また、XO には Python で作成されたアプリケーション環境も組み込まれており、この環境は Sugar というヒューマン・インターフェースを使って子供を含めた誰もが使用できるようになっています。developerWorks のチュートリアル「Application development for the OLPC laptop」から抜粋したこの記事では、Sugar の API を取り上げ、 Python を使用した Sugar でのグラフィックによるアクティビティーの開発およびデバッグ方法を紹介します。 |
|
|
|
2008/02/26 |
|
| |
Python でのメタクラス・プログラミング、第 3 回 プログラミングが技巧的になりすぎると、設計が複雑になり、コードが脆弱になり、学習曲線がなだらかになり、そして何よりも困ったことに、デバッグが困難になります。著者の Michele と David は、彼らが以前に執筆した記事「Python でのメタクラス・プログラミング」が熱狂的に受け入れられたため、その後必要以上に技巧的になってしまったことに責任を感じています。この記事では、プログラマーが技巧的なプログラミングを避けるための支援をすることで、その修正を図ります。 |
|
|
|
2007/09/25 |
|
| |
システム管理者のための Python Python を導入して、UNIX システムを管理するとともに優れたプログラム設計の概念を取り入れてください。学習しやすいオープンソースのスクリプト言語、Python は、システム管理者のジョブを迅速に行えるようにするだけでなく、管理作業をもっと楽しいものに変えてくれます。 |
|
|
|
2007/09/07 |
|
| |
Sugar と XO ラップトップで、子供たち一人ずつに 1 台のラップトップを One Laptop per Child (OLPC) は、世界中の子供たちにコンピューター技能を広めるために、ソフトウェアが付属した低コストのラップトップ (USD100) を開発するという使命を掲げた組織です。そのコンピューターの対象は子供たちであるため、今までにないユーザー・インターフェースとアプリケーションを提供して、子供が表現や学習用のツールを試せるようにしなければなりません。OLPC のオペレーティング・システムは Linux カーネルの移植版ですが、Sugar という独特なインターフェースを備えています。この記事では、Sugar ヒューマン・インターフェースの概要、標準的な PC でQEMU を使って OLPC ラップトップを仮想化する方法、そして Sugar と OLPC の機能を紹介します。 |
|
|
|
2007/04/24 |
|
| |
真の Web 2.0: ブックマーク? それともタグ? 見事な手腕です! この記事ではよく知られた Web 2.0 サイトの 1 つ、del.icio.us を、Web XML フィードと JSON を使い、Python および ECMAScript で操作する方法について学びます。Web 2.0 技術について考えるときに思い付くのは最新の Ajax の技かもしれませんが、それは全体像のほんの一部でしかありません。それ以上に基本的な関連事項として、オープン・データ、単純な API、そしてユーザーにソーシャル・ネットワークの形成を促す機能があります。これらの関連事項は同時に、Web アーキテクトにとって Web 2.0 を切実な問題にしています。この連載では、重要な現実世界での Web 2.0 サイトについて一歩踏み込んで見て行き、Web アーキテクトがどうしたら独自の Web サイトで Web の最大の利点を生かせるかを紹介していきます。 |
|
|
|
2006/10/26 |
|
| |
Python Web フレームワーク、第 2 回: TurboGears と Python を使って Web 開発を行う TurboGears は、Python をベースにしたもう 1 つのオープン・ソースで、MVC スタイルの Web アプリケーション・フレームワークです。この記事では、TurboGears を使った Web ベースのショッピング・アプリケーションの作成方法を説明し、最後に Turbogears と Django を比較します。 |
|
|
|
2006/07/11 |
|
| |
PythonとDB2 Express-Cを使ってアプリケーションを開発する 入手方法やインストール、コンフィギュレーションなどを含め、PythonをDB2 Express-Cインスタンスに接続して使い始めるまでに必要なすべての手順を、順を追って説明します。 |
|
|
|
2006/06/22 |
|
| |
Python Webフレームワーク、第1回: DjangoとPythonを使ってWeb開発 この記事は2回シリーズの第1回として、Djangoを紹介します。Djangoを使うと、高品質で維持管理の容易なデータベース・ドリブンのWebアプリケーションを、数分で作成することができます。 |
|
|
|
2006/06/06 |
|
| |
CGIプログラマーのためのCherryPy Python用のCherryPyアプリケーション・フレームワークを利用すると、平凡なCGI(Common Gateway Interface)よりも容易にWebアプリケーションを書くことができます。この記事では、CherryPyでWebアプリケーションを書くために必要なもの全てを紹介します。 |
|
|
|
2005/08/16 |
|
| |
PuffinによるWebアプリケーションのテスト: Puffinテスト・フレームワーク 第2回 最新バージョンのPuffinフレームワークでは、Web、ファイル、データベース、ソケット、コマンド行をはじめ、自動化できるアクションの幅が広がりました。この記事では、システムのアーキテクチャーの改良の背景にあるキーポイントとなる概念を紹介し、新たに拡張された使い方を検討します。 |
|
|
|
2002/09/01 |
|
| |
PuffinによるWebアプリケーションのテスト: Puffinテスト・フレームワーク 第1回 4回連載の第1回に当たる今回の記事では、Puffinテスト・システムを紹介します。Puffinは、Webアプリケーションをテストするためのオープン・ソース・フレームワークであり、最も複雑なWebアプリケーションにも対応したレグレッション・テストを作成することができます。 |
|
|
|
2002/06/01 |
|
| |
魅力的なPython: SimpleParseモジュールを使った構文解析 このコラムでは、Python上に構築された高水準の構文解析言語について解説します。 SimpleParseは、文法を非常に分かりやすい形で表現できるEBNF形式の構文規則をmxTextToolsに付加します。 |
|
|
|
2002/01/01 |
|
| |
魅力的なPython: イテレーターとシンプル・ジェネレーター Python 2.2は、新たなキーワードを伴う新しい構成要素を導入しました。その構成要素とは「ジェネレーター」であり、キーワードは「yield」です。このジェネレーターは、新しく強力で表現力の高いプログラミング・イディオムを可能としますが、少々理解しにくいところもあります。この記事では、David Mertz氏がジェネレーターとそれに関連するイテレーターについてわかりやすく説明します。 |
|
|
|
2001/09/01 |
|
| |
魅力的なPython: Pythonでの関数プログラミング: 第3回 今回は、Xoltar Toolkitに組み込まれているカリー化やその他の高階関数のような追加機能を示しながら、引き続き説明を行います。 |
|
|
|
2001/06/01 |
|
| |