Урок 1.00:01:02
Introduction to this section
Урок 2.00:08:27
Variables in Python
Урок 3.00:02:01
Solution to coding exercise: Variables
Урок 4.00:06:27
String formatting in Python
Урок 5.00:05:17
Getting user input
Урок 6.00:03:20
Writing our first Python app
Урок 7.00:06:32
Lists, tuples, and sets
Урок 8.00:04:40
Advanced set operations
Урок 9.00:04:41
Solution to coding exercise: Lists, tuples, sets
Урок 10.00:05:01
Booleans in Python
Урок 11.00:08:18
If statements
Урок 12.00:02:03
The 'in' keyword in Python
Урок 13.00:08:19
If statements with the 'in' keyword
Урок 14.00:11:08
Loops in Python
Урок 15.00:03:09
Solution to coding exercise: Flow control
Урок 16.00:07:25
List comprehensions in Python
Урок 17.00:08:32
Dictionaries
Урок 18.00:08:29
Destructuring variables
Урок 19.00:10:42
Functions in Python
Урок 20.00:07:41
Function arguments and parameters
Урок 21.00:03:55
Default parameter values
Урок 22.00:07:20
Functions returning values
Урок 23.00:02:31
Solution to coding exercise: Functions
Урок 24.00:07:53
Lambda functions in Python
Урок 25.00:04:02
Dictionary comprehensions
Урок 26.00:06:17
Solution to coding exercise: Dictionaries
Урок 27.00:10:25
Unpacking arguments
Урок 28.00:08:45
Unpacking keyword arguments
Урок 29.00:15:53
Object-Oriented Programming in Python
Урок 30.00:06:26
Magic methods: __str__ and __repr__
Урок 31.00:05:05
Solution to coding exercise: Classes and objects
Урок 32.00:14:04
@classmethod and @staticmethod
Урок 33.00:05:55
Solution to coding exercise: @classmethod and @staticmethod
Урок 34.00:08:33
Class inheritance
Урок 35.00:06:09
Class composition
Урок 36.00:05:09
Type hinting in Python 3.5+
Урок 37.00:09:34
Imports in Python
Урок 38.00:08:54
Relative imports in Python
Урок 39.00:12:48
Errors in Python
Урок 40.00:05:05
Custom error classes
Урок 41.00:07:53
First-class functions
Урок 42.00:07:13
Simple decorators in Python
Урок 43.00:03:34
The 'at' syntax for decorators
Урок 44.00:02:25
Decorating functions with parameters
Урок 45.00:04:51
Decorators with parameters
Урок 46.00:06:04
Mutability in Python
Урок 47.00:04:28
Mutable default parameters (and why they're a bad idea)
Урок 48.00:04:01
Overview of the project we'll build
Урок 49.00:04:37
Initial set-up for a Flask app
Урок 50.00:04:06
Your first REST API endpoint
Урок 51.00:03:44
What is JSON?
Урок 52.00:04:30
How to interact with and test your REST API
Урок 53.00:05:38
How to create stores in our REST API
Урок 54.00:07:56
How to create items in each store
Урок 55.00:04:40
How to get a specific store and its items
Урок 56.00:13:29
What are Docker containers and images?
Урок 57.00:11:16
How to run a Flask app in a Docker container
Урок 58.00:15:41
Data model improvements for our API
Урок 59.00:07:08
General improvements to our first REST API
Урок 60.00:09:06
New endpoints for our first REST API
Урок 61.00:06:27
How to run the API in Docker with automatic reloading and debug mode
Урок 62.00:10:26
How to use Blueprints and MethodViews in Flask
Урок 63.00:04:02
How to write marshmallow schemas for our API
Урок 64.00:04:32
How to perform data validation with marshmallow
Урок 65.00:04:40
Decorating responses with Flask-Smorest
Урок 66.00:02:08
Overview and why use SQLAlchemy
Урок 67.00:04:46
How to code a simple SQLAlchemy model
Урок 68.00:09:43
How to write one-to-many relationships using SQLAlchemy
Урок 69.00:07:55
How to configure Flask-SQLAlchemy with your Flask app
Урок 70.00:07:22
How to insert data into a table using SQLAlchemy
Урок 71.00:03:59
How to find models in the database by ID or return a 404
Урок 72.00:05:11
How to update models with SQLAlchemy
Урок 73.00:00:50
How to retrieve list of all models
Урок 74.00:01:12
How to delete models with SQLAlchemy
Урок 75.00:03:54
Conclusion of this section
Урок 76.00:02:48
Changes in this section
Урок 77.00:10:54
One-to-many relationship between stores and tags
Урок 78.00:11:24
Many-to-many relationship between items and tags
Урок 79.00:10:16
Who uses the JWT?
Урок 80.00:04:17
How to set up Flask-JWT-Extended with our app
Урок 81.00:02:08
Coding the User model and schema
Урок 82.00:09:36
How to add a register endpoint to the REST API
Урок 83.00:08:39
How to add a login endpoint to the REST API
Урок 84.00:06:01
Protect endpoints by requiring a JWT
Урок 85.00:05:56
JWT claims and authorization
Урок 86.00:06:20
How to add logout to the REST API
Урок 87.00:04:33
Request chaining with Insomnia
Урок 88.00:09:31
Token refreshing with Flask-JWT-Extended
Урок 89.00:01:39
How to add Flask-Migrate to our Flask app
Урок 90.00:05:43
Initialize your database with Flask-Migrate
Урок 91.00:05:02
Change SQLAlchemy models and generate a migration
Урок 92.00:03:20
Manually review and modify database migrations
Урок 93.00:09:44
What are Git repositories and commits?
Урок 94.00:08:28
Initialize a Git repository for our project
Урок 95.00:02:37
Writing Markdown for documents and commits
Урок 96.00:05:28
Remote repositories and how to use them
Урок 97.00:06:18
Git branches and merging
Урок 98.00:05:31
Merge conflicts and how to resolve them
Урок 99.00:01:39
Overview of the final e-book chapters
Урок 100.00:05:55
Creating a Render.com web service
Урок 101.00:06:14
How to run Flask with gunicorn in Docker
Урок 102.00:01:52
Get a deployed PostgreSQL database
Урок 103.00:17:46
Use PostgreSQL locally and in production
Урок 104.00:01:39
Test the finished production app
Урок 105.00:04:48
How to send emails with Python and Mailgun
Урок 106.00:09:38
How to send emails when users register
Урок 107.00:05:06
What is a task queue and setting up a Redis database
Урок 108.00:06:27
How to Populate and consume the task queue with rq
Урок 109.00:05:25
How to process background tasks with the rq worker
Урок 110.00:10:18
How to send HTML emails using Mailgun and Python
Урок 111.00:05:40
How to deploy a background worker to render.com