The 30-Day Design Challenge

The 30-Day Design Challenge

English | MP4 | AVC 1920×1080 | AAC 44KHz 2ch | 53 Lessons (8h 53m) | 2.39 GB

Learn to solve a variety of software design problems. Get the practice you’re missing. Have fun, challenge yourself and get out of your comfort zone.

This challenge pushes you out of your comfort zone. It makes you more confident and skilled in problem-solving and troubleshooting code.

You’ll be presented with 30 exciting software design problems that will test your creativity and problem-solving abilities. The challenges range from one-off examples that explore a particular design principle to a group of challenges that really go deep into software design. For example, you’ll write a complete API with FastAPI and SQLAlchemy, you’ll work with GUI code, you’ll explore the intricacies of functional programming and object-oriented programming, in-depth type annotations in Python, and many other things.

Thanks to my background in education and the fact that I launched and run several technical SaaS startups, I’m in the unique position to offer a course that will make a difference for you.

I’ve spent many hours ensuring each problem is the perfect mix of high educational value while remaining close to real-life production code.

Here’s what you’ll get with the 30-Day Design Challenge:

  • 20 or 30 intermediate-to-advanced level challenges (depending on the format you choose)
  • A solution video and explanation of each challenge
  • Code so you have a starting point for each challenge
Table of Contents

1 Welcome!
2 Solution: KISS
3 Solution: Type Annotations
4 5 Tips To Achieve Low Coupling In Your Python Code
5 Solution: Decoupling
6 Solution: DRY
7 F-strings In Python_ Everything You Need To Know
8 Solution: String Formatting
9 Solution: Law Of Demeter
10 Solution: Better Discounts
11 The Strategy Pattern_ Write BETTER PYTHON CODE Part 3
12 How to Implement the Strategy Design Pattern in Python
13 Solution: Payment Strategy
14 Why the Plugin Architecture Gives You CRAZY Flexibility
15 Solution: Plugins
16 Functions vs Classes_ When to Use Which and Why_
17 Solution: Object Oriented To Functional
18 Cohesion and Coupling_ Write BETTER PYTHON CODE Part 1
19 Solution: Cohesion
20 Which Software Architecture Should You Use_ MVC, MVP, or MVVM_
21 Solution: MVP
22 Composition Is Better Than Inheritance in Python
23 Solution: Inheritance
24 Dependency INVERSION vs Dependency INJECTION in Python
25 Solution: Abstraction
26 You Can Do Really Cool Things With Functions In Python
27 Solution: Higher-Order Functions
28 Solution: Configuration
29 Next-Level Concurrent Programming In Python With Asyncio
30 How To Easily Do Asynchronous Programming With Asyncio In Python
31 Solution: Concurrency
32 Solution: Refactoring
33 A Deep Dive Into Iterators and Itertools in Python
34 Solution: Itertools
35 Solution: Inappropriate Intimacy
36 End of Part 1
37 Real-Life Case of the Command Design Pattern
38 Solution: Undo/Redo
39 Raw SQL, SQL Query Builder, or ORM?
40 Solution: SQL to ORM
41 Solution: Unit Tests (Basic)
42 Solution: Unit Tests (Advanced)
43 Solution: Operations Layer
44 Solution: Ticket Cancellation
45 Observer Pattern Tutorial: I NEVER Knew Events Were THIS Powerful
46 Solution: Messaging
47 Attrs, Pydantic, or Python Data Classes?
48 Do We Still Need Dataclasses? // PYDANTIC Tutorial
49 Solution: Validation
50 Let’s Take The Bridge Pattern To The Next Level
51 Solution: Bridge
52 Solution: Mixins
53 Wrapping Things Up

Homepage