Как пройти яндекс практикум знакомство с python
Перейти к содержимому

Как пройти яндекс практикум знакомство с python

  • автор:

Name already in use

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Указатель проектов выполненных во время обучения на курсе

На курсе действует следующая схема:

Этот указатель содержит ссылки на выполненные проекты согласно хронологии обучения.

Блок 1. Бэкенд на Django

Спринт 2. Калькулятор денег и калорий

Классы, методы, наследование. Всё по минимуму.

Спринт 3. Сообщества

  • Создано и зарегистрировано приложение Posts.
  • Подключена база данных.
  • Десять последних записей выводятся на главную страницу.
  • В админ-зоне доступно управление объектами модели Post: можно публиковать новые записи или редактировать/удалять существующие.
  • Пользователь может перейти на страницу любого сообщества, где отображаются десять последних публикаций из этой группы.

Спринт 4. Новые записи

  • Настроен эмулятор отправки писем.
  • Cоздан и зарегистрирован контекст-процессор, добавляющий текущий год на все страницы в переменную << year >>.
  • Создано и подключено приложение about, в нём созданы статические страницы /about/author/ и /about/tech/.
  • Подключено приложение django.contrib.auth, его urls.py подключен к головному urls.py.
  • Создано и подключено приложение users, в нём Переопределены шаблоны для адресов /auth/login/ (авторизация), /auth/logout/ (выход из аккаунта).
  • Создана страница /auth/signup/ с формой для регистрации пользователей.
  • В приложении posts Создана страница пользователя profile//. На ней отображаются посты пользователя.
  • Создана отдельная страница поста posts/<post_id>/.
  • Подключен паджинатор, он выводит по десять постов на главную страницу, на страницу профайла, на страницу группы.
  • Создана навигация по разделам — это было в уроке «Добавляем навигацию в шаблоны».

Спринт 5. Покрытие тестами

В теории рассмотрены аспекты покрытия тестами проекта на Django. В проекте требуется воплотить эти знания в коде.

Спринт 6. Подписки на авторов

В проект добавлены кастомные страницы ошибок:

Написан тест, проверяющий, что страница 404 отдает кастомный шаблон.

С помощью sorl-thumbnail выведены иллюстрации к постам.

Написаны тесты, которые проверяют работу с изображениями.

Создана система комментариев

Кеширование главной страницы

Добавлена система подписки на авторов.

Бонусный спринт. Публикация своего проекта на общедоступном сервисе.

  • В теории дана пошаговая инструкция, как разместить свой проект на #pythonanywhere.com#

Блок 2. API: Интерфейс взаимодействия программ.

Спринт 7. Бот ассистент.

Написать небольшое приложение, которое: Используя API Практикум.Домашка регулярно опрашивает статус студента.

Об изменении статуса или в случае определённых ошибок, используя API Telegram информирует студента.

Логирует свою работу.

Разместить работу на сервисе Heroku

Спринт 8. CRUD для Yatube

Реализовать API для заданных в прекоде моделей.

API должен быть доступен только аутентифицированным пользователям. Необходимо реализовать аутентификацию по токену TokenAuthentication.

Спринт 9. API для Yatube

На основе документации из прекода:

Добавить в приложения недостающие части.

Создать API к проекту.

Спринт 10. Проект YaMDb

В группе из трёх человек:

Наладить коммуникации и синхронизацию.

Распределить работу над проектом.

В самом проекте на основе документации из прекода:

Создать кастомную модель User.

Для аутентификации использовать JWT-токены.

Каким-либо образом импортировать из CSV-файлов тестовый набор данных. Как вариант, написать свою management-команду.

Создать API к проекту.

Блок 3. Алгоритмы и структуры данных.

В блоке «Алгоритмы» в учёбе применяется платформа Яндекс.Контест. https://contest.yandex.ru

Блок состоит из трёх обязательных заданий и двух дополнительных. Теория излагается по прежнему на Яндекс.Практикуме, а задачи, с их условиями и ограничениями решаются на Контесте. После каждой части необходимо решить две итоговые задачи и пройти по ним код-ревью.

Спринт 11. Введение в алгоритмы.

Задачи с условиями и решениями. Введение в алгоритмы.

Спринт 12. Основные структуры данных.

Спринт 13. Рекурсия и сортровки.

Задачи с условиями и решениями. Рекурсия и сортровки.

Доп. тема алгоритмов. Хеш-функции.

Доп. тема алгоритмов. Деревья.

Блок 4. Управление проектом на удалённом сервере.

Спринт 14. Запуск проекта на сервере.

Знакомство с Яндекс.Облаком. Разворачивание проекта Yatube на виртуальной машине в облаке. Регистрация доменного имени для проекта.

Как пройти яндекс практикум знакомство с python

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Указатель проектов выполненных во время обучения на курсе

На курсе действует следующая схема:

Этот указатель содержит ссылки на выполненные проекты согласно хронологии обучения.

Блок 1. Бэкенд на Django

Спринт 2. Калькулятор денег и калорий

Классы, методы, наследование. Всё по минимуму.

Спринт 3. Сообщества

  • Создано и зарегистрировано приложение Posts.
  • Подключена база данных.
  • Десять последних записей выводятся на главную страницу.
  • В админ-зоне доступно управление объектами модели Post: можно публиковать новые записи или редактировать/удалять существующие.
  • Пользователь может перейти на страницу любого сообщества, где отображаются десять последних публикаций из этой группы.

Спринт 4. Новые записи

  • Настроен эмулятор отправки писем.
  • Cоздан и зарегистрирован контекст-процессор, добавляющий текущий год на все страницы в переменную >.
  • Создано и подключено приложение about, в нём созданы статические страницы /about/author/ и /about/tech/.
  • Подключено приложение django.contrib.auth, его urls.py подключен к головному urls.py.
  • Создано и подключено приложение users, в нём Переопределены шаблоны для адресов /auth/login/ (авторизация), /auth/logout/ (выход из аккаунта).
  • Создана страница /auth/signup/ с формой для регистрации пользователей.
  • В приложении posts Создана страница пользователя profile//. На ней отображаются посты пользователя.
  • Создана отдельная страница поста posts/<post_id>/.
  • Подключен паджинатор, он выводит по десять постов на главную страницу, на страницу профайла, на страницу группы.
  • Создана навигация по разделам — это было в уроке «Добавляем навигацию в шаблоны».

Спринт 5. Покрытие тестами

В теории рассмотрены аспекты покрытия тестами проекта на Django. В проекте требуется воплотить эти знания в коде.

Спринт 6. Подписки на авторов

В проект добавлены кастомные страницы ошибок:

Написан тест, проверяющий, что страница 404 отдает кастомный шаблон.

С помощью sorl-thumbnail выведены иллюстрации к постам.

Написаны тесты, которые проверяют работу с изображениями.

Создана система комментариев

Кеширование главной страницы

Добавлена система подписки на авторов.

Бонусный спринт. Публикация своего проекта на общедоступном сервисе.

  • В теории дана пошаговая инструкция, как разместить свой проект на #pythonanywhere.com#

Блок 2. API: Интерфейс взаимодействия программ.

Спринт 7. Бот ассистент.

Написать небольшое приложение, которое: Используя API Практикум.Домашка регулярно опрашивает статус студента.

Об изменении статуса или в случае определённых ошибок, используя API Telegram информирует студента.

Логирует свою работу.

Разместить работу на сервисе Heroku

Спринт 8. CRUD для Yatube

Реализовать API для заданных в прекоде моделей.

API должен быть доступен только аутентифицированным пользователям. Необходимо реализовать аутентификацию по токену TokenAuthentication.

Спринт 9. API для Yatube

На основе документации из прекода:

Добавить в приложения недостающие части.

Создать API к проекту.

Спринт 10. Проект YaMDb

В группе из трёх человек:

Наладить коммуникации и синхронизацию.

Распределить работу над проектом.

В самом проекте на основе документации из прекода:

Создать кастомную модель User.

Для аутентификации использовать JWT-токены.

Каким-либо образом импортировать из CSV-файлов тестовый набор данных. Как вариант, написать свою management-команду.

Создать API к проекту.

Блок 3. Алгоритмы и структуры данных.

В блоке «Алгоритмы» в учёбе применяется платформа Яндекс.Контест. https://contest.yandex.ru

Блок состоит из трёх обязательных заданий и двух дополнительных. Теория излагается по прежнему на Яндекс.Практикуме, а задачи, с их условиями и ограничениями решаются на Контесте. После каждой части необходимо решить две итоговые задачи и пройти по ним код-ревью.

Спринт 11. Введение в алгоритмы.

Задачи с условиями и решениями. Введение в алгоритмы.

Спринт 12. Основные структуры данных.

Спринт 13. Рекурсия и сортровки.

Задачи с условиями и решениями. Рекурсия и сортровки.

Доп. тема алгоритмов. Хеш-функции.

Доп. тема алгоритмов. Деревья.

Блок 4. Управление проектом на удалённом сервере.

Спринт 14. Запуск проекта на сервере.

Знакомство с Яндекс.Облаком. Разворачивание проекта Yatube на виртуальной машине в облаке. Регистрация доменного имени для проекта.

Отзыв о курсе «Python-разработчик» от Яндекс Практикум

Год назад я закончил обучение в Яндекс Практикуме по направлению «Анализ данных». Это было новый и крутой опыт! Тогда я написал большой отзыв о своем опыте, почитать его можно тут: «Отзыв о курсе «Анализ данных» от Яндекс Практикум».

По завершению курса, кроме классных знаний и навыков появились и новые интересы. Пообщавшись с опытными коллегами, я составил для себя список навыков, которые хочу получить или улучшить: SQL, Python, Алгоритмы, JavaScript, визуализация данных (GDS, Power BI, Tableau), Cloud services (Yandex Cloud / Amazon), Google Tag Manager и так далее. Кстати, этот список продолжает расти постоянно.

Вариантов как закрывать хотелки масса. Но ведь есть опробованный путь, который уже показал свою эффективность. Короче, еще во время обучение на анализе данных, я заприметил курс у Практикума «Python-разработчик». Туда я и пошел.

Сейчас моё 9 месячное обучение на этом курсе подходит к завершению, впереди остался диплом. И в этом отзыве я хочу рассказать о своем опыте обучения питону в практикуме.

UPD: Диплом успешно сдан.

Почему решил пойти учиться в Практикум на python-разработчика?

  1. Мне очень понравилось кодить! Это очень круто, когда ты можешь написать скрипт, который освобождает тебя от рутинной работы. Вот ты тратишь каждую неделю 2–3 часа на не самое интересное дело. И тут, пуф! И больше ты не тратишь это время, а результат тот же.
  2. У меня родилась дочь. И это прекрасная мотивация, для того чтобы становиться лучше. И зарабатывать больше ��
  3. У меня есть хорошая скидка на обучение в практикуме. По традиции, готов поделиться ею с другими. Пишите в мне в телеграм @ruslan_fd или vk @fathutdinov.

Как проходит обучение

Процесс обучения похож на то что было на курсе анализа данных, и не похож одновременно. Каждый блок будто чуточку повернут другой стороной, и от этого создается ощущение непривычности. Постараюсь описать как это, сравнивая курс «Анализ данных» и курс «Python-разработчика».

Сразу хочу сказать, что в обучении по направлению анализа данных за прошедший год что-то могло измениться и мое представление вполне может быть не актуальным.

1) Структура обучения

— Аналитик данных:

Обучение разбито на 11 спринтов (+2 больших проекта +1 диплом). Каждый спринт посвящен новой теме, которая является продолжением предыдущего спринта. Например: Выгрузить данные > Посчитать бизнес-метрики > Принять решение и т.д.

Спринт разбит на 2 недели. Первая неделя отводится на теорию. Вторая на решение самостоятельного задания.

— Python-разработчик:

Обучение разбито на 5 блоков (+1 диплом). Каждый курс посвящен отдельной теме.

И уже каждый блок внутри себя разбит на несколько отдельных спринтов (от 3 до 8). Каждый спринт, как и полагается, завершается самостоятельным проектом.

В завершении блока идет большой самостоятельный проект.

2) Процесс обучения

— Аналитик данных:

Теория разделена на 2 части.

  1. Текстовый урок, в котором подается материал и даются ссылки на полезные сопутствующие материалы.
  2. Тренажер, который обычно идет сразу после текстового урока. Ставится микро-задача, которую надо решить в окне тренажера. Если все правильно, урок завершен, переходи к следующему.

— Python-разработчик:

Теория также разделена на 2 части.

    Текстовый урок с основной информацией. И ссылки на сопутствующие материалы. Сопутствующие материалы в 90% случаев обязательны к изучению. Обычно в этих материалах еще

Тренажер в процессе обучения тоже встречается. Но это бывает крайне редко. Да и, я думаю, тренажер не самое лучшее решение для отработки на бэкенде. Значительно интереснее и быстрее вносить правки на собственной машине.

Кстати, еще есть контест. И это интересная штука. Она так глубоко западает в сердечко каждого студента! Но я не решусь проспойлерить вам что это :).

3) Общение со студентами и наставниками

Для обоих направлений создается свой workspace в slack c набором тематических каналов. Пример каналов:

  • info — важные объявления,
  • library — полезные ссылки,
  • offtopic — флуд на посторонние темы,
  • project — обсуждение самостоятельных проектов,
  • theory — обсуждение теории.
    и так далее.

— Аналитик данных:

Студенты делятся на небольшие группы по

10 человек. У каждой группы свой наставник. Формируется очень крутая и «семейная» обстановка.

Вебинары можно, условно, поделить на 2 вида:

  1. Групповые. В них больше лично общение. Темы: как дела, что получается, что не получается, чем помочь?
  2. На всю когорту. Обсуждение и разбор текущей темы.

— Python-разработчик:

Сначала нас поделили на 4 большие группы с разными наставниками. Позже группы пересобрали в 2 большие. Получился более классический учебный подход. Понятно что это оптимизация ресурсов. Но вот той уютной атмосферы маленькой команды нет.

Вебинары проводятся сразу на всю когорту. И это, в принципе нормально. Тут тоже можно выделить 2 вида вебинаров:

  1. Разбор текущей темы.
  2. Разбор темы по запросу. Обычно на таких вебинарах обсуждаются темы, которых нет в учебной программе.

Особенно хочется выделить, что вебинары обычно проходят в режиме лайвкодинга. То есть наставник (или гость) решает задачу, комментируя все происходящее. И в любой момент можно задать вопрос. В таком очень круто учавствовать!

4) Работа над самостоятельными проектами

Скорее всего тут мой опыт учебы на аналитика данных уже устарел, но для полноты картины расскажу как было у меня.

Аналитик данных:

Обычно самостоятельный проект на анализе данных это серьезное мини исследование, которое, даже при хорошем понимании, требует 4–8 часов работы.

Цель такой работы — закрепить на практике материал спринта. Как использовать новые инструменты понятно. И еще раз закрепить навыки формирования выводов и рекомендаций.

Код в проекте может быть громоздким, и не самым эффективным. Но, если он выполняет поставленную задачу, то, скорее всего, ревьюер просто даст совет, как сделать код короче / эффективнее.

— Python-разработчик:

Самостоятельный проект у python-разработчика может занимать 10–15 строк кода. НО!

  1. Этот код должен иметь правильную структуру. Понятные названия переменных / функций / классов. И на 100% соответствовать PEP8 (что это такое).
  2. Этот код должен иметь хорошую и понятную документацию.
  3. Этот код должен быть коротким, понятным и эффективным.

Вспоминаю свой первый самостоятельный проект, который я высылал с мыслью: «Ха-ха! Вот я красавчик! Какой я умный». А через пару часов этот проект прилетел мне обратно с 9 критическими замечаниями от ревьюера! В итоге проект я сдал только с 3 раза. Но свое самомнение поумерил с тех пор ��

Кстати, все проекты python-разработчика сдаются через GitHub. Поэтому, уже ко 2–3 проекту я разобрался с Git и GitHub.

Чему учат

Как говорил выше, обучение на python-разработчика разбито на пять больших блоков.

  1. Основы python (этот курс бесплатный и пройти его может любой желающий). Рассказывают и показывают на практике, что за язык такой этот питон. Что такое переменные. Что такое функции, зачем они нужны, как их писать и использовать. Что такое циклы и какие они бывают. Какие типы данных есть, чем они отличаются и когда их надо использовать.
  2. Возможности бэкенда. Рассказывают что такое базы данных, какие они бывают и как с ними работать. Что такое объектно-ориентированно программирование, и как писать свои классы. И очень много рассказывают и дают делать с фреймворком Django. Ты как бы учишь python, изучая Django. Два в одном! Вообще 80% этого блока посвящен именно джанго и его возможностям: регистрация и авторизация, работа с моделью данных, создание форм, подписки и так далее.
  3. Работа с внешними API (мой любимый блок). Что такое API и REST API. Чем отличаются друг от друга запросы GET, POST, PUT и т.д. Как работать с API сервисов (на примере разработки собственного бота). И как создать свой полноценный API.
  4. Алгоритмы и структуры данных (сложность 12 из 10). Какие структуры данных есть и чем они отличаются. Какие виды сложности алгоритмов есть. Зачем вообще нужны эти алгоритмы. И все это на примере 200+ задач.
  5. Инфраструктура бэкенд-разработки. Что такое сервер, как он работает. Как поднять свой проект на облачном сервисе. Что такое nginx и как его настроить. Зачем нужен docker и docker-compose. Чем занимаются DevOps и как настроить непрерывную разработку + тестирование + деплой.

Темы, которые дают в течении разных блоков:

— Git и работа с GitHub,

— Работа с Visual Studio Code,

— Зачем нужно виртуальное окружение при разработке,

— Логирование в Python,

— Дебаггинг кода,
И еще бесконечно много других тем, по которым можно запросить вебинар у наставников.

Кто учит

Я бесконечно благодарен всей команде практикума за тот продукт и учебный опыт, который получил и получаю в процессе учебы.

Куратор курса Кривова Юлия. Спасибо тебе за поддержку, помощь и за то что всегда помогала держать руку на пульсе!

Наставники Леонид Тощев и Горлов Андрей. Спасибо вам за опыт и помощь, которую вы всегда даете. Даже если это поздняя ночь или самый глупый в мире вопрос. Вы создали крутую атмосферу командой работы!

Кстати, Горлов Андрей ведет свой подкаст «Каждый может» (ссылка Яндекс.Музыку), в который он со своим коллегой приглашает людей, связанных с обучением в IT. И это реально крутой и интересный подкаст, который я советую послушать всем, кто задумывается над учебой в Практикуме (а может и в других школах).

Ревьюеры Арсен Халилов, Андрей Квичанский и Михаил Иванов. Спасибо вам за советы, которые помогают улучшить понимание темы и сделать код лучше!

Сокурсники. Ребята, спасибо вам за то что были рядом и делили все новые ощущения от учебы! Вы крутые и целеустремленные! У вас все получится.

Команда Практикума. Спасибо вам за классный и качественный продукт!

Что было хорошо?

  1. Подача материала. Материал хорошо подходит для тех, кто только делает первые шаги. Термины объясняюься отдельно. Ссылки на дополнительные материалы, которые улушат понимание темы всегда есть в тексте.
  2. Коммьюнити. Всегда есть ощущение что ты не один, рядом всегда есть люди, которые помогут и поддержат.
  3. Скорость проверки проектов. Только один раз проверка заняла более 3 дней. Все остальное время проверка занимает от часа до 24 часов.

Что было плохо?

  1. Техническая поддержка Облаков. Мне кажется что это самая медленная поддержка в мире.
  2. Отсутствие поиска. Тем много, терминов много, иногда забываешь где видел и приходится самому руками искать нужную информацию.
  3. Отсутствие какого-то единого хранилища с прошедшиими вебинарами.

Что можно сделать лучше?

  1. Сделать поиск. Знаю что работа в этом направлении идет.
  2. Сделать хранилище вебинаров, в том числе и у других когорт. И дать к нему доступ. Там просто гинанское количество полезной информации.
  3. Поыткайте уже палкой в ТП облака ��

Советы будущим студентам

  1. Читайте дополнительные материалы. Они даются не просто так. Это очень большой и важный пласт знаний.
  2. Если думаете что выбрать: Visual Studio Code или Pycharm, выбирайте VSC. Из коробки он мнее функциональный, но плагинами его можно сделать лучше и гибче чем Pycharm (бесплатная версия).
  3. Если не моежете решить учиться или нет, идите учиться! Даже если во время учебы вы поняли, что не угадали с выбором, Практикум всегда идет на встречу.
  4. Ведите конспекты. По моему, лучшее решение https://www.notion.so/. Он гибкий, удобный и быстрый.

Заключение

Я не пожалел что пошел учиться. Было трудно, иногда слишком дискомфортно, а алгоритмы мне снились в кошмарах. Но я стал чуточку лучше. “Стоимость” моей головы стала выше. И я чувствую себя свободнее в выборе деятельности. Это круто!

Ну а впереди у меня еще пухлый бэклог хотелок, который я стараюсь закрыть, но он как гидра — закрываешь один пункт, появляется несколько новых.

Яндекс.Практикум [Яндекс.Практикум] Python-разработчик [Все части] (2020)

1627580267666

Python-разработчик создаёт бэкенд сайтов: мозг, который принимает запросы, общается с базой данных и передаёт нужную информацию пользователю. Разработчик проектирует алгоритмы взаимодействия сайта с другими интернет-сервисами. Вы изучите язык Python: он востребован и прост. Вы также освоите важнейшие инструменты бэкендера: Django, базы данных, git. В процессе обучения создадите несколько действующих сервисов.

Что вы получите в Практикуме:
За 9 месяцев обучения по 10 часов в неделю вы освоите навыки разработки на Python, соберёте портфолио.
Вот над какими проектами вам предстоит трудиться:

— Социальная сеть
Вы научитесь взаимодействовать с базами данных, формировать ленту публикаций. Реализуете возможность регистрироваться и входить на сайт под своим аккаунтом и публиковать записи. Вы погрузитесь в бэкенд сервиса, оставив отрисовку интерфейса в стороне: ей пусть занимается фронтенд-разработчик.

— Бот-ассистент
Напишете веб-приложение, которое будет самостоятельно собирать данные в интернете, а затем — уведомлять о них пользователя.

— Онлайн-турнир по го, шашкам или реверси
Познакомитесь с алгоритмами и структурами данных: это позволит создавать быстрые и отзывчивые сервисы. Тут процесс разработки максимально приблизится к реальному: над этим проектом вы будете работать в команде программистов.

— Основы Python: Бесплатный вводный курс (20 часов)
Базовое устройство бэкенда. Вы узнаете, как фронтенд общается с бэкендом и как разные бэкенды общаются между собой. Научитесь писать программы на языке Python, получать информацию от сервисов в интернете и использовать в своём коде.

— Возможности бэкенда: блог (80 часов)
Вас ждут основы баз данных, ликбез по информационной безопасности, продолжение работы с Python и знакомство с веб-фреймворком Django. На этом этапе вы шаг за шагом создадите свой блог — с авторизацией пользователей, объявлениями и подписками.

— Работа с внешними API (30 часов)
Вы узнаете, как сервисы в интернете получают друг от друга информацию: как организуется авторизация на незнакомом ресурсе через социальные сети, каким образом сайты кинотеатров и кафе указывают свои локации на фрагменте Яндекс и Гугл карт. Узнаете что такое API и напишете бота, который сам взаимодействует с известными сайтами.

— Заботимся о производительности сервиса (60 часов)
Бывало такое, что нужный вам сайт в интернете работал медленно? Мы будем говорить, как ускорить работу вашего сервиса. Вы изучите основы алгоритмов: они необходимы, чтобы оценить скорость выполнения программ.

— Инфраструктура бэкенд-разработки (80 часов)
При создании серьёзных сервисов необходима экосистема для совместной работы нескольких программистов. Вы научитесь настраивать своё рабочее окружение так, чтобы взаимодействие с другими программистами было простым и эффективным. Научитесь работать с системой контроля версий Git, разрешать конфликты в коде. При поддержке наставников желающие смогут создать очередной проект в команде.

— Дипломный проект (50 часов)
В заключительный месяц обучения вы сделаете итоговый выпускной проект, подтверждающий знания и умения. Во время работы над ним вам не нужно выполнять домашние задания и узнавать новую теорию из тренажёра — здесь всё происходит так же, как в реальной жизни: задание, сроки, приобретенные навыки и поисковик.

Яндекс.Практикум "Python-разработчик плюс" ⁠ ⁠

Есть ли реальные люди, которые проходили этот курс ПОЛНОСТЬЮ (от начала до конца) и готовые поделиться своим мнением о нем?

«Матч не смотрел, но прокомментировать смогу» (с)

Пришли поворчали и ушли. На деле никто не проходил, но у всех есть чёткая позиция))

Тоже планирую с апреля начать курс Python-разработчик. И лет мне сильно больше 25. И о лёгком бабле не мечтаю. Но есть желание освоить новую профессию. А если слушать все советы, то проще просто сидеть и ничего не делать)))

Отзывы посмотрел. Да, будет не легко. Вряд ли это будет 15 часов в неделю. Возможно это будет и достаточно поверхностно и не сделает тебя прям спецом. Но я буду учится с нуля. Так что мне как раз и нужно со всем ознакомится и понять что да как. Вопрос конечно хватит ли времени и сил)))))

Смотря что ты хочешь получить от этих курсов. Сразу профи не станешь, эти курсы чисто так, для ознакомления. Чтоб стать профи — надо дохуя работать. Я подобные курсы проходил, но бесплатно и на английском.

Отзыв о курсе «Python-разработчик» от Яндекс Практикум

Год назад я закончил обучение в Яндекс Практикуме по направлению «Анализ данных». Это было новый и крутой опыт! Тогда я написал большой отзыв о своем опыте, почитать его можно тут: «Отзыв о курсе «Анализ данных» от Яндекс Практикум».

По завершению курса, кроме классных знаний и навыков появились и новые интересы. Пообщавшись с опытными коллегами, я составил для себя список навыков, которые хочу получить или улучшить: SQL, Python, Алгоритмы, JavaScript, визуализация данных (GDS, Power BI, Tableau), Cloud services (Yandex Cloud / Amazon), Google Tag Manager и так далее. Кстати, этот список продолжает расти постоянно.

Вариантов как закрывать хотелки масса. Но ведь есть опробованный путь, который уже показал свою эффективность. Короче, еще во время обучение на анализе данных, я заприметил курс у Практикума «Python-разработчик». Туда я и пошел.

Сейчас моё 9 месячное обучение на этом курсе подходит к завершению, впереди остался диплом. И в этом отзыве я хочу рассказать о своем опыте обучения питону в практикуме.

UPD: Диплом успешно сдан.

Почему решил пойти учиться в Практикум на python-разработчика?

К сказанному выше надо добавить несколько вещей:

  1. Мне очень понравилось кодить! Это очень круто, когда ты можешь написать скрипт, который освобождает тебя от рутинной работы. Вот ты тратишь каждую неделю 2–3 часа на не самое интересное дело. И тут, пуф! И больше ты не тратишь это время, а результат тот же.
  2. У меня родилась дочь. И это прекрасная мотивация, для того чтобы становиться лучше. И зарабатывать больше 🙂
  3. У меня есть хорошая скидка на обучение в практикуме. По традиции, готов поделиться ею с другими. Пишите в мне в телеграм @ruslan_fd или vk @fathutdinov.

Как проходит обучение

Процесс обучения похож на то что было на курсе анализа данных, и не похож одновременно. Каждый блок будто чуточку повернут другой стороной, и от этого создается ощущение непривычности. Постараюсь описать как это, сравнивая курс «Анализ данных» и курс «Python-разработчика».

Сразу хочу сказать, что в обучении по направлению анализа данных за прошедший год что-то могло измениться и мое представление вполне может быть не актуальным.

1) Структура обучения

— Аналитик данных:

Обучение разбито на 11 спринтов (+2 больших проекта +1 диплом). Каждый спринт посвящен новой теме, которая является продолжением предыдущего спринта. Например: Выгрузить данные > Посчитать бизнес-метрики > Принять решение и т.д.

Спринт разбит на 2 недели. Первая неделя отводится на теорию. Вторая на решение самостоятельного задания.

— Python-разработчик:

Обучение разбито на 5 блоков (+1 диплом). Каждый курс посвящен отдельной теме.

И уже каждый блок внутри себя разбит на несколько отдельных спринтов (от 3 до 8). Каждый спринт, как и полагается, завершается самостоятельным проектом.

В завершении блока идет большой самостоятельный проект.

2) Процесс обучения

— Аналитик данных:

Теория разделена на 2 части.

  1. Текстовый урок, в котором подается материал и даются ссылки на полезные сопутствующие материалы.
  2. Тренажер, который обычно идет сразу после текстового урока. Ставится микро-задача, которую надо решить в окне тренажера. Если все правильно, урок завершен, переходи к следующему.

— Python-разработчик:

Теория также разделена на 2 части.

    Текстовый урок с основной информацией. И ссылки на сопутствующие материалы. Сопутствующие материалы в 90% случаев обязательны к изучению. Обычно в этих материалах еще

Тренажер в процессе обучения тоже встречается. Но это бывает крайне редко. Да и, я думаю, тренажер не самое лучшее решение для отработки на бэкенде. Значительно интереснее и быстрее вносить правки на собственной машине.

Кстати, еще есть контест. И это интересная штука. Она так глубоко западает в сердечко каждого студента! Но я не решусь проспойлерить вам что это :).

3) Общение со студентами и наставниками

Для обоих направлений создается свой workspace в slack c набором тематических каналов. Пример каналов:

  • info — важные объявления,
  • library — полезные ссылки,
  • offtopic — флуд на посторонние темы,
  • project — обсуждение самостоятельных проектов,
  • theory — обсуждение теории.
    и так далее.

— Аналитик данных:

Студенты делятся на небольшие группы по

10 человек. У каждой группы свой наставник. Формируется очень крутая и «семейная» обстановка.

Вебинары можно, условно, поделить на 2 вида:

  1. Групповые. В них больше лично общение. Темы: как дела, что получается, что не получается, чем помочь?
  2. На всю когорту. Обсуждение и разбор текущей темы.

— Python-разработчик:

Сначала нас поделили на 4 большие группы с разными наставниками. Позже группы пересобрали в 2 большие. Получился более классический учебный подход. Понятно что это оптимизация ресурсов. Но вот той уютной атмосферы маленькой команды нет.

Вебинары проводятся сразу на всю когорту. И это, в принципе нормально. Тут тоже можно выделить 2 вида вебинаров:

  1. Разбор текущей темы.
  2. Разбор темы по запросу. Обычно на таких вебинарах обсуждаются темы, которых нет в учебной программе.

Особенно хочется выделить, что вебинары обычно проходят в режиме лайвкодинга. То есть наставник (или гость) решает задачу, комментируя все происходящее. И в любой момент можно задать вопрос. В таком очень круто учавствовать!

4) Работа над самостоятельными проектами

Скорее всего тут мой опыт учебы на аналитика данных уже устарел, но для полноты картины расскажу как было у меня.

Аналитик данных:

Обычно самостоятельный проект на анализе данных это серьезное мини исследование, которое, даже при хорошем понимании, требует 4–8 часов работы.

Цель такой работы — закрепить на практике материал спринта. Как использовать новые инструменты понятно. И еще раз закрепить навыки формирования выводов и рекомендаций.

Код в проекте может быть громоздким, и не самым эффективным. Но, если он выполняет поставленную задачу, то, скорее всего, ревьюер просто даст совет, как сделать код короче / эффективнее.

— Python-разработчик:

Самостоятельный проект у python-разработчика может занимать 10–15 строк кода. НО!

  1. Этот код должен иметь правильную структуру. Понятные названия переменных / функций / классов. И на 100% соответствовать PEP8 (что это такое).
  2. Этот код должен иметь хорошую и понятную документацию.
  3. Этот код должен быть коротким, понятным и эффективным.

Вспоминаю свой первый самостоятельный проект, который я высылал с мыслью: «Ха-ха! Вот я красавчик! Какой я умный». А через пару часов этот проект прилетел мне обратно с 9 критическими замечаниями от ревьюера! В итоге проект я сдал только с 3 раза. Но свое самомнение поумерил с тех пор 🙂

Кстати, все проекты python-разработчика сдаются через GitHub. Поэтому, уже ко 2–3 проекту я разобрался с Git и GitHub.

Чему учат

Как говорил выше, обучение на python-разработчика разбито на пять больших блоков.

  1. Основы python (этот курс бесплатный и пройти его может любой желающий). Рассказывают и показывают на практике, что за язык такой этот питон. Что такое переменные. Что такое функции, зачем они нужны, как их писать и использовать. Что такое циклы и какие они бывают. Какие типы данных есть, чем они отличаются и когда их надо использовать.
  2. Возможности бэкенда. Рассказывают что такое базы данных, какие они бывают и как с ними работать. Что такое объектно-ориентированно программирование, и как писать свои классы. И очень много рассказывают и дают делать с фреймворком Django. Ты как бы учишь python, изучая Django. Два в одном! Вообще 80% этого блока посвящен именно джанго и его возможностям: регистрация и авторизация, работа с моделью данных, создание форм, подписки и так далее.
  3. Работа с внешними API (мой любимый блок). Что такое API и REST API. Чем отличаются друг от друга запросы GET, POST, PUT и т.д. Как работать с API сервисов (на примере разработки собственного бота). И как создать свой полноценный API.
  4. Алгоритмы и структуры данных (сложность 12 из 10). Какие структуры данных есть и чем они отличаются. Какие виды сложности алгоритмов есть. Зачем вообще нужны эти алгоритмы. И все это на примере 200+ задач.
  5. Инфраструктура бэкенд-разработки. Что такое сервер, как он работает. Как поднять свой проект на облачном сервисе. Что такое nginx и как его настроить. Зачем нужен docker и docker-compose. Чем занимаются DevOps и как настроить непрерывную разработку + тестирование + деплой.

Темы, которые дают в течении разных блоков:

— Git и работа с GitHub,

— Работа с Visual Studio Code,

— Зачем нужно виртуальное окружение при разработке,

— Логирование в Python,

— Дебаггинг кода,
И еще бесконечно много других тем, по которым можно запросить вебинар у наставников.

Кто учит

Я бесконечно благодарен всей команде практикума за тот продукт и учебный опыт, который получил и получаю в процессе учебы.

Куратор курса Кривова Юлия. Спасибо тебе за поддержку, помощь и за то что всегда помогала держать руку на пульсе!

Наставники Леонид Тощев и Горлов Андрей. Спасибо вам за опыт и помощь, которую вы всегда даете. Даже если это поздняя ночь или самый глупый в мире вопрос. Вы создали крутую атмосферу командой работы!

Кстати, Горлов Андрей ведет свой подкаст «Каждый может» (ссылка Яндекс.Музыку), в который он со своим коллегой приглашает людей, связанных с обучением в IT. И это реально крутой и интересный подкаст, который я советую послушать всем, кто задумывается над учебой в Практикуме (а может и в других школах).

Ревьюеры Арсен Халилов, Андрей Квичанский и Михаил Иванов. Спасибо вам за советы, которые помогают улучшить понимание темы и сделать код лучше!

Сокурсники. Ребята, спасибо вам за то что были рядом и делили все новые ощущения от учебы! Вы крутые и целеустремленные! У вас все получится.

Команда Практикума. Спасибо вам за классный и качественный продукт!

Что было хорошо?

  1. Подача материала. Материал хорошо подходит для тех, кто только делает первые шаги. Термины объясняюься отдельно. Ссылки на дополнительные материалы, которые улушат понимание темы всегда есть в тексте.
  2. Коммьюнити. Всегда есть ощущение что ты не один, рядом всегда есть люди, которые помогут и поддержат.
  3. Скорость проверки проектов. Только один раз проверка заняла более 3 дней. Все остальное время проверка занимает от часа до 24 часов.

Что было плохо?

  1. Техническая поддержка Облаков. Мне кажется что это самая медленная поддержка в мире.
  2. Отсутствие поиска. Тем много, терминов много, иногда забываешь где видел и приходится самому руками искать нужную информацию.
  3. Отсутствие какого-то единого хранилища с прошедшиими вебинарами.

Что можно сделать лучше?

  1. Сделать поиск. Знаю что работа в этом направлении идет.
  2. Сделать хранилище вебинаров, в том числе и у других когорт. И дать к нему доступ. Там просто гинанское количество полезной информации.
  3. Поыткайте уже палкой в ТП облака 🙂

Советы будущим студентам

  1. Читайте дополнительные материалы. Они даются не просто так. Это очень большой и важный пласт знаний.
  2. Если думаете что выбрать: Visual Studio Code или Pycharm, выбирайте VSC. Из коробки он мнее функциональный, но плагинами его можно сделать лучше и гибче чем Pycharm (бесплатная версия).
  3. Если не моежете решить учиться или нет, идите учиться! Даже если во время учебы вы поняли, что не угадали с выбором, Практикум всегда идет на встречу.
  4. Ведите конспекты. По моему, лучшее решение https://www.notion.so/. Он гибкий, удобный и быстрый.

Заключение

Я не пожалел что пошел учиться. Было трудно, иногда слишком дискомфортно, а алгоритмы мне снились в кошмарах. Но я стал чуточку лучше. “Стоимость” моей головы стала выше. И я чувствую себя свободнее в выборе деятельности. Это круто!

Ну а впереди у меня еще пухлый бэклог хотелок, который я стараюсь закрыть, но он как гидра — закрываешь один пункт, появляется несколько новых.

Яндекс Практикум — сервис онлайн-образования — отзыв

Очень долго ждал курса по Backend-разработке на Python. Оказалось, что не зря!

В настоящее время я завершаю свое обучение на Яндекс.Практикуме по курсу Python-разработчик и хотел бы оставить отзыв о том, как прошел мой последний год и чему я научился за это время.

Когда я оплатил курс, мне пришло сообщение о том, что меня ждет очень интересное и нелегкое обучение. Как оказалось это правда. Обучение интересное на самом деле, но при этом достаточно трудное (конкретно для меня это так).

Далее я опишу свой опыт обучения на ЯП больше в формате перечисления, чему я научился за прошедший год.

Свое знакомство с Яндекс.Практикумом (дальше буду просто сокращать на ЯП) я начал еще на самом старте этой платформы-обучения с языка JavaScript, но он мне почему-то не зашел. Чуть позже появился курс Аналитик данных, вот как раз на нем у меня появилась возможность познакомиться с уже наслышанным Python. Как раз тогда я влюбился в Питона ��. Но идти на Аналитика данных или Датасатаниста, я не захотел, думал, что потом вряд ли найду работу и решил подождать, а вдруг появится Backend на Питоне. Как оказалось ожидал я этого не зря и пошел на обучение именно на этот курс.

В самом начале курса (еще на бесплатной части) я изучил основы Python (далее потом все равно пришлось углубиться в изучение Питона, когда проходил алгоритмы �� ну и по ходу курса постоянно). На первом спринте (весь курс делится на спринты-темы) уже поработал с SQL и узнал, что такое ООП. Как результат закрепил эти знания на практике и написал с нуля свой калькулятор калорий и денег.

Красной нитью всего курса тянется знакомство и уверенное освоение Linux и bash, разве, что специально скрипты не писал. Стоит оговориться, что в любом случае нужно заглядывать на сторонние ресурсы, чтобы вспомнить то, что успело забыться. Первые основы работы с командной строкой встречаются уже в самом начале, когда начинается изучение Django, потом еще раз вспоминаем и узнаем много нового под завершение всего обучения.

За время прохождения курса, изучая Django и API научился читать документацию. Да это необходимость и профессиональный навык, одной теории будет недостаточно, но я считаю, что так правильно, нужно сразу учиться читать доку и привыкать к этому. Потом на работе все равно вы начнете это делать, от этого никуда не уйти.

Вообще в процессе обучения будет очень тяжело и трудно, как мне сказал мой наставник: «Нужно пройти бездну отчаяния», возможно даже ни один раз. Как раз поэтому, я научился правильно задавать вопросы и самое главное не бояться их задавать и тем более не бояться возможных резких ответов других студентов, на это так вообще не стоит обращать внимание.

До начала прохождения курса Бэкенд на ЯП мой технический английский (да и вообще английский) был на уровне «нуля». Если по началу, когда я встречал ошибки во время запуска кода или, происходили какие-то траблы при работе в терминале, то сразу впадал в ступор. Теперь же за год постоянной практики, я перестал бояться ошибок и научился читать на английском. Понятно, что уровень языка у меня не профессиональный, но уже достаточный для того, чтобы понять общий смысл сообщения или даже документации и статей. Я считаю, что это круто! Читайте больше, особенно на английском, это здорово пригодиться в будущем! Привыкайте к английскому, но не пугайтесь его ��

Кстати, еще одним из навыков, которые мне удалось получить за время обучения на ЯП – это умение организовывать других людей. Во время прохождения спринта по алгоритмам я был организатором онлайн встреч (по личной инициативе) с разбором задач по алгоритмам. Сам назначал встречу, сам искал эксперта, подбирал задачи, следил за таймингом и записью встреч, потом все это выкладывал в общий доступ. Как показала практика, такие встречи помогали многим. Так сказать, стал идейным вдохновителем! И у меня теперь есть такой навык! А по началу было страшно ��

ЯП учит общению с такими же новичками и уже опытными разработчиками, особенно говорить на одном языке и понимать друг друга. Так же, я научился строить свой нетворкинг.

Вообще ЯП приучает к самостоятельности. Как я и сказал, нужно привыкать читать доку, находить ответы на нетривиальные вопросы. Но при этом вы не останетесь одни: всегда есть техподдержка, есть общий чат в Слаке, так же есть наставники и другие студенты, которые всегда помогут и не оставят в беде. Ну а пока вы будете ждать ответ в чате, то лучше не терять время и почитать документацию или поискать свой ответ где-нибудь в поисковике или же внимательно перечитать теорию, мне так часто удавалось решить свои вопросы, потом даже удалял свои сообщения в чате Слака из-за неактуальности �� Кстати, нужно не забывать отдыхать! Даже короткий перерыв может помочь решить трудную задачу!

Одно из моих больших приобретений на ЯП это то, что я нашел много новых друзей, единомышленников, научился работать в команде!

Отдельная тема — это общение с ревьюерами. На самом деле это прекрасный опыт: по началу тебя бесит ревьюер своими замечаниями, кажется, что и без этого можно было бы обойтись, но потом начинаешь понимать, что это ценный опыт: тебе опытный разработчик говорит, как делать лучше и эффективнее!

Большим опытом для меня было то, что я пережил два академа (на курсе можно взять академ ��)! Многие воспринимают академ, как некую катастрофу, для меня это оказалось хорошим опытом. В первый академ я поменял свою учебную когорту (группу студентов одного потока) и наставника и перешел в новую когорту, которая подошла мне по духу больше, я дошел с этими ребятами практически до конца, но нужно было отдохнуть по некоторым причинам и пришлось взять еще один академ. И теперь я делаю итоговый проект уже в новой когорте (группе студентов другого потока).

Можно еще много всего перечислить, что мне пришлось пройти и изучить на данном курсе: это новый взгляд на Linux, алгоритмы это вообще отдельная история и куча разнообразных эмоций, знакомство с DevOps, запуск своего бота через телегу — отправка сообщений о статусе моего домашнего задания, научился правильно писать резюме и сопроводительные письма, узнал о том, как работают HR и как они оценивают наши навыки и резюме в целом, на что смотрят, а на что нет, таймменеджмент, энергоменеджмент, и многое другое. Самое главное — это практический опыт, который я получил, делая итоговые проекты. Все это вместе дало мне незабываемый год!

Спустя почти год после знакомства с ЯП я стал абсолютно другим человеком. Научился многому новому. Узнал столько, сколько один бы я точно никогда не узнал. Постоянная «варка» в общей нашей команде студентов каждый день давало что-то новое в плане знаний. В освоении всех этих навыком мне помог ЯП. Если вы все еще сомневаетесь начинать или нет, то не теряйте время, момент настал! Я очень жалею, что раньше не было такого курса! И ни разу не жалею о потраченных средствах, времени и силах. Было трудно, очень трудно, но оно того стоит! Главное не бояться пробовать, задавать вопросы, искать ответы самому – как результат будет положительный, бесценный опыт!

В планах продолжить свое обучение английскому языку на ЯП по курсу Флоу. Подход Флоу мне очень понравился. Пора браться за английский! Но сначала трудоустройство ��

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *