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!