1. Урок 1. 00:04:01
    Почему Python?
  2. Урок 2. 00:07:04
    Python с технической точки зрения
  3. Урок 3. 00:02:41
    Python 2 vs Python 3
  4. Урок 4. 00:03:11
    Стандартная библиотека
  5. Урок 5. 00:04:20
    Редакторы кода для Python
  6. Урок 6. 00:03:43
    Инсталлируем дистрибутив Anaconda
  7. Урок 7. 00:08:16
    Введение в Anaconda
  8. Урок 8. 00:03:28
    Jupyter Notebook не запускается через Anaconda Navigator?
  9. Урок 9. 00:07:07
    Обзор основных типов данных
  10. Урок 10. 00:07:35
    Числа и элементарная математика
  11. Урок 11. 00:05:57
    Переменные
  12. Урок 12. 00:07:01
    bool и None
  13. Урок 13. 00:20:36
    Тип string
  14. Урок 14. 00:23:23
    Функции string
  15. Урок 15. 00:09:20
    Форматирование строк
  16. Урок 16. 00:12:37
    Операторы сравнения
  17. Урок 17. 00:22:50
    Операции над файлами
  18. Урок 18. 00:17:35
    Строки и байты: str, bytes, bytearray
  19. Урок 19. 00:10:23
    Решение ДЗ 1-3
  20. Урок 20. 00:10:31
    ДЗ: Основы - Решение
  21. Урок 21. 00:15:29
    list - список
  22. Урок 22. 00:16:51
    dict - словарь
  23. Урок 23. 00:08:09
    OrderedDict vs dict
  24. Урок 24. 00:05:48
    tuple - кортеж
  25. Урок 25. 00:07:24
    namedtuple - именованные кортежи
  26. Урок 26. 00:07:55
    Логика с условиями
  27. Урок 27. 00:17:39
    set - множество
  28. Урок 28. 00:17:04
    Цикл for
  29. Урок 29. 00:17:11
    list comprehension
  30. Урок 30. 00:07:00
    Цикл while, continue, break
  31. Урок 31. 00:04:31
    Циклы. ДЗ-1-2. Решение
  32. Урок 32. 00:16:37
    Циклы. ДЗ 3-5. Решение
  33. Урок 33. 00:15:23
    Циклы. ДЗ-6-Флеш. Решение
  34. Урок 34. 00:05:48
    Циклы. ДЗ 7 - Палиндром. Решение
  35. Урок 35. 00:07:22
    Решение ДЗ: пишем игру "угадай число"
  36. Урок 36. 00:09:14
    Решение ДЗ "Камень-ножницы-бумага"
  37. Урок 37. 00:04:04
    Помощь по функциям
  38. Урок 38. 00:21:18
    Встроенные функции
  39. Урок 39. 00:20:13
    Основы функций
  40. Урок 40. 00:15:19
    Лямбды
  41. Урок 41. 00:11:56
    Вложенные функции и область видимости переменных
  42. Урок 42. 00:16:07
    Декораторы
  43. Урок 43. 00:06:09
    Декоратор @wraps
  44. Урок 44. 00:17:34
    Решения ДЗ по функциям
  45. Урок 45. 00:12:30
    Решение ДЗ: пишем игру в палочки
  46. Урок 46. 00:22:38
    Основы обработки ошибок
  47. Урок 47. 00:11:47
    Выброс исключений. Кастомные типы исключений.
  48. Урок 48. 00:09:41
    Основы юнит-тестирования
  49. Урок 49. 00:11:30
    Основы классов
  50. Урок 50. 00:07:20
    Атрибуты и методы
  51. Урок 51. 00:22:43
    Константы. Защищённые и приватные атрибуты. Свойства.
  52. Урок 52. 00:22:05
    Статические методы - @staticmethod, @classmethod
  53. Урок 53. 00:15:45
    Наследование и полиморфизм
  54. Урок 54. 00:17:23
    Множественное наследование
  55. Урок 55. 00:11:13
    Миксины
  56. Урок 56. 00:10:39
    Абстрактный класс и модуль ABC
  57. Урок 57. 00:04:42
    Магические методы
  58. Урок 58. 00:14:12
    ДЗ: 1-3 Решения
  59. Урок 59. 00:19:00
    ДЗ: 4-6. Решения
  60. Урок 60. 00:12:17
    Решение ДЗ: реализуем крестики-нолики
  61. Урок 61. 00:04:09
    PyPi и Pip
  62. Урок 62. 00:12:08
    Модули и пакеты
  63. Урок 63. 00:06:11
    Ещё раз о __name__ и __main__
  64. Урок 64. 00:07:03
    Отладка
  65. Урок 65. 00:09:00
    Реализуем Stack
  66. Урок 66. 00:19:45
    datetime - даты и время
  67. Урок 67. 00:12:06
    Singleton Design Pattern: __new__ и __init__
  68. Урок 68. 00:10:32
    Pickle - консервирование
  69. Урок 69. 00:16:05
    repr and str, eq and ne, eval
  70. Урок 70. 00:18:58
    Deep copy vs Shallow copy
  71. Урок 71. 00:11:45
    Enum - перечисления
  72. Урок 72. 00:27:28
    Работаем с JSON
  73. Урок 73. 00:17:21
    Генераторы
  74. Урок 74. 00:43:46
    Модуль itertools
  75. Урок 75. 00:10:20
    Интроспекция
  76. Урок 76. 00:25:24
    Модуль requests
  77. Урок 77. 00:11:36
    Управление памятью
  78. Урок 78. 00:12:48
    Введение в Линтеры
  79. Урок 79. 00:04:28
    Установка "системного" Python
  80. Урок 80. 00:11:33
    Виртуальное окружение
  81. Урок 81. 00:08:15
    Установка PyCharm
  82. Урок 82. 00:04:35
    Создаём проект в PyCharm
  83. Урок 83. 00:14:05
    Refactoring, Quick Fixes, Debugging в PyCharm
  84. Урок 84. 00:18:31
    Type Hints
  85. Урок 85. 00:06:43
    Введение в dataclasses
  86. Урок 86. 00:12:57
    Обзор нововведений
  87. Урок 87. 00:01:21
    Устанавливаем Python 3.8 и создаём проект
  88. Урок 88. 00:10:08
    Walrus-оператор
  89. Урок 89. 00:16:29
    Навязывание позиционных аргументов
  90. Урок 90. 00:21:43
    Улучшения в системе type hints
  91. Урок 91. 00:08:30
    Перегрузка с @overload
  92. Урок 92. 00:08:05
    Duck Typing и протоколы
  93. Урок 93. 00:05:24
    Упрощённый вывод значений в интерполированных строках
  94. Урок 94. 00:17:15
    ДЗ: 1-4 Решения
  95. Урок 95. 00:14:27
    ДЗ-5: Решение
  96. Урок 96. 00:07:22
    Решение ДЗ: парсим римские числа
  97. Урок 97. 00:32:32
    Решение ДЗ - Виселица
  98. Урок 98. 00:30:54
    Решение ДЗ: верю-не-верю
  99. Урок 99. 00:08:32
    Терминология
  100. Урок 100. 00:13:38
    Процессы и потоки
  101. Урок 101. 00:06:24
    Виды процессинга
  102. Урок 102. 00:07:57
    GIL
  103. Урок 103. 00:15:05
    Однопоточность. Демо проблемы
  104. Урок 104. 00:16:03
    Foreground & Background потоки
  105. Урок 105. 00:14:34
    "Параллельное" исполнение против последовательного
  106. Урок 106. 00:11:45
    Executor API
  107. Урок 107. 00:14:19
    submit-демо
  108. Урок 108. 00:07:37
    map-демо
  109. Урок 109. 00:09:32
    Синхронизация потоков
  110. Урок 110. 00:13:21
    Гонка и Lock
  111. Урок 111. 00:08:17
    Deadlock
  112. Урок 112. 00:16:43
    Демо дэдлока
  113. Урок 113. 00:05:48
    Синхронизация сигналами
  114. Урок 114. 00:28:46
    Применяем Event
  115. Урок 115. 00:15:01
    Семафор
  116. Урок 116. 00:06:05
    Моделируем ночной клуб семафором
  117. Урок 117. 00:12:45
    Барьер
  118. Урок 118. 00:09:32
    Атомические операции
  119. Урок 119. 00:08:43
    Отмена потоков
  120. Урок 120. 00:04:24
    Отмена убийством процесса
  121. Урок 121. 00:12:47
    Базовая отмена с флагом
  122. Урок 122. 00:11:22
    Имплементируем отмену через Unit of Work-паттерн
  123. Урок 123. 00:06:25
    Подытоги
  124. Урок 124. 00:08:37
    Обработка исключений
  125. Урок 125. 00:21:47
    Обработка исключений - Демо
  126. Урок 126. 00:09:45
    Введение в asyncio
  127. Урок 127. 00:13:35
    Простейший пример с asyncio
  128. Урок 128. 00:08:18
    Event Loop. Введение
  129. Урок 129. 00:10:01
    Event Loop. Демо
  130. Урок 130. 00:16:47
    Демо с aiohttp
  131. Урок 131. 00:06:40
    Демо с aiofiles
  132. Урок 132. 00:18:44
    Futures & Tasks
  133. Урок 133. 00:23:55
    Task API - Демо
  134. Урок 134. 00:08:12
    Обёртываем Thread через Future
  135. Урок 135. 00:15:02
    async for
  136. Урок 136. 00:05:54
    Обработка исключений
  137. Урок 137. 00:26:51
    Обработка исключений - Демо
  138. Урок 138. 00:06:52
    Отмена. Введение
  139. Урок 139. 00:22:48
    Отмена с gather
  140. Урок 140. 00:22:48
    Отмена с wait. Кооперативная отмена
  141. Урок 141. 00:12:44
    async IO vs sync IO
  142. Урок 142. 00:17:32
    Основные концепции
  143. Урок 143. 00:13:31
    Реляционная модель и SQL
  144. Урок 144. 00:05:12
    Почему PostgreSQL
  145. Урок 145. 00:06:35
    Инсталируем PostgreSQL
  146. Урок 146. 00:14:28
    Типы данных в PostgreSQL
  147. Урок 147. 00:07:35
    Создание БД
  148. Урок 148. 00:11:40
    Создание таблиц
  149. Урок 149. 00:19:16
    Отношение "один ко многим"
  150. Урок 150. 00:09:28
    Отношение "один к одному"
  151. Урок 151. 00:14:27
    Отношение "многие ко многим"
  152. Урок 152. 00:07:19
    Создаём Northwind
  153. Урок 153. 00:07:07
    Полная выборка
  154. Урок 154. 00:03:24
    Выборка и элементарные арифметические операции
  155. Урок 155. 00:04:59
    DISTINCT
  156. Урок 156. 00:04:58
    COUNT
  157. Урок 157. 00:05:14
    ДЗ "простые выборки" - Решение
  158. Урок 158. 00:05:44
    WHERE
  159. Урок 159. 00:07:43
    AND, OR
  160. Урок 160. 00:06:08
    BETWEEN
  161. Урок 161. 00:02:16
    IN & NOT IN
  162. Урок 162. 00:03:02
    ORDER BY
  163. Урок 163. 00:04:35
    MIN, MAX, AVG
  164. Урок 164. 00:04:54
    ДЗ "простые выборки-2" - Решение
  165. Урок 165. 00:11:12
    LIKE
  166. Урок 166. 00:09:50
    LIMIT
  167. Урок 167. 00:04:22
    Check on NULL
  168. Урок 168. 00:05:17
    GROUP BY
  169. Урок 169. 00:11:00
    HAVING
  170. Урок 170. 00:10:39
    UNION, INTERSECT, EXCEPT
  171. Урок 171. 00:05:32
    ДЗ "группировка, сопоставление, сортировка" - Решение
  172. Урок 172. 00:12:26
    Знакомство с соединениями
  173. Урок 173. 00:16:49
    INNER JOIN
  174. Урок 174. 00:10:18
    LEFT, RIGHT JOIN
  175. Урок 175. 00:07:41
    SELF JOIN
  176. Урок 176. 00:04:32
    USING & NATURAL JOIN
  177. Урок 177. 00:06:05
    AS - псевдонимы
  178. Урок 178. 00:09:33
    ДЗ "JOINS" - Решение
  179. Урок 179. 00:14:05
    Введение в подзапросы
  180. Урок 180. 00:08:21
    WHERE EXISTS
  181. Урок 181. 00:12:15
    Подзапросы с квантификаторами ANY, ALL
  182. Урок 182. 00:12:22
    ДЗ "Подзапросы" - Решение
  183. Урок 183. 00:21:04
    Управляем таблицами
  184. Урок 184. 00:07:02
    ДЗ 1 по DDL - Решение
  185. Урок 185. 00:12:03
    Primary Key
  186. Урок 186. 00:07:46
    Foreign Key
  187. Урок 187. 00:03:57
    Check
  188. Урок 188. 00:05:24
    Default
  189. Урок 189. 00:08:26
    Sequences
  190. Урок 190. 00:15:21
    Sequences & Tables
  191. Урок 191. 00:06:26
    INSERT
  192. Урок 192. 00:09:03
    UPDATE, DELETE, RETURNING
  193. Урок 193. 00:13:58
    ДЗ 2 по DDL - Решение
  194. Урок 194. 00:08:41
    Введение
  195. Урок 195. 00:46:10
    psycopg2
  196. Урок 196. 00:24:47
    ORM и SQLAlchemy