私はWeb開発のためにPythonの学習を検討しています。
Java(JSP/Servlets))の基本的なWeb開発の経験があることを前提として、Webデザイン(HTML、CSS、JS)、基本的なプログラミングの概念、および完全に理解しているPythonを初めて使用する場合、Pythonを構造化された方法で学習し、最終的にPythonとDjangoを使用したWeb開発につながります。
私はPythonでWebアプリケーションを作成するのを急いでいません。そのため、PythonでのWeb開発に関連するテクノロジーの知識にギャップを残さないように、それを完全に学びたいと思っています。私の努力に役立つ本、リソース、またはテクニックはありますか?どのような順序でそれらを実行/読み取る必要がありますか?
更新:
構造化された方法で学ぶとは、Pythonが提供しなければならない重要な詳細/機能の一部を残さずに、基本から始めて高度なものを学ぶことを意味します。方法を知りたい私がプログラミングですでに知っていることをPythonに適用します。
最初に学ぶPython
Pythonを学習するためのオンラインリソースをいくつか紹介します
Djangoについては、
私が提案するのは
これもチェックしてください ビデオ
これを真剣に受け止めないでください、しかし...
ファイル名を作成app.py
以下のコンテンツを含む:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run()
pip
(pythonパッケージインストーラー) installed があるとすると、次のようにします。
$ pip install Flask
$ python app.py
* Running on http://localhost:5000/
これで、ローカルホストのポート5000で最初のWebアプリにアクセスできます。
それが最初のpython Webアプリケーションです。その後のすべては、アプリケーションの構造、機能、および外観の「洗練」です。
pythonでのWeb開発が目的の場合、pythonを完全に理解した後、Flaskを確認することをお勧めします。 Djangoおよびその他のフルスタックフレームワークは、間違いなくあなたの人生をはるかに容易にしますが、全体的には、あなたが多くを学んでいないかのように不完全な感覚をあなたに残します。 Flask IMHOは、現時点でpythonで最も素晴らしいフレームワークですが、はい、それは私の意見です。
また、Python Koans for learning: http://github.com/gregmalcolm/python_koans をお勧めします
これらは、Ruby Koans(多くは直接移植されました))とかなり似ており、かなりクールです。
http://learnpythonthehardway.org
Pythonでの52のレッスンのシリーズが含まれている無料のオンラインブックです。
レッスン1から始めてレッスン52に進むことで、python言語の有能なプログラマであると自分自身を考えるのに十分なことを学ぶ必要があります。
各レッスンには、時間をかけて入力し、実行してから変更すると、結果がどのように変化するかを確認するためのコード例があります。
それは私が知っているほとんどの人々が一般的にプログラミングを学ぶそのプロセスです。
Web開発は常に1つに戻ります。それがブラウザーです。 HTML、CSS、JavaScriptを非常によく学び、言語の変化にも対応します。
Www.w3schools.comはこれらのことを学ぶのに最適な場所ですが、CSSに関しては、座って遊んでみると非常に便利です。クールなWebデザインを見つけて、HTMLで手動で実装します。サーバーサイドコードのいずれかがHTMLになる場合、これは非常に非常に必要なスキルです。
次に、私はあなたの論理的なアプローチが好きですが、それはそれについて取り組む最善の方法ではないかもしれません。よりやりがいのあるアプローチは、達成したい目標を設定し、途中で学ぶことかもしれません。
Djangoで始めるのは最善のアイデアではないかもしれません。フレームワークの設計時に彼らが行った決定の多くは、直接解決する問題を経験した場合にのみ意味があります。最初のWeb言語はphpであり、ベストプラクティスを理解する最も効果的な方法は、くだらない、もろいコードを記述し、問題があったことを認識し、解決策を再検討することでした。問題を理解する前に解決策を研究するとしたら、効果的に適用できません。
これに時間をかけても構わないとしたら、おそらくphpなどの抽象的なテクノロジーセットから始めるのが素晴らしい学習経験になるでしょう。