-
Урок 1.
00:02:45
Why you should take this course!
-
Урок 2.
00:01:06
Introduction to this section
-
Урок 3.
00:05:45
Our project and endpoints
-
Урок 4.
00:09:54
Reviewing the beginner course code
-
Урок 5.
00:01:49
Simplifying our error handling
-
Урок 6.
00:04:13
Refactoring our resources
-
Урок 7.
00:04:22
Should we have unique names?
-
Урок 8.
00:08:34
Adding basic type hinting
-
Урок 9.
00:06:46
Adding custom JSON types
-
Урок 10.
00:03:14
Using the current class as a type hint
-
Урок 11.
00:10:10
Using Black for code formatting
-
Урок 12.
00:08:03
Improving errors with constants
-
Урок 13.
00:06:58
@classmethod across the board
-
Урок 14.
00:09:21
Testing our API with Postman
-
Урок 15.
00:00:38
Conclusion of this section
-
Урок 16.
00:00:42
Introduction to this section
-
Урок 17.
00:08:46
Serialization with Marshmallow
-
Урок 18.
00:06:17
Deserialization with Marshmallow
-
Урок 19.
00:16:24
Migrating from virtualenv to Pipenv
-
Урок 20.
00:14:24
Using vanilla Marshmallow with the API
-
Урок 21.
00:13:31
Introduction to Flask-Marshmallow
-
Урок 22.
00:12:39
Adding items to our REST API
-
Урок 23.
00:09:28
Adding stores to our REST API
-
Урок 24.
00:04:20
Deduplicating error handling
-
Урок 25.
00:00:49
Conclusion of this section
-
Урок 26.
00:01:43
Introduction to this section
-
Урок 27.
00:05:38
Introduction to e-mail confirmation
-
Урок 28.
00:03:29
Adding an activated property
-
Урок 29.
00:06:01
Activating users manually
-
Урок 30.
00:15:28
Telling users they are active
-
Урок 31.
00:03:13
Setting up Mailgun
-
Урок 32.
00:13:51
Sending e-mails with Mailgun (Part 1)
-
Урок 33.
00:03:44
Sending e-mails with Mailgun (Part 2)
-
Урок 34.
00:07:57
Creating our Mailgun library file
-
Урок 35.
00:05:50
Using .env files in Flask
-
Урок 36.
00:01:53
Adding more configuration to .env
-
Урок 37.
00:09:12
Error handling in Mailgun
-
Урок 38.
00:01:16
Conclusion of this section
-
Урок 39.
00:01:09
Introduction to this section
-
Урок 40.
00:15:31
Creating the ConfirmationModel
-
Урок 41.
00:08:12
Changes in our UserModel
-
Урок 42.
00:17:25
Creating our ConfirmationResource
-
Урок 43.
00:05:04
Updating our UserResource
-
Урок 44.
00:03:28
Adding the last confirmation to the user schema
-
Урок 45.
00:06:28
Fixing our app.py
-
Урок 46.
00:05:03
Cross-resource dependencies are (generally) bad
-
Урок 47.
00:11:41
What are localisation and internationalisation?
-
Урок 48.
00:04:13
Storing strings in config files
-
Урок 49.
00:09:45
Creating a simple translation library
-
Урок 50.
00:10:56
Updating our resources to use translations
-
Урок 51.
00:05:24
Adding a new language to our API
-
Урок 52.
00:06:12
What is Flask-Babel?
-
Урок 53.
00:03:58
Common pitfalls and advice
-
Урок 54.
00:01:58
Conclusion of this section
-
Урок 55.
00:01:28
Introduction to this section
-
Урок 56.
00:04:08
Collection and request descriptions
-
Урок 57.
00:04:37
Recap of Postman environments
-
Урок 58.
00:14:08
JavaScript tests in Postman
-
Урок 59.
00:15:35
Running entire collections in Postman
-
Урок 60.
00:08:49
Adding example requests and responses
-
Урок 61.
00:00:36
Previewing our Postman documentation
-
Урок 62.
00:03:48
Publishing our documentation page
-
Урок 63.
00:06:28
More options for publishing documentation
-
Урок 64.
00:01:00
Conclusion of this section
-
Урок 65.
00:00:35
Introduction to this section
-
Урок 66.
00:01:35
Installing Flask-Uploads
-
Урок 67.
00:16:42
Config files in Flask
-
Урок 68.
00:12:07
What are wsgi and Werkzeug?
-
Урок 69.
00:16:57
Creating our image helper library
-
Урок 70.
00:06:37
Creating our image schema
-
Урок 71.
00:09:11
Creating our image upload resource
-
Урок 72.
00:08:23
Trying out our image upload
-
Урок 73.
00:10:00
Retrieving and deleting images
-
Урок 74.
00:10:59
Another example: user avatars
-
Урок 75.
00:05:47
Adding the avatar resource
-
Урок 76.
00:01:11
Conclusion of this section
-
Урок 77.
00:01:17
Introduction to this section
-
Урок 78.
00:01:28
What's in our starter code?
-
Урок 79.
00:03:11
Connecting to our remote database
-
Урок 80.
00:06:33
Initialising Flask-Migrate and Alembic
-
Урок 81.
00:08:07
Creating our initial table structure
-
Урок 82.
00:03:06
Our first database migration
-
Урок 83.
00:06:22
Checking the Alembic script (important!)
-
Урок 84.
00:02:02
Adding a new column with migrations
-
Урок 85.
00:05:35
Problems that can happen while migrating
-
Урок 86.
00:01:47
A word of caution!
-
Урок 87.
00:06:23
Defining a SQLAlchemy naming convention
-
Урок 88.
00:05:07
When should you read documentation?
-
Урок 89.
00:01:04
Conclusion of this section
-
Урок 90.
00:00:59
Introduction to this lecture
-
Урок 91.
00:09:58
Introduction to OAuth 2.0
-
Урок 92.
00:03:35
What's in our starter code?
-
Урок 93.
00:03:57
Creating a GitHub OAuth App
-
Урок 94.
00:04:14
Flask-OAuthlib
-
Урок 95.
00:07:50
Setting up our GitHub client
-
Урок 96.
00:05:31
Our GithubLogin resource
-
Урок 97.
00:05:46
What is Flask's g?
-
Урок 98.
00:10:46
What is a tokengetter?
-
Урок 99.
00:05:43
Finishing our GithubAuthorize resource
-
Урок 100.
00:02:15
Adding some error handling
-
Урок 101.
00:08:43
Setting user passwords
-
Урок 102.
00:03:00
Using url_for with Flask-RESTful
-
Урок 103.
00:01:09
Conclusion of this section
-
Урок 104.
00:00:36
Introduction to this section
-
Урок 105.
00:06:02
Setting up our Stripe account
-
Урок 106.
00:04:30
What's in our starter code?
-
Урок 107.
00:06:44
Where do users pay?
-
Урок 108.
00:12:25
After payment: receiving order data
-
Урок 109.
00:11:13
Creating our OrderModel
-
Урок 110.
00:10:27
Many-to-many relationships with SQLAlchemy
-
Урок 111.
00:16:37
Using the Association Object in our Resourcee
-
Урок 112.
00:10:30
Charging orders with Stripe
-
Урок 113.
00:06:46
Calculating the amount and description
-
Урок 114.
00:04:13
Testing our OrderResource
-
Урок 115.
00:02:42
Creating a way to view existing orders
-
Урок 116.
00:04:27
When things go wrong: error handling in Stripe
-
Урок 117.
00:03:12
Security considerations in payments
-
Урок 118.
00:01:07
Conclusion of this section
-
Урок 119.
00:00:36
Conclusion of the course