1. Урок 1.00:02:34
    Welcome .NET developers!
  2. Урок 2.00:03:05
    Python is growing fast, catch the wave
  3. Урок 3.00:00:36
    Student prerequisites
  4. Урок 4.00:03:37
    What you'll learn
  5. Урок 5.00:04:09
    What's built with Python?
  6. Урок 6.00:00:28
    We'll write lots of code
  7. Урок 7.00:02:54
    Meet your instructor
  8. Урок 8.00:02:45
    Let's get you setup
  9. Урок 9.00:00:37
    Checking and installing Python
  10. Урок 10.00:02:10
    Our IDE: PyCharm
  11. Урок 11.00:00:43
    Git the source code
  12. Урок 12.00:01:40
    DFollow along
  13. Урок 13.00:01:57
    Language chapter introduction
  14. Урок 14.00:03:20
    Language features we will cover
  15. Урок 15.00:03:54
    Intro to the C# code
  16. Урок 16.00:03:01
    Creating the Python project
  17. Урок 17.00:11:57
    Code structure demo
  18. Урок 18.00:02:35
    Concept: Code structure in Python
  19. Урок 19.00:02:04
    C# loops
  20. Урок 20.00:07:30
    Python loops
  21. Урок 21.00:01:32
    Concept: Python loops
  22. Урок 22.00:02:23
    C# function basics
  23. Урок 23.00:10:10
    Python function basics
  24. Урок 24.00:00:56
    Concept: Python function basics
  25. Урок 25.00:02:47
    C# function overloading
  26. Урок 26.00:06:09
    Python function overloading
  27. Урок 27.00:03:21
    Concept: Python function overloading
  28. Урок 28.00:03:46
    C# generators
  29. Урок 29.00:04:10
    Python generators
  30. Урок 30.00:01:02
    Concept: Python generators
  31. Урок 31.00:01:36
    C# ternary expressions
  32. Урок 32.00:02:14
    Python ternary expressions
  33. Урок 33.00:00:39
    Concept: Python ternary expressions
  34. Урок 34.00:02:36
    C# lambda expressions
  35. Урок 35.00:05:00
    Python lambda expressions
  36. Урок 36.00:00:52
    Concept: Lambda expressions
  37. Урок 37.00:03:22
    C# closures
  38. Урок 38.00:03:24
    Python closures
  39. Урок 39.00:00:56
    Concept: Function closures
  40. Урок 40.00:02:07
    C# type definitions
  41. Урок 41.00:07:38
    Python type annotations
  42. Урок 42.00:01:19
    Concept: Type annotations
  43. Урок 43.00:02:31
    C# error handling
  44. Урок 44.00:06:09
    Python error handling
  45. Урок 45.00:00:44
    Concept: Python error handling
  46. Урок 46.00:00:55
    C# using blocks
  47. Урок 47.00:02:56
    Python with statements
  48. Урок 48.00:01:24
    Concept: Python with statements
  49. Урок 49.00:00:57
    C# switch statements
  50. Урок 50.00:06:12
    Python switch statements
  51. Урок 51.00:03:07
    Object-Oriented Python
  52. Урок 52.00:03:46
    C# Car App
  53. Урок 53.00:06:17
    Python car base class, pass 1
  54. Урок 54.00:02:23
    Car methods
  55. Урок 55.00:02:02
    Abstract cars
  56. Урок 56.00:04:32
    Specialized car classes
  57. Урок 57.00:02:23
    Base constructors and super()
  58. Урок 58.00:02:23
    Python class properties
  59. Урок 59.00:03:14
    Concept: Defining classes in Python
  60. Урок 60.00:03:53
    Parking lots
  61. Урок 61.00:04:59
    Parking lot factory method
  62. Урок 62.00:02:47
    Parking a car
  63. Урок 63.00:04:25
    Iterating the spots
  64. Урок 64.00:01:28
    Concept: Python interfaces and magic methods
  65. Урок 65.00:01:27
    Package management introduction
  66. Урок 66.00:03:03
    PyPI: Python's NuGet
  67. Урок 67.00:02:25
    Finding the Python libraries
  68. Урок 68.00:02:55
    C# package app
  69. Урок 69.00:07:59
    Installing the Python packages
  70. Урок 70.00:02:49
    Getting HTML with Python
  71. Урок 71.00:03:36
    Parsing HTML in Python
  72. Урок 72.00:01:16
    Concept: Installing Python packages
  73. Урок 73.00:01:14
    Introduction to memory management
  74. Урок 74.00:04:17
    Memory management in .NET
  75. Урок 75.00:04:38
    Memory management in Python
  76. Урок 76.00:08:07
    Reference counting demo
  77. Урок 77.00:04:57
    Cycles and GC in Python demo
  78. Урок 78.00:02:17
    Python web apps introduction
  79. Урок 79.00:03:55
    The ASP.NET and Python web ecosystems compared
  80. Урок 80.00:02:04
    Choosing a Python web framework
  81. Урок 81.00:02:57
    Flask overview
  82. Урок 82.00:01:27
    The demo app
  83. Урок 83.00:03:55
    Exploring the ASP.NET Guitary
  84. Урок 84.00:06:05
    Hello world Flask
  85. Урок 85.00:03:51
    Rendering dynamic HTML in Jinja2
  86. Урок 86.00:02:20
    Bring in the design
  87. Урок 87.00:02:36
    The guitars page
  88. Урок 88.00:05:09
    Our guitar class
  89. Урок 89.00:02:13
    Filtering guitars
  90. Урок 90.00:02:57
    The filter buttons
  91. Урок 91.00:02:41
    Guitars HTML
  92. Урок 92.00:01:01
    Improved price display
  93. Урок 93.00:01:13
    Concept: Creating a Flask app
  94. Урок 94.00:06:13
    ASP.NET and Flask performance compared
  95. Урок 95.00:01:05
    Refactoring the app with blueprints
  96. Урок 96.00:00:48
    Full Flask course
  97. Урок 97.00:02:24
    Databases and Python
  98. Урок 98.00:03:45
    Features of the SQLAlchemy ORM
  99. Урок 99.00:04:22
    Our C# and Entity Framework web app
  100. Урок 100.00:05:41
    From in-memory classes to SQLAlchmey entities
  101. Урок 101.00:04:41
    Connecting to the DB
  102. Урок 102.00:03:56
    Creating the tables with SQLAlchemy
  103. Урок 103.00:03:31
    Unit-of-work design pattern
  104. Урок 104.00:01:42
    Concept: Defining entities
  105. Урок 105.00:01:55
    Concept: Creating the tables
  106. Урок 106.00:05:35
    Inserting data
  107. Урок 107.00:03:40
    Querying data
  108. Урок 108.00:02:39
    Running our Flask app outside PyCharm
  109. Урок 109.00:02:15
    Fixing the Sqlite objects created in another thread error
  110. Урок 110.00:00:56
    Concept: Inserting data
  111. Урок 111.00:01:42
    Concept: Querying data
  112. Урок 112.00:02:07
    SQL query equivalents
  113. Урок 113.00:01:32
    Introduction to testing in Python
  114. Урок 114.00:01:02
    Introducing pytest
  115. Урок 115.00:03:10
    C# app under test
  116. Урок 116.00:04:54
    C# tests
  117. Урок 117.00:01:49
    Python app under test
  118. Урок 118.00:03:02
    Setting up pytest
  119. Урок 119.00:03:04
    The first real test
  120. Урок 120.00:02:34
    Passing test data with pytest fixtures
  121. Урок 121.00:06:05
    Mocking our dependencies with pytest_mock
  122. Урок 122.00:00:54
    Concept: A basic pytest test
  123. Урок 123.00:02:17
    Concept: Testing without dependencies
  124. Урок 124.00:04:40
    Testing for errors
  125. Урок 125.00:00:27
    Concept: Testing for errors
  126. Урок 126.00:01:50
    async and await introduction
  127. Урок 127.00:02:07
    Async for scalability
  128. Урок 128.00:03:53
    Async for speed
  129. Урок 129.00:02:22
    Python's async landscape
  130. Урок 130.00:00:35
    Prerequisite C# knowledge
  131. Урок 131.00:03:28
    C#'s async version
  132. Урок 132.00:03:12
    Reviewing Python web scraper (sync version)
  133. Урок 133.00:07:39
    First-pass Python async
  134. Урок 134.00:01:26
    Anatomy of an async method
  135. Урок 135.00:01:49
    Unsync to the rescue
  136. Урок 136.00:02:29
    Converting to unsync
  137. Урок 137.00:06:25
    More threading with unsync
  138. Урок 138.00:00:35
    Go deeper with the full async course
  139. Урок 139.00:02:17
    Notebook intro
  140. Урок 140.00:03:56
    Installing JupyterLab
  141. Урок 141.00:03:12
    Registering the virtual environment with Jupyter
  142. Урок 142.00:05:15
    Getting all the RSS entries
  143. Урок 143.00:07:41
    Getting the links from the RSS data
  144. Урок 144.00:02:56
    From links to domains
  145. Урок 145.00:03:11
    Counting domains
  146. Урок 146.00:05:22
    Graphing the popular domains
  147. Урок 147.00:03:11
    Concept: Getting started with Jupyter
  148. Урок 148.00:04:14
    A more interactive example
  149. Урок 149.00:02:32
    Notebooks from PyCharm
  150. Урок 150.00:01:19
    Introduction to deploying Python web apps
  151. Урок 151.00:01:50
    Hosting options and trade-offs
  152. Урок 152.00:07:12
    The cost of cloud hosting compared
  153. Урок 153.00:04:34
    Creating a virtual machine
  154. Урок 154.00:03:30
    Concept: Web server architecture
  155. Урок 155.00:06:49
    Setting up server foundations
  156. Урок 156.00:07:28
    Configuring the Python code
  157. Урок 157.00:07:29
    Running in a production WSGI server
  158. Урок 158.00:03:26
    nginx, you public facing web server
  159. Урок 159.00:07:57
    Adding SSL with Let's Encrypt
  160. Урок 160.00:02:57
    Concept: uWSGI
  161. Урок 161.00:03:25
    Concept: nginx
  162. Урок 162.00:00:30
    The finish line
  163. Урок 163.00:04:02
    Python language review
  164. Урок 164.00:01:38
    Object-oriented Python review
  165. Урок 165.00:01:09
    Packages and PyPI review
  166. Урок 166.00:01:24
    Memory management review
  167. Урок 167.00:01:21
    Web apps review
  168. Урок 168.00:01:19
    Databases and ORMs review
  169. Урок 169.00:01:24
    Unit testing review
  170. Урок 170.00:01:27
    async and await review
  171. Урок 171.00:01:15
    Jupyter notebooks review
  172. Урок 172.00:01:01
    Deployment review
  173. Урок 173.00:00:23
    Don't forgit the code
  174. Урок 174.00:00:36
    Thanks and bye!