Friday 11:30 a.m.–noon
So you want to be a full-stack developer? How to build a full-stack python web application.
- Audience level:
- Best Practices & Patterns
This is a talk about building full-stack python web applications where you manage every part of the application yourself. I will walk through how to setup a production server with your web application code, a local development environment using vagrant, and how to deploy from your local environment to production. I will also walk through python and Django libraries that will make your life easier.
Since I started doing free-lance python web-applications work, I've been getting a lot of questions from friends about how I became a full-stack python web apps developer. Some of my friends are strong front-end engineers that want to do more API level programming, others are back-end/infrastructure engineers who to know more about human computer interaction, front-end, and feature building. This talk will focus on how to build a full-stack web application and the python specific research that I have amassed over the past several years. My goal with the talk would be to give people a conceptual understanding of all the different parts of a web-application first. Giving them the big picture will help them to organize the more specific technical information that I give them as I go on. I will then drill into the different major parts of the application and present them with the research I have collected about how they can set things up, what tools they can use, what the trade-offs are, etc. The major sections include production server configuration, local development environments, deploying, and integration with third party sites. I will also touch on monitoring, exception handling and notification, and a few other things are not necessary for individual projects but important as you start to scale. Next, I will talk about the application code layer and many of the python libraries and tools they can use to make it feasible for them to build a full-stack web application on their own. An example is django-supervisor, which is a pip installation that provides a very simple interface that allows engineers to use supervisor without messing with the conf files on the machine. I also plan to offer party favors in the form of starter code repositories and instructions. My goal is to make learning different parts of the python stack more accessible to people, giving them some toys to play with and a place to start. Ultimately, this can lead to more well-rounded engineers who understand how to go about researching and gaining proficiency in new parts of the stack on their own.