
Show HN: Full Stack Python - makaimc
http://www.fullstackpython.com/
======
Derbasti
I still think it's funny that "full stack" means web servers and web sites.

It used to begin with assembly...

~~~
_pmf_
It makes me shake my head when I read it.

"I'm not a web monkey, I'm a frontend and backend monkey. Please respect me!"

~~~
nailer
Is there anything in technology you consider not monkey work?

~~~
sergiotapia
Literally flipping bits using magnets. Anything else is just monkey work, ya
know?

------
izolate
I would've loved to have had this resource when I was starting out and so
desperately wanted to move to Python from PHP, but had little idea how.

Also, there's so little mentioned of Pyramid, which in my opinion is the most
elegant Python framework there is.

~~~
makaimc
thanks, it's great to hear! I created the site because while I was learning
Python these were the resources I would've loved to have learned from.

Regarding Pyramid, I completely agree. It's a great framework and definitely
one I need to adda page for it as soon as I get my hands dirty with a project
so I can confidently write about the differences compared to
Django/Flask/Bottle.

~~~
ma2rten
Maybe you could also add a little of information about why one would choose on
framework over the other.

------
wodenokoto
I'm learning Python as part of a data science class and not for building web
apps.

This article mentions a-ha moments in relation to Python conditionals. What is
so special about Python conditionals? They seem pretty ordinary to me.

~~~
hartleybrody
For me, the big aha moment with Python specifically was grokking list
comprehensions. That was a great day.

~~~
deckiedan
Also related, the whole generator/iterator pattern, and how by designing your
logic into the right kind of objects, you can create extremely elegant
interfaces.

~~~
nsomaru
could you point out some resources for the same?

------
einselbst
Great idea. Will sure read more on your site later on, but one thing that
struck me is "Pyramid applications are built using a model-view-controller
architecture." There is a note in pyramids design defenses which says they do
not consider pyramid to be a mvc:
[http://docs.pylonsproject.org/projects/pyramid/en/1.3-branch...](http://docs.pylonsproject.org/projects/pyramid/en/1.3-branch/designdefense.html#pyramid-
gets-its-terminology-wrong-mvc)

~~~
makaimc
thanks, I'll make the change based on this link. I'm coming primarily from a
Django & Flask background so my description of Pyramid isn't from a position
of knowledge. I'll have to write a Pyramid project to get some experience with
the framework.

------
gutkowski
Great content structure! I will definitely recommend this site for beginners.

~~~
SatoshiPacioli
I will not, beginners who want to build a web app should start with JS. Until
Python is executed client-side as quickly as JS, "fullstack python" is a lie.

~~~
samirmenon
I think, in this context, "beginners" refers to new Python programmers who
want to use Python to build a web app.

After all, the site's intro clearly states, "You're knee deep in learning the
Python programming language...Now you want to take your initial Python
knowledge and make something real. A real web application that's available on
the web"

~~~
SatoshiPacioli
I started with Flask because I knew some Python. I just moved to node.js /
Meteor. I wish I had started with the latter. I wish someone had told me
"Python is nice, I understand that you're enjoying it right now, but learn
these JS web frameworks." Anything else is a real disservice to beginners.

~~~
flaie
Said no one ever.

This is just plain wrong to force someone with your new hype and vague idea of
how a web application should be developed using only your new hipster
framework of choice and nothing else.

There are tons of way you can write a web application, that's why open source
is cool, chose the one that pleases you and have fun with it, but stop trying
to prevent others using anything else but what _you_ judge to be the best.

------
nawitus
Is it 'full stack' if the frontend is written in JavaScript?

~~~
alexserver
as a web developer you must know have to deal with either javascript or coffee
script. Full stack means you can both do frontend, backend, and also deploy.
Not that you're expert in three but you're capable of getting the job done.

~~~
andrewflnr
A bit OT, but is it really practical or safe to know CoffeeScript without
being familiar with JS?

~~~
alexserver
I just didn't want to put coffee script out of the scene. obviously to do
frontend you must know the basics: css, html, js. but is well known that now
there are some fancy pseudo languages that improve the lack of the basic ones,
such as less/stylus/sass for css, and coffee script for javascript.

------
msane
Interesting content. "Full Stack" means all those server-side bits _and_ the
client application portions as well. i.e., "everything". This looks like it
addresses only the server-side part of the "stack".

~~~
sehr
There are CSS & JS portions included, with relevant resources linked within.

~~~
MichaelGG
Real full-stack wouldn't need JS but merely treat it as a compilation/runtime
target.

------
smurfpadre
Love the content! It's lame to say, but the first sentence under the Web
Framework section has a subject-verb agreement issue. Believe it should be
"makes," not "make."

~~~
makaimc
not lame at all! definitely a mistake on my part and should be fixed now.
thank you!

------
JelteF
I think recommending Python 3 would be good in this tutorial. Since the people
that read this are probably starting a new project and both recommended
frameworks support it.

------
soggypenny
Great timing as I was recently looking for a resource like this. I've been
leaning towards Flask (vs. Django) so I'll definitely check this out.

~~~
hartleybrody
A bit of a shameless plug, but you might also like this web starter project I
put together:

[https://github.com/hartleybrody/web_starter](https://github.com/hartleybrody/web_starter)

It covers how to get your dev environment setup, how to checkout the
repository and how to build a local web app using Flask.

No information yet on deploying, but I'm happy to take pull requests!

------
brickmort
I like this! It's a very comprehensive guide complete with a section on
deployment, and not to mention a rich collection of links. Nice job!

------
arvin
This is a great resource and just the right timing since I'm planning on
building a website on Google App Engine using Python with Flask.

~~~
shekhar101
Isn't webapp2 preferred for python webapp dev in GAE? I'm also starting to
build a python based webapp in GAE and confused whether I should start with
Flask?Django or Webapp2 itself.

~~~
arvin
Google now makes it very easy to start with any of the 3 frameworks: Flask,
Django or Bottle.

[https://console.developers.google.com/start/appengine](https://console.developers.google.com/start/appengine)

------
est
Well I thought this is a project where you write django with python generated
CSS and HTML, ZODB for db and some other kind of pure python mockup of
redis/memcached, and using Tornado to replace Nginx. Now that's compelete-
stack python

~~~
nashequilibrium
you run a few tornado instances behind nginx.

------
bsaul
I guess it may be out of the scope for that book, but i was expecting a
mention of saltstack on the deployment part. Since there wasn't any mention of
any provisionning tools ( or i didn't see where), i suppose it's on purpose.

------
waitingkuo
Awesome. Kind of an interactive book. I can just read those what I need
easily.

------
bpicolo
I think the virtualized servers was oversimplified a bit. In reality, 1
virtual core is generally less than 1 physical core. Virtual cores aren't on a
1 to 1 basic with physical cores.

------
luisehk
Lately I've been writing some small scripts in Python to automatize some work
and learn the language too, so this site is just what I needed. Great stuff.

------
KJasper
This is really great I'm finishing up my course on codecademy and will look to
this for my next step :)

------
notastartup
This is such a useful guide for me. Especially as someone from the LAMP stack
who played with javascript on the server side that left a bad taste in the
mouth, I've finally turned to python (flask, uwsgi, nginx). I wish I had known
about this site earlier, it has valuable information.

