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!