Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Python for Software Engineering Bootcamp
Introduction
Introduction (0:48)
Setting Up Our Coding Environment (6:38)
Installing Python (3:18)
Writing Our First Program (4:17)
Variables (7:08)
String (18:16)
Integers, Floats, and Type Casting (16:12)
Booleans and Boolean Operations (8:19)
None Types (2:41)
Lists (17:27)
Tuples (7:40)
Dictionaries (15:44)
Formatting Strings and Writing Comments (17:31)
If Statements (14:17)
Elif and Else Statements (18:52)
For Loops (18:43)
While Loops (11:13)
Functions (17:43)
Function Parameters (18:21)
Global Variables (6:35)
File Handling (15:52)
Virtual Environments (21:59)
Launching Our First Application (17:38)
Classes (22:59)
Classes Inheritance (14:42)
Decorators (21:49)
Generators (12:58)
JSON and Text Response (15:13)
Typing (26:43)
Response Models (25:32)
Expanded Field Information (19:29)
Path Parameters (13:20)
Request Bodies (22:32)
Query Parameters (26:58)
Put and Delete (13:18)
Docstrings (17:06)
Async Functions (20:23)
Directory Structure (31:18)
API Routers Continued (6:45)
Environment Variables (15:05)
HTTP Status Codes (11:32)
Exceptions (31:21)
Logging (14:24)
Logging Formatter (11:23)
Custom Exception Handlers (12:52)
Headers and Dependencies (26:05)
Testing
Pytest Introduction (14:07)
Writing Our First Service Test (17:49)
Fixtures (25:34)
Integration Tests (29:13)
Testing for Exceptions (6:44)
Sending Requests in Python (19:59)
Sending Async Requests (10:59)
Testing Synchronous Requests (15:56)
Testing Async Requests (10:22)
Test Coverage (4:52)
MyPy Round 2 (5:35)
Introduction to the Terminal
Digital Ocean Setup (14:46)
SSH on Windows (5:32)
Connecting with SSH (4:53)
Basic Navigation (14:43)
Creating Folders (10:32)
Creating Files (11:09)
Removing Folders and Files (6:39)
Moving, Renaming, and Copying Files and Folders (13:11)
Environment Variables (9:07)
Piping and Redirecting (6:03)
Super User and Running Pythons Scripts (7:03)
Executables and Modifying Permissions (15:17)
Sending Requests (6:20)
Docker
Docker Introduction (9:31)
Creating a Dockerfile (35:48)
Multistage Build (21:49)
Docker Compose (32:43)
Makefile (12:24)
SQL
Introduction to Relational Databases (15:24)
Data Types and Schemas (17:38)
[Mac] Setting Up a Local PostgreSQL Server (3:29)
[Windows] Setting Up a Local PostgreSQL Server (4:55)
[Mac] SQL Editor Postico (4:37)
SQL Editor DataGrip (5:35)
SQL Editor CLI (1:23)
Creating and Removing a Database (6:04)
Creating Schemas (3:51)
Creating Tables (8:39)
Altering Tables (3:09)
Enumerated Types (4:54)
Inserting Values (7:00)
Running an SQL Script (6:23)
Reading Data (7:03)
Creating Tables Using Query Results (6:31)
Aliases and Ordering (13:44)
Conditional Filtering Direct Comparisons (5:11)
Conditional Filtering Grouped Comparisons (10:23)
Joining Conditionals (7:53)
Negating Conditionals (4:43)
Filtering Null Values (1:34)
Creating New Columns and Arithmetic (7:39)
Datatype Conversions (6:36)
Logic Statements (7:25)
Manipulating Strings (10:02)
String Positional Information (8:04)
String Subsets and Concatenations (21:55)
String Replacements (9:38)
Date and Time (6:36)
Date and Time Intervals (7:40)
Comments (6:53)
Aggregation Functions (6:57)
Grouping and Filtering Aggregations (12:23)
Inner Join (18:52)
Left, Right, and Outer Joins (16:51)
Self Joins (9:08)
Unions (5:32)
Subqueries (9:05)
Common Table Expression (CTEs) (10:09)
Window Functions and Aliases (15:29)
Row Numbers and Ranks (6:17)
Using Other Rows with Window Functions (11:10)
NTiles (4:12)
Understanding Query Performance (3:50)
Integrating Databases into Our Application
Adding Postgres to Our Docker Compose (14:40)
Creating Database Models in Python (38:18)
Database Migrations (31:10)
SQLAlchemy ORM Introduction (20:27)
Creating a Database Client (21:43)
Updating Our Application to Read from the Database (25:49)
Database Inserts (11:37)
Database Updates (11:13)
Database Deletes (3:15)
Async Database Queries (12:17)
Async Updates (6:50)
Updating Unit Tests to Work with the Database (14:56)
Updating Integration Tests to Work with the Database (12:10)
SQLite for Testing (21:35)
Mocking (31:23)
Caching
Redis Introduction (31:37)
Adding Caching to Our Application (30:22)
Redis Hash Introduction (20:01)
Redis Sets Introduction (4:24)
Adding Hash Caching to Pagination Endpoint (28:10)
Python Object Serialization (15:25)
Cache Flushing (11:09)
Data Compression (11:07)
Linting
MyPy Configurations (23:14)
Import Sorting (12:04)
Automatic Code Formatting (4:09)
Additional Code Checking (8:17)
GitHub
GitHub Credentials Setup (6:14)
GitHub Desktop Setup (1:22)
Cloning a Repository (4:07)
Pushing a Local Repository to GitHub (14:10)
Reverting and Squashing Commits (9:49)
GitHub Branches (7:49)
Pull Request (16:37)
Precommit Hooks (11:42)
GitHub CLI (22:27)
Tagged Release (21:58)
Reading Documentation (10:36)
Concurrent and Parallel Programming
Threading, Multiprocessing, and Async Introduction (13:55)
Threading in Python (18:55)
Creating a Threading Class (15:01)
Creating a Wikipedia Reader (14:09)
Creating a Yahoo Finance Reader (16:26)
Queues and Master Scheduler (15:09)
Creating a Postgres Worker (21:57)
Integrating the Postgres Worker (20:14)
Yaml File Introduction (18:33)
Creating a Yaml Reader (30:57)
Improving Our Wiki Worker (28:24)
Improving All Workers and Adding Monitoring (29:04)
Final Program Clean-Up (7:16)
Locking (12:09)
Multiprocessing Introduction (7:30)
Multiprocessing Queues (7:38)
Multiprocessing Pool (10:43)
Multiprocessing Pool Map Multiple Arguments (4:08)
Multiprocessing Multiple Varying Arguments (4:48)
Multiprocessing Checking Elements in List in Certain Ranges (6:31)
Introduction to Writing Asynchronous Programs (12:13)
Asynchronous Tasks (6:33)
Async Gather Method (7:43)
Using Async Timeouts (3:15)
Creating Asynchronous For Loops (3:03)
Using Asynchronous Libraries (10:31)
The Async Wait Statement (10:09)
Combining Async and Multiprocessing (12:17)
Updating Unit Tests to Work with the Database
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock