Обновить
1024K+

Python *

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

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

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

Время на прочтение4 мин
Охват и читатели3.3K

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

Читать далее

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

Время на прочтение8 мин
Охват и читатели18K

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

Читать далее

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

Время на прочтение4 мин
Охват и читатели34K

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

Читать далее

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

Время на прочтение8 мин
Охват и читатели8.2K

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

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

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

Время на прочтение7 мин
Охват и читатели17K

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

Читать далее

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

Время на прочтение11 мин
Охват и читатели66K

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

Читать далее

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

Время на прочтение12 мин
Охват и читатели29K

ПРЕДИСЛОВИЕ

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

Время на прочтение9 мин
Охват и читатели41K


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

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

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

Время на прочтение9 мин
Охват и читатели27K

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

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

Читать далее

О новом простом методе снижения высокой размерности данных

Время на прочтение8 мин
Охват и читатели19K


О новом методе решения проблемы оценки ковариационной матрицы в данных высокой размерности [научная работа опубликована в 2012 году] рассказываем к старту нашего флагманского курса по Data Science. Подробности — под катом:

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

Часть 4. Ищем матчи в Dota 2 по названиям роликов на YouTube с помощью BERT и OpenDota

Время на прочтение12 мин
Охват и читатели7.9K

Представьте, что с одной стороны у вас есть видео на YouTube с интересными моментами из матча по Dota 2. А с другой стороны база данных всех матчей. Как для видео найти соответствующую запись в БД? Этой задачей мы сегодня и займемся.

Читать далее

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

Суффиксное дерево на python

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели15K

Суффиксное дерево (Suffix Tree, ST) – это структура данных, которая позволяет "проиндексировать" строку за линейное время от её длины, чтобы потом быстро находить подстроки (за время О(длина искомой подстроки)).

Тема построения Suffix Tree и его применения хорошо раскрыта в Интернет (википедия, статья на хабр про алгоритм Вейнера, язык Си, и статья на хабр про алгоритм Укконена). Но всегда есть соблазн поучаствовать в соревновании "написать проще и яснее", хотя шансов мало. Тем не менее, рискну.

Несмотря на сложность, алгоритм построения ST умещается в 35 строк на python (см. ниже метод _build_tree). Их буквально можно выучить и воспроизводить по памяти как некое произведение искусства, как воплощенный в набор символов труд человеческой мысли, причём не одного человека, и первые из них точно гении. :) Есть соблазн, всматриваясь в код, прикоснуться к великому и чему-то научиться.

Читать далее

Вот почему нужно использовать оператор := в Python

Время на прочтение8 мин
Охват и читатели46K


Сегодня рассказываем о самом странном операторе Python — операторе моржа. Для чего он нужен, и как использовать его с учётом других особенностей языка? Подробности к старту курса по Fullstack-разработке на Python — под катом:

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

Расчет и анализ корреляционного отношения средствами Python

Время на прочтение21 мин
Охват и читатели34K

Расчет и анализ корреляционного отношения средствами Python.

Читать далее

SQLAlchemy с FastAPI для асинхронной работы

Время на прочтение5 мин
Охват и читатели100K

В этой заметке я буду использовать новые асинхронные возможности ORM-слоя вместе с новыми запросами в стиле 2.0. Мы создадим простое FastAPI-приложение с двумя маршрутами. Один — для добавления городов и их жителей, а другой — для вывода списка наиболее населенных объектов.

Читать далее

Как оставаться на связи с сотнями людей

Время на прочтение2 мин
Охват и читатели3.8K

Каждый встреченный человек однажды может вам помочь.

Если поддерживать контакт с людьми, переодически о себе напоминая, есть немалая вероятность что они могут оказаться вам полезны. В обратном же случае такая вероятность просто исчезает. Нет связи, нет пользы.

Читать далее

Четыре функции для быстрой работы с Big Data

Время на прочтение6 мин
Охват и читатели15K

Я часто пользуюсь функциями для работы с большими данными. Они позволяют упросить и ускорить работу. Некоторые я нашел на просторах интернета, другие написал сам. Сегодня хочу поделиться четырьмя из них, может кому-то будет полезно.

Читать далее

Введение в анализ генетической информации с использованием TensorFlow

Время на прочтение9 мин
Охват и читатели7.2K

Относительная доступность методов секвенирования ДНК и большое количество доступной в открытых источниках генетической информации сделала актуальной разработку нейронных сетей, предназначенных для анализа цепочек ДНК и поиска корреляций между признаками и геномной последовательностью. В статье мы рассмотрим основы кодирования генетической информации и обсудим дополнение от исследовательской команды генетики Google Nucleus для Tensorflow, который позволяет считывать основные форматы кодирования генетической информации и представлять их в виде набора данных, которые могут быть проанализированы с использованием тензорных графов на основе Tensorflow.

Читать далее