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

Python *

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

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

Python как инструмент сборки

Время на прочтение7 мин
Количество просмотров10K
Предлагаем вашему вниманию перевод поста Никиты Прокопова, разрабочика с 15-летним стажем.

image Обычно, начиная проект на Java (или любой другой проект), вы не хотите заново изобретать колесо. Вы де-факто выбираете систему сборки, структуру папок, окружение и т.д. То, что использует весь остальной мир.

Тем не менее, и Skija, и JWM сделаны с помощью скриптов Python вместо более традиционных Ant/Maven/Gradle/SBT. Почему? Давайте узнаем!

Maven


Когда мы только начинали Skija, я использовал Maven, потому что хорошо его знал. Очень скоро мы столкнулись с ограничениями Maven: это очень жесткая система. Он хорошо работает на стандартных проектах, но когда вам нужно что-то дополнительное, он становится препятствием.

А у нас был очень нестандартный проект. Skija — это проект 50/50 из Java и C++. Мы создаем нативные артефакты и упаковываем их в JAR-файлы. У нас есть несколько разных JAR, собранных из одного источника (по одному на платформу). Мы также предварительно обрабатываем исходники Java с помощью Lombok перед их компиляцией.

Забавный факт: единственной IDE, которая поддерживает одновременную разработку на Java и C++, является Android Studio. Нет, мы не были готовы пойти на эту жертву.


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

ЗаPython'ил ЕГЭ на сотку или почему Python поможет на ЕГЭ

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

Доброго времени суток каждому жителю Хабрвилля! Давненько я не писал статей! Пора это исправить!

В сегодняшней статье поговорим о насущной для многих выпускников школ теме - ЕГЭ. Да-да-да! Я знаю, что Хабр - это сообщество разработчиков, а не начинающих айтишников, но сейчас ребятам как никогда нужна поддержка именно сообщества. Ребят опять посадили на дистант. Пока не ясно на какой период, но уже сейчас можно сказать, что ЕГЭ по информатике будет на компьютерах и его можно зарешать при помощи языка Python.

Вот я и подумал, чтобы не получилось как в песне, стоит этим заняться. Я расскажу про все задачи первой части и их решения на примере демо варианта ЕГЭ за октябрь.

Всех желающих - приглашаю ниже!

Погнали!

Главный секрет операторов match/case в пайтоне

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

Не так давно увидела свет версия языка пайтон 3.10. В ней был добавлен pattern matching statement (оператор сопоставления с шаблонами). Как гласит официальное описание этого оператора в PEP622, разработчики в большей мере вдохновлялись наработками таких языков как: Scala, Erlang, Rust.

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

Читать далее

Возможно, в мозге найден эквивалент обратного распространения

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

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

Не прерывая работу нейронов, эта модель позволяет выполнять биологическое обратное распространение, а эффективность реализации нового алгоритма близка к эффективности классического обратного распространения. За подробностями и кодом приглашаем под кат, пока у нас начинается курс по ML и DL.

Читать далее

Немного примеров match/case в Python 3.10

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

Не так давно (а именно 4 октября 2021 года) официально увидела свет юбилейная версия языка python, а именно версия 3.10. В ней было добавлено несколько изменений, а самым интересным (на мой взгляд) было введение pattern matching statement (оператор сопоставления с шаблонами). Как гласит официальное описание этого оператора в PEP622, разработчики в большей мере вдохновлялись наработками таких языков как: Scala, Erlang и Rust.

Для тех, кто еще не знаком с данным оператором и всей его красотой, предлагаю познакомиться с pattern matching в данной статье. 

Ознакомиться

Подсчет автомобильного трафика с использованием COMPUTER VISION

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

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

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

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

Для начала определимся с источником видеозаписей. Для примера можно взять портал https://weacom.ru/cams. На данном портале размещены в общий доступ различные камеры, которые имеют качественное изображение и хорошее расположение (отлично видно дорогу и автомобили)

В качестве примера камеры возьмем https://weacom.ru/cams/view/akademmost2

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

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

Читать далее

Пишем систему рекомендаций музыки на основе ML

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

К старту курса по ML и DL рассказываем, как воспользоваться API Spotify, чтобы создать систему рекомендаций музыки под настроение на основе алгоритмов ML. Благодаря простоте систему легко настроить под ваши нужды: API Spotify возвращает понятные человеку признаки музыкального файла, например тембр. За подробностями приглашаем под кат.

Читать далее

Получаем кривую плотности распределения вероятности случайного процесса

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

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

Помнится, когда впервые возникла задача такого рода, с ходу решить ее не получилось, при кажущейся, на первый взгляд, относительной простоте вопроса, на его решение пришлось потратить некоторое количество времени и обратиться при этом к тематической литературе. Немного покопавшись в поиске Хабра обнаружил, что нет статей, которые могли бы помочь решить такую задачу. В связи с этим я хотел бы простым и понятным языком рассказать коллегам по цеху, как можно построить плотность распределения вероятности какого либо процесса, представленного некоторой числовой последовательностью своими силами, не используя специализированные методы сторонних библиотек для научных расчетов, например, таких как Pandas или Seaborn. Думаю, что научиться это делать или просто освежить тему в памяти было бы полезно многим аналитикам данных, разработчикам, инженерам, научным работникам и другим специалистам.

Читать далее

Создаем начальную миграцию с alembic для существующей базы

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

Создание начальной миграции для существующей базы с alembic

Читать далее

5++ способов в одну строку на Python решить первую задачу Проекта Эйлера

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

Однажды меня посетила мысль, а что если попробовать решить первую задачу Проекта Эйлера всевозможными способами, но с условием, что решение должно быть в одну строку. В итоге получилось более пяти однострочных решений с применением Filter, Map, Reduce, Generator Expression и т.д. В этой статье я покажу то, к чему я пришёл.

Читать далее

Игра в бисер на Python

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

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

Читать далее

Реализация кластеризации методом k-средних на Python (с визуализацией)

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

Кластеризация — один из наиболее популярных алгоритмов группировки данных.

Несмотря на множество способов его осуществления, мы рассмотрим и реализуем на языке Python метод k-средних. Он является наиболее ясным и алгоритмически понятным.

Будет уделено внимание визуализации 2-х и 3-х мерных пространств с помощью библиотеки matplotlib.

Читать далее

Зарплаты в Python за последние 10 лет

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

2021 год — знаковый для Python: в рейтинге популярности TIOBE он занял первое место. Поэтому сегодня публикуем статистику зарплат разработчика на Python за последние 10 лет. Возьмём условного Python Middle в Москве с опытом от 1 до 3 лет, а ещё рассчитаем реальное изменение доходов с учётом кризисов в экономике, пока у нас начинается курс по Fullstack-разработке на Python. Интересно? Поехали.

Читать далее

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

Цифровизация в металлургии: ЕВРАЗ проводит хакатон по Data Science

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

Металлургия меняется. Сегодня у нас нет предприятий, которые работают без поддержки IT-технологий.

Но с чем конкретно работают IT-специалисты в промышленности? Пощупать реальные кейсы могут все желающие на хакатоне EVRAZ AI Challenge (вы еще можете на него успеть — регистрация продлится до 26 октября).

Подробнее о хакатоне, его задачах и другие детали — под катом.

Хочу подробности

Как стать web-разработчиком на Python за полгода: конкретный план действий

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

Всем привет! Меня зовут Евгений Степанов, и я Python Full Stack-Developer в компании PVS-Studio. В этой статье вы узнаете, что нужно сделать, чтобы за полгода стать Python backend-разработчиком. После прочтения данной публикации у вас будет чёткий план, который останется только реализовать. Поехали!

Читать далее

Генерация признаков из временных рядов

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

Заглянуть в будущее

Когда мы хотим рассчитать количество звонков в колл-центр через час, поставить в пятничную смену достаточно курьеров или предсказать потребление электроэнергии небольшим городком через 5 лет, мы обращаемся к теме обработки временных рядов. На тему обработки timeseries (временной ряд, англ.) написано множество статей и создано несчетное количество часов видео. Но попробуйте задать поисковой системе вопрос: как работать с временными рядами. Уверен, вы закопаетесь в многообразии ссылок, похожих по смыслу и содержанию. Однако, ни одна из них не ответит на вопрос полностью. Авторы выдают два или три метода обработки как панацею от всех проблем в работе со временем.

Мы попробуем собрать в одной статье все классические и современные методы обработки даты и времени.

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

TL:DR

Основная цель статьи – создание новых признаков из временных периодов для решения бизнес-задач. Информация будет полезна новичкам и специалистам, которые редко работают со временными рядами. К тексту прилагается заметка на kaggle. Вы можете изучать статью и одновременно выполнять код. Мы не будем строить графики и рассматривать особенности временных рядов.

Ничего личного – просто бизнес

Читать далее

Препарирование нейронок, или TSNE и кластеризация на терабайтах данных

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

У вас продакшн нейронные сети, терабайты данных? Вам хочется понять, как работает нейронная сеть, но на таком объеме это сложно сделать? Сложно, но можно. Мы в NtechLab находимся именно в той ситуации, когда данных так много, что привычные инструменты интроспекции нейронных сетей становятся не информативны или вовсе не запускаются. У нас нет привычной разметки для обучения атрибутов. Но нам удалось вытащить из нейронной сети достаточно, чтобы классифицировать все имеющиеся данные на понятные человеку и учтенные нейронной сетью атрибуты. В этом посте мы расскажем, как это сделать.

Читать далее

Мультиклассификация экстремально коротких текстов классическими методами машинного обучения

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

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

Читать далее

Погода бот на python

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

На тему телеграмм ботов много материал, но погода бота я не находил и поэтому для себя и своих братьев написал свой собственный бот на Python.

В первую очередь нам нужна среда разработки для меня это Pycharm от нашей питерской компании. Установка проста как три рубля поэтому на ней останавливаться не буду.

Пока устанавливается Pycharm, нужно получить токены:

1. для бота от телеграмма,

2. для доступа к api accuweather

3. для доступа к api yandex.weather

Итак, для получения токена от телеграмма Вам необходимо написать @BotFather и следовать инструкции (инструкций по созданию телеграмм-бота полно в интернете).

Читать далее

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