Обновить
797.71

Python *

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

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

Разработка Task Manager с нуля до полнофункционального продукта

Уровень сложностиСложный
Время на прочтение13 мин
Охват и читатели7.9K

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

Мы пройдём весь путь — от установки необходимых инструментов и настройки окружения до разработки интерфейса и деплоя приложения на сервере. Каждый этап будет сопровождаться объяснениями и примерами кода, которые вы сможете найти в репозитории на GitHub.

Читать далее

Selenium с Robot Framework — тест пользовательского интерфейса

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели2.2K

Как специалист по контролю качества с опытом работы на Java и Selenium, я с гордостью расскажу о Robot Framework.

Читать далее

Искусственный интеллект на страже качества: Команда ZeBrains создала систему автоматического поиска дефектов ноутбуков

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели621

Рассказываем, как мы, » or «„=“ [ZeBrains] заняли призовое место в кейсе от компании „Сила“, и решили задачу по созданию ИИ‑модели для автоматического обнаружения и классификации дефектов на изображениях ноутбуков.

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

Читать далее

Объединяем фреймы данных в pandas: две самые распространённые операции

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели2.8K

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

Объединять такие таблицы, например, в Excel, ужасно долго и муторно. К счастью, если их удалось загрузить в pandas в виде фреймов данных, есть решение одной командой. Если вы импортировали pandas как pd, то команда объединения будет выглядеть так:

Читать далее

constexpr Game of Life

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

В C++ уже больше 10 лет существует constexpr, который позволяет программисту ушло возложить часть вычислений на компилятор. В свое время это взорвало мне мозг, ведь компилятор может посчитать какие-то достаточно сложные вещи еще до запуска программы!

В какой-то момент я подумал: если компилятор сможет сам посчитать все за тебя, то зачем тогда тебе вообще рантайм? Что ты там будешь делать — ответ выводить что ли? Глупости какие-то. Это неспортивно.

На этом моменте и зародился мой челлендж:

"Без рук" или "даже не думай запускать exe-файл"

Челлендж принят!

Сборщик мусора CPython и его влияние на производительность приложения

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели3.4K

В прошлом я уже публиковал детальный разбор кода сборщика мусора CPython, однако стоит также дать более высокоуровневое объяснение механизмов управления памятью в CPython, не затрагивая сам код. Этому и будет посвящена данная статья. Статья в основном будет посвящена циклическому сборщику мусора (GC), как и когда он запускается и его влиянию на производительность приложений.

Читать далее

Пишем свою Diffusion модель с нуля

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

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

Меня зовут Юра, я - разработчик, фаундер и ML энтузиаст, также пишу свои заметки в своем ТГ канале. Я решил разобраться и понять, как устроена Diffusion модель внутри, понять ее математику и постараться объяснить и разложить ее на пальцах. Ну и конечно пописать код, который (спойлер) заработал. На гифке изображены примеры итоговых картинок на моей финальной модели.

Если вам тоже интересно, то читайте дальше

Читать далее

Создаем свою ORM на python — гайд

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

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

ORM позволяет абстрагироваться от сырых SQL запросов путем абстракций.

В этой статье мы и рассмотрим создание своей ORM на Python с документацией и публикацией на PyPI. Данный проект очень интересен со стороны реализации: ведь требуется изучить большую часть ООП, принципов и паттернов.

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

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

Читать далее

FastAPI + APScheduler: Простой пошаговый гайд по созданию асинхронного API для мониторинга валют по расписанию на Python

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

Как создать асинхронный API для мониторинга курсов валют на Python? В этом практическом руководстве мы разработаем сервис на FastAPI с интеграцией APScheduler, который будет отслеживать курсы USD и EUR в банках России. Вы узнаете, как реализовать асинхронный парсинг данных, настроить планировщик задач и развернуть приложение в облаке. Проект включает систему аутентификации, фильтрацию данных и REST API — идеальный пример для изучения современной веб-разработки на Python.

Читать далее

Размер имеет значение: как исторические данные помогают на этапе дизайна A/B-теста

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

Метод CUPED уже давно завоевал популярность в анализе A/B-тестов, предоставляя возможность выявлять эффекты меньших размеров. В этой статье мы подробно рассмотрим применение данного подхода на этапе дизайна эксперимента. Мы исследуем, как можно сократить размеры выборок, не теряя при этом в статистической мощности теста.

Читать далее

Установка Jupyter Notebook в Windows

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

В одном из предыдущих постов мы уже разбирали работу в интерактивном блокноте на примере Google Colab. Возможность написания кода в ячейках (почти как в MS Excel!), удобное выполнение в интерактивном режиме и совмещение с блоками красиво оформленного текста делает работу с данными — в том числе биологическими — гораздо приятнее. 

Кроме того, заполненный и хорошо оформленный блокнот избавляет от необходимости придумывать коду какой-то интерфейс и вместо решения биологических задач тратить время на фронтенд-разработку. Блокнот вполне можно передать коллегам, обладающим лишь минимальными навыками Python, чтобы они ввели в него свои данные и воспользовались им для расчётов. То есть это хороший вариант для работы с биологами из «мокрых» лабораторий.  

У интерактивного блокнота есть и офлайн-реализация, которая называется Jupyter Notebook (Рис. 1). Установить его можно разными способами.

Читать далее

Красивые картинки на скатерти Улама

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

Скатерть Улама и тонкая структура простоты чисел .

Очень много больших картинок

Скатерть Улама

https://ru.wikipedia.org/wiki/Скатерть_Улама https://en.wikipedia.org/wiki/Ulam_spiral ) это очень красивое и наглядное представление структуры простых чисел. Красивая картинка говорит о том, что расположение простых чисел на оси натуральных чисел не случайно. Но вот формулу простую, по которой можно быстро и просто получить следующее простое число еще не придумали.

В данной статье мы тоже исследуем свойства "скатерти Улама", только немного её уплотним. Наша цель исследовать структуру множества простых чисел, их плотность и равномерность расположения на оси натуральных чисел.

Очень много больших картинок

Функция property() в Python: добавляем управляемые атрибуты в классы

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

Из этого руководства вы узнаете, как:

- Создавать управляемые атрибуты или свойства в классах
- Выполнять ленивую оценку атрибутов и создавать вычисляемые атрибуты
- Сделать классы более «питоничными», используя свойства вместо методов геттер и сеттер
- Создавать свойства только для чтения и с возможностью записи
- Создавать согласованные и обратно совместимые API для классов

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

Читать далее

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

ИИ в Крипто-Торговле: Возможен ли Успех? (Часть 1)

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

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

Читать далее

Создание RESTful API с помощью Django и Django REST Framework

Уровень сложностиСложный
Время на прочтение12 мин
Охват и читатели6.5K

В современном мире веб-разработки API (Application Programming Interface) обеспечивает взаимодействия между различными приложениями и сервисами.
REST API, стали стандартом для создания веб-сервисов благодаря их простоте и гибкости.

Наша сегодняшняя цель - подробно разобраться в процессе создания REST API с использованием Django и Django REST Framework, разбираясь в каждом шаге и его значение. Мы также рассмотрим, почему создание API важно и как это может быть полезно в ваших будущих проектах.

Читать далее

Python REST API: Flask, Connexion и SQLAlchemy (часть 2)

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

Это перевод статьи от Philipp Acsany

В этой второй части серии вы узнаете, как:
- Использовать SQL-инструкции в Python
- Настраивать базу данных SQLite для вашего проекта Flask
- Использовать SQLAlchemy для хранения объектов Python в базе данных
- Работать с базой данных через REST API
- Сериализовывать и десериализовывать JSON в объекты Python через Marshmallow

Читать далее

Chronos от Amazon: революция в обработке временных рядов

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

Часть 1. Как создавался Chronos

Привет, Хабр. Для начала, разрешите представиться. Меня зовут Елисеев Сергей, работаю аналитиком в лаборатории ИИ компании ООО «ОЦРВ». В  рамках корпоративной деятельности нам часто приходится иметь дело с временными рядами. Нужно отметить, что мы исследуем не только решения и результаты применения классических методов машинного обучения, но и изучаем новые технологии и подходы к работе с большими данными.  В процессе  анализа SOTA решений, наткнулся на очень интересный фреймворк для прогнозирования временных рядов Chronos, который компания Amazon выкатила в опенсорс в мае 2024 года. С удивлением обнаружил, что на Хабре пока ничего про него нет и решил поделиться, так как инструмент вполне годный. Поскольку информации о нашем исследовании собралось довольно много, я решил разбить статью на две части: теоретическую и практическую. Сразу оговорюсь, изложенная в первой части информация это конспект переведенной мной официальной документации по Chronos, а во второй – результаты экспериментов с Chronos как на общедоступных данных с Kaggle (знаменитый Dow Jones Index), так и на корпоративных данных (предсказание инцидентов на различных участках  железной дороги).

 Итак, погнали…

Прогнозирование временных рядов.

Прогнозирование временных рядов является важным компонентом принятия решений в различных областях, включая розничную торговлю, энергетику, финансы, здравоохранение и климатологию. Традиционно прогнозирование доминировалось статистическими моделями, такими как ARIMA и ETS. Эти модели служили надежными инструментами, по крайней мере, до недавнего перехода к методам глубокого обучения (Hyndman & Athanasopoulos, 2018; Benidis et al., 2022). Этот переход можно объяснить доступностью больших и разнообразных источников данных временных рядов, а также возникновением операционных задач прогнозирования (Kolassa & Januschowski, 2019), которые подчеркивают сильные стороны моделей глубокого обучения, как пример, способность извлекать шаблоны из большого количества временных рядов. Несмотря на их впечатляющую производительность, модели глубокого обучения все еще работают в стандартном режиме обучения и прогнозирования на одном и том же наборе данных. Хотя были проведены работы, посвященные трансферному обучению (Ye & Dai, 2018) и адаптации к доменам (Jin et al., 2022) для прогнозирования, область еще не пришла к единой, универсальной модели прогнозирования, что остается важной целью для исследователей временных рядов.

Читать далее

Мой первый и неудачный опыт поиска торговой стратегии для Московской биржи

Уровень сложностиСложный
Время на прочтение17 мин
Охват и читатели4.8K

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

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

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

Раз мой торговый робот создан в среде исполнения JavaScript Node.js, то и тесты в идеале должны проводится на чём-то схожем. Но забегая немного вперёд скажу что получилось по другому - Python пришёл на помощь.

Разбираюсь и ищу 📈

Дообучаем языковую модель GPT2 с помощью Torch

Уровень сложностиСложный
Время на прочтение11 мин
Охват и читатели4.2K

Дообучаем языковую модель GPT2 с помощью Torch

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

Читать далее

Двусвязный список в Python: простой инструмент для сложных задач

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели7.9K

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

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

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

Начнем с основ, разберемся, как они работают, где их реально стоит применять и как реализовать двусвязный список с нуля (да, на время забудем про библиотеку collections и её deque).

Читать далее

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