Обновить
581.16

Python *

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

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

Оптимизация графики для небольших сайтов: quetzli, webp, avif

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

Как мы оптимизировали показ изображений на сайте GrinDin.ru.

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

Читать далее

Воссоздаем старую компьютерную графику с помощью генеративных моделей

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

Могут ли современные алгоритмы создавать улучшенные версии старой графики видеоигр с более высоким разрешением?

Последние несколько дней я использовал ИИ-генерацию изображений для воспроизведения одного из кошмаров моего детства. Я использовал Stable Diffusion, Dall-E и Midjourney, чтобы посмотреть, как эти инструменты генерации изображений могут помочь улучшить старую визуальную историю - вступительный фильм к старой видеоигре (Nemesis 2 на MSX). В этом посте описывается процесс и мой опыт использования этих моделей для улучшения графики.

Читать далее

Делаем свой криптокошелек для BITCOIN монет на Arduino

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

Проект предназначен для генерации электронного кошелька, шифрование номера приватного кошелька и последующее его хранение на плате Wemos D1.

Читать далее

QR-code. Обнаружить и расшифровать. Шаг 1 — Обнаружить

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

Эта статья - первая в цикле статей, в котором мы разберемся с тем, как qr-код устроен, и напишем простенький Qr-детектор и дешифровщик, а также свой собственный генератор qr-кодов

Использовать мы будем python вместе с opencv и numpy. Учитывая, что opencv - кросс-язычная библиотека, а также то, что работа с изображением/текстурой в разных решениях выглядят примерно одинаково, то я думаю, что вы без труда сможете перевести алгоритм, который будет здесь написан, на любой нужный вам язык

В первую очередь мы будем рассматривать полноразмерный qr-код, Micro-qr возможно будет рассмотрен после завершения работы над полноразмерным qr

Также, хочу отметить, что готовый класс QrCodeDetector уже имеется внутри opencv. Возможно, вам не нужно изобретать велосипед :-)

Читать далее

Процесс запуска и проведения АВ-тестов

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

Приветствую, уважаемые читатели Хабра. Меня зовут Николай Французов, я digital-аналитик в компании Tele2, занимаюсь сбором и анализом данных, построением дашбордов и проведением А/В-тестов.

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

Структура

- Кратко про А/В-тесты

- Процесс проведения —  первая часть, работа аналитика данных. Расчет fixed horizon и формирование ТЗ;

- Процесс проведения —  вторая часть, работа аналитика стрима проекта. Настройка;

- Процесс проведения —  третья  часть, сбор данных, анализ результатов и выводы.

Читать далее

Как можно ускорить Python сегодня

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

Python не перестаёт удивлять многих своей гибкостью и эффективностью. Лично я являюсь приверженцем С и Fortran, а также серьёзно увлекаюсь C++, поскольку эти языки позволяют добиться высокого быстродействия. Python тоже предлагает такие возможности, но дополнительно выделяется удобством, за что я его и люблю.

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

  1. Почему столь важно думать о «будущем разнородных вычислений».
  2. Две ключевых сложности, которые необходимо преодолеть в открытом решении.
  3. Параллельное выполнение задач для более эффективного задействования CPU.
  4. Использование ускорителя для дополнительного повышения быстродействия.

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

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

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

Итак, некоторое время назад я писал статью о том, как мы переехали на werf со скрипта. По большому счёту, это продолжение той истории. Задача встала такая: нужно максимально автоматизировано разворачивать свежее приложение на нескольких кластерах kubernetes, которое уже имеет обвязку для деплоя в виде werf. После некоторых изысканий, попыток использовать "коробочные" решения самой верфи и куба, я понял, что придётся написать собственный оператор, чтобы получить прям 100% покрытия всех "хотелок".

Чтобы у "гошников" прям конкретно подгорело, для этих целей я выбрал свой любимый Python и kopf.

Поджечь стул

Пишем FastAPI с нуля на python

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

FastAPI — это современная, быстрая (высокопроизводительная) веб-инфраструктура для создания API-интерфейсов с Python 3.7+ на основе стандартных подсказок типов Python.

В этой статье мы рассмотрим как написать его с нуля.

Читать далее

Инструмент для автоматической оценки конкурса при поступлении в ВУЗы РФ

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

Каждый выпускник школы сталкивается с проблемой выбора профессии и, следовательно, ВУЗа. Этот этап жизни является наиболее сложным для школьника психологически: нужно подготовиться и сдать экзамены, от которых зависит, наберут ли они проходной балл в выбранное учебное заведение. Сам процесс поступления тоже является источником стресса: новая система подачи документов не гарантирует 100% зачисление даже с необходимыми баллами. До самого последнего момента абитуриент не знает, пройдёт он или нет на бюджет в выбранных ВУЗах и решение о подаче оригиналов документов приходится принимать на основании ограниченной информации и своих собственных предположениях о дальнейшем развитии ситуации. Получается, все выпускники последние 2 месяца лета не наслаждаются заслуженным отдыхом, а всей страной играют в покер со ставками на свое дальнейшее образование!

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

Читать далее

Используем Computer Vision для получения €6,147,455 за ночь во внутриигровой валюте

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

Последние 10 лет я играл в такие игры, как TownsMen 6, Clash of the Clans, SimCity и мою любимую OpenTTD (с открытым исходным кодом!).

Попробовав City Island 5, я был раздражен от того, что предметы не накапливались, пока я находился вне игры. У меня может быть самый лучший бизнес, стратегия и т.д., но я должен быть в игре, чтобы обеспечить сбор денег/ключей/золота с течением времени. Например, если моя пекарня зарабатывает 100 евро в минуту, я заработаю 100 евро только после того, как выйду из игры и вернусь через 24 часа.

Это стало особенно утомительным, когда я пытался накопить €5 000 000, необходимых для покупки острова, показанного ниже. Это займет у меня примерно две недели игры, если я не буду тратить деньги - оно того не стоит!

Читать далее

Делаем фронт на React, а ChatGPT будет нашим Redux редьюсером

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

Приложение React/Redux представляет собой односторонний цикл потока данных. Пользователь взаимодействует с пользовательским интерфейсом, который производит действия Redux, которые отправляются в функции reducer, которые обновляют объект состояния приложения, который передается обратно в React для повторного отображения пользовательского интерфейса.

Разговор с ChatGPT также представляет собой односторонний цикл. Человек посылает запрос (действие), который передается языковой модели (редуктор), которая обновляет разговор (состояние) своим ответом.

Можем ли мы использовать последнюю модель ChatGPT для этих целей? Спойлер: да, можем!

Читать далее

Pyspark. Анализ больших данных, когда Pandas не достаточно

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

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

Ну что же, приступим...

Читать далее

Полное руководство по модулю asyncio в Python. Часть 4

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

Сегодня, в четвёртой части (перваявтораятретья) перевода учебного руководства по модулю asyncio в Python, представляем вашему вниманию разделы оригинала №8 и 9.

Читать далее

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

Субъективные итоги года в мире Python

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

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

Это — текстовая выжимка из выпуска. 

Читать далее

Обзор пакетов SciPy, Pyomo и CVXPY для решения задач условной оптимизации

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

Привет, Habr! На связи Михаил Будылин и Антон Денисов, мы работаем в отделе аналитики данных X5 Tech.

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

Читать далее

AIRFLOW ETL let's start гайд за 5 минут

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

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

Читать далее

Без лишних слов или очищаем речь с помощью текст майнинга

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

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

Меня зовут Пётр Мананников я Data Scientist и являюсь участником профессионального сообщества NTA. Представьте ситуацию: вас назначили спикером на мероприятии, и вы даже знаете, о чем хотите рассказать аудитории. Но будет ли публикой воспринят ваш доклад так, как вы себе это представляли? Давайте посмотрим, что может пойти не так, и как это исправить.

Читать далее

Задача коммивояжера (TSP) точное решение — метод ветвей и границ

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

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

Я говорю про NP-трудные задачи (NP-трудность - недетерминированная полиномиальная трудность по времени) и на одной из данного класса хочу акцентировать ваше внимание. Задаче коммивояжера.

Мы не будем рассматривать эвристические алгоритмы, нам нужно точное решение.

Читать далее

Лучшие новые библиотеки Python за 2022 год

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

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

Читать далее

У вас нет причин использовать alpine для python-проектов

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

По мотивам моего доклада на PyCon "Контейнеризация Python без боли". На своей практике я постоянно сталкиваюсь со спорами какой базовый образ лучше использовать для проектов: alpine или debian. Аргументы есть и у той, и у другой стороны, но мне это настолько надоело, что я решил сам разобраться и наконец-то поставить точку. В конце концов "В наше время верить нельзя никому, даже себе. Но мне - можно." (с)

Читать далее

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