Learning Platform
Глоссарий Troubleshooting
Урок 01.02 · 12 мин
Начальный
ПрерeкзистыSelf-diagnosisCross-references

Что нужно знать заранее

Курс предполагает, что вы уже умеете писать if x > 0: print("positive"), читаете JSON и работали с CSV хотя бы на чтение. Если нет — пройдите бесплатный туториал по базовому Python сначала; здесь мы строим выше этой ступени, и без неё материал будет ощущаться как «пьём из пожарного шланга».

Этот урок — самодиагностика. После него вы будете знать, готовы ли вы к M01 прямо сейчас или стоит подтянуть параллельно один-два пласта.


Чек-лист самопроверки

NOTE

Отметьте мысленно, сколько утверждений из 15 верны для вас прямо сейчас. Не «когда-то слышал», а «могу применить без подсказки».

  • Я могу написать функцию с if/elif/else и for/while без подсказки
  • Я знаю различие между list, tuple, dict, set хотя бы визуально (что для чего)
  • Я понимаю, что такое Exception, и могу прочитать traceback по делу
  • У меня есть базовое представление о hash table / hash map (общая идея, не Python-specific)
  • Я знаю, что такое big-O notation хотя бы на уровне O(1) vs O(n)
  • Я работал с CSV или JSON минимум на чтение
  • Я знаком с базовым SQL: SELECT, WHERE, GROUP BY
  • Я понимаю различие между stack и heap на интуитивном уровне
  • Я слышал термины «указатель» / «pointer» и примерно понимаю, о чём речь
  • У меня есть общее представление о CPU cache (что есть L1/L2/L3 — детали не нужны)
  • Я могу прочитать псевдокод алгоритма, например binary search
  • Я знаю, что такое recursion, и могу написать факториал рекурсивно
  • Я понимаю reference vs value semantics на интуитивном уровне
  • Я работал с git хотя бы для clone / pull / commit
  • Я знаю, что такое UTF-8, и почему unicode сложнее ASCII

Если 12+ пунктов отмечены — вы готовы. Если 8–11 — готовы, но ожидайте, что 1–2 модуля потребуют дополнительного чтения. Если меньше 8 — рекомендуется пройти параллельные курсы (см. ниже) сначала.


Если есть пробелы — куда пойти сначала

По SQL

SQL не используется в самом Python-курсе как язык, но multiple lessons (особенно M10 conceptual про pandas/Polars) опираются на SQL-mental-model: SELECT, WHERE, GROUP BY, базовый JOIN. Если SQL для вас тёмный лес — начните с любого entry-level туториала, а параллельно можно пройти курс по аналитической базе данных.

ClickHouse: предварительные требования (тоже разбирает SQL-мостик)

Если вы уже знаете SQL и хотите параллельно посмотреть OLAP-side — Cross-course → ClickHouse 00/01 what-is-clickhouse даёт вступление к колоночной СУБД, в которой Python работает как клиент; SQL-навыки переносятся напрямую, а Python-internals (M02 dict/list/set) объясняют, как клиентская часть pandas/Polars обрабатывает результаты OLAP-запросов.

По CS-фундаменту (DS, big-O, hash maps)

Если про hash table вы только слышали, а big-O notation вызывает напряжение — это не блокирует курс, но облегчит его. Полезные внешние материалы:

  • CLRS — «Introduction to Algorithms», главы 11 (Hash Tables) и 17 (Amortized Analysis). Стандарт.
  • Steven Skiena — «The Algorithm Design Manual», гл. 3 (Data Structures). Менее формально, более прикладно.
  • MIT 6.006 «Introduction to Algorithms» (открытые лекции на ocw.mit.edu) — видеоформат.

В курсе мы каждый раз даём короткое введение в нужную DSA-концепцию, но если вы хотите системное понимание — параллельный заход в CLRS гл. 11 даст огромный буст для M02 (Структуры данных: внутреннее устройство).

По работе с базами данных и storage internals

Если вы никогда не видели storage engine «изнутри» — это хороший момент посмотреть как он устроен в одной аналитической СУБД. Параллели с Python data structures удивительно прямые.

ClickHouse: анатомия Part

Что НЕ требуется заранее

  • C / C++ knowledge. Мы цитируем CPython source, но всегда переводим ключевые места и даём контекст. Можно пройти весь курс, не написав ни строки C
  • Asyncio / threading expertise. Pyodide WASM их не поддерживает (см. урок 03); в курсе они conceptual
  • Production DevOps опыт. Packaging (M13), logging (M11), мониторинг (M11) вводят постепенно с нуля
  • Любой web framework (Django / Flask / FastAPI) — курс про язык, а не про web
  • Опыт с pandas / Polars / PyArrow — M10 даёт conceptual слой и объясняет почему они быстрые; глубокий курс по pandas — отдельный пласт

Ключевые выводы

  1. Если вы прошли self-diagnosis на 12+ пунктов — добро пожаловать в M01
  2. Если есть пробелы по SQL или DB internals — есть параллельные курсы (ClickHouse) с прямой педагогической связью
  3. C-knowledge желателен, но не обязателен — мы переводим все ключевые места из CPython source

Проверьте понимание

Результат: 0 из 0
Прикладной
Вопрос 1 из 3. Схема данных: `fact_orders(order_id, customer_id, product_id, amount, order_date)` и `dim_products(product_id, name, category)`. Напишите запрос, который вернёт суммарную выручку (SUM(amount)) по категориям продуктов за последние 30 дней, отсортированную по убыванию выручки.

Закончили урок?

Отметьте его как пройденный, чтобы отслеживать свой прогресс

Войдите чтобы оценить урок

Прогресс модуля
0 из 4