(機械翻訳)著者紹介

"The:app:` Pyramid` Web Framework "へようこそ。ここでは、本書の読者について説明し、本の内容を説明し、app: `Pyramid`の起源に関するいくつかの文脈を提供し、重要な人々に感謝します。

私はあなたがこの本とそれが書いているソフトウェアの両方を楽しむことを願っています。私は両方の書き込みを爆発してきた。

オーディエンス

この本は、主に以下の属性を持つ読者を対象としています。

  • 少なくとも適度な:term: `Python`の経験。
  • HTTPやCGIなどのWebプロトコルに精通していること。

これらのカテゴリにふさわしい場合は、この本の直接のターゲットユーザーです。しかし、Pythonやウェブの経験がないにもかかわらず、両方とも"オンザフライでピックアップするのは簡単です"と心配しないでください。

Pythonは、アプリケーションを書くための優れた言語です。 Pythonで生産的になることはほとんど吹き飛びやすいです。 Java、Visual Basic、Perl、Ruby、さらにはC / C ++などの別の言語での経験があれば、Pythonの学習は簡単です。適度に生産的になるには、数日を要しません。以前のプログラミング経験がなければ、やや難しくなりますが、もう少し時間がかかりますが、より良い"最初の言語を見つけるのは難しいでしょう。

Web技術の知識は本の中のさまざまな場所で想定されています。たとえば、本書では「URL」や「クエリー文字列」などの一般的なWeb関連の概念を定義しようとしていません。同様に、本書ではHTTPプロトコルに関するさまざまな対話について説明していますが、 HTTPプロトコルが詳細に機能します。しかし、良いWebフレームワークのように、:app: `Pyramid`は、Webプロトコルと低レベルのデータ構造の大半の細部を知る必要性からあなたを守りません。その結果、Web技術を深く理解していなくても、この本を読んでいる間は、通常、ブロックされることはありません。

予約内容

この本は4つの主要な部分に分かれています:

:ref: チュートリアル

各チュートリアルでは、サンプルアプリケーションを作成したり、サンプルを使用して一連の概念を実装したりしています。次にサンプルの観点からアプリケーションまたは概念を記述します。 app: `Pyramid`のガイドツアーをしたい場合はチュートリアルを読むべきです。

:ref: narrative_documentation

これは、app: `Pyramid`の概念を物語的に記述した文書であり、主に会話的な形で書かれています。各ナレーションのドキュメントの章では、分離された:app: `Pyramid`概念について説明しています。あなたは、それらを順不同で読んだり、アプリケーションを開発している間に特定のトピックについてのリマインダだけが必要な場合には、物語の章から有益な情報を得ることができます。

:ref: api_documentation

すべての公開APIの包括的なリファレンス資料:app: Pyramid APIドキュメントは、モジュール名のアルファベット順に整理されています。

:ref: pscripts_documentation

`` p * ``のスクリプトに含まれています:app: Pyramid

ジェネシスの:mod: repoze.bfg

2010年末までに、:app: Pyramid`は:mod: repoze.bfg`として知られていました。

私は:mod: repoze.bfg`と書いています。これは何年もの間、term: Zope`を使ってアプリケーションを書いています。 Zopeは私に多くのマイレージを提供しました。それを使ってアプリケーションを作成してから約10年後に別のWebフレームワークを書くことにしました。 :mod: `repoze.bfg`は、様々なWebフレームワークからインスピレーションを受けていますが、Zopeのコアデザインは他のどのフレームワークよりも多く必要です。

Repoze "brand "は前に存在しました:mod: `repoze.bfg`が作成されました。 Repoブランドの一部として開発された最初のパッケージの1つは、mod: `repoze.zope2`という名前のパッケージでした。これは、Zope 2アプリケーションを変更せずに:term: `WSGI`サーバで動作させるパッケージでした。 Zope 2は当時は合理的なWSGIサポートを持っていなかった。

:mod: `repoze.zope2`パッケージの開発中に、Zope 2 " publisher "(URLをコードにマップする機械)を複製することは、時間がかかり、手間がかかることがわかりました。 Zope 2は何年にもわたって進化しており、すべてのエッジケースをエミュレートすることは非常に困難でした。私は:mod: `repoze.zope2`パッケージを完成させ、通常のZope 2パブリッシャーをかなりよくエミュレートします。しかし、開発中、Zope 2は単に複雑さに対する耐性を超え始めていたことが明らかになり、より簡単なオプションを探すようになりました。

私はZope 3アプリケーションサーバーのマシンを使用することを検討しましたが、単純化の目標を達成しなかったZope 2の交換を目指す機械よりも間接的になっていました。私はDjangoとPylonsの使用も検討しましたが、これらのフレームワークのどちらも、トラバーサル、文脈上の宣言型セキュリティ、またはアプリケーションの拡張性の軸に沿ったものではありません。これらは私がZope開発者として慣れ親しんだ機能でした。

私は長期的には、Zopeアプリケーションを開発するときに慣れてきた機能を保持する単純なフレームワークを作成することが、Zopeのパブリッシャーを使用し続けるか、別のフレームワークの制限と不慣れを生かすよりも合理的な考えであると判断しました。結果はapp: `Pyramid`です。

創世記:アプリ:「ピラミッド」

何が:mod: repoze.bfg`は、2010年中に:term: Repoze`と:term: Pylons`コミュニティの間に構築された連合の結果としてapp: Pyramid`になりました。私たちは努力の重複を減らし、お互いの技術のより多くを活用することができます。

ありがとう

この本は私に初めてのタイプライター(ロイヤル)と私に初めてのコンピュータ(VIC-20)を購入した母をくれた祖母に捧げられています。

専門知識、リソース、ソフトウェアを提供してくれた次の人々に感謝します。 Paul Everitt、Tres Seaver、Andrew Sawyers、Malthe Borch、Carlos de la Guardia、Chris Rossi、シェーン・ハサウェイ、Daniel Holth、Wichert Akkerman、Georg Brandlは、これらの人々の助けがなければ、 、Blaise Laflamme、Ben Bangert、Casey Duncan、Hugues Laflamme、Mike Orr、John Shipman、Chris Beelby、Patricio Paez、Simon Oram、Nat Hardwick、Ian Bicking、Jim Fulton、Michael Merickel、Open SocietyのTom Moroz、Todd環境健康科学のKoym。

PythonのGuido van RossumとTim Petersに感謝します。

Triciaに感謝してくれてありがとうございます。