14 ms·
Show HN: Full Stack Python
- einselbst 12y agoGreat 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/designdefense.html#pyramid-gets-its-terminology-wrong-mvc http://docs.pylonsproject.org/projects/pyramid/en/1.3-branch...
- makaimc 12y agothanks, 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.
- wodenokoto 12y agoI'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.
- ovis 12y agoImagine that you're learning your first programming language. You don't read Hacker News, and you can't imagine why having curly braces on a keyboard is more useful than a snowman character. Then, getting a working conditional statement might be a revelation. I still remember the first program I ever wrote. It was about 15 years ago, and all it did was convert a Celsius temperature to Fahrenheit in C. It was thrilling, and I don't think it even included a conditional!
- lmm 12y agoIf that first language is python you may get quite a long way before you see any reason why having curly braces on a keyboard is more useful than a snowman character :)
- marcosdumay 12y agoDictionaries rule.
- hartleybrody 12y agoFor me, the big aha moment with Python specifically was grokking list comprehensions. That was a great day.
- sergiosgc 12y agoTrue. The moment you realize you rarely ever need a classical for cycle -- for (i=0;i<100;i++) -- is truly a Aha moment.
- deckiedan 12y agoAlso 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 12y agocould you point out some resources for the same?
- pizza 12y agoI think understanding conditionals lies somewhere between "well how do I use this stuff?" to "Eureka!"
- soggypenny 12y agoGreat 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 12y agoA 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!
- gutkowski 12y agoGreat content structure! I will definitely recommend this site for beginners.
- SatoshiPacioli 12y agoI 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.
- sillysaurus3 12y agoWhen a single PC circa 2014 is more powerful than the entire world's combined computing power circa 1990, and a smartphone is as powerful as an XBox, it's probably suboptimal to worry about execution performance. Generally, it's best to wait until a profiler indicates there's a performance problem before changing your coding habits.
- Aldo_MX 12y agoIs my phone battery an acceptable profiler? It doesn't warn me about performance issues, but it lasts less when I visit heavy websites.
- samirmenon 12y agoI 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 12y agoI 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.
- KJasper 12y agoThis is really great I'm finishing up my course on codecademy and will look to this for my next step :)
- luisehk 12y agoLately 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.
- izolate 12y agoI 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 12y agothanks, 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 12y agoMaybe you could also add a little of information about why one would choose on framework over the other.
- aidos 12y agoYou just prompted me to have a quick read through the Pyramid docs. It looks really nice. I use Flask as a general rule (though I try to have as little web app specific code as possible with whatever I do). I've worked with django in the past and it's just not for me. Pyramid immediately feels like it strikes a nice balance between the two extremes.
- nawitus 12y agoIs it 'full stack' if the frontend is written in JavaScript?
- alexserver 12y agoas 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 12y agoA bit OT, but is it really practical or safe to know CoffeeScript without being familiar with JS?
- alexserver 12y agoI 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.
- JelteF 12y agoI 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.
- msane 12y agoInteresting 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".
- ma2rten 12y agoThis. When I read "full stack python" I was expecting something like Meteor behind the link.
- maerF0x0 12y agoTechnically you can run it in the browser: http://stromberg.dnsalias.org/~strombrg/pybrowser/python-browser.html http://stromberg.dnsalias.org/~strombrg/pybrowser/python-bro... But, not good for mass audience. It'd be nice if someone (google) took it upon themselves to implement another lang in the browser.
- deleted 12y ago[deleted]
- lucian1900 12y agoThey have, it's called Dart.
- sehr 12y agoThere are CSS & JS portions included, with relevant resources linked within.
- MichaelGG 12y agoReal full-stack wouldn't need JS but merely treat it as a compilation/runtime target.
- bsaul 12y agoI 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.
- smurfpadre 12y agoLove 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 12y agonot lame at all! definitely a mistake on my part and should be fixed now. thank you!
- est 12y agoWell 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 12y agoyou run a few tornado instances behind nginx.
- brickmort 12y agoI 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 12y agoThis 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 12y agoIsn'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 12y agoGoogle 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
- blumkvist 12y agoGreat timing for me too! I started reading LPTHW, so I can learn django and take on a site I want. I just hate wordpress with passion. I have a really hard time digging and rearranging someone else's work. I hope that being able to manually piece the code together and write my own where necessary will help me out a great deal. This site looks a lot better, compared to a single book, since it teaches not only small bits, but how to put a whole project together. As I mentioned, I'm 30 pages into LPTHW, but I think I will be switching immediately to Real Python, since it looks a lot more practical for my needs. Thanks again to the people who built that site, to the person who submitted it on HN and to all the people who voted on it, so it gets to first page! You all rock!
- waitingkuo 12y agoAwesome. Kind of an interactive book. I can just read those what I need easily.
- bpicolo 12y agoI 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.
- Derbasti 12y agoI still think it's funny that "full stack" means web servers and web sites. It used to begin with assembly...
- _pmf_ 12y agoIt 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 12y agoIs there anything in technology you consider not monkey work?
- sergiotapia 12y agoLiterally flipping bits using magnets. Anything else is just monkey work, ya know?
- gaius 12y agoWhen you consider the OS and all it's bits, the language runtime and libraries, the database server itself, the browser, we're talking tens of millions - literally - of lines of C and C++. Yet guys who plumb together these pre-built components writing a few hundred lines of high level code at most, think it's the "full stack" they're doing. The same guys who last year, were "rockstar ninjas". I'm a programmer. It's and old and boring title. But it's honest work with no pretensions, and I mean to go on being one for a long time. And I think anyone who interviewed with me who glibly claimed to be "full stack" would have an interesting time...
- notastartup 12y agoThis 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.