Открыто

Developer PRO: Python‑разработчик + Алгоритмы + Bash/Git [Stepik] [Алексей Малышкин]

Тема в разделе "Курсы по программированию", создана пользователем Топикстартер, 29 май 2025.

Цена: 4490р.-90%
Взнос: 446р.

Основной список: 13 участников

  1. 29 май 2025
    #1
    Топикстартер
    Топикстартер ЧКЧлен клуба

    Складчина: Developer PRO: Python‑разработчик + Алгоритмы + Bash/Git [Stepik] [Алексей Малышкин]

    Без имени.png

    В программу входят:

    • 3 курса
    • 200 уроков
    • 292 теста
    • 137 интерактивных задач
    Это комплекс из трёх полноценных курсов, который шаг за шагом превращает любителя программирования в уверенного middle‑разработчика. Ниже — всё, что нужно знать перед записью.
    Комплексная программа из трёх курсов: Алгоритмы и структуры данных, Python для профессионалов, Bash + Git. Всё, что нужно, чтобы стать Python‑разработчиком middle‑уровня

    Чему вы научитесь:
    • Анализировать требования задачи и выбирать оптимальные структуры данных под заданные ограничения
    • Оценивать временную и пространственную сложность алгоритмов, применяя нотации O, Θ, Ω
    • Проектировать и реализовывать алгоритмы поиска, сортировки, работы с деревьями, кучами и хэш‑таблицами
    • Доказывать корректность алгоритмов и сравнивать их эффективность в граничных сценариях
    • Писать идиоматичный Python 3.12+, используя аннотации типов, match/case, позиционные‑только параметры и оператор «морж»
    • Создавать пользовательские итераторы, генераторы, асинхронные корутины и контекст‑менеджеры для управления ресурсами
    • Модифицировать поведение кода с помощью декораторов, дескрипторов и метаклассов
    • Разрабатывать асинхронные приложения с asyncio для конкурентного выполнения без блокировок
    • Профилировать время и память (cProfile, timeit, tracemalloc) и оптимизировать критические участки Python‑кода
    • Автоматизировать задачи Bash‑скриптами, используя переменные, функции, массивы и регулярные выражения
    • Обрабатывать потоковые данные командами grep, sed, awk и строить сложные пайплайны через перенаправление ввода‑вывода
    • Управлять процессами Linux (jobs, ps, kill, nohup) и планировать фоновые задачи с cron и at
    • Настраивать сетевые проверки и загрузку данных (ping, curl, wget) из Bash‑скриптов
    • Применять политики доступа к файлам и управлять пользователями в Unix‑системах
    • Использовать Git: commit, branch, merge, rebase, cherry‑pick, stash, tag и управление подмодулями
    • Разрешать конфликты, выполнять интерактивный rebase и гибко реорганизовывать историю проекта
    • Настраивать pull/merge‑requests, проводить код‑ревью и внедрять Git hooks для автоматизации
    • Интегрировать Git‑репозитории с CI/CD‑пайплайнами (GitHub Actions, GitLab CI) и таск‑трекерами
    • Выбирать и внедрять стратегии ветвления (Git Flow, Trunk Based, GitHub Flow) под разные процессы разработки
    • Разрабатывать и поддерживать комплексные моно‑ и мульти‑репозитории, включая работу с LFS и оптимизацию размера
    Разделы и задания, которые вас ждут
    • Алгоритмы и структуры данных: O‑нотации, массивы, списки, стеки, очереди, сортировки, кучи, деревья, хэш‑таблицы, Детерминированный Quick Sort, дерево отрезков. В доработке находятся модули по графам, теории чисел, геометрии и потокам.
    • Python для профессионалов: Итераторы, генераторы, декораторы, контекст‑менеджеры, asyncio, метаклассы, оптимизация.
    • Bash + Git: Shell‑команды, скрипты, regex, cron, сетевые утилиты, Git‑workflow, CI/CD, Git Hooks, Репозиторий с автоматическим деплоем через GitHub Actions
    Что вы приобретёте
    • Умение оценивать сложность и эффективность решений, быстро находить «узкие места».
    • Навыки написания производственного Python‑кода: от генераторов до асинхронных сервисов.
    • Полный набор CLI‑приёмов Bash для ежедневной автоматизации.
    • Профессиональный Git‑workflow: ветвление, rebase, CI/CD‑пайплайны, Git Hooks.
    • Портфолио из 6+ проектов (стек, очередь, детерминированный Quick Sort, дерево отрезков, bash‑фильтры, комплексный репозиторий с CI).
    • Готовность уверенно проходить алгоритмические и системные части интервью.
    Для кого эта программа
    • Студенты технических специальностей (1 – 4 курсы), которым не хватает цельного понимания алгоритмов и production‑Python для учебных и конкурсных проектов.
    • Самоучки‑программисты с опытом «пет‑проекта» на Python, желающие перейти на уровень middle и начать брать коммерческие задачи.
    • QA‑автоматизаторы, аналитики данных и DevOps‑инженеры, которым нужен надёжный Python‑код, Bash‑скрипты и грамотный Git‑workflow для CI/CD.
    • Разработчики других языков (C++, Java, JavaScript), планирующие переключиться на Python‑стек и быстро закрыть пробелы в алгоритмах.
    • Кандидаты на собеседования в продуктовые и аутсорс‑компании, где проверяют алгоритмическое мышление, умение писать чистый код и работать с Git.
    Алгоритмы и структуры данных: полный курс

    Введение в алгоритмы и структуры данных
    1. Краткий обзор структуры курса
    2. Что такое алгоритмы?

    Оценка сложности алгоритмов
    1. Асимптотическая сложность и нотация большого O
    2. Пространственная сложность (потребление памяти)
    3. O, o, Θ, Ω(осторожно, матан)
    4. Таблица распространенных сложностей
    5. Примеры оценки сложности алгоритмов
    6. Задачи

    Основные структуры данных
    1. Массивы
    2. Списки: односвязанные, двусвязанные
    3. Применение списков
    4. Очередь и стэк: принципы FIFO и LIFO
    5. Реализация и задачи
    6. Задачи
    7. Проект 1: Стэк
    8. Проект 2: Очередь

    Алгоритмы поиска и сортировки
    1. Линейный и бинарный поиски
    2. Модификации и тесты на алгоритмы поиска
    3. Сортировка пузырьком
    4. Сортировка вставками
    5. Сортировка слиянием (merge sort)
    6. Быстрая сортировка (Quick Sort)
    7. Quick Select
    8. Детерменированный Quick Sort
    9. Задачи
    10. Проект 3: детерминированный Quick Sort

    Кучи и алгоритмы на их основе
    1. Двоичная куча: свойства, использование в алгоритмах.
    2. Построение кучи
    3. Встроенные кучи в C++ и Python
    4. Задачи

    Дерево отрезков
    1. Что такое ДО?
    2. Построение дерева
    3. Обновление значений
    4. Обработка запросов
    5. Сжатие координат
    6. Неявное дерево отрезков
    7. Задачи
    8. Проект 4: Дерево отрезков

    Бинарные деревья
    1. Что такое дерево?
    2. Что такое бинарное дерево поиска (BST)
    3. Операции в бинарном дереве поиска
    4. Обходы дерева
    5. Проверка дерева на соответствие BST
    6. Минимум и максимум в BST
    7. Уравновешенные BST
    8. Использование BST в реальных задачах
    9. Задачи

    Сбалансированные деревья
    1. Типы сбалансированных деревьев
    2. AVL-дерево
    3. Splay-дерево
    4. Декартово дерево
    5. Красно-черное дерево
    6. Задачи
    7. Проект 5: Set

    Хэш-таблицы
    1. Основная идея и примеры
    2. Коллизии: как их обрабатывать
    3. Частотный анализ
    4. Хранение уникальных элементов
    5. Простая хэш-таблица на основе массива
    6. Обработка коллизий метод цепочек
    7. Задачи

    Алгоритмы на графах
    1. Введение в графы
    2. Обходы графа (DFS и BFS)
    3. Компоненты связанности
    4. Кратчайшие пути
    5. Поиск минимального остовного дерева
    6. Топологическая сортировка
    7. Алгоритм Флойда-Уоршелла
    8. Алгоритм А и его примение

    Геометрические алгоритмы
    1. Введение в геометрию
    2. Определение выпуклого многоугольника
    3. Пересечение отрезков
    4. Выпуклая оболочка (Convex Hull)
    5. Алгоритм триангуляции Делоне
    6. Геометрические алгоритмы в графике

    Теория чисел и криптография
    1. Основы теории чисел
    2. Расширенный алгоритм Евклида
    3. Быстрое возведение в степень
    4. Решето Эратосфена и тесты простоты
    5. Китайская теорема об остатках
    6. RSA и основы криптографии

    Динамическое программирование и оптимизация
    1. Базовые принципы ДП
    2. Классические задачи ДП
    3. ДП с восстановлением ответа
    4. Задача о рюкзаке
    5. ДП по деревьям
    6. ДП по маскам
    7. Комбинированные техники ДП

    Параллельные и потоковые алгоритмы
    1. Основы многопоточного программирования
    2. MapReduce и обработка больших данных
    3. Алгоритмы для многопоточных систем
    4. Lock-free структуры данных
    5. Параллельные алгоритмы сортировки

    Завершающий модуль
    1. Итоги курса

    Python для профессионалов

    Введение
    1. Приветствие

    Итераторы и генераторы
    1. Итерации в Python: итерируемые объекты
    2. Протокол итератора: функции iter() и next(), метод __next__
    3. Создание пользовательских итераторов
    4. Генераторы: функции-генераторы и ключевое слово yield
    5. Генераторные выражения
    6. Продвинутые возможности генераторов

    Декораторы
    1. Функции высшего порядка и области видимости
    2. Зачем нужны декораторы: изменение поведения функций
    3. Синтаксический сахар для декораторов: оператор @
    4. Декораторы с параметрами
    5. Декорирование методов и классов

    Менеджеры контекста
    1. Оператор with и протокол менеджеров контекста
    2. Использование встроенных менеджеров контекста (пример: файл)
    3. Создание своего менеджера контекста
    4. Библиотека contextlib: упрощение создания менеджеров контекста
    Асинхронное программирование (async/await, asyncio)
    1. Конкурентность vs параллелизм: зачем нужна асинхронность
    2. Основы async/await: определение и вызов корутин
    3. Библиотека asyncio и цикл событий
    4. Пример: асинхронная обработка веб-запросов
    5. Асинхронные генераторы и менеджеры контекста

    Метапрограммирование
    1. Интроспекция и динамические возможности Python
    2. Дескрипторы: управление доступом к атрибутам
    3. Метаклассы: классы, создающие классы
    4. Примеры использования метаклассов
    5. Динамическое создание и модификация классов
    Стандартная библиотека
    1. Модуль functools: функции для функций
    2. Модуль itertools
    3. Модуль collections: расширенные контейнеры
    4. Модуль concurrent. futures: простая параллельность
    5. Другие полезные модули стандартной библиотеки

    Внутреннее устройство Python
    1. CPython: интерпретатор и байткод
    2. GIL: Глобальная блокировка интерпретатора
    3. Сборка мусора в Python: подсчет ссылок и циклический GC
    Оптимизация и профилирование
    1. Профилирование времени выполнения: cProfile и анализ результатов
    2. Измерение времени отдельных операций: модуль timeit
    3. Профилирование памяти: memory_profiler, tracemalloc
    4. Приёмы оптимизации Python-кода

    Современные возможности языка (фичи Python 3.8+, актуальные PEP)
    1. Оператор присваивания в выражениях (PEP 572, Python 3.8)
    2. Позиционные только параметры (PEP 570, Python 3.8)
    3. Объединение словарей и улучшения Python 3. 9
    4. Структурное сопоставление (match/case, PEP 634, Python 3. 10)
    5. Новое в Python 3. 11 и далее: оптимизация и другие PEP

    Заключение
    1. Формочка для обратной связи
    2. Заключение

    Bash Linux + Git


    Введение в курс
    1. Приветствие
    2. Работа с bash в Windows

    Введение в Bash
    1. Что такое командная строка и зачем она нужна?
    2. Основные команды
    3. Перенаправление ввода\вывода
    4. Задачи

    Работа с файлами и текстом
    1. Чтение, создание и редактирование файлов
    2. Потоковая обработка (grep, sed, awk)
    3. Регулярные выражения
    4. Задачи

    Скрипты Bash
    1. Написание первых скриптов
    2. Переменные и аргументы
    3. Условные конструкции (if, case)
    4. Циклы (for, while, until)
    5. Задачи

    Функции и массивы
    1. Функции
    2. Массивы
    3. Ассоциативные массивы
    4. Задачи

    Пишем скрипты
    1. Фильтрация валентинок
    2. Фильтрация валентинок 2
    3. Фильтрация валентинок 3
    4. Фильтрация валентинок 4

    Работа с процессами и задачами
    1. Управление процессами (jobs, ps, kill, nohup)
    2. Автоматизация задач (cron, at)
    3. Задачи

    Работа с сетью и безопасностью
    1. Основы сетевых команд (ping, netstat, curl, wget)
    2. Разрешения файлов и управление пользователями
    3. Практические кейсы

    Сложные скрипты
    1. Фильтрация валентинок 5
    2. Фильтрация валентинок 6
    3. Фильтрация валентинок 7
    4. Фильтрация валентинок 8
    5. Итоги курса

    Введение в Git
    1. Что такое системы контроля версий (VCS) и зачем использовать Git
    2. Установка и настройка Git
    3. Основные команды Git: быстрый обзор
    4. Задачи

    Работа с ветками и управление историей
    1. Ветвление и слияние
    2. Управление историей коммитов
    3. Интерактивный ребейз и рефракторинг истории
    4. Задачи

    Работа с удалёнными репозиториями
    1. Основы работы с удалёнными репозиториями и GitHub
    2. Совместная работа и Pull Requests
    3. Автоматизация с GitHub Actions
    4. Задачи

    Git и GitHub в различных IDE
    1. Работа с Git в Visual Studio Code (VSCode)
    2. Git в PyCharm и других IDE JetBrains
    3. Работа с Git в Eclipse и Android Studio
    4. Задачи

    Расширенные возможности Git
    1. Git Hooks и автоматизация процессов
    2. Работа с тегами и Git stash
    3. Подмодули и работа с большими файлами
    4. Задачи

    Стратегии ветвления и интеграция Git с другими сервисами
    1. Стратегии ветвления в Git
    2. Интеграция Git с CI/CD
    3. Интеграция Git с таск-трекерами и другими сервисами
    4. Задачи

    Оптимизация работы с Git и работа с комплексным репозиторимем
    1. Создание и работа с комплексным репозиторием
    2. Оптимизация работы с Git
    3. Завершающий урок — Советы и лучшие практики работы с Git

    Начальные требования:
    • Базовое владение Python: переменные, циклы, функции, работа со строками и списками, исключения, ООП.
    • Понимание школьной математики и логики (арифметика, основы комбинаторики).
    • Компьютер с доступом в интернет и возможностью установить:
      • Python ≥ 3.10;
      • Git ≥ 2.30;
      • Терминал / PowerShell / Bash‑эмулятор (установку для Windows разбираем в курсе).
    • Готовность уделять 3‑5 часов в неделю на просмотр уроков и практику. Всё остальное — объясним с нуля.
    Цена: 4490 руб.
    Скрытая ссылка
     
    Последнее редактирование модератором: 31 май 2025
    1 человеку нравится это.
  2. Последние события

    1. Money Maker LTD
      Money Maker LTD участвует.
      5 июн 2025
    2. Северянин
      Северянин участвует.
      31 май 2025
    3. Petr152
      Petr152 участвует.
      30 май 2025
    4. peekaboo51
      peekaboo51 участвует.
      30 май 2025

    Последние важные события

    1. skladchik.com
      Назначен организатор.
      30 май 2025