I have experienced a disaster on my web server a few days ago. While trying to remove one of my dev databases, I have removed the production database accidentally. I was extremely lucky because I duplicated production database to the local one to test a python script and I have all my web app’s content in the GIT history which you shouldn’t. Because it is not the best practice to put web app’s content to the VCS.
There are a lot of ways to generate random values. But some of them are not suitable for secret keys. There is a new module named secrets in version 3.6 and later. You can use the code below to generate cryptographically strong random values.
import secrets secrets.token_hex()
These folder and files are generated by python. You should add these to your VCS’s ignore file. But if you need to clean these manually, you can do with the command below:
find . | grep -E "(__pycache__|\.pyc|\.pyo$)" | xargs rm -rf
If you have three layered development structure (local dev, remote staging, remote production) like me, you want to search engines index your staging server. It is easy to prevent search engines from indexing your nginx web server.
add_header X-Robots-Tag "noindex, nofollow, nosnippet, noarchive";
Some of you may have noticed that I’ve been building my website/blog for a long time. Even some of those have been pestering me about it.
In 2008, I bought my domain to make my personal website. Since then, I have built this website using different kinds of tech stacks, from static to drupal. Well, it took me over 10 years, but finally, I’m here with a flask website. You may find details of my stack below.