00 序文

□未翻訳

□翻訳中

□翻訳完了(Omi Chiba)

■レビュー(中垣健志)

web2pyは2007年に立ち上げられ、3年間の継続的な開発を経た現在、私たちは待望の第3版を完成しました。この間にweb2pyは多くの知識を持つユーザとゴールを共有し大幅な改善に貢献した開発者の愛情を得ました。

web2py was launched in 2007 and now, after three years of continuous development, we have reached a very much needed third edition of this book. During this time web2py has managed to win the affection of many knowledgeable users and developers who share its goals and have contributed to make significant improvements.

私は皆さんに感謝をすると共に、その中でも特に主要な貢献者:Jonathan Lundell(新しいルート)、Thadeus Burgess(新しいテンプレート)、Nathan Freeze(バリデータと認証)、Timothy Farrel(新しいwebサーバー)に感謝します。より完璧なリストは1章にあります。私たち全員の努力で実存する中で一番多機能なオープンソースのwebフレームワークの一つが完成しました。

I would like to acknowledge and especially thank a few of those major contributors: Jonathan Lundell (new routes), Thadeus Burgess (new template), Nathan Freeze (validators and authentication), and Timothy Farrell (new web server). There is a more complete list in Chapter 1. Our collective effort has created one of the most fully-featured Open Source web frameworks in existence.

当初、私は教材としてweb2pyを作成しました。それは自由な情報の流れを妨げる情報格差の拡大をとても懸念していたからでした。良質のウェブサイトを早く効率的に作成する能力は非常に重要で、多くの人々に有益なインターネットの交流を提供し、大手企業や団体による情報の独占を妨げます。これがweb2pyを作ろうとしたきっかけで、今のその思いに変わりはなく、このことはさらに重要性を増しています。

I originally started web2py as a teaching tool because I was very concerned about the growth of the digital divide and the obstacles this creates for the free flow of information. The ability to build good quality web applications, fast and efficiently, is of critical importance to enable more people to interact with the Internet in a meaningful way and prevent the biggest players from monopolizing information. This was my motivation for creating web2py, and it remains just as valid and even more important today.

一般的にwebフレームワークの目的はweb開発を簡単に、早く、特にセキュリティ上に関する開発者の間違いを防ぐためです。web2pyで、私たちは三つの主要な目標でこれらの問題に対応しています。

In general, the purpose of any web framework is to make web development easier, faster and prevent developers from making mistakes, especially in matters related to security. In web2pywe address these issues with our three main goals:

使いやすさweb2pyの一番の目標です。私たちにとって、これは学習時間と開発時間を減らすという意味があります。これがweb2pyが依存関係を持たないフルスタックフレームワークである理由です。インストールも設定ファイルも必要ありません。webサーバ、データベース、全ての機能にアクセスできるwebベースのIDEを含む全てが標準で動作します。APIは12のコアオブジェクトに単純化されており、簡単に使えて覚えることができます。私たちはweb2pyにできるだけ制限を設けないように努力しました;多くの代表的なwebサーバやデータベースを使用することができます。また、Python言語のパワーをいつでも全て発揮する事ができます。

Ease of use is the primary goal for web2py. For us, this means reducing the learning and deployment time. This is why web2py is a full-stack framework without dependencies. It requires no installation and has no configuration files. Everything works out of the box, including a web server, database and a web-based IDE that gives access to all the main features. The API has been simplified to just 12 core objects, which means it is easier to work with and memorize. We have worked hard to make web2py as unrestricted as possible; you can use a wide range of the most popular web servers and databases and always have access to the full power of the Python language.

開発速度は二つ目の目標です。web2pyのそれぞれの関数は(上書き可能な)デフォルトの振る舞いを持っています。例えば、データモデルを指定するとすぐに、webベースのデータベース管理パネルにアクセスできます。コントローラやアクションを追加するとすぐに、フォームを作成しユーザにHTML、XML、JSON、RSSでデータを提供できるデフォルトのビューを使えます。web2pyはあなたのデータでフォームを自動作成します。

Faster development is the secondary goal. Every function of web2py has a default behavior (which can be overridden). For example, as soon as you have specified your data models, you will have access to a web-based database administration panel. As soon as you add controller actions, you will have default presentation views to create forms and present data to your users in HTML, XML, JSON, RSS, etc. web2py also generates automatically forms for your data.

セキュリティweb2pyの心臓部で、あなたのシステムとデータを安全に保つために全てを保護することが目標です。これにより、データベース層はSQLインジェクションを取り除きます。テンプレート言語はクロスサイトスクリプティングの脆弱性を妨ぎます。web2pyで作成されるフォームはフィールドの検証を提供しクロスサイトリクエストフォージェリをブロックします。パスワードは常に暗号化して保存されます。セッションはクッキーの改ざんを防ぐためにデフォルトでサーバサイドに保存され、セッションクッキーはクッキーの盗難を防ぐためにuuidを利用します。

Security is at the heart of web2py, and our goal here is to lock everything down to keep your systems and data safe. Therefore, our database layer eliminates SQL Injections. The template language prevents Cross Site Scripting vulnerabilities. The forms generated by web2py provide field validation and block Cross Site Request Forgeries. Passwords are always stored encrypted. Sessions are stored server-side by default to prevent Cookie Tampering and session cookies are uuid to prevent Cookie Stealing.

web2pyはいつもユーザの視点で開発され、互換性を保ちながらより早くより頼りになるように内部の最適化を続けます。

web2py has always been built from the user perspective and is constantly optimized internally to become faster and leaner, whilst always maintaining backward compatibility.

web2pyは無償で使用できます。もしあなたがweb2pyで利益を得る場合は、どのような形でもいいので社会に恩返しをする心を持っていただけることを希望します。

web2py is free for you to use. If you benefit from it, we hope you will feel a little more like contributing back to society in whatever form you choose.