初心者がTurboGearsで開発を行うための学習過程は?

TurboGears本家のメーリングリストより。

ある日こんな質問が飛び込んできました。

質問者:

ぼくTurboGearsでeコマースサイト作りたいんだけど、Linuxのスキルもほとんど無いし、ようやくPythonチュートリアルを4分の3くらいまで片づけたところなんだ(*´Д`)

この先どうやって勉強したらいいか教えてくれよ~。

以下いろんな人の回答より抜粋。

Aさん:

1. コマンドラインを使えるように勉強する

2. インタラクティブPythonインタプリタを使えるように勉強する(Pythonチュートリアルをこなしながらやろう)

2-a. Pythonモジュール・パッケージとは何かを知る(Pythonチュートリアルをこなしながらやろう)

非公式のチュートリアルをやるのもいいよ。初心者向けに改良してあるよ!

http://pytut.infogami.com/

3. 基本的なHTMLを勉強する

4. テンプレートエンジンについて勉強する

Kidのドキュメントは初心者向けじゃないから、Smartyのドキュメントから読み始めるといいかもね。

http://smarty.php.net/crashcourse.php

そう、これはPHPのテンプレートエンジンなんだけど、基本的な原理は同じだから安心して。

5. オブジェクト指向とMVCパターンについてWikipediaで読む

6. Pythonのイテレータとデコレータについて読む

7. これできっとTurboGearsについてわかってくると思う。チュートリアルやドキュメントを読もう!

Bさん:

付け加えて、Dive into Pythonをおすすめするね。ちょっと時間はかかるかもしれないけれど、Pythonの概要を知るにはとてもすばらしい記事だよ。

http://diveintopython.org/

Cさん:

こりゃ長い道のりだよ。おもちゃみたいなアプリケーションなら少しは楽なんだろうけどね!

きみはこんなものを勉強する必要があるだろう。

エディタ
ワープロは忘れてくれよ。報告書を書くんじゃない、コードを書くんだ。拡張可能ないいものを選んでくれ。きみはLinuxを使っているみたいだからEmacsかVIMをおすすめする。私は個人的にEmacsが気に入って使っているんだが、どちらもいろんなOSでよく使われてる(もちろんWindowsでもね)。どちらか(もちろん両方でも)使えればOKさ。
プログラミングロジックとテクノロジー
どうやってコードを書くのか知る必要がある。こればっかりはどうしようもないね。
RDBMS
eコマースってことから考えるとPostgreSQLがおすすめ。でもMySQLの方がホスティング先を探すのは簡単。
HTML/XHTML/XML
Webの基本的な仕組みをまだ理解していないなら、テンプレートシステムについてはとりあえず忘れた方がいい。
Python
最初はうまくコードは書けないと思う(もしかしたら永遠に…)。だけど時間がたつにつれて、どう書いたらよいかわかってくるだろう。Pythonはとっついきやすいよ。いくつかのチュートリアルや本を読めば、もしかしたら半日で基本的な部分が理解できるかもしれない。
テンプレートシステム
Genshiから始めることをおすすめする。TurboGearsがどんなものをデフォルトにしようとしているのかを知ることができるし、XMLについて多くのことを学ぶだろう。 Pythonで学んだことと考え合わせれば、HTML/XHTMLで書いたことをテンプレートで置き換えることができる。ここまでやればもう自分でウェブサイトを作れるぞ。
さらにPython
すべてを学ばなきゃいけないなんて思ってなかっただろ?でももっと高度なことにも目を向けるべきだ。特にデコレータやジェネレータ。デザインパターンもきっと興味を惹かれるハズ。
TurboGears
きみのゴールだ。

Dさん:

すでに他の人たちがすばらしい提案をしてくれたようですが、私はすばらしい本を何冊か紹介したいと思います。
Pythonの本

  • Beginning Python From Novice to Professional, by Magnus Lie Hetland, Apress
  • Core Python, by Wesley Chun
  • Dive into Python is free on the web

まずBeginning Pythonを読み、それからCorePythonやDIPに進むとよいでしょう。

Database/SQLの本

  • MySQL & mSQL, By Randy Yaeger,George Reese & Tim King, O'reilly

少し古い本ですが、データベースのモデルやリレーションについてわかりやすい例が載っています。
Web Developmentの本

  • Plenty of XHTML/HTML tutorials out there, no need for a book, just view source on some websites and learn
  • DOM Scripting, by Jeremy Keith, Friendsof, Apress
  • CSS Mastery by Budd, Moll, Collison - Friendsof, Apress
  • The one and only TurboGears Book, By Mark Ramm, Kevin Dangoor - Pearson

Eさん:

よいリプライがあるみたいだけど、TurboGearsのサブコンポーネントがそれぞれどうなっているかを理解しておく必要もあるんじゃないかな?それぞれのパーツが実際に何をやっているのかを知るのは大切だよ。

まずSQLObjectやSQLAlchemyについて勉強し、次にCherryPyへ。そしてKidテンプレートをいくつか書いてみる。その後quickstartのプロジェクトの構造を知って、すべてを一緒にしたアプリケーションを作ってみる。最後にvalidatorやwidgetのような複雑なものへ進むのがいい。

Fさん:

いいスレッドですね!ドキュメントのWikiにまとめたいくらいです。

他の人の提案に少しだけ、私の愛する本たちを付け加えさせてください:

  • HTML & XHTML, the definitive guide ( O'reilly )
  • Apache, the definitive guide ( O'Reilly )
  • Javascript, The Complete Reference ( I'm sure the O'Reilly is good too though )
  • Cascading Style Sheets, the definitive guide ( O'Reilly )
  • A Practical Guide to Linux: Commands, Editors, and Shell Programming, by Mark Sobel
  • Beginning Python
  • Core Python

開発環境としてプログラムをどのように走らせるのかを考えるために、自分用のPCを自宅にセットアップすることは意義のあることです。上記中のSobelさんの本は、コマンドライン、エディタ、シェル、正規表現など、それをするのに必要なことが網羅されています。

私の目の前に続く道のりがどれだけ長いものかを思い知らせてくれるスレッドでありました…(*´Д`)

トラックバック用URL:
http://nagosui.org:8080/Nagosui/COREBlog2/whats-my-learning-path/tbping
コメントを追加

下のフォームに記入してコメントを追加できます。平文テキスト形式。

(必須)
(必須)
(必須)
(Required)
Enter the word

このBlogについて
Plone, Zope, Pythonなどのトピックについてのメモです。
カテゴリ
Plone (99)
Plone Products (23)
COREBlog2 (31)
COREBlog1 (29)
ReadingCOREBlog (7)
Zope (66)
Turbogears (18)
Django (12)
Python (26)
Linux (32)
Nagosui (13)
Design (34)
Misc (49)
moblog (5)
最近のエントリ
Plone3.2+その他もろもろのレシピ nyusuke 2009年01月07日
さらばファッキンKDDI nyusuke 2008年12月10日
Xoopsのテーマをいじる1 nyusuke 2008年12月08日
第13回名古屋大学吹奏楽団定期演奏会 nyusuke 2008年12月07日
最近のコメント
Re:WebデザイナーのためのDjangoはじめの一歩 nyusuke 2007年06月01日
Re:WebデザイナーのためのDjangoはじめの一歩 pateo 2007年05月31日
Re:東海Python Workshop 01終了 nyusuke 2007年05月31日
Re:東海Python Workshop 01終了 kfuruhata 2007年05月30日
Geek Test
I am 30% Geek.
Geek? Yes, but at least I got social skills.
You probably work in computers, or a history deptartment at a college. You never really fit in with the "normal" crowd. But you have friends, and this is a good thing.