🥳Впереди длинные выходные и это отличный повод начать что-то новое!
Предлагаем вам наши курсы на Stepik, которые легко пройти за пару дней!
🔥Курс «Введение в Python: онлайн-магазин в телеграм за 4 часа»
Этот курс для тех, кто никогда не программировал, но хочет за выходные создать свой первый работающий проект — Telegram-бота для интернет-магазина WeekendShop.
Это идеальный старт для абсолютных новичков без технического образования. Его цель — за 4 часа дать вам практический опыт и показать, что программирование может быть доступным и увлекательным.
🔥Курс по FastAPI: чат с ИИ за 4 часа
🚀Соберите свой первый прототип на FastAPI — работающее веб-приложение с интеграцией искусственного интеллекта и real-time взаимодействием всего за 4 часа!
🔥 А чтобы было проще начать мы дарим скидку 500 рублей по промокоду NOV25, которая будет действовать до 10 ноября!
Оформить заявку можно здесь:
👉Курс «Введение в Python»
👉Курс по FastAPI
Предлагаем вам наши курсы на Stepik, которые легко пройти за пару дней!
🔥Курс «Введение в Python: онлайн-магазин в телеграм за 4 часа»
Этот курс для тех, кто никогда не программировал, но хочет за выходные создать свой первый работающий проект — Telegram-бота для интернет-магазина WeekendShop.
Это идеальный старт для абсолютных новичков без технического образования. Его цель — за 4 часа дать вам практический опыт и показать, что программирование может быть доступным и увлекательным.
🔥Курс по FastAPI: чат с ИИ за 4 часа
🚀Соберите свой первый прототип на FastAPI — работающее веб-приложение с интеграцией искусственного интеллекта и real-time взаимодействием всего за 4 часа!
🔥 А чтобы было проще начать мы дарим скидку 500 рублей по промокоду NOV25, которая будет действовать до 10 ноября!
Оформить заявку можно здесь:
👉Курс «Введение в Python»
👉Курс по FastAPI
❤1
Девман для питонистов
⚡️⚡️Делимся датами старта новых потоков курса «FastAPI: Создаем AI генератор сайтов с нуля» в формате созвонов с ментором! 🔥 10 ноября стартуют потоки PRO с ментором и VIP с Евгением Евсеевым! 🗣А также делимся отзывом выпускницы курса по FastAPI Ольги: …
Девман для питонистов
🥳Впереди длинные выходные и это отличный повод начать что-то новое! Предлагаем вам наши курсы на Stepik, которые легко пройти за пару дней! 🔥Курс «Введение в Python: онлайн-магазин в телеграм за 4 часа» Этот курс для тех, кто никогда не программировал…
⚡️ Напоминаем, что до 10 ноября действует промокод NOV25 на скидку 500 рублей на наши курсы на Stepik!
🔥Курс «Введение в Python: онлайн-магазин в телеграм за 4 часа»
Начните свой путь в программировании! Всего за 4 часа вы создадите свой первый работающий проект — Telegram-бота для интернет-магазина WeekendShop.
🔥Курс по FastAPI
Соберите свой первый прототип на FastAPI — работающее веб-приложение с интеграцией искусственного интеллекта и real-time взаимодействием всего за 4 часа!
🚀Успейте забрать курсы по сниженной цене!
Купить курсы можно здесь:
👉Курс «Основы Python»
👉Курс по FastAPI
🔥Курс «Введение в Python: онлайн-магазин в телеграм за 4 часа»
Начните свой путь в программировании! Всего за 4 часа вы создадите свой первый работающий проект — Telegram-бота для интернет-магазина WeekendShop.
🔥Курс по FastAPI
Соберите свой первый прототип на FastAPI — работающее веб-приложение с интеграцией искусственного интеллекта и real-time взаимодействием всего за 4 часа!
🚀Успейте забрать курсы по сниженной цене!
Купить курсы можно здесь:
👉Курс «Основы Python»
👉Курс по FastAPI
❓Как работает Девман. Часть 3. Структура урока
⭐️ История. Урок Девмана — это проект. В нем всегда есть заказчик, с его историей и потребностями, и тимлид, выполняющий код-ревью. Выполнить урок — значит написать программный продукт, которым удобно пользоваться, у которого есть документация и который решает проблему заказчика.
Требования к итоговому результату возрастают постепенно. В «Основах Python» достаточно написать код с учетом требований к чистоте кода. В «API веб-сервисов» уже придется оформить репозиторий на GitHub и написать первый файл документации
⭐️ Теория. Уроки не перегружены теорией — только необходимый минимум. В интернете доступно огромное количество теории в разных форматах и стилях на любой вкус. Читайте по теме урока статьи и книги, расширяйте свои знания и технологиях и внутреннем устройстве Python. Изучайте документацию и будьте в курсе новостей ИТ-отрасли. Умение самостоятельно искать информацию – тоже навык разработчика.
⭐️ Шаги. Новичку сложно проложить путь с нуля до цели, не заблудившись. Поэтому шаги — это маршрут, который мы уже проложили для вас, чтобы упростить задачу и ускорить прохождение. Став разработчиком, вы научитесь это делать самостоятельно. А потренироваться можно уже на командных проектах.
⭐️ Цель. Каждый шаг начинается с цели — точка маршрута, к которой надо прийти. Старайтесь держать в голове при этом основную задачу проекта, описанную в начале урока. Так меньше шансов свернуть не туда по мере прохождения. Читайте начало шага, чтобы понимать зачем и что нужно сделать. Каждый шаг решает задачу.
⭐️ Как проверить. Это список объективных критериев, по которым вы сможете самостоятельно убедиться, что шаг пройден.
⭐️ Что понадобится. Зная цель, ознакомьтесь с материалами и попробуйте применить предложенные инструменты для выполнения шага.
⭐️ Тестирование. Перед тем как отправить код на проверку, убедитесь, что он работает и соответствует заданию. Не забудьте обновить инструкции для разработчиков в документации.
⭐️ Сдача проекта. В последнем шаге нужно отправить на проверку ссылку на проект — на репозиторий GitHub. После чего вас ждёт ещё несколько итераций код-ревью и улучшений, пока все проблемы не будут устранены. Поздравляем, ещё один кейс в портфолио готов!
👉 Для тех, кто ещё не приступил к обучению на Девмане, есть возможность пройти бесплатные уроки с код-ревью из «Основ Python» и «API веб-сервисов». Или записаться на тестовый урок и пообщаться с нашими менторами.
Как работает Девман, часть 1
Как работает Девман, часть 2
➡️ Проходили онлайн-курсы? Расскажите, как было устроено ваше обучение в комментариях!
⭐️ История. Урок Девмана — это проект. В нем всегда есть заказчик, с его историей и потребностями, и тимлид, выполняющий код-ревью. Выполнить урок — значит написать программный продукт, которым удобно пользоваться, у которого есть документация и который решает проблему заказчика.
Требования к итоговому результату возрастают постепенно. В «Основах Python» достаточно написать код с учетом требований к чистоте кода. В «API веб-сервисов» уже придется оформить репозиторий на GitHub и написать первый файл документации
README.md. А своих чат-ботов и сайты на Django нужно будет дополнительно развернуть на удаленном сервере. Идеи для проектов стараемся брать из практики. Иногда разработка одного программного продукта может быть разбита на несколько уроков.⭐️ Теория. Уроки не перегружены теорией — только необходимый минимум. В интернете доступно огромное количество теории в разных форматах и стилях на любой вкус. Читайте по теме урока статьи и книги, расширяйте свои знания и технологиях и внутреннем устройстве Python. Изучайте документацию и будьте в курсе новостей ИТ-отрасли. Умение самостоятельно искать информацию – тоже навык разработчика.
⭐️ Шаги. Новичку сложно проложить путь с нуля до цели, не заблудившись. Поэтому шаги — это маршрут, который мы уже проложили для вас, чтобы упростить задачу и ускорить прохождение. Став разработчиком, вы научитесь это делать самостоятельно. А потренироваться можно уже на командных проектах.
⭐️ Цель. Каждый шаг начинается с цели — точка маршрута, к которой надо прийти. Старайтесь держать в голове при этом основную задачу проекта, описанную в начале урока. Так меньше шансов свернуть не туда по мере прохождения. Читайте начало шага, чтобы понимать зачем и что нужно сделать. Каждый шаг решает задачу.
⭐️ Как проверить. Это список объективных критериев, по которым вы сможете самостоятельно убедиться, что шаг пройден.
⭐️ Что понадобится. Зная цель, ознакомьтесь с материалами и попробуйте применить предложенные инструменты для выполнения шага.
⭐️ Тестирование. Перед тем как отправить код на проверку, убедитесь, что он работает и соответствует заданию. Не забудьте обновить инструкции для разработчиков в документации.
⭐️ Сдача проекта. В последнем шаге нужно отправить на проверку ссылку на проект — на репозиторий GitHub. После чего вас ждёт ещё несколько итераций код-ревью и улучшений, пока все проблемы не будут устранены. Поздравляем, ещё один кейс в портфолио готов!
👉 Для тех, кто ещё не приступил к обучению на Девмане, есть возможность пройти бесплатные уроки с код-ревью из «Основ Python» и «API веб-сервисов». Или записаться на тестовый урок и пообщаться с нашими менторами.
Как работает Девман, часть 1
Как работает Девман, часть 2
➡️ Проходили онлайн-курсы? Расскажите, как было устроено ваше обучение в комментариях!
👍5❤1
⚡️⚡️Только сегодня 11.11 и всего один день по промокоду
Купить наши курсы можно здесь:
👉Курс «Основы Python»
👉Курс по FastAPI
STEPIKSALE15 вы можете купить любой курс на Stepik со скидкой 15%! Купить наши курсы можно здесь:
👉Курс «Основы Python»
👉Курс по FastAPI
🤔 Давайте вместе разберемся, что не так с этим кодом?
👉 Чтобы понять, что можно исправить, загляните в типичные улучшения Девмана.
def download_book(book_id, filepath=...):
...
image_relative_path = soup.find('div', class_='bookimage').find('img')['src']
image_url = urljoin(book_page_url, image_relative_path)
response = requests.get(image_url)
...
with open(filepath, 'w') as image_obj:
image_obj.write(response.content)
...
response = requests.get(book_url)
...
with open(filepath, 'w') as book:
book.write(response.text)
...
👉 Чтобы понять, что можно исправить, загляните в типичные улучшения Девмана.
Что не так с этим кодом?
Anonymous Poll
71%
Разбейте функцию на части
27%
Разделите обработку данных и ввод/вывод
2%
Не используйте контекстный менеджер with
⚡️⚡️ Завтра в 20:00 проведем онлайн-эфир на тему «Чистая архитектура: реальность или миф?»
🚀В прямом эфире разберем:
— Что такое чистая архитектура? И существует ли она на самом деле?
— Удается ли в реальности следовать правилам чистой архитектуры?
— А как правильно? На что обращать внимание при разработке архитектуры проекта?
🔥Мероприятие проведет Евгений Евсеев — основатель школы Devman и студии веб-разработки PelidTeam, автор методики обучения, разработчик с опытом 17+ лет
🕘Завтра (13.11, четверг) в 20:00, в формате онлайн-трансляции:
YouTube
VK (появится в группе)
RuTube
А вы пытались внедрить чистую архитектуру на своих проектах? Делитесь в комментариях, что вышло!⬇️
🚀В прямом эфире разберем:
— Что такое чистая архитектура? И существует ли она на самом деле?
— Удается ли в реальности следовать правилам чистой архитектуры?
— А как правильно? На что обращать внимание при разработке архитектуры проекта?
🔥Мероприятие проведет Евгений Евсеев — основатель школы Devman и студии веб-разработки PelidTeam, автор методики обучения, разработчик с опытом 17+ лет
🕘Завтра (13.11, четверг) в 20:00, в формате онлайн-трансляции:
YouTube
VK (появится в группе)
RuTube
А вы пытались внедрить чистую архитектуру на своих проектах? Делитесь в комментариях, что вышло!⬇️
🔥8👍1😱1
Девман для питонистов
⚡️⚡️ Завтра в 20:00 проведем онлайн-эфир на тему «Чистая архитектура: реальность или миф?» 🚀В прямом эфире разберем: — Что такое чистая архитектура? И существует ли она на самом деле? — Удается ли в реальности следовать правилам чистой архитектуры? — А как…
🚀Уже через 10 минут стартуем онлайн-эфир на тему «Чистая архитектура: реальность или миф?»
Присоединяйтесь послушать и поучаствовать в обсуждении!
Ссылки для подключения:
YouTube
VK (появится в группе)
RuTube
Присоединяйтесь послушать и поучаствовать в обсуждении!
Ссылки для подключения:
YouTube
VK (появится в группе)
RuTube
Девман для питонистов
🤔 Давайте вместе разберемся, что не так с этим кодом? def download_book(book_id, filepath=...): ... image_relative_path = soup.find('div', class_='bookimage').find('img')['src'] image_url = urljoin(book_page_url, image_relative_path) response…
Когда блок кода перестаёт умещаться в половину экрана монитора — пора разбивать его на функции. Выберите то, что проще всего отщипнуть и поместите в отдельные функции. Также полезно разбивать и сами функции, когда в них становится слишком много строк.
В нашем примере сложно понять, что происходит в функции. Куда проще, когда ключевые действия вынесены в отдельные функции. Так будет гораздо легче читать код.
Код из нашего примера может выглядеть так:
В нашем примере сложно понять, что происходит в функции. Куда проще, когда ключевые действия вынесены в отдельные функции. Так будет гораздо легче читать код.
Код из нашего примера может выглядеть так:
def download_text(book_id, filepath=...):
response = requests.get(url)
...
with open(filepath, 'w') as book_obj:
book_obj.write(response.text)
def download_image(url, folder='images/'):
response = requests.get(url)
...
with open(filepath, 'w') as image_obj:
image_obj.write(response.content)
def get_image_url(soup, book_page_url):
image_relative_path = soup.find('div', class_='bookimage').find('img')['src']
image_url = urljoin(book_page_url, image_relative_path)
return image_url
def download_book(book_id):
...
image_url = get_image_url(soup, book_page_url)
download_image(image_url)
download_text(book_url, filepath)
🔥В четверг мы провели онлайн-эфир на тему «Чистая архитектура: реальность или миф?»
🚀В прямом эфире разобрали:
— Что такое чистая архитектура? И существует ли она на самом деле?
— Удается ли в реальности следовать правилам чистой архитектуры?
— А как правильно? На что обращать внимание при разработке архитектуры проекта?
Делимся ссылками на видео для тех, кто не смог присутствовать:
👉YouTube
👉VK
👉RuTube
⚡️⚡️ Ставьте лайки – наберём 50 лайков на этот пост и Евгений сделает онлайн-разбор архитектуры проекта в прямом эфире!
🚀В прямом эфире разобрали:
— Что такое чистая архитектура? И существует ли она на самом деле?
— Удается ли в реальности следовать правилам чистой архитектуры?
— А как правильно? На что обращать внимание при разработке архитектуры проекта?
Делимся ссылками на видео для тех, кто не смог присутствовать:
👉YouTube
👉VK
👉RuTube
⚡️⚡️ Ставьте лайки – наберём 50 лайков на этот пост и Евгений сделает онлайн-разбор архитектуры проекта в прямом эфире!
👍7🔥4
🤔 Давайте вместе разберемся, что не так с этим кодом?
👉 Чтобы понять, что можно исправить, загляните в типичные улучшения Девмана.
import library
def do_something():
NOTIFICATION = 'this is a global constant'
import another_library
...
def main():
do_something()
...
main()
👉 Чтобы понять, что можно исправить, загляните в типичные улучшения Девмана.
❤2
💡Если структура кода в файла нарушена, то другие программисты будут путаться в вашем коде.
💡Вложенность функций, переменных и импортов влияет на результат. Например, импорт внутри функции будет выполнен только при первом вызове этой функции, а не перед запуском
Общая структура кода в файле должна быть такой:
— Импорты
— Объявления глобальных констант
— Объявления функций
— Остальной код, собранный в блок if name == 'main'
💡Код в нашем примере должен выглядеть так:
Тотального запрета на использование глобальных переменных нет. Но надо это делать с умом и там, где действительно нужно. Пример — объявление логгера.
💡Вложенность функций, переменных и импортов влияет на результат. Например, импорт внутри функции будет выполнен только при первом вызове этой функции, а не перед запуском
main() как обычно. А переменная NOTIFICATION будет доступна только в локальной зоне видимости функции do_something().Общая структура кода в файле должна быть такой:
— Импорты
— Объявления глобальных констант
— Объявления функций
— Остальной код, собранный в блок if name == 'main'
💡Код в нашем примере должен выглядеть так:
import library
import another_library
NOTIFICATION = "this is a global constant"
def do_something():
...
def main():
do_something()
...
if __name__ == "__main__":
main()
Тотального запрета на использование глобальных переменных нет. Но надо это делать с умом и там, где действительно нужно. Пример — объявление логгера.
🔥1
⚡️Проверяйте свои сайты! В тренде массовые проверки сайтов на наличие прав и лицензий на использование шрифтов, картинок и фотографий.
❗️Шрифты
Активизировался правообладатель FontFabric. Их дистрибьютер в РФ ООО «Компьютерные шрифты» проверяет сайты и высылает письма с требованием купить лицензию. Их созависимое юрлицо ООО «ТайпТайп» уже занимается судебными исками.
✅Что делать:
— Купить лицензию и жить спокойно — они вышлют отказ от претензий за использование шрифта ДО покупки лицензии;
— Сторговаться на меньшую стоимость и оплатить;
— Заменить шрифт на сайте и удалить из веб-архива, чтобы не было старых версий с коммерческим шрифтом. И надеяться, что продолжение не последует.
❌Если ничего не делать:
— По жалобе правообладателя провайдер будет вынужден заблокировать сайт до удаления нелицензионного шрифта
— Риск получить приглашение в суд в будущем
❓Как проверить: плагин для Chrome + проверить лицензию по названию
‼️Важно! Если сегодня шрифт с открытой лицензией в Google Fonts, это не значит что через год все будет также. Лицензию могут поменять. Некоторые владельцы сайтов столкнулись с тем, что 5-10 лет назад брали бесплатный шрифт, а сейчас получили претензии.
🌅Изображения
Поток судебных исков растет на использование фото со стоков. Юридические фирмы заходят к авторам и предлагают за комиссию проверить сайты и организовать процесс по консультации. Претензии подают на огромные суммы на сотни тысяч рублей. По суду получается уменьшить до 10 000 рублей, но это ещё надо уметь и иметь с кем в этот суд идти.
Недобросовестные фотографы, с которыми не были оформлены документы (оплатили работу без договора, например) также пользуются возможностью заработать.
📷Фотографии и персональные данные
Нужны письменные согласия на публикацию. Пока потока штрафов не видим, но в законах уже предусмотрены штрафы с большим количеством нулей.
❗️Шрифты
Активизировался правообладатель FontFabric. Их дистрибьютер в РФ ООО «Компьютерные шрифты» проверяет сайты и высылает письма с требованием купить лицензию. Их созависимое юрлицо ООО «ТайпТайп» уже занимается судебными исками.
✅Что делать:
— Купить лицензию и жить спокойно — они вышлют отказ от претензий за использование шрифта ДО покупки лицензии;
— Сторговаться на меньшую стоимость и оплатить;
— Заменить шрифт на сайте и удалить из веб-архива, чтобы не было старых версий с коммерческим шрифтом. И надеяться, что продолжение не последует.
❌Если ничего не делать:
— По жалобе правообладателя провайдер будет вынужден заблокировать сайт до удаления нелицензионного шрифта
— Риск получить приглашение в суд в будущем
❓Как проверить: плагин для Chrome + проверить лицензию по названию
‼️Важно! Если сегодня шрифт с открытой лицензией в Google Fonts, это не значит что через год все будет также. Лицензию могут поменять. Некоторые владельцы сайтов столкнулись с тем, что 5-10 лет назад брали бесплатный шрифт, а сейчас получили претензии.
🌅Изображения
Поток судебных исков растет на использование фото со стоков. Юридические фирмы заходят к авторам и предлагают за комиссию проверить сайты и организовать процесс по консультации. Претензии подают на огромные суммы на сотни тысяч рублей. По суду получается уменьшить до 10 000 рублей, но это ещё надо уметь и иметь с кем в этот суд идти.
Недобросовестные фотографы, с которыми не были оформлены документы (оплатили работу без договора, например) также пользуются возможностью заработать.
📷Фотографии и персональные данные
Нужны письменные согласия на публикацию. Пока потока штрафов не видим, но в законах уже предусмотрены штрафы с большим количеством нулей.
👍3❤1
⚡️⚡️ Черная пятница близко! Мы запускаем скидки на курсы!
🚀 Скидка 10% на первую ступень курса «Профессия Middle Python/Django разработчик»!
🚀 Скидка 10% на курс «FastAPI: Создаем AI генератор сайтов с нуля»!*
*Скидка распространяется на все тарифы! Количество мест для записи на тарифы PRO и VIP ограничено!
🔥Акция действует до 15 декабря! Успейте купить курсы по сниженной цене!
Чтобы воспользоваться скидкой, напишите нам в Телеграм или оставьте заявку на странице курса:
— Курс «Профессия Middle Python/Django разработчик»
— Курс «FastAPI: Создаем AI генератор сайтов с нуля»
🚀 Скидка 10% на первую ступень курса «Профессия Middle Python/Django разработчик»!
🚀 Скидка 10% на курс «FastAPI: Создаем AI генератор сайтов с нуля»!*
*Скидка распространяется на все тарифы! Количество мест для записи на тарифы PRO и VIP ограничено!
🔥Акция действует до 15 декабря! Успейте купить курсы по сниженной цене!
Чтобы воспользоваться скидкой, напишите нам в Телеграм или оставьте заявку на странице курса:
— Курс «Профессия Middle Python/Django разработчик»
— Курс «FastAPI: Создаем AI генератор сайтов с нуля»
🔥3😱1
🤔 Давайте вместе разберемся, что не так с этим кодом?
👉 Чтобы понять, что можно исправить, загляните в типичные улучшения Девмана.
if __name__ == "__main__":
...
try:
if is_shorten_link(vk_token, user_url) == True:
url_clicks = count_clicks(vk_token, user_url)
...
except requests.exceptions.HTTPError as error:
...
👉 Чтобы понять, что можно исправить, загляните в типичные улучшения Девмана.
Сравнивать с
Код из нашего примера может выглядеть так:
True имеет смысл только если есть вероятность, что переменная содержит ненулевое значение, отличное от True. Сравнивать с False имеет смысл только если есть вероятность, что переменная содержит пустую коллекцию или None.Код из нашего примера может выглядеть так:
if __name__ == "__main__":
...
try:
if is_shorten_link(vk_token, user_url):
url_clicks = count_clicks(vk_token, user_url)
...
except requests.exceptions.HTTPError as error:
...
👍1
💥Напоминаем, что Черная пятница в самом разгаре!
🚀 Скидка 10% на первую ступень курса «Профессия Middle Python/Django разработчик»!
🚀 Скидка 10% на курс «FastAPI: Создаем AI генератор сайтов с нуля»!
Скидка распространяется на все тарифы! Количество мест для записи на тарифы PRO и VIP ограничено!
🔥Акция действует до 15 декабря! Успейте купить курсы по сниженной цене!
Чтобы воспользоваться скидкой, напишите нам в Телеграм или оставьте заявку на странице курса:
— Курс «Профессия Middle Python/Django разработчик»
— Курс «FastAPI: Создаем AI генератор сайтов с нуля»
🚀 Скидка 10% на первую ступень курса «Профессия Middle Python/Django разработчик»!
🚀 Скидка 10% на курс «FastAPI: Создаем AI генератор сайтов с нуля»!
Скидка распространяется на все тарифы! Количество мест для записи на тарифы PRO и VIP ограничено!
🔥Акция действует до 15 декабря! Успейте купить курсы по сниженной цене!
Чтобы воспользоваться скидкой, напишите нам в Телеграм или оставьте заявку на странице курса:
— Курс «Профессия Middle Python/Django разработчик»
— Курс «FastAPI: Создаем AI генератор сайтов с нуля»
🔥1
🤔 Давайте вместе разберемся, что не так с этим кодом?
👉 Чтобы понять, что можно исправить, загляните в типичные улучшения Девмана
class ExampleClass:
def __init__(self):
self._protected_attribute = 'I am protected'
def _protected_method(self):
return 'This is a protected method'
obj = ExampleClass()
protected_method = obj._protected_method()
protected_attribute = obj._protected_attribute
👉 Чтобы понять, что можно исправить, загляните в типичные улучшения Девмана