Привет, это «Девман»!
🥳 Мы вернулись и будем делиться с вами полезными и интересными материалами по всему, что связано с Python, курсами и программированием! Не переключайтесь, будет интересно!
Пока мы готовим для вас сюрприз ко Дню знаний, предлагаем познакомиться поближе и пройти небольшой опрос, чтобы мы могли делиться материалами, которые будут вам полезны!
🥳 Мы вернулись и будем делиться с вами полезными и интересными материалами по всему, что связано с Python, курсами и программированием! Не переключайтесь, будет интересно!
Пока мы готовим для вас сюрприз ко Дню знаний, предлагаем познакомиться поближе и пройти небольшой опрос, чтобы мы могли делиться материалами, которые будут вам полезны!
🥰9🔥4❤1👍1
Скидки 25% на мини-курсы «Основы Python» и «Git и GitHub» с 1 по 6 сентября — отличный повод начать сентябрь с изучения Python! 🎉
➡️ Мини-курс «Основы Python» — это стартовый учебный курс из 8 уроков. С ним вы разберетесь с базовыми конструкциями языка и попрактикуетесь в отладке кода. Он подойдет вам, даже если вы никогда не пробовали программировать!
Получить скидку можно здесь
➡️ Мини-курс «Git и GitHub» состоит из 5 уроков. С ним вы освоите универсальные инструменты, которые позволяют совместно работать над кодом и сохранять историю изменений, когда над проектом работают несколько разработчиков. Это незаменимая штука для всех, кто связан с программированием.
Мини-курс будет полезен не только будущим разработчикам, но и тестировщикам, системным администраторам и верстальщикам!
Получить скидку можно здесь
Уже работаете в IT и знаете основы? Расскажите про скидки друзьям, которые давно хотели изучать Python!
➡️ Мини-курс «Основы Python» — это стартовый учебный курс из 8 уроков. С ним вы разберетесь с базовыми конструкциями языка и попрактикуетесь в отладке кода. Он подойдет вам, даже если вы никогда не пробовали программировать!
Получить скидку можно здесь
➡️ Мини-курс «Git и GitHub» состоит из 5 уроков. С ним вы освоите универсальные инструменты, которые позволяют совместно работать над кодом и сохранять историю изменений, когда над проектом работают несколько разработчиков. Это незаменимая штука для всех, кто связан с программированием.
Мини-курс будет полезен не только будущим разработчикам, но и тестировщикам, системным администраторам и верстальщикам!
Получить скидку можно здесь
Уже работаете в IT и знаете основы? Расскажите про скидки друзьям, которые давно хотели изучать Python!
🔥5❤3🥰2
Во время обучения и работы программистом часто приходится задавать вопросы, уточнять задание, просить помощи у более опытных коллег.
Грамотный и полный вопрос может ускорить решение задачи или вовсе закрыть её, а сформулированный «на скорую руку» — погрузить во многочасовое обсуждение абстракций без гарантий результата.
❓ Как же задавать вопросы своевременно и эффективно?
Сегодня расскажем о частых ошибках и поделимся рекомендациями.
Читайте в энциклопедии «Девман» полезные статьи на тему вопросов:
- Как гуглить
- Откуда берутся нерешаемые проблемы
- Не знаешь что выбрать — спроси у заказчика
- Метод утёнка
Грамотный и полный вопрос может ускорить решение задачи или вовсе закрыть её, а сформулированный «на скорую руку» — погрузить во многочасовое обсуждение абстракций без гарантий результата.
❓ Как же задавать вопросы своевременно и эффективно?
Сегодня расскажем о частых ошибках и поделимся рекомендациями.
Читайте в энциклопедии «Девман» полезные статьи на тему вопросов:
- Как гуглить
- Откуда берутся нерешаемые проблемы
- Не знаешь что выбрать — спроси у заказчика
- Метод утёнка
🔥6👍2❤1🥰1
⚡️ Всем привет! Это Devman. Предлагаем вам размяться и поискать улучшения для кода для чат-бота!
Описание продукта: чат-бот в Телеграм для обмена вещами позволяет пользователям обмениваться, если они лайкнули вещи друг друга.
Данные лежат в нереляционной базе данных redis json, уникальный id пользователя — chat_id Телеграма. Фрагмент кода ищет совпадение между лайками пользователей. Результат — булевое значение, указывающее доступна ли вещь для обмена.
Найдите проблемы в коде и предложите улучшение кода:
Предлагайте решения в комментариях, а мы вернемся завтра с нашим вариантом!
Описание продукта: чат-бот в Телеграм для обмена вещами позволяет пользователям обмениваться, если они лайкнули вещи друг друга.
Данные лежат в нереляционной базе данных redis json, уникальный id пользователя — chat_id Телеграма. Фрагмент кода ищет совпадение между лайками пользователей. Результат — булевое значение, указывающее доступна ли вещь для обмена.
Найдите проблемы в коде и предложите улучшение кода:
is_available = False
for stuff in users_stuff:
if stuff.status_like_users == False:
pass
else:
for user in stuff.status_like_users:
if user == username_2.external_id:
is_available = True
Предлагайте решения в комментариях, а мы вернемся завтра с нашим вариантом!
🔥6❤2
⚡️ Возвращаемся с нашим вариантом улучшения!
В первоначальном фрагменте кода мы нашли несколько проблем, которые стоит поправить:
➡️ Избавьтесь от сравнений с True/False
➡️Уточните названия переменных:
➡️ Разверните if, сделайте код плоским
➡️ Высушите код
➡️ Сократите валидаторы с использованием any
⚡️ И в результате нашли такое изящное решение:
➡️ То, что явно не было указано в задании — liked_by_chat_ids может быть пустой, тогда redis возвращает
➡️ По неймингу предлагаем использовать противопоставление «мое-чужое», чтобы явно различать пользователей.
➡️ Поскольку
Мы увидели много классных вариантов в комментариях!
➡️ Конструкцию с
➡️ @IlyaShirko озвучил и начал ремонт нейминга —
➡️ @LuSP7 продолжил успешно чинить нейминг
Всем спасибо за активность! Кому понравился формат — ставьте 🔥 и мы пойдем искать еще фрагменты для улучшайзинга!
В первоначальном фрагменте кода мы нашли несколько проблем, которые стоит поправить:
➡️ Избавьтесь от сравнений с True/False
➡️Уточните названия переменных:
users_stuff, username_2, external_id, status_like_users➡️ Разверните if, сделайте код плоским
➡️ Высушите код
➡️ Сократите валидаторы с использованием any
⚡️ И в результате нашли такое изящное решение:
# Лайкнул ли владелец чужой вещи что-то из вещей пользователя
has_match = any(
foreign_stuff_owner.chat_id in my_stuff.liked_by_chat_ids
for my_stuff in my_stuff_items if my_stuff.liked_by_chat_ids # liked_by_chat_ids can be False
)
➡️ То, что явно не было указано в задании — liked_by_chat_ids может быть пустой, тогда redis возвращает
False, поэтому добавили проверочку. ➡️ По неймингу предлагаем использовать противопоставление «мое-чужое», чтобы явно различать пользователей.
➡️ Поскольку
stuff во множественном числе не используется, то в этом случае корректно использовать stuff_items для указания на коллекцию вещейМы увидели много классных вариантов в комментариях!
➡️ Конструкцию с
any предложил почти сразу @thunderhawkk. ➡️ @IlyaShirko озвучил и начал ремонт нейминга —
liked_by утащили даже в наш итоговый вариант➡️ @LuSP7 продолжил успешно чинить нейминг
Всем спасибо за активность! Кому понравился формат — ставьте 🔥 и мы пойдем искать еще фрагменты для улучшайзинга!
DEVMAN
Избавьтесь от сравнений с True/False
Следующие две конструкции делают одно и то же: if value == True: if value: Еще …
🔥12
Скидки 25% на мини-курсы «Асинхронный Python», «Чат-боты на Python», «Django», «Знакомство с Django: ORM» с 12 по 18 сентября ко Дню программиста! 🎉
Спешим поздравить вас с наступающим праздником и дарим скидки на мини-курсы, чтобы вы могли усилить свое резюме новыми скиллами!
С мини-курсом «Асинхронный Python» вы сможете упрощать архитектуру ПО и создавать сложные проекты, не теряя в скорости разработки.
👉 Получить скидку здесь
С мини-курсом «Чат-боты на Python» вы получите боевые навыки создания ботов — научитесь разворачивать их на серверах, работать с базами данных и заглянете «под капот» к популярным библиотекам.
👉 Получить скидку здесь
С мини-курсом «Знакомство с Django: ORM» погрузитесь в мир баз данных, научитесь работать с ними и писать сложные запросы.
👉 Получить скидку здесь
С мини-курсом «Django» изучите самый популярный веб-фреймворк на Python — сможете создавать современные сайты, строить стартапы и работать над проектами крупных IT-компаний!
👉 Получить скидку здесь
Спешим поздравить вас с наступающим праздником и дарим скидки на мини-курсы, чтобы вы могли усилить свое резюме новыми скиллами!
С мини-курсом «Асинхронный Python» вы сможете упрощать архитектуру ПО и создавать сложные проекты, не теряя в скорости разработки.
👉 Получить скидку здесь
С мини-курсом «Чат-боты на Python» вы получите боевые навыки создания ботов — научитесь разворачивать их на серверах, работать с базами данных и заглянете «под капот» к популярным библиотекам.
👉 Получить скидку здесь
С мини-курсом «Знакомство с Django: ORM» погрузитесь в мир баз данных, научитесь работать с ними и писать сложные запросы.
👉 Получить скидку здесь
С мини-курсом «Django» изучите самый популярный веб-фреймворк на Python — сможете создавать современные сайты, строить стартапы и работать над проектами крупных IT-компаний!
👉 Получить скидку здесь
👍4🔥3❤1
Цель курсов Девмана — подготовить программистов, умеющих писать код, который легко читать, поддерживать и расширять.
Девман изначально появился именно как решение проблемы недостатка квалифицированных бэкендеров.
💻 Уметь писать код — значит автоматизировать навык, проделать это много раз. А не просто прочитать книгу/статью/документацию и пересказать.
🗣 Лекции. Сначала пробовали пойти по классическому пути чтобы обучить разработчиков — Евгений читал курс по выбору в МГТУ им. Н.Э. Баумана.
Результат — всего двое студентов выполняли домашние задания и смогли что-то показать на выходе. Но и они не были готовы с ходу включиться в проект и усваивали лишь малую часть материала. Так классический подход был отметён.
🚀 Обучение действием. По данным исследований уже в течение первого часа забывается до 60% всей прочитанной или услышанной информации, через 10 часов в памяти остаётся 35% от изученного.
Learning-by-doing или обучение действием — это практический метод обучения, который популяризировали в 80-е, а начали применять еще в древние времена.
Идея простая: чтобы стать программистом, надо программировать. Мы решили использовать этот подход и собрали из реальных проектов учебные. Ученик выполняет проект, пишет код с самого первого урока «Раскрутите планету», а теорию читает под конкретную задачу.
🎬 Видео или текст? Видео в уроках Девмана почти нет. Разовые исключения сделаны в случаях, когда надо познакомить с интерфейсом или с основными концептами новой технологии.
Текст экономит время — больше останется на программирование.
Текстом удобно пользоваться — искать фрагменты, копировать код.
Чтение — активный мыслительный процесс, который может быть эффективнее для запоминания. Долой видео, да здравствует Энциклопедия!
Практические уроки Девмана сами по себе лишь наметили бы маршрут для самообучения, если бы не секретный ингредиент… код-ревью!
👉 Попробуйте написать свой первый код на Python в уроке «Раскрутите планету» (кстати, он бесплатный!) или победите первого чат-бота со статьей «Как учить Python с нуля с удовольствием: пишем своего чат-бота».
Какие форматы уроков вам нравятся больше всего и что помогает запоминать информацию? Поделитесь своим опытом обучения в комментариях ➡️
Девман изначально появился именно как решение проблемы недостатка квалифицированных бэкендеров.
💻 Уметь писать код — значит автоматизировать навык, проделать это много раз. А не просто прочитать книгу/статью/документацию и пересказать.
🗣 Лекции. Сначала пробовали пойти по классическому пути чтобы обучить разработчиков — Евгений читал курс по выбору в МГТУ им. Н.Э. Баумана.
Результат — всего двое студентов выполняли домашние задания и смогли что-то показать на выходе. Но и они не были готовы с ходу включиться в проект и усваивали лишь малую часть материала. Так классический подход был отметён.
🚀 Обучение действием. По данным исследований уже в течение первого часа забывается до 60% всей прочитанной или услышанной информации, через 10 часов в памяти остаётся 35% от изученного.
Learning-by-doing или обучение действием — это практический метод обучения, который популяризировали в 80-е, а начали применять еще в древние времена.
Идея простая: чтобы стать программистом, надо программировать. Мы решили использовать этот подход и собрали из реальных проектов учебные. Ученик выполняет проект, пишет код с самого первого урока «Раскрутите планету», а теорию читает под конкретную задачу.
🎬 Видео или текст? Видео в уроках Девмана почти нет. Разовые исключения сделаны в случаях, когда надо познакомить с интерфейсом или с основными концептами новой технологии.
Текст экономит время — больше останется на программирование.
Текстом удобно пользоваться — искать фрагменты, копировать код.
Чтение — активный мыслительный процесс, который может быть эффективнее для запоминания. Долой видео, да здравствует Энциклопедия!
Практические уроки Девмана сами по себе лишь наметили бы маршрут для самообучения, если бы не секретный ингредиент… код-ревью!
👉 Попробуйте написать свой первый код на Python в уроке «Раскрутите планету» (кстати, он бесплатный!) или победите первого чат-бота со статьей «Как учить Python с нуля с удовольствием: пишем своего чат-бота».
Какие форматы уроков вам нравятся больше всего и что помогает запоминать информацию? Поделитесь своим опытом обучения в комментариях ➡️
dvmn.org
Курс Python-разработчик: обучение программированию на Python для начинающих
Обучение веб-разработке на Python до уровня Middle. Курс Python-разработчик от Devman с сертификатом и гарантией трудоустройства. Обучись языку программирования и стань востребованным специалистом.
🔥6👍2❤1
Делимся историей нашего ученика Тимура о том, как Devman помогает решать реальные практические задачи.
Тимур пришел к нам с конкретным запросом — нужен курс, в результате прохождения которого, он сможет сам разработать платформу для трекинга командировок.
👉 Читайте, что из этого вышло в статье!
Тимур пришел к нам с конкретным запросом — нужен курс, в результате прохождения которого, он сможет сам разработать платформу для трекинга командировок.
👉 Читайте, что из этого вышло в статье!
👍3🔥3
Код-ревью — это практика в разработке программного обеспечения, когда более опытный специалист просматривает код и по итогам дает автору список улучшений, которые нужны, чтобы влить код в основную ветку проекта.
Ревью не столько помогает отловить баги и ошибки в работе программы — это все-таки больше к тестированию, сколько – сделать код легко читаемым, масштабируемым, стабильным и безопасным.
⚡️ Код-ревью от действующего разработчика — ключевое звено методики Девмана. Ученик получает список улучшений, которые расскажут про best practice, помогут сделать код оптимальнее, изящнее, чище. Код-ревью позволяет сократить время обучения в разы, подняв планку качества кода наших выпускников до уровня джун+/миддл.
⚡️ Чистота кода. В Python есть обязательный стандарт PEP8, в котором рассмотрены правила форматирования и наименования объектов.
В интернете можно найти много книг по чистоте кода. Но в требованиях к коду нет единства. Общепринятого списка лучших практик в одном учебнике не найти.
⚡️ Улучшения Девмана. Улучшения всегда имеют блок мотивации — чем предложенный вариант кода лучше и в какой ситуации.
Почти всегда улучшение сводится к усовершенствования читаемости, возможностей поддержки и/или наращивания функционала.
Для ревьюеров действует правило «не уверен — не штрафуй». Если разработчик не может аргументировать, чем предложенный вариант лучше, то вариант отклоняется.
Никаких безосновательных требований из серии «непреложная истина — просто делай так и не спрашивай».
Если уверены, что в данной ситуации предложенное проверяющим решение не оптимально — аргументируйте. Опирайтесь на конкретные кейсы. «Потому что Вася сказал» — не работает в обе стороны.
⚡️ Контекст важен. Код оценивается только применительно к конкретной ситуации. ООП незаменимо для Django ORM, но использование его для пары запросов через API усложняет поддержку и чтение кода. Не надо забивать гвозди микроскопом!
⚡️ Накопление опыта. В Девмане накоплен почти 20-летний опыт веб-разработки, которые позволяет сделать код стабильный, расширяемым и простым для поддержки.
Да-да, автор курса Евгений начинал, когда еще даже первую Джангу только готовили к релизу! База улучшений Девмана – это больше, чем опыт одного разработчика. Это копилка, куда мы собираем опыт многих специалистов.
⚡️ Критика или советы. Улучшения не нужно рассматривать как список ошибок или критику. Вы выполнили урок, код работает! Уже победа! Но предусмотреть все проблемы, не имея опыта разработки и поддержки ПО невозможно.
Во время обучения лучше максимально «наступить на грабли» и разобраться во всех неудачных решениях, которые приходили в голову. Чтобы на выходе действительно владеть и применять к месту лучшие практики Python.
⚡️ Пропустить нельзя. Все улучшения придется выполнить.
Во-первых, вы получаете проект, который не стыдно добавить в портфолио.
Во-вторых, вы не будете повторять неудачные решения в последующих уроках. По этой же причине нельзя получить доступ к следующему уроку, не сдав предыдущий.
А вот проходить несколько тем параллельно наоборот рекомендуем. Так и разнообразнее, и не теряется время, пока ждёте ревью.
В разработке часто используют именно блокирующие код-ревью, когда без него нельзя влить код в main-ветку проекта. Правило блокирующих ревью действует для всех уроков Девмана.
➡️ Попробуйте код-ревью при прохождении бесплатных уроков в модулях «Основы Python», «API веб-сервисов» и «Знакомство с Django: ORM». Или записывайтесь на тестовый урок курса «Профессия Middle Python/Django разработчик» — расскажем подробно о том, как проходит код-ревью!
Узнайте в Энциклопедии, какой код называется чистым и наши рекомендации по форматированию кода:
➡️ Что такое чистая функция
➡️ Понятные названия
➡️ Форматирование кода
У вас был опыт код-ревью на курсах или на работе? Делитесь впечатлениями в комментариях!➡️
Ревью не столько помогает отловить баги и ошибки в работе программы — это все-таки больше к тестированию, сколько – сделать код легко читаемым, масштабируемым, стабильным и безопасным.
⚡️ Код-ревью от действующего разработчика — ключевое звено методики Девмана. Ученик получает список улучшений, которые расскажут про best practice, помогут сделать код оптимальнее, изящнее, чище. Код-ревью позволяет сократить время обучения в разы, подняв планку качества кода наших выпускников до уровня джун+/миддл.
⚡️ Чистота кода. В Python есть обязательный стандарт PEP8, в котором рассмотрены правила форматирования и наименования объектов.
В интернете можно найти много книг по чистоте кода. Но в требованиях к коду нет единства. Общепринятого списка лучших практик в одном учебнике не найти.
⚡️ Улучшения Девмана. Улучшения всегда имеют блок мотивации — чем предложенный вариант кода лучше и в какой ситуации.
Почти всегда улучшение сводится к усовершенствования читаемости, возможностей поддержки и/или наращивания функционала.
Для ревьюеров действует правило «не уверен — не штрафуй». Если разработчик не может аргументировать, чем предложенный вариант лучше, то вариант отклоняется.
Никаких безосновательных требований из серии «непреложная истина — просто делай так и не спрашивай».
Если уверены, что в данной ситуации предложенное проверяющим решение не оптимально — аргументируйте. Опирайтесь на конкретные кейсы. «Потому что Вася сказал» — не работает в обе стороны.
⚡️ Контекст важен. Код оценивается только применительно к конкретной ситуации. ООП незаменимо для Django ORM, но использование его для пары запросов через API усложняет поддержку и чтение кода. Не надо забивать гвозди микроскопом!
⚡️ Накопление опыта. В Девмане накоплен почти 20-летний опыт веб-разработки, которые позволяет сделать код стабильный, расширяемым и простым для поддержки.
Да-да, автор курса Евгений начинал, когда еще даже первую Джангу только готовили к релизу! База улучшений Девмана – это больше, чем опыт одного разработчика. Это копилка, куда мы собираем опыт многих специалистов.
⚡️ Критика или советы. Улучшения не нужно рассматривать как список ошибок или критику. Вы выполнили урок, код работает! Уже победа! Но предусмотреть все проблемы, не имея опыта разработки и поддержки ПО невозможно.
Во время обучения лучше максимально «наступить на грабли» и разобраться во всех неудачных решениях, которые приходили в голову. Чтобы на выходе действительно владеть и применять к месту лучшие практики Python.
⚡️ Пропустить нельзя. Все улучшения придется выполнить.
Во-первых, вы получаете проект, который не стыдно добавить в портфолио.
Во-вторых, вы не будете повторять неудачные решения в последующих уроках. По этой же причине нельзя получить доступ к следующему уроку, не сдав предыдущий.
А вот проходить несколько тем параллельно наоборот рекомендуем. Так и разнообразнее, и не теряется время, пока ждёте ревью.
В разработке часто используют именно блокирующие код-ревью, когда без него нельзя влить код в main-ветку проекта. Правило блокирующих ревью действует для всех уроков Девмана.
➡️ Попробуйте код-ревью при прохождении бесплатных уроков в модулях «Основы Python», «API веб-сервисов» и «Знакомство с Django: ORM». Или записывайтесь на тестовый урок курса «Профессия Middle Python/Django разработчик» — расскажем подробно о том, как проходит код-ревью!
Узнайте в Энциклопедии, какой код называется чистым и наши рекомендации по форматированию кода:
➡️ Что такое чистая функция
➡️ Понятные названия
➡️ Форматирование кода
У вас был опыт код-ревью на курсах или на работе? Делитесь впечатлениями в комментариях!➡️
🔥4👍3
Как работает Девман? Структура урока
⭐️ История. Урок Девмана — это проект. В нем всегда есть заказчик, с его историей и потребностями, и тимлид, выполняющий код-ревью. Выполнить урок — значит написать программный продукт, которым удобно пользоваться, у которого есть документация и который решает проблему заказчика.
Требования к итоговому результату возрастают постепенно. В «Основах Python» достаточно написать код с учетом требований к чистоте кода.
В «API веб-сервисов» уже придется оформить репозиторий на GitHub и написать первый файл документации
⭐️ Теория. Уроки не перегружены теорией — только необходимый минимум. В интернете доступно огромное количество теории в разных форматах и стилях на любой вкус. Читайте по теме урока статьи и книги, расширяйте свои знания и технологиях и внутреннем устройстве Python. Изучайте документацию и будьте в курсе новостей ИТ-отрасли. Умение самостоятельно искать информацию – тоже навык разработчика.
⭐️ Шаги. Новичку сложно проложить путь с нуля до цели, не заблудившись. Поэтому шаги — это маршрут, который мы уже проложили для вас, чтобы упростить задачу и ускорить прохождение. Став разработчиком, вы научитесь это делать самостоятельно. А потренироваться можно уже на командных проектах.
⭐️ Цель. Каждый шаг начинается с цели — точка маршрута, к которой надо прийти. Старайтесь держать в голове при этом основную задачу проекта, описанную в начале урока. Так меньше шансов свернуть не туда по мере прохождения. Читайте начало шага, чтобы понимать зачем и что нужно сделать. Каждый шаг решает задачу.
⭐️ Как проверить. Это список объективных критериев, по которым вы сможете самостоятельно убедиться, что шаг пройден.
⭐️ Что понадобится. Зная цель, ознакомьтесь с материалами и попробуйте применить предложенные инструменты для выполнения шага.
⭐️ Тестирование. Перед тем как отправить код на проверку, убедитесь, что он работает и соответствует заданию. Не забудьте обновить инструкции для разработчиков в документации.
⭐️ Сдача проекта. В последнем шаге нужно отправить на проверку ссылку на проект — на репозиторий GitHub. После чего вас ждёт ещё несколько итераций код-ревью и улучшений, пока все проблемы не будут устранены. Поздравляем, ещё один кейс в портфолио готов!
👉 Для тех, кто ещё не приступил к обучению на Девмане, есть возможность пройти бесплатные уроки с код-ревью из «Основ Python» и «API веб-сервисов». Или записаться на тестовый урок и пообщаться с нашими менторами.
➡️ Проходили онлайн-курсы? Расскажите, как было устроено ваше обучение в комментариях!
⭐️ История. Урок Девмана — это проект. В нем всегда есть заказчик, с его историей и потребностями, и тимлид, выполняющий код-ревью. Выполнить урок — значит написать программный продукт, которым удобно пользоваться, у которого есть документация и который решает проблему заказчика.
Требования к итоговому результату возрастают постепенно. В «Основах Python» достаточно написать код с учетом требований к чистоте кода.
В «API веб-сервисов» уже придется оформить репозиторий на GitHub и написать первый файл документации
README.md. А своих чат-ботов и сайты на Django нужно будет дополнительно развернуть на удаленном сервере. Идеи для проектов стараемся брать из практики. Иногда разработка одного программного продукта может быть разбита на несколько уроков.⭐️ Теория. Уроки не перегружены теорией — только необходимый минимум. В интернете доступно огромное количество теории в разных форматах и стилях на любой вкус. Читайте по теме урока статьи и книги, расширяйте свои знания и технологиях и внутреннем устройстве Python. Изучайте документацию и будьте в курсе новостей ИТ-отрасли. Умение самостоятельно искать информацию – тоже навык разработчика.
⭐️ Шаги. Новичку сложно проложить путь с нуля до цели, не заблудившись. Поэтому шаги — это маршрут, который мы уже проложили для вас, чтобы упростить задачу и ускорить прохождение. Став разработчиком, вы научитесь это делать самостоятельно. А потренироваться можно уже на командных проектах.
⭐️ Цель. Каждый шаг начинается с цели — точка маршрута, к которой надо прийти. Старайтесь держать в голове при этом основную задачу проекта, описанную в начале урока. Так меньше шансов свернуть не туда по мере прохождения. Читайте начало шага, чтобы понимать зачем и что нужно сделать. Каждый шаг решает задачу.
⭐️ Как проверить. Это список объективных критериев, по которым вы сможете самостоятельно убедиться, что шаг пройден.
⭐️ Что понадобится. Зная цель, ознакомьтесь с материалами и попробуйте применить предложенные инструменты для выполнения шага.
⭐️ Тестирование. Перед тем как отправить код на проверку, убедитесь, что он работает и соответствует заданию. Не забудьте обновить инструкции для разработчиков в документации.
⭐️ Сдача проекта. В последнем шаге нужно отправить на проверку ссылку на проект — на репозиторий GitHub. После чего вас ждёт ещё несколько итераций код-ревью и улучшений, пока все проблемы не будут устранены. Поздравляем, ещё один кейс в портфолио готов!
👉 Для тех, кто ещё не приступил к обучению на Девмане, есть возможность пройти бесплатные уроки с код-ревью из «Основ Python» и «API веб-сервисов». Или записаться на тестовый урок и пообщаться с нашими менторами.
➡️ Проходили онлайн-курсы? Расскажите, как было устроено ваше обучение в комментариях!
👍5🔥3
❓ Как найти работу после IT-курсов? С удалёнкой, соц. пакетом и с зарплатой выше, чем у стажера? Миссия выполнима!
Делимся рекомендациями от нашего HR — Татьяны Бордюговой.
👉 Читайте в статье:
⚡️ На что обратить внимание еще до начала обучения
⚡️ Как увеличить свои шансы на трудоустройство во время обучения
⚡️ Что важно указать в резюме
Делитесь своим опытом поиска работы в комментариях ➡️
Делимся рекомендациями от нашего HR — Татьяны Бордюговой.
👉 Читайте в статье:
⚡️ На что обратить внимание еще до начала обучения
⚡️ Как увеличить свои шансы на трудоустройство во время обучения
⚡️ Что важно указать в резюме
Делитесь своим опытом поиска работы в комментариях ➡️
❤5🔥3
➡️ Выбирайте правильный ответ из предложенных и пишите в комментариях, почему выбрали именно этот ответ!
Anonymous Poll
14%
a. ['apple', 'banana', 'cherry]
82%
b. ['apple', 'banana', 'cherry, 'watermelon']
3%
c. выдаст ошибку
1%
d. ['watermelon', 'apple', 'banana', 'cherry’]
🔥1
Правильный ответ -- b!🥳
Следуя принципам чистоты кода, менять входные данные внутри функции нежелательно и небезопасно. Поэтому подобное поведение функции — проблема, которую надо исправить. У нас даже улучшение такое есть.
Почему так происходит
Дело в том, что при выполнении присвоения
Как исправить
Нужно записать в локальную переменную внутри функции вместо ссылки на старый список, копию списка. Например, так:
О других способах читайте в Энциклопедии Девмана и держите свой код чистым!
Следуя принципам чистоты кода, менять входные данные внутри функции нежелательно и небезопасно. Поэтому подобное поведение функции — проблема, которую надо исправить. У нас даже улучшение такое есть.
Почему так происходит
Дело в том, что при выполнении присвоения
= для списков — новая переменная сохраняет ссылку на старый список без копирования элементов. Проблема возникает при использовании изменяемых (mutable) объектов.Как исправить
Нужно записать в локальную переменную внутри функции вместо ссылки на старый список, копию списка. Например, так:
initial_fruits = ['apple', 'banana', 'cherry']
def add_new_fruit(input_fruits, new_fruit):
fruits = input_fruits.copy()
fruits.append(new_fruit)
return fruits
add_new_fruit(initial_fruits, 'watermelon')
print(initial_fruits)
О других способах читайте в Энциклопедии Девмана и держите свой код чистым!
❤1👍1🔥1
Что должен уметь разработчик?
Профессия программиста на первый взгляд кажется чисто технической и интуитивно хочется сделать ставку на хард скиллы, изучая технологии и инструменты. Но на практике все гораздо сложнее. И чтобы стать успешными и востребованным специалистом, придется прокачать софт скиллы.
🗣 Коммуникация
Времена программистов-одиночек остались в прошлом. Нужно уметь работать в команде. Общаться придется с заказчиком, с фронтендером, тестировщиком, продукт-менеджером и девопсером. Поэтому крайне важно уметь находить win-win решения, конструктивно решать конфликты и воспринимать критику.
📊 Менеджмент
Прежде всего надо научиться самоорганизации. Программирование остаётся по большей части творческим процессом. Нужно уметь концентрироваться, планировать, декомпозировать задачи на более мелкие, вести учёт и анализ рабочего времени. Если хотите в будущем стать тимлидом, то понадобится все тоже самое научиться транслировать команде. Нет прокрастинации и потерянным задачам!
🧠 Продуктовое мышление
Программный продукт — это инструмент, с помощью которого пользователь решает свои задачи. Если продукт не решает задачу или им неудобно пользоваться в ситуации пользователя — он бесполезен. Узнайте кто пользователи, в каких ситуациях они используют ПО, чего хотят. Не забудьте про ограничения заказчика. Познакомьтесь с фреймворком Jobs To Be Done, чтобы лучше понимать суть продукта. Если сможете развить продуктовое мышление и при этом набрать опыт, то сможете прокачаться до архитектора ПО.
🧑💻 Обучаемость
Веб и ИТ-отрасль в целом постоянно меняются. Каждый месяц появляются новые технологии, готовые решения, обновляются библиотеки. Нельзя один раз научиться и просто работать разработчиком до пенсии.
Разработчику приходится регулярно осваивать новые библиотеки и инструменты. Интерес к новому, готовность искать непривычные маршруты, навыки запоминания и критического анализа информации помогут быстро обучаться и повышать свой уровень как разработчика.
Важно научиться самостоятельно выстраивать обучение в формате практического подхода learning-by-doing, чтобы эффективно нарабатывать новые навыки и после использовать их в работе. Разрабатывайте пет-проекты, прототипы, просите коллег с опытом сделать ревью ваших проектов.
Считаете ли вы софт скиллы важными для разработчика? Помогают ли они вам в работе? Делитесь мнением в комментариях 👉
Профессия программиста на первый взгляд кажется чисто технической и интуитивно хочется сделать ставку на хард скиллы, изучая технологии и инструменты. Но на практике все гораздо сложнее. И чтобы стать успешными и востребованным специалистом, придется прокачать софт скиллы.
🗣 Коммуникация
Времена программистов-одиночек остались в прошлом. Нужно уметь работать в команде. Общаться придется с заказчиком, с фронтендером, тестировщиком, продукт-менеджером и девопсером. Поэтому крайне важно уметь находить win-win решения, конструктивно решать конфликты и воспринимать критику.
📊 Менеджмент
Прежде всего надо научиться самоорганизации. Программирование остаётся по большей части творческим процессом. Нужно уметь концентрироваться, планировать, декомпозировать задачи на более мелкие, вести учёт и анализ рабочего времени. Если хотите в будущем стать тимлидом, то понадобится все тоже самое научиться транслировать команде. Нет прокрастинации и потерянным задачам!
🧠 Продуктовое мышление
Программный продукт — это инструмент, с помощью которого пользователь решает свои задачи. Если продукт не решает задачу или им неудобно пользоваться в ситуации пользователя — он бесполезен. Узнайте кто пользователи, в каких ситуациях они используют ПО, чего хотят. Не забудьте про ограничения заказчика. Познакомьтесь с фреймворком Jobs To Be Done, чтобы лучше понимать суть продукта. Если сможете развить продуктовое мышление и при этом набрать опыт, то сможете прокачаться до архитектора ПО.
🧑💻 Обучаемость
Веб и ИТ-отрасль в целом постоянно меняются. Каждый месяц появляются новые технологии, готовые решения, обновляются библиотеки. Нельзя один раз научиться и просто работать разработчиком до пенсии.
Разработчику приходится регулярно осваивать новые библиотеки и инструменты. Интерес к новому, готовность искать непривычные маршруты, навыки запоминания и критического анализа информации помогут быстро обучаться и повышать свой уровень как разработчика.
Важно научиться самостоятельно выстраивать обучение в формате практического подхода learning-by-doing, чтобы эффективно нарабатывать новые навыки и после использовать их в работе. Разрабатывайте пет-проекты, прототипы, просите коллег с опытом сделать ревью ваших проектов.
Считаете ли вы софт скиллы важными для разработчика? Помогают ли они вам в работе? Делитесь мнением в комментариях 👉
🔥6👍2