noNet <[EMAIL PROTECTED]> writes:
I am trying to chart my learning path from not knowing anything except how to
run a computer to using TurboGears in building my own database based
eCommerce Site on the web.
It's a huge path. If it was a toy application it would be much easier.
You'll need to learn:
- Some good editor
Forget about word processors. You won't be writing reports
but you'll be writing code. Choose a good one. Mastering a
good expansible editor might take you years so don't worry
learning everything about it. With some editors you never
will learn everything that it is capable of. Since you're on
Linux I recommend Emacs or VIM.... I use the first, and
thought it fitted my brain better. Both are the most common
editors and exists for dozens of OSs, including Windows, so
if you know one of them (or both) you'll be OK in, I dare
saying, each and every OS that you might use.
- Programming Logic and Terminology
You'll need to learn how to code. There's no way to scape
from it.
- Some RDBMS (relational database management server) -- I suggest
PostgreSQL due to eCommerce's requirements, but you'll find hosting
easier if you use MySQL (please, see the details on each type if you
choose the last one and take a good look at it's gotchas)
Without that you won't be able to correctly plan and implement
a model with all of its relationships. You can have something
that won't handle heavy load or will break in one or more of
several ways if you don't know what you're doing.
Of course, refactoring is possible, but when you have
thousands or millions of records guaranteeing their integrity
while manually altering their underlying structure is
something you really don't want to worry with...
- HTML / XHTML / XML
Forget about templating systems if you don't understand the
basics of how the web works and where it is going to (it is
mostly HTML but is going towards XML and is starting a
transition state where it is more XML like with XHTML).
- Python
Your code will mature with time. You'll never code the best
code at first attempt -- maybe never... -- but you'll see how
to optimize things and how to make your work easier with
time. Python is easy to start with, in one afternoon you'll
be able to learn the basics with one of the several tutorials
and books linked from the Python website...
- Some templating system
I suggest you start with Genshi. You'll learn what TG will be
using as default "soon" and will benefit a lot from your
studies in the XML area. Together with what you learnt from
Python you'll be able to replace the code you wrote to learn
HTML / XHTML with a template and insert dynamic information
there. Here you'll already be able to create websites on your
own. Resist the temptation for a while.
- More Python
You didn't thought you'd have to learn everything, right?
Take a look at more advanced stuff: decorators and generators,
mainly. Studying some design patterns would also be
interesting.
- Learn TG
That's your goal.
Of course, you'll have to learn several things as well: modeling a database
with some ER drawing tool, modeling your program using UML (use cases,
classes, etc.) and more. If you have a small application it isn't all
needed, but it helps a lot growing and fixing bugs after a while without
touching that code.
However in trying to figure out the shortest and logical path to my goal, I
keep running into the Chicken and the Egg problem. I start to look at one
thing, and then it seems I should study something else first and around the
table I go. I am looking for the logical learning path so that what I am
learning builds upon itself as I go.
If you really can't go on with what you're learning then you're missing some
requisites for that or are trying to give a big jump. ;-) Learn, try it out,
learn more, try it out, learn more... If you don't write code you won't learn
how to code.
So, I am going to tell you specifically where I am at, and ask you to tell
me what I need to learn, and in what logical order I should do it, to get to
the point of being able to accomplish my goal from here?
If you're a complete newbie it will take you a long time to start with an
eCommerce website and have a good solution. If you're willing to play with
your family and friends it will be easier...
--
Jorge Godoy <[EMAIL PROTECTED]>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"TurboGears" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/turbogears?hl=en
-~----------~----~----~----~------~----~------~--~---