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

Сайт школы Девман: https://dvmn.org/
Контакт для связи: @yulya_devman
Download Telegram
Нас больше 300! 🥳

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

Все подробности розыгрыша здесь:
https://t.me/devmanwiki/27
8🔥5👍2🥰1
Друзья, у нас возникли технические неполадки. Мы припозднились, только что выгрузили список участников. В связи с этим вопрос👇
Проводим трансляцию с итогами
Anonymous Poll
55%
Сейчас
45%
Завтра с утра
В этой тяжелой борьбе победил вариант "Сейчас") Начнем трансляцию через 5 минут
4👍1
Live stream finished (7 minutes)
Победитель 1️⃣: @otolstova

Победитель 2️⃣: @Ilyaangreevich

Победитель 3️⃣: @annfike

Поздравляем!🥳🥳🥳
Завтра с вами свяжется наш менеджер @andrey_from_devman

❤️- лайк на пост, если хотите больше розыгрышей😉
Please open Telegram to view this post
VIEW IN TELEGRAM
40👍7🔥5
Привет, это «Девман»!

🥳 Мы вернулись и будем делиться с вами полезными и интересными материалами по всему, что связано с Python, курсами и программированием! Не переключайтесь, будет интересно!

Пока мы готовим для вас сюрприз ко Дню знаний, предлагаем познакомиться поближе и пройти небольшой опрос, чтобы мы могли делиться материалами, которые будут вам полезны!
🥰9🔥41👍1
Скидки 25% на мини-курсы «Основы Python» и «Git и GitHub» с 1 по 6 сентября — отличный повод начать сентябрь с изучения Python! 🎉

➡️ Мини-курс «Основы Python» — это стартовый учебный курс из 8 уроков. С ним вы разберетесь с базовыми конструкциями языка и попрактикуетесь в отладке кода. Он подойдет вам, даже если вы никогда не пробовали программировать!

Получить скидку можно здесь

➡️ Мини-курс «Git и GitHub» состоит из 5 уроков. С ним вы освоите универсальные инструменты, которые позволяют совместно работать над кодом и сохранять историю изменений, когда над проектом работают несколько разработчиков. Это незаменимая штука для всех, кто связан с программированием.

Мини-курс будет полезен не только будущим разработчикам, но и тестировщикам, системным администраторам и верстальщикам!

Получить скидку можно здесь

Уже работаете в IT и знаете основы? Расскажите про скидки друзьям, которые давно хотели изучать Python!
🔥53🥰2
Во время обучения и работы программистом часто приходится задавать вопросы, уточнять задание, просить помощи у более опытных коллег.

Грамотный и полный вопрос может ускорить решение задачи или вовсе закрыть её, а сформулированный «на скорую руку» — погрузить во многочасовое обсуждение абстракций без гарантий результата.

Как же задавать вопросы своевременно и эффективно?

Сегодня расскажем о частых ошибках и поделимся рекомендациями.

Читайте в энциклопедии «Девман» полезные статьи на тему вопросов:
- Как гуглить
- Откуда берутся нерешаемые проблемы
- Не знаешь что выбрать — спроси у заказчика
- Метод утёнка
🔥6👍21🥰1
⚡️ Всем привет! Это Devman. Предлагаем вам размяться и поискать улучшения для кода для чат-бота!

Описание продукта: чат-бот в Телеграм для обмена вещами позволяет пользователям обмениваться, если они лайкнули вещи друг друга.

Данные лежат в нереляционной базе данных 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

Предлагайте решения в комментариях, а мы вернемся завтра с нашим вариантом!
🔥62
⚡️ Возвращаемся с нашим вариантом улучшения!

В первоначальном фрагменте кода мы нашли несколько проблем, которые стоит поправить:

➡️ Избавьтесь от сравнений с 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 продолжил успешно чинить нейминг

Всем спасибо за активность! Кому понравился формат — ставьте 🔥 и мы пойдем искать еще фрагменты для улучшайзинга!
🔥12
Скидки 25% на мини-курсы «Асинхронный Python», «Чат-боты на Python», «Django», «Знакомство с Django: ORM» с 12 по 18 сентября ко Дню программиста! 🎉

Спешим поздравить вас с наступающим праздником и дарим скидки на мини-курсы, чтобы вы могли усилить свое резюме новыми скиллами!

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

👉 Получить скидку здесь

С мини-курсом «Чат-боты на Python» вы получите боевые навыки создания ботов — научитесь разворачивать их на серверах, работать с базами данных и заглянете «под капот» к популярным библиотекам.

👉 Получить скидку здесь

С мини-курсом «Знакомство с Django: ORM» погрузитесь в мир баз данных, научитесь работать с ними и писать сложные запросы.

👉 Получить скидку здесь

С мини-курсом «Django» изучите самый популярный веб-фреймворк на Python — сможете создавать современные сайты, строить стартапы и работать над проектами крупных IT-компаний!

👉 Получить скидку здесь
👍4🔥31