Flask, Here We Go!

Today, after updating Xubuntu to 18.04, I (re)started to learn Flask.

Heading up in the Flask Mega-Tutorial

The way I initially started to learn Flask at the end of January was chaotic. I had a goal in mind for an application to create. So I researched instructions on how to achieve this specific goal. The main problem with this method that emerged later is that I did so without understanding the fundamentals of Flask and back-end development in general. The second issue is that I was unfocused, as I was distracted by conferences where I participated as a volunteer, the podcast I was just starting at that time, a UX engagement that was looming over me and some nagging health issues that put me out a few weeks. A perfect storm. I ended quite ashamed after realizing that really, I didn't understand much of back-end despite already being more than 4 months in my transition.

Grinkers told me to go back to the basics and it's what I am doing now. When I started to learn, I did the Flask official tutorial but despite completing it, there were a ton of points I couldn't understand. I think it was made for people already having some back-end experience, wanted to get into Flask. I needed something suited for somebody like me, a guy still not totally at ease with coding and a total beginner about back-end development.

After some Reddit research on /r/python, I decided to start with "Flask Mega-Tutorial" from Miguel Grinberg.

What I did:

  • Installed a Python based webdev environment on Xubuntu (GitHub, Python3, Pip). I documented the process here.
  • Setup a Python virtual environnement
  • Setup a very basic Flask web server. Introducing __init__.py, routes, view functions, decorators.
  • I created a Flask Notebook here that I will update with all the new stuff I learn about Flask there.
  • I learned more about Virtual Box, specifically snapshots, by reading this article.

The Flask part was fluid. Where I lost some time was during the Python setup due to a few broke items, for example "gnupg : Breaks: software-properties-common". Fortunately I figured it out. It's also part of the experience to fail a lot now, so I can be in control once I will actually ship stuff.

Cool commands learned

  • List all the apps installed on your Ubuntu installation
apt list --installed
  • Check if binaries are installed (e.g. different version of Python)
type python3 python2 python

A good day of learning overall, up to the next one now!

Show Comments