Dive into Docker takes you from "What is Docker?" to confidently applying Docker to your own projects. It's packed with best practices and examples. Start Learning Docker →
We'll go over creating the logic for the whitelist, an optional exempt list, working with CIDR blocks and benchmarking a few solutions.
With 1 line of code and 1 function we'll be able to randomly pick something X% of the time and something else Y% of the time.
As of May 30th 2022 Google disabled the less secure apps option to login to Gmail over SMTP, 2FA + app passwords fill that void.
Here's a recap of a few things that went wrong around pushing invalid Python packages while maintaining Flask-DebugToolbar.
More specifically a bare bones health check and another separate check that connects to databases and other services you might have.
We're going to look at a Phoenix LiveView app for this example but this applies to any web app using any web framework.
These 12 methodologies help you build flexible and resilient web applications with any tech stack.
In this 25 minute video we go over updating Postgres, Redis, Python, Node, a bunch of Python packages and adding Hadolint.
Here's a few patterns I've picked up based on using Docker since 2014. I've extracted these from doing a bunch of freelance work.
In this video we'll go over 3 pull requests that fix a few deprecation warnings in 3 popular Flask extensions.
We'll go with IMO the least error prone and most readable solution which explicitly defines them with their full module path.
José Valim and I asked developers how they would solve a specific problem in their language of choice. How would you do it?
For migrations it uses Alembic under the hood, you're also in full control over what gets seeded and you can reset your database at will.
Turns out you can't set a custom webhook API version through Stripe's web UI as of Nov 2020, but here's how to do it through their API.
In this video, we'll go over both the why and how to set up a number of web app servers to log to stdout.
In this video, we'll go over how to set up a health check endpoint in Flask and use the free UptimeRobot service to monitor your uptime.
In this video, we'll loop over data coming in from the back-end and display it in a responsive multi-column layout.
In this video, we'll go over using a script to make sure your database is ready before running automated tests. Perfect for CI.
In this video we'll cover how to use the same gunicorn config file in dev and prod but still be able to tweak settings with env variables.
An override file lets you use the same Docker Compose file in development and production while being able to run different services.
Here's a number of questions you can ask yourself and tools you can use to help improve the quality of your code.
In this video I go over testing and documenting the features of an audio player but the steps taken could be applied to any code base.
In this video we'll go over a Flask extension that md5 tags and gzips your static files. We'll cover both the why and the how.
In this video we're going to look at a real Flask app and see how blueprints allow us to split up different sections of our code base.
Follow along in this 30 minute video where we encounter and fix a bunch of errors while upgrading Python 2.7.16 to Python 3.7.4.
I had to parse 400mb of XML for some client work and I tried a few different strategies. Here's what I ended up with.
Celery helps you run code asynchronously or on a periodic schedule which are very common things you'd want to do in most web projects.
Over the years I've learned a few languages / web frameworks and recently picked up Elixir / Phoenix. Here's what I've learned.
In this 15 minute video, we go over 1 way to quickly break down a UI feature which happens to double as a cheat code for writing tests.
When starting a new job or contributing to open source, learning a new code base can be intimidating. Here's how you can jump in quickly.
Watch a 90 minute video where I take a new project idea and start breaking it down so you can see how to do it for your own apps.
Being able to create dozens or thousands of records to populate your database in development has a lot of advantages.
I'm no where near an Elixir veteran but I found myself refactoring some imperative code into more idiomatic Elixir and it made me happy.
There's lots of ways to debug code, but often times problems become amplified when you can't visualize what's happening.
Let's talk about when it might be a good or bad idea to start using microservices. SPOILER ALERT: it's not the same for every project.
Most web frameworks come with a way to manage database migrations but they can be very tedious to use early on in a project.
I'm a big fan of setting up my development environment to be the same as production. That means running gunicorn in dev mode.
Flask is an excellent web framework choice for building APIs. In this article you'll learn which libraries I use to build RESTful APIs.
Learn how to transform a project idea into a finished application by following these actionable and repeatable steps.
Software development is all about problem solving and breaking down problems, let's tackle this problem step by step.
Part of being a developer includes setting up your computer so that you can develop the applications you want to write.
Someone recently asked me to define DevOps. This is one of those terms where everyone has a slightly different definition.
Part of the benefit of using a popular web framework is the thriving community around it. Here's my favorite Flask extensions.
A better user experience is the main reason why I prefer using server side templates instead of just client side rendering.
Learn how to fix bad request / CSRF token missing errors with Flask that stem from bugs with webkit based browsers.
Learn how to install and use Docker to run a multi-service Flask, Celery and Redis application in development with Docker Compose.
Build a SAAS App With Flask is a full blown course that will transform you into a Flask master after going through hours of self-paced videos.
Build a SAAS App with Flask is going to get a major update in the near future, learn what will change and get notified when it's out.
Learn about the Build a SAAS App with Flask project, this is part 5 of a 5 part series.
Learn about the Build a SAAS App with Flask project, this is part 4 of a 5 part series.
Learn about the Build a SAAS App with Flask project, this is part 3 of a 5 part series.
Learn about the Build a SAAS App with Flask project, this is part 2 of a 5 part series.
Learn about the Build a SAAS App with Flask project, this is part 1 of a 5 part series.
Like you, I'm super protective of my inbox, so don't worry about getting spammed. You can expect a few emails per month (at most), and you can 1-click unsubscribe at any time. See what else you'll get too.