Все потоки
Поиск
Написать публикацию
Обновить
417.51

Python *

Высокоуровневый язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Логирование в Python: руководство разработчика

Время на прочтение13 мин
Количество просмотров269K

Сталкивались ли вы с трудностями при отладке Python-кода? Если это так — то изучение того, как наладить логирование (журналирование, logging) в Python, способно помочь вам упростить задачи, решаемые при отладке.

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

Из этого учебного руководства вы узнаете о том, как настроить логирование в Python, используя встроенный модуль logging. Вы изучите основы логирования, особенности вывода в журналы значений переменных и исключений, разберётесь с настройкой собственных логгеров, с форматировщиками вывода и со многим другим.

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

Читать далее

Аутентификация в Django при помощи Metamask

Время на прочтение4 мин
Количество просмотров5.3K

Сегодня мы напишем простой сниппет для аутентификации пользователей на сайте при помощи кошелька Metamask. Замечу, что данное решение максимально изолировано от фреймворка. Вы сможете легко адаптировать его не только к Django, но и к Flask, Sanic, Starlette, Aiohttp и т.п.

Читать далее

Анализ различий подачи новостей в Telegram-каналах

Время на прочтение3 мин
Количество просмотров15K

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

Дисклеймер 1: многое из этого отчёта может показаться политизированным. Но здесь я не делаю никаких выводов про то, кто прав, а кто виноват; кто грязный пропагандист, а кто носитель священной истины.

Дисклеймер 2: это не руководство по визуализации данных средствами Plotly и PyVis. В самой статье я не привожу никакого кода и не объясняю, почему он устроен именно так. При этом Colab с кодом открыт, и примеры оттуда вполне можно использовать.

Google Colab: ссылка на ноутбук

Хочу знать подробности!

Визуализация данных с помощью фреймворка Dash (часть 3)

Время на прочтение4 мин
Количество просмотров6K

Привет, Хабр! Я расскажу о трех опциональных, но довольно полезных инструментах фреймворка dash, которые сделают ваш dashbord показательным и интерактивным.

Читать далее

Как мы писали курс для Python-разработчиков с опытом и зачем сделали упор на асинхронное программирование

Время на прочтение11 мин
Количество просмотров10K

Два года назад Практикум запустил первые курсы для разработчиков с опытом. Один из этих курсов — «Мидл Python-разработчик». За это время его успешно закончили 140 студентов. Но мир разработки не стоит на месте, и это повод постоянно добавлять что-то новое в учебную программу.

О том, как создавался курс «Мидл Python-разработчик», что с ним происходит сейчас и что войдёт в программу нового дополнительного модуля, рассказала его команда.

Читать далее

Использование Python в SQL Server Machine Learning Services

Время на прочтение4 мин
Количество просмотров4.3K

В продолжение статей Приключения при настройке сервисов машинного обучения в MS SQL Server 2019 и Используем R lang в SQL Server разбираемся как работать с Python в сервисам машинного обучения. С Python ситуация несколько лучше, чем с R, так как достаточно много предустановленных библиотек и версия Python не так сильно отстает от актуальной, как в случае с R.

Для работы с Python крайне важно писать код без отступов, что достаточно нетривиально, так как код вы пишите в SQL строке.

Для разбора примеров используется созданная в статье про R база данных с датасетом из соревнования Kaggle Титаник.

Читать далее

Jira, Jirа! Повернись к лесу задом, ко мне передом

Время на прочтение4 мин
Количество просмотров10K

*Избушка, Olga Kolopetko. https://illustrators.ru/illustrations/1474142)*
Избушка, Olga Kolopetko. https://illustrators.ru/illustrations/1474142


Повсеместная цифровизация не только в телевизоре. Она теперь повсюду нас окружает, на работе и не только. Типичным представителем являются трекеры действий (системы Сервис Деск, проектные системы, документообороты и пр.). Общей болевой точкой всех этих систем являются сложная объектная и процессная модель и фокус на поддержку операционного обслуживания. Шаг влево или вправо в попытках понять всю картину целиком повергает аналитиков в уныние и порождает безуспешные проекты на многие месяцы. А вопрос этот висит в воздухе, в том или ином виде, почти ежедневно.


Ниже покажу один из возможных подходов по решению подобных задач средствами DS «за час» и «один экран кода». ИТ курсов на несколько месяцев появилось множество, но даже для начинающих подход от конца, когда показываешь решение насущной задачи, а потом раскладываешь его на кубики — куда эффективнее.


Для примера возьмем Jira, как часто используемую в среде разработчиков, обладающую богатым функционалом, длительной историей и хорошим API.


Все предыдущие публикации.

Читать дальше →

Blender, захват движения, нейронные сети

Время на прочтение11 мин
Количество просмотров10K

Blender отличный 3d редактор, открытый документированный код, убирает ограничения в реализации творческих фантазий. Большая "фанатская база" сгенерировала решения под разные задачи, ускоряя творческий процесс. Периодически получаю практический опыта в Blender, главное в саморазвитие, ставить цель c желаемым результатом, повторение действий из уроков не самый лучший способ получения знаний для меня. Выбираю цель, с учетом собственного интереса, предварительно проверяю на отсутствие готового решения, что бы не лишить себя этапов развития. Моим критериям соответствует - анимация персонажа, с использованием нейронных сетей. Существуют статьи, видео, рабочие коммерческие решения, но нет готового подходящего мне, только части головоломки которые нужно собрать.

читать всю статью

Как анализировать данные из облачных сервисов для автоматизации бизнеса

Время на прочтение4 мин
Количество просмотров3.7K

Всем привет! Меня зовут Елена Боброва, и мы в команде CloudReports работаем над проектом, с помощью которого пользователи облачных систем могут начать легко и просто работать со своими данными. 

В последнее время всё большее число компаний внедряют в свою работу различные облачные сервисы, такие как CRM системы, системы управления складом, автоматизация записи клиентов и др. Рано или поздно любой бизнес сталкивается с необходимостью анализировать данные. Облачные системы в большинстве случаев имеют ряд готовых отчетов. Но если требуется более детальный анализ, то данные, как правило, можно забрать с помощью  API и поместить во внешнюю базу (хранилище данных), с которым уже удобно работать аналитикам.

Читать далее

Крах на финишной прямой, или как написать нетестируемый код

Время на прочтение4 мин
Количество просмотров3.1K

Это история о том, как потерпеть фиаско, имея хорошо написанный и протестированный в боевых условиях работающий код и даже написанную документацию. Изначально я собирался делать анонс своей библиотеки, но что-то пошло не так. Поэтому начнём за здравие -- постановка и формализация задачи, описание возможностей и батареек. А закончим за упокой -- вопросами, как всё это теперь тестировать?

Читать далее

Все, что вам нужно знать об Airflow DAGs, ч.3.1 — Создание шаблонов

Время на прочтение8 мин
Количество просмотров13K

Все об использовании шаблонов в Airflow с примерами кода. Продолжение серии публикаций astronomer.io

Читать далее

12 мобильных офлайн-игр, чтобы научить ребенка программировать

Время на прочтение4 мин
Количество просмотров26K

Привет, Хабр!  Учить детей программировать с помощью мобильных игр – это уже классика. Собрала для вас подборку 12 игр и каждую протестировала. Есть варианты для дошкольников и школьников. Приложения работают в офлайн-режиме, поэтому можно отключить интернет и спокойно оставить малыша с телефоном. Он ничего случайно не купит и не зайдет, куда не нужно. И заниматься можно в любом месте, даже на даче с плохой связью! 

Читать далее

Подбираем скины в Counter-Strike: Global Offensive в цвет сумочки

Время на прочтение8 мин
Количество просмотров7.6K

Многопользовательская Counter-Strike: Global Offensive наполнена различными раскрасками для оружия разной степени редкости и привлекательности. Некоторые игроки гонятся за уникальными скинами, а другие выбирают на основе субъективного вкуса. Помимо официальной торговой площадки Steam, скины можно купить на сторонних ресурсах, доверие к которым невелико. Но в обоих случаях нет фильтра по цвету.

Вручную перебирать все варианты раскраски для всех видов вооружений очень долго. К счастью, проблему можно автоматизировать. В статье я покажу, как извлечь необходимые ресурсы из игры, и еще раз поговорю про сложность определения схожести цветов.
Читать дальше →

Ближайшие события

Как мы переходили с pip на Poetry

Время на прочтение7 мин
Количество просмотров15K

Всем привет! Я Станислав Бушуев, Software Engineer в Semrush. В этой статье я расскажу о том, как мы столкнулись с проблемой периодического обновления Python-зависимостей, тестировали решение с полной их фиксацией, ошибались, и в итоге перешли на Poetry.

Читать далее

Пишем Telegram бот текущей погоды по IP адресу на Python aiogram

Время на прочтение11 мин
Количество просмотров64K

Штош. В этой статье я расскажу вам, как создать Telegram бота, который получает текущую погоду по IP адресу. Мы будем использовать язык Python и асинхронную библиотеку для взаимодействия с Telegram Bot API - aiogram.

Читать далее

Сравнение стандарта PEP8 и «Чистого кода» Роберта Мартина

Время на прочтение12 мин
Количество просмотров26K

ПРЕДИСЛОВИЕ

Привет Хабр! Признаюсь, честно, за время моего отсутствия я успел по вам соскучиться.

Прежде чем начинать изложение материала, позвольте рассказать небольшую историю, вдохновившую написать эту статью.

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

Главный разработчик провёл ревью и пришёл к выводу, что мне пока рано занимать такую вакантную должность. Вместе с этим HR отправил рекомендации разработчика, как и в каком направлении можно развиваться. Одно из них – чтение книги «Чистый код» под авторством Роберта Мартина

Я сначала не придал особого значения этой книге. За время обучения программированию на Python мне много рекомендовали что почитать. Что-то мне нравилось, что-то нет. Но здесь всё решил один случай.

Через три дня после собеседования я поехал на крупнейшую IT конференцию на Урале DUMP2022. Там познакомился со многими практикующими разработчиками в том числе из этой компании. Какова была моя радость, когда на одной из секций докладчик отметил мой вопрос как лучший, а подарком как раз стала эта книга.  

Я понял, что это был знак. Мне действительно надо было прочитать эту книгу. И как оказалось не зря.

Нет, эта статья не очередной обзор, на парадигму автора. Это статья о сравнении двух стандартов PEP8 и "Чистого кода". Вместе с вами я посмотрю чем отличаются эти два стандарта между собой, в чём их сходство. Полученные знания углубят понимание фундаментальных принципов программирования и возможно повлияют на стиль оформления кода.

Читать далее

4 анти-паттерна pandas и способы борьбы с ними

Время на прочтение12 мин
Количество просмотров23K

Pandas — это мощная библиотека для анализа данных, API которой обладает широкими функциональными возможностями. Этот API позволяет решить любую задачу, связанную с обработкой данных, несколькими способами. Некоторые из подходов к решению задач лучше других. Часто бывает так, что пользователи pandas узнают о подходах, не отличающихся особой эффективностью, привыкают к ним и постоянно их применяют. Этот материал посвящён разбору четырёх анти-паттернов pandas и рассказу о приёмах работы, которые стоит использовать вместо них.

Автор черпал вдохновение из многих источников, ссылки на которые даны в статье. В частности — из замечательной книги Effective Pandas.

Читать далее

Необычный Python в обычных библиотеках

Время на прочтение9 мин
Количество просмотров33K


Специалист в Data Science из Amazon буквально прочитал код самых распространённых библиотек Python. В этом материале он делится секретами работы с Python, о которых узнал из этих библиотек. За подробностями приглашаем под кат к старту нашего флагманского курса по Data Science:

Узнать больше

Все, что вам нужно знать об Airflow DAGs, ч.3 — Проектирование DAG

Время на прочтение9 мин
Количество просмотров19K

Поскольку Airflow — это на 100% код, знание основ Python - это все, что нужно, чтобы начать писать DAG. Однако написание эффективных, безопасных и масштабируемых DAG требует учета некоторых моментов, специфичных для Airflow. В этом разделе мы рассмотрим некоторые передовые методы разработки DAG, которые максимально используют возможности Airflow.

В целом, большинство лучших практик, которые мы здесь рассматриваем, относятся к одной из двух категорий:

Читать далее

Вклад авторов