Обновить
1024K+

Python *

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

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

Курс лекций «Основы цифровой обработки сигналов»

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

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

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


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

Есть ли что-то общее у разных песен-хитов?

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

Если выполнить вход на Spotify.me, то можно получить персонализированную сводку того, как Spotify понимает вас через музыку, которую вы слушаете на этом сайте Spotify. Это круто!

Я слушаю много музыки и люблю работать с данными, поэтому это вдохновило меня на попытку анализа моей коллекции музыки.

Мне было очень любопытно, существуют ли какие-то конкретные ингредиенты, из которых составлены хитовые песни. Что делает их крутыми? Почему нам нравятся хиты, и есть ли у них определённая «ДНК»?

Задача


Это привело меня к попытке ответить при помощи данных Spotify на два вопроса:

  1. На что похож мой музыкальный плейлист?
  2. Существуют ли конкретные атрибуты аудио, общие для всех хитовых композиций?

Инструменты


К счастью, есть очень простые инструменты, позволяющие подключиться к Spotify, получить данные, а затем визуализировать их.

Мы будем работать с языком программирования Python 3, библиотекой Python Spotipy, позволяющую подключаться к Spotify Web API, а визуализировать данные будем с помощью plot.ly и Seaborn.

Массив данных


В конце каждого кода Spotify компилирует плейлист из 100 самых часто воспроизводимых песен. Использованный мной массив данных уже выложен на Kaggle: Top Spotify Tracks of 2018. Список 100 самых популярных песен со Spotify кажется вполне разумным массивом данных для изучения хитов, не правда ли?
Читать дальше →

История о том, как разработка игры стала частью моей жизни

Время на прочтение4 мин
Охват и читатели15K
Здравствуйте! Меня зовут Максим Газизов. Ранее я публиковал пост на Хабре о своих успехах и ошибках в геймдеве. И затем, спустя год работы над своим детищем под названием Wasteland Wars, я пропал из эфира. Всё потому, что меня настолько затянул процесс, как никогда раньше. Кстати, так вышло, что я потерял свой прежний аккаунт и вот создал новый.

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

Галерея лучших блокнотов по ML и Data Science

Время на прочтение3 мин
Охват и читатели35K
Привет, читатель.

Меня зовут Рушан, и я автор Telegram‑канала Нейрон. Не забудьте поделиться с коллегами или просто с теми, кому интересны такие статьи. Представляю пост который идёт строго (!) в закладки и передаётся коллегам. Он с подборкой примечательных файлов формата Jupyter Notebook по Machine Learning, Data Science и другим сферам, связанным с анализом данных. Эти блокноты Jupyter, будут наиболее полезны специалистам по анализу данных — как обучающимся новичкам, так и практикующим профи.

image

Итак, приступим.

Вводные курсы в Jupyter Notebook


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

Рецепты для ELFов

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

image


На русском языке довольно мало информации про то, как работать с ELF-файлами (Executable and Linkable Format — основной формат исполняемых файлов Linux и многих Unix-систем). Не претендуем на полное покрытие всех возможных сценариев работы с эльфами, но надеемся, что информация будет полезна в виде справочника и сборника рецептов для программистов и реверс-инженеров.


Подразумевается, что читатель на базовом уровне знаком с форматом ELF (в противном случае рекомендуем цикл статей Executable and Linkable Format 101).


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

Поработаем с эльфами

Решение задания с pwnable.kr 07 — input. Разбираемся с pwntools

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

В данной статье разберем решение многоуровнего задания с помощью библиотеки pwntools.

Организационная информация
Специально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьютерной безопасности, я буду писать и рассказывать о следующих категориях:

  • PWN;
  • криптография (Crypto);
  • cетевые технологии (Network);
  • реверс (Reverse Engineering);
  • стеганография (Stegano);
  • поиск и эксплуатация WEB-уязвимостей.

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

Автоматизация импортов в Python

Время на прочтение7 мин
Охват и читатели23K
До После
import math
import os.path

import requests

# 100500 other imports

print(math.pi)
print(os.path.join('my', 'path'))
print(requests.get)
import smart_imports

smart_imports.all()

print(math.pi)
print(os_path.join('my', 'path'))
print(requests.get)
Так получилось, что аж с 2012 года я разрабатываю open source браузерку, являясь единственным программистом. На Python само собой. Браузерка — штука не самая простая, сейчас в основной части проекта больше 1000 модулей и более 120 000 строк кода на Python. В сумме же с проектами-спутниками будет раза в полтора больше.

В какой-то момент мне надоело возиться с этажами импортов в начале каждого файла и я решил разобраться с этой проблемой раз и навсегда. Так родилась библиотека smart_imports (github, pypi).

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

Например, не надо будет писать import math чтобы обратиться к math.pi — мы и так можем понять, что в данном случае math — модуль стандартной библиотеки.

Smart imports поддерживают Python >= 3.5 Библиотека полностью покрыта тестами, coverage > 95%. Сам пользуюсь уже год.

За подробностями приглашаю под кат.
Читать дальше →

Модуль dis в Python и свертка констант

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

Всем привет. Сегодня хотим поделиться еще одним переводом подготовленным в преддверии запуска курса «Web-разработчик на Python». Поехали!



Недавно я очень удивился, когда обнаружил, что


>>> pow(3,89)

работает медленнее, чем


>>> 3**89
Читать дальше →

Сравнение BDD фреймворков Python: плюсы и минусы

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

Всем привет. Уже в этом месяце в ОТУС стартует курс "Python QA Engineer". В преддверии старта данного курса делимся с вами переводом интересного материала.



Почти все основные языки программирования имеют фреймворки для BDD тестирования, и Python не исключение. И по факту, у него их несколько! Итак, как их сравнить и какой из них лучший? Попробуем разобраться.

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

Получить выписку ЕГРН из Росреестра с помощью python, минуя api

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

Не первое знакомство с порталом Росреестра


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

Всем, кто уже успел поработать с сайтом, известно, что для получения выписки из ЕГРН, в которой будет содержаться информация не только об общих характеристиках объекта, но и о правообладателе данного объекта, необходимо зайти в личный кабинет Росреестра.

Возможно, это удобный способ получения одной или нескольких выписок. Однако, что делать, если необходим пакет выписок ЕГРН? Допустим, вы работаете с недвижимостью или владеете рядом объектов, общее число которых более 10. По общему правилу получать выписку из ЕГРН надо не реже 1 раза в год, чтобы успеть вовремя отреагировать в юридической плоскости на нежелательные изменения в Росреестре, если они возникнут помимо вашей воли.

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

Нейросети и глубокое обучение, глава 3, ч.2: почему регуляризация помогает уменьшать переобучение?

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

Эмпирически мы увидели, что регуляризация помогает уменьшать переобучение. Это вдохновляет – но, к сожалению, не очевидно, почему регуляризация помогает. Обычно люди объясняют это как-то так: в каком-то смысле, менее крупные веса имеют меньшую сложность, что обеспечивает более простое и действенное объяснение данных, поэтому им надо отдавать предпочтение. Однако это слишком краткое объяснение, а некоторые его части могут показаться сомнительными или загадочными. Давайте-ка развернём эту историю и изучим её критическим взглядом. Для этого предположим, что у нас есть простой набор данных, для которого мы хотим создать модель:

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

Пример простой нейросети, как результат разобраться что к чему

Время на прочтение4 мин
Охват и читатели42K
Нейросети — это та тема, которая вызывает огромный интерес и желание разобраться в ней. Но, к сожалению, поддаётся она далеко не каждому. Когда видишь тома непонятной литературы, теряешь желание изучить, но всё равно хочется быть в курсе происходящего.

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

Визуализация столбца из DataFrame с помощью библиотеки Seaborn

Время на прочтение1 мин
Охват и читатели9.5K
Попробуем визуализировать данные по рекламным кампаниям, которые храняться в DataFrame.

Дано:


DataFrame, в котором хранится статистика по рекламным кампаниям по следующим показателям:

  • CampaignName
  • Date
  • Impressions
  • Clicks
  • Ctr
  • Cost
  • AvgCpc
  • BounceRate
  • AvgPageviews
  • ConversionRate
  • CostPerConversion
  • Conversions


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

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

Подчеркивание в Python

Время на прочтение4 мин
Охват и читатели17K
Недавно мне довелось послушать доклад о хороших и плохих практиках программирования на языке Си. В нем, в частности, была затронута тема расшифровки забавно выглядящего программного кода (смайликов в Си). После чего последовал спор о целесообразности использования такого запутанного кода для проверки навыков кандидата на должность программиста при собеседованиях. Спор не привел к единому мнению.

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

Задача


Имеются два выражения:

  1. _+_
  2. _|_

Какое из этих двух выражений чаще будет приводить к возникновению ошибки и почему?
Читать дальше →

Мелкая питонячая радость #7: три штуки по цене одной — консольная анимация, алгоритмы и отладка

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

На этой неделе достаточно крупных мелких радостей не нашлось, зато нашлись 3 совсем мелкие мелкие радости.


termtosvg


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


image


Традиция, бесспорно, хорошая и правильная. Только записывать такие анимации бывает трудно/лень/некогда. Авторы termtosvg пристрелили всех зайцев одим выстрелом и дали программистам прекрасную штуку для записи консольных демок.

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

Объяснение задачи на Python с собеседования

Время на прочтение2 мин
Охват и читатели30K
Салют, хабровчане! В преддверии запуска нового потока по курсу «Web-разработчик на Python» хотим поделиться новым полезным переводом. Поехали!



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

def f(x, l=[]):
    for i in range(x):
        l.append(i * i)
    return l
>>> f(2)
>>> f(3, [0, 1, 2])
>>> f(3)


Вопрос: Что выведет этот код?
Читать дальше →

Прогнозирование результатов футбольных матчей

Время на прочтение6 мин
Охват и читатели58K
Модель машинного обучения на Python c использованием библиотеки Scikit-learn, для прогнозирования результатов футбольных матчей Российской Премьер Лиги (РПЛ).
Читать дальше →

Как студенты из Перми попали в финал международного чемпионата по анализу данных Data Mining Cup 2019

Время на прочтение5 мин
Охват и читатели3.9K
Всем привет. В этой статье я расскажу о нашем опыте участия в соревновании по анализу данных Data Mining Cup 2019 (DMC) и о том, как нам удалось войти в ТОП-10 команд и принять участие в очном финале чемпионата в Берлине.

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

XLNet против BERT

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


В конце июня коллектив из Carnegie Mellon University показал нам XLNet, сразу выложив публикацию, код и готовую модель (XLNet-Large, Cased: 24-layer, 1024-hidden, 16-heads). Это предобученная модель для решения разных задач обработки естественного языка.

В публикации они сразу же обозначили сравнение своей модели с гугловым BERT-ом. Они пишут, что XLNet превосходит BERT в большом количестве задач. И показывает в 18 задачах state-of-the-art результаты.
Читать дальше →

Внедрение Airflow для управления Spark-джобами в ivi: надежды и костыли

Время на прочтение9 мин
Охват и читатели12K
Задача деплоя моделей машинного обучения в продакшн — это всегда боль и страдания, потому что очень некомфортно вылезать из уютного jupyter notebook в мир мониторинга и отказоустойчивости.

Мы уже писали про первую итерацию рефакторинга рекомендательной системы онлайн-кинотеатра ivi. За прошедший год мы почти не дорабатывали архитектуру приложения (из глобального — только перезд с устаревших python 2.7 и python 3.4 на «свежий» python 3.6), зато добавили несколько новых ML моделей и сразу столкнулись с проблемой выкатывания новых алгоритмов в продакшн. В статье я расскажу про наш опыт внедрения такого инструмента управления потоками выполнения задач как Apache Airflow: почему у команды возникла эта необходимость, чем не устраивало существующее решение, какие костыли пришлось запилить по дороге и что из этого получилось.

→ Видео-версию доклада можно посмотреть на ютубе (начиная с 03:00:00) здесь.


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