Девман для питонистов
538 subscribers
157 photos
3 videos
205 links
Веб-разработка на Python. Канал от практиков.

Сайт школы Девман: https://dvmn.org/
Контакт для связи: @yulya_devman
Download Telegram
🎄Мы собрали пожелания на 2026 год для вас от нашей команды:

Дорогие ученики! Помните: каждый великий проект начинался со строчки Hello, World!. Не бойтесь сложных задач — это не преграды, а ступени для вашего роста. Желаю вам чистого кода, быстрого деплоя и бесконечного интереса к обучению. Верю в каждого из вас!

— Наталия, администратор курсов

Поздравляю с наступающим новым годом! Желаю успехов в обучении, интересных задач, понятного кода и уверенного роста в программировании!

— Владимир, ментор

Терпение и труд все перетрут! С новым годом

— Ильмир, ментор

Поздравляю с наступающим Новым Годом! 🎄
Желаю легко и успешно пройти наш курс. Не опускать руки, когда кажется, что тяжело! Пусть в новом году вас ждут новые интересные проекты и только лучшие коллеги и команды!

— Светлана, HR Devman
10🔥2
Девман для питонистов
⚡️⚡️Спешим сообщить, что мы запускаем курс по проектированию баз данных! В мае мы проводили интенсив по проектированию баз данных, получили множество положительных откликов и решили преобразовать его в формат курса! 🚀Встречайте обновленный курс по проектированию…
⚡️Напоминаем, что до 11 января вы можете приобрести курс по БД по старой цене!

🔥Что будет в программе курса:

— Декомпозиция и проектирование функций программного продукта
— Проектирование схемы БД.
— Отрисовка схемы БД в draw.io
— Реализация моделей и QuerySet-методов в Django ORM
— 6 индивидуальных созвонов с Евгением Евсеевым.

‼️Оплачивайте сейчас и начинайте заниматься в новом году!

Цена до 11 января: 40 000 рублей

Старт: до конца февраля

Успейте забронировать место, потому что количество участников ограничено!
👉 Для записи на курс напишите нам в Телеграм!
👍1
Девман для питонистов
⚡️⚡️С 22.12.2025 мы повышаем цены на все мини-курсы на 15%! 🌟Оставляем неизменной цену только на курс «Основы Python»! Но есть и хорошие новости! Мы сохраним текущую стоимость на мини-курсы до конца новогодних каникул — до 11 января! 🎁А на курс «Основы…
⚡️Напоминаем, что до 11 января мы держим цены на наши мини-курсы!

⚡️Успейте приобрести курсы по старой цене! Дешевле уже не будет!

➡️ Выбрать и приобрести мини-курсы по старой цене можно здесь
➡️ Купить курс «Основы Python» со скидкой 15% можно здесь

Остались вопросы? Напишите нам в Телеграм!
1
Поздравления для вас с наступающим Новым годом от Евгения Евсеева, основателя Devman, и Юлии Евсеевой, генерального директора Devman! 🎄
4
This media is not supported in your browser
VIEW IN TELEGRAM
26🔥9
This media is not supported in your browser
VIEW IN TELEGRAM
26🔥6
🎅Впереди длинные выходные, а это отличный повод получить новые навыки!

Предлагаем вам наши курсы на Stepik, которые легко пройти за пару дней!

🔥Курс «Введение в Python: онлайн-магазин в телеграм за 4 часа»

Этот курс для тех, кто никогда не программировал, но хочет за выходные создать свой первый работающий проект — Telegram-бота для интернет-магазина WeekendShop. Это идеальный старт для абсолютных новичков без технического образования. Его цель — за 4 часа дать вам практический опыт и показать, что программирование может быть доступным и увлекательным.

🔥Курс по FastAPI
🚀Соберите свой первый прототип на FastAPI — работающее веб-приложение с интеграцией искусственного интеллекта и real-time взаимодействием всего за 4 часа!
Курс подойдет тем, кто прошел программу Профессии до уровня “джун”, а также действующим разработчикам, незнакомых с фреймворком FastAPI.

Оформить заявку можно здесь:
👉Курс «Основы Python»
👉Курс по FastAPI
2🔥1
💙Этот год стал для нас особенно насыщенным: мы много экспериментировали с форматами, делились практикой, разбирали ошибки и показывали Python таким, каким он бывает в реальной работе — без иллюзий, но с большими возможностями!

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

📌 Лучшие посты
Requests мертв. Да здравствует HTTPX!
Разгоняем аналитические запросы с ClickHouse
Что такое middleware в Django
Чем прототип отличается от MVP
Как FastAPI связан со Starlette
Как FastAPI связан с Uvicorn
Релиз Django 6.0 (если в предновогодней суете, вы пропустили новость про релиз новой версии!)

🎥 Лучшие видео
— Что лучше FastAPI или Django
Видео на Ютуб
Видео на Рутуб
— Стоит ли в 2025 году идти в IT или уже поздно?
Видео на Ютуб
Видео на Рутуб
— Реальные возможности ИИ-агентов и нейросетей: на что они сейчас способны
Видео на Ютуб
Видео на Рутуб
— Чистая архитектура: реальность или миф?
Видео на Ютуб
Видео на Рутуб

📝 Лучшие статьи
Грейд разработчика приходит с годами, но иногда годы приходят одни: зачем вам код-ревью
Как устроиться на работу выпускнику IT-курсов: советы от HR

👨‍🎓 Новые курсы, которые мы выпустили или обновили
FastAPI: Создаем AI генератор сайтов с нуля
Курс «Основы Python» на Stepik
Курс по FastAPI на Stepik
— Обновили мини-курсы «Django» и «Django: ORM»
— Закончили с обновлением мини-курса «Основы Python»

Сохраняйте подборку себе и делитесь с друзьями!

⚡️А еще напоминаем, что до 11 января вы можете приобрести наши курсы по старым ценам!
Наши мини-курсы
FastAPI: Создаем AI генератор сайтов с нуля
«Профессия Middle Python/Django разработчик»
🔥4
Девман для питонистов
⚡️⚡️С 22.12.2025 мы повышаем цены на все мини-курсы на 15%! 🌟Оставляем неизменной цену только на курс «Основы Python»! Но есть и хорошие новости! Мы сохраним текущую стоимость на мини-курсы до конца новогодних каникул — до 11 января! 🎁А на курс «Основы…
🎄Длинные новогодние праздники — отличный повод начать что-то новое!

Напоминаем, что до 11 января вы можете приобрести наши мини-курсы по старым ценам! А курс «Основы Python» еще и со скидкой 15%!

⚡️Успейте приобрести курсы по цене прошлого года!

➡️ Выбрать и приобрести мини-курсы по старой цене можно здесь
➡️ Купить курс «Основы Python» со скидкой 15% можно здесь
🎄 Продолжаем наш новогодний Python-интерактив! 🎄

❄️Давайте разберём, что выведет этот код?

print(2025 and 2026)

👉Выбирайте свой вариант ответа в опросе и пишите объяснения в комментариях!
Что выведет код?
Anonymous Poll
20%
2026
17%
Ошибку
10%
2025
54%
True
В Python оператор and возвращает последнее значение в логической цепочке, если все значения истинны.

В данном случае числа 2025 и 2026 интерпретируются как истинные значения, поэтому оператор and вернёт последнее значение — 2026.
👍5😱1
🎄 Продолжаем наш новогодний Python-интерактив! 🎄

❄️Давайте разберём, запустится ли этот код:

import random

gifts = (
"Годовой запас энергии",
"Новогодняя удача",
"Сбывшаяся мечта",
)


your_gift = random.choice(gifts)
print(f"Ваш подарок: {}")

👉Выбирайте свой вариант ответа в опросе и пишите объяснения в комментариях!
Запустится ли этот код?
Anonymous Poll
51%
Да
49%
Нет
Код не запустится! В f-строку обязательно нужно передать параметр, о чем намекнет линтер, если он настроен в вашей IDE или редакторе. Код не запускается — выдает ошибку SyntaxError. Не забывайте подарки!
👍3😱1
🎄 Продолжаем наш новогодний Python-интерактив! 🎄

❄️Давайте разберём, какой код работает:

Пример 1:
for symbol in ('Новый год!'):
print(symbol)

Пример 2:
python    
for symbol in (2026):
print(symbol)

👉Выбирайте свой вариант ответа в опросе и пишите объяснения в комментариях!
👍1
Цикл for пытается перебрать элементы, содержащиеся в (2026). Однако (2026) — это не коллекция элементов, а одно целое число, заключённое в скобки.

В Python для того, чтобы число стало коллекцией, его нужно представить в виде списка, кортежа или другого итерируемого объекта. Из-за этого при попытке выполнить данный код возникнет ошибка TypeError, указывающая на то, что объект типа int (целое число) не является итерируемым.

А вот “Новый Год” — это строка. Строки в Python являются коллекциями и по ним можно итерировать, т.е. проходить в цикле. Элементом станет каждый символ строки.
5
🤔 Давайте вместе разберемся, что не так с этим кодом?

def predict_rub_salary_hh(hh_vacancy):
if not hh_vacancy or hh_vacancy.get('currency') != 'RUR':
return

salary_from = hh_vacancy.get('from')
salary_to = hh_vacancy.get('to')

if not salary_to and salary_from:
return int(salary_from * 1.2)
if not salary_from and salary_to:
return int(salary_to * 0.8)
if salary_from and salary_to:
return int((salary_from + salary_to) / 2)


def predict_rub_salary_sj(sj_vacancy):
payment_from = sj_vacancy.get('payment_from')
payment_to = sj_vacancy.get('payment_to')
currency = sj_vacancy.get('currency')

if currency != 'rub':
return

if not payment_to and payment_from:
return int(payment_from * 1.2)
if not payment_from and payment_to:
return int(payment_to * 0.8)
if payment_from and payment_to:
return int((payment_from + payment_to) / 2)


👉 Чтобы понять, что можно исправить, загляните в типичные улучшения Девмана.
Копипаста кода — это плохо.

1️⃣ Если код нужно будет поменять — придётся искать все места, где он использовался и менять его везде, по всем файлам.

2️⃣ Если в коде будет ошибка — её не получится исправить разом, в одном месте, придётся опять же искать все места, где использовался этот код и чинить его несколько раз.

3️⃣Чем больше кода — тем труднее его читать.

Код из нашего примера может выглядеть так:
def get_expected_salary(salary_from, salary_to):
if not salary_to and salary_from:
return int(salary_from * 1.2)
if not salary_from and salary_to:
return int(salary_to * 0.8)
if salary_from and salary_to:
return int((salary_from + salary_to) / 2)


def predict_rub_salary_hh(hh_vacancy):
if not hh_vacancy or hh_vacancy.get('currency') != 'RUR':
return

salary_from = hh_vacancy.get('from')
salary_to = hh_vacancy.get('to')

return get_expected_salary(salary_from, salary_to)


def predict_rub_salary_sj(sj_vacancy):
payment_from = sj_vacancy.get('payment_from')
payment_to = sj_vacancy.get('payment_to')
currency = sj_vacancy.get('currency')

if currency.lower() != 'rub':
return

return get_expected_salary(payment_from, payment_to)


P.S. Спасибо нашим подписчикам за внимательное ревью!❤️ По ходу избавились от пустых return и elif. Если еще есть идеи как улучшить код — пишите свои варианты в комментариях!
👍4