Обновить
565.14

Python *

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

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

Моделирование звука гитарных нот с помощью алгоритма Карплуса-Стронга на python

Время на прочтение8 мин
Охват и читатели12K
Знакомьтесь, эталонная нота ля первой октавы (440 Гц):


Звучит больно, не правда ли? Что еще говорить о том, что одна и та же нота звучит по-разному на разных музыкальных инструментах. Почему же так? Все дело тут в наличии дополнительных гармоник, создающих уникальный тембр каждого инструмента.

Но нас интересует другой вопрос: как этот уникальный тембр смоделировать на компьютере?

Примечание
В этой статье не будет разбираться почему это работает. Будут лишь ответы на вопросы: что это и как это работает?

«Я что-то накодил и все упало»: провалы в Python-разработке на Russian Python Week 2020

Время на прочтение3 мин
Охват и читатели7.1K
На конференциях обычно принято рассказывать об успехах: «Мы обучили нейросеть на пяти миллионах Террабайт данных, чтобы отличать красную машину от белой и продали проект Amazon за 5 млрд долларов» Об ошибках при этом не принято рассказывать. Максимум, что встречается: «Мы немного напортачили, но за полчаса разобрались, ничего особенного».



Когда вокруг только истории «успешного успеха» даже сеньоры и техлиды чувствуют себя неуверенно — ведь они сравнивают успех спикера со своими ошибками. И сравнение не в пользу участников. Мы решили сломать эту тенденцию и на Russian Python Week запускаем целую секцию под кодовым названием «FailPy». Она будет посвящена провалам Python-разработчиков. Расскажем зачем и для кого это нужно.
Читать дальше →

Как я делал Telegram-бота для работы с сетью

Время на прочтение3 мин
Охват и читатели16K
Добрый день! image Я поделюсь с Вами интересным опытом по созданию мобильного инструмента для работы с сетью.

Предисловие

Я отработал несколько лет в провайдерах, начиная с маленького — до федерального. Придя в «Федерала» я столкнулся с большим количеством рутины, и появилось желание автоматизировать тот самый рутинный процесс.
Читать дальше →

Суммаризация текста: подходы, алгоритмы, рекомендации и перспективы

Время на прочтение8 мин
Охват и читатели35K
Ежедневно каждый из нас сталкивается с огромным информационным потоком. Нам часто необходимо изучить множество объемных текстов (статей, документов) в ограниченное время. Поэтому в области машинного обучения естественным образом родилась задача автоматического составления аннотации текста.

У нас в компании мы активно работаем над автореферированием документов, в эту статью не стал включать все подробности и код, но описал основные подходы и результаты на примере нейтрального датасета: 30 000 футбольных спортивных новостных статей, собранных с информационного портала «Спорт-Экспресс».

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

А вы знаете о том, что в Python есть встроенная СУБД?

Время на прочтение5 мин
Охват и читатели60K
Если вы — программист, то я полагаю, что вы, наверняка, знаете о существовании чрезвычайно компактной и нетребовательной к ресурсам СУБД SQLite, или даже пользовались ей. Эта система обладает практически всеми возможностями, которых можно ожидать от реляционной СУБД, но при этом всё хранится в единственном файле. Вот некоторые сценарии использования SQLite, упомянутые на официальном сайте этой системы:

  • Встраиваемые устройства и IoT.
  • Анализ данных.
  • Перенос данных из одной системы в другую.
  • Архивирование данных и (или) упаковка данных в контейнеры.
  • Хранение данных во внешней или временной БД.
  • Заменитель корпоративной БД, используемый в демонстрационных или испытательных целях.
  • Обучение, освоение начинающими практических приёмов работы с БД.
  • Прототипирование и исследование экспериментальных расширений языка SQL.

В документации к SQLite можно найти и другие причины использования этой СУБД.



Данный материал посвящён использованию SQLite в Python-разработке. Поэтому для нас особенно важно то, что эта СУБД, представленная модулем sqlite3, входит в стандартную библиотеку языка. То есть оказывается, что для работы с SQLite из Python-кода не нужно устанавливать некое клиент-серверное ПО, не нужно поддерживать работу какого-то сервиса, отвечающего за работу с СУБД. Достаточно лишь импортировать модуль sqlite3 и приступить к его использованию в программе, получив в своё распоряжение систему управления реляционными базами данных.
Читать дальше →

Алгоритм ранжирования сегментов речной сети с использованием графов для геоинформационного анализа

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

Привет, Хабр.


В данной статье хотелось бы затронуть тему применения информационных технологий в Науках о Земле, а именно, в Гидрологии и Картографии. Под катом представлено описание алгоритма ранжирования водотоков и реализованного нами плагина для открытой геоинформационной системы QGIS.

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

Может ли геймпад заменить клавиатуру? Пробуем программировать на стиках

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

Введение


Для печати на клавиатуре необходимо неподвижно сидеть или стоять. Геймпады, в отличие от них, портативные и компактные. Управляя ими, можно ходить по комнате или прилечь на диван.

Из-за малого количества кнопок на геймпаде никто не рассматривал их как средство ввода объёмных текстов, например, в программировании.

Однако аналоговые стики (а у большинства геймпадов их два) имеют потенциал обеспечения бесконечного количества вариантов ввода. Вопрос сводится к выбору подходящих жестов для максимальной эффективности и минимального напряжения больших пальцев.

Для геймпадов существует множество способов ввода текста. Если вы когда-нибудь играли в консольные игры, то, скорее всего, использовали какой-то из них.


Экранный ввод текста в Legend of Zelda

В Legend of Zelda игрок должен по очереди выбирать буквы при помощи крестовины со стрелками и каждый раз нажимать кнопку подтверждения для добавления буквы в поле ввода текста.
Читать дальше →

Multi-Target в Albumentations

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


Этот текст — это перевод блог поста Multi-Target in Albumentations от 27 июля 2020. Автор есть на Хабре, но переводить текст на русский поленился. И этот перевод сделан по его просьбе.

Я перевела на русский все, что можно, но какие-то технические термины на английском звучат более естественно. В таком виде они и оставлены. Если вам в голову приходит адекватный перевод — комментируйте — поправлю.

Три редко используемых возможности Python 3, о которых каждый должен знать

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

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

Данная статья является переводом 3 Neglected Features in Python 3 That Everyone Should Be Using.
Читать дальше →

Как не потерять ход времени, работая за компьютером. Приложение по мониторингу работы и ведению статистики

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


Я работаю педагогом в детском технопарке «Кванториум». В период самоизоляции мы так же, как и все перешли на дистанционное обучение. И в связи с тем, что дети стали еще больше времени проводить за компьютером, администрация решила сократить академический час и делать перерывы между работой — чтобы сохранить зрение. Мы написали приложение, которое подсчитывает время, проведенное за компьютером, ведет статистику в excel — полезно для родителей, и выдает звуковое оповещение о том, что пора сделать перерыв.

Приложение будем полезно тем, кто теряется во времени работая за пк и хочет вогнать себя во временные рамки или следить за тем, какая часть жизни теряется в цифровом пространстве.

Ссылка на репозиторий

Под катом подробный разбор.
Читать дальше →

Мониторинг демон на Asyncio + Dependency Injector — руководство по применению dependency injection

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

Я создатель Dependency Injector. Это dependency injection фреймворк для Python.

Это еще одно руководство по построению приложений с помощью Dependency Injector.

Сегодня хочу показать как можно построить асинхронный демон на базе модуля asyncio.

Руководство состоит из таких частей:
Читать дальше →

Шесть Python-пакетов, которые рекомендуется использовать в каждом веб-приложении на Django

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

image


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


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


В то время как некоторые Python-пакеты предлагают потрясающую функциональность, необходимую для конкретного проекта, пакеты, обсуждаемые ниже, — наиболее ходовые из Django-пакетов.

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

Реализация offline режима для Yandex.Music

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

Введение


Сегодня мы будем рассматривать такой достаточно известный музыкальный сервис, как Yandex.Music. Хороший в целом сервис, но с существенным недостатком — невозможностью работы оффлайн. Мы попробуем исправить это досадное недоразумение, используя подручные инструменты.


Инструментарий


Итак, нам понадобится:


  • Относительно свежий python: 3.7 и выше
  • Всякая асинхронщина: aiohttp и aiofile
  • Классический инструмент для работы с html-API: BeautifulSoup
  • Для развлечения пользователя во время процесса: tqdm
  • Для заполнения тэгов: mutagen
Читать дальше →

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

Итоговые проекты курса Deep Learning in Natural Language Processing (by DeepPavlov Lab)

Время на прочтение5 мин
Охват и читатели8K
Недавно завершился «Deep Learning in Natural Language Processing», открытый образовательный курс по обработке естественного языка. По традиции кураторы курса — сотрудники проекта DeepPavlov, открытой библиотеки для разговорного искусственного интеллекта, которую разрабатывают в лаборатории нейронных систем и глубокого обучения МФТИ. Курс проводился при информационной поддержке сообщества Open Data Science. Если нужно больше деталей по формату курса, то вам сюда. Один из ключевых элементов «DL in NLP» — это возможность почувствовать себя исследователем и реализовать собственный проект.

Периодически мы рассказываем на Medium о проектах, которые участники создают в рамках наших образовательных программ, например о том, как построить разговорного оракула. Сегодня мы готовы поделиться итогами весеннего семестрового курса 2020 года.



Немного данных и аналитики


В этом году мы побили все рекорды по численности курса: в начале февраля записавшихся было около 800 человек. Скажем честно, мы не были готовы к такому количеству участников, поэтому многие моменты придумывали на ходу вместе с ними. Но об этом мы напишем в следующий раз.

Вернемся к участникам. Неужели все окончили курс? Ответ, конечно, очевиден. С каждым новым заданием желающих становилось все меньше и меньше. Как итог — то ли из-за карантина, то ли по другим причинам, но к середине курса осталась только половина. Ну что ж, а дальше пришлось определяться с проектами. В качестве итоговых участниками было заявлено семьдесят работ. А самый популярный проект — Tweet sentiment extraction — девятнадцать команд пытались выполнить задание на Kaggle.

Подробнее про представленные проекты


На прошлой неделе мы провели заключительное занятие курса, где несколько команд представили свои проекты. Если вы пропустили открытый семинар, то мы подготовили запись. А ниже мы постараемся кратко описать реализованные кейсы.
Читать дальше →

Рецепты uWSGI: преобразование документов с использованием LibreOffice

Время на прочтение2 мин
Охват и читатели2K
Для приготовления преобразования документов нам понадобится LibreOffice, uwsgi-python, pylokit и webob. Можно также воспользоваться готовым образом. Но это только для запуска uWSGI-сервера, а для подключения к uWSGI-серверу будем использовать nginx.
Читать дальше →

Как работают профайлеры в Ruby и Python?

Время на прочтение8 мин
Охват и читатели7.4K
Перевод статьи подготовлен в преддверии старта продвинутого курса «Разработчик Python».

Оригинал статьи можно прочитать тут.





Всем привет! В качестве аперитива к профайлеру на Ruby я хотела рассказать о том, как работают уже существующие профайлеры на Ruby и Python. Также это поможет дать ответ на вопрос, который мне задает множество людей: «Как написать профайлер?»

В этой статье мы сфокусируемся на профайлерах процессора (а не, допустим, профайлерах памяти/кучи). Я расскажу о некоторых базовых подходах к написанию профайлера, приведу примеры кода и покажу много примеров популярных профайлеров на Ruby и Python, а также расскажу, как они работают под капотом.
Читать дальше →

Простой P2P сервер на python

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


Одноранговая сеть или проще P2P сеть — это сеть в которой все пользователи равны и имеют равные права. Отличительная особенность таких сетей от обычных в том, что в ней нет единого сервера, к которому подключаются пользователи, вместо этого они подключаются друг к другу. Существуют гибридные варианты таких сетей, в котором присутствует сервер, выполняющий только координирующую работу.


Сегодня я хочу предложить простой вариант реализации P2P сервера для такой сети на языке python.

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

Заметки Дата Сайентиста: как измерить время забега марафона лежа на диване

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

Продолжая цикл заметок про реальные проблемы в Data Science, мы сегодня разберемся с живой задачей и посмотрим, какие проблемы нас ждут в пути.

Например, помимо Data Science, я давно увлекаюсь атлетикой и одной из целей в беге для меня, конечно, является марафон. А где марафон там и вопрос — за сколько же бежать? Часто ответ на этот вопрос дается на глаз — «ну в среднем бегут» или «вот Х хорошее время»!

И сегодня мы займемся важным делом — применим Data Science в реальной жизни и ответим на вопрос:

А что нам говорят данные о московском марафоне?

Точнее, как уже понятно по таблице в начале — мы соберем данные, разберемся, кто и как бежал. А заодно это поможет понять, стоит ли нам соваться и позволит здраво оценить свои силы!

TL;DR: Я собрал данные по забегам московского марафона за 2018/2019, проанализиворовал время и показатели участников, а код и данные выложил в открытый доступ.
Добро пожаловать под кат!

Проверка скорости интернета библиотекой Requests в мультипроцессинге

Время на прочтение2 мин
Охват и читатели6.2K
Доброго времени, уважаемые жители Хабра!

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

8 продвинутых возможностей модуля logging в Python, которые вы не должны пропустить

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

Понимайте свою программу без ущерба для производительности


image


Журналирование — это очень важная часть разработки ПО. Оно помогает разработчикам лучше понимать выполнение программы и судить о дефектах и непредвиденных сбоях. Журнальное сообщение может хранить информацию наподобие текущего статуса программы или того, в каком месте она выполняется. Если происходит ошибка, то разработчики могут быстро найти строку кода, которая вызвала проблему, и действовать с учетом этого.


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

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

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