Обновить
512K+

Python *

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

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

1С: Кабинет сотрудника: Как мы чинили то, что называлось «готовым продуктом»

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

Привет, Хабр (и просто случайные читатели, зашедшие сюда в поисках истины или интересной статейки на пару минут)!

Сегодня я расскажу вам историю о том, как я провёл полгода в тесных объятиях «1С: Кабинет сотрудника» на новой технологии 1С:Элемент — системы, которая обещала сделать кадровый документооборот простым, как бутерброд с колбасой. Но, как выяснилось, бутерброд этот оказался с сюрпризом… то ли огурцом, то ли гвоздём.

Читать далее

Создаем Telegram-бота для генерации случайных пользовательских данных на Python

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

Привет, Хабр! Сегодня я хочу поделиться опытом создания полезного инструмента для разработчиков и тестировщиков — Telegram-бота, который генерирует реалистичные пользовательские данные с учетом национальных особенностей. Такой бот может пригодиться при тестировании приложений, заполнении тестовых баз данных или при разработке прототипов.

Читать далее

Обучаемся основам компьютерного зрения с помощью Lichee Pi 4A и Python-библиотеки Pillow

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

Привет, Хабр! На связи команда регионального научно-образовательного центра «Искусственный интеллект и анализ больших данных» при НГТУ им. Р. Е. Алексеева. При поддержке компании YADRO мы изучаем архитектуру RISC-V и компьютерное зрение, чтобы внедрить результаты в учебный процесс.

Предлагаем вместе с нами проверить, на что способен одноплатный компьютер Lichee Pi 4A в задачах обработки изображений, несмотря на его ограниченные ресурсы. А заодно — получить базовые навыки по разработке систем компьютерного зрения. Пройдем путь от настройки системы до отслеживания кликов по картинке и распознавания объектов с моделью YOLOX.

Читать далее

Некоторые неочевидные особенности Django ORM (filter и exclude)

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

TLDR: В статье рассказывается о некоторых особенностях Django ORM, а именно, как при неправильном использовании некоторых встроенных методов (filter(), exclude()) можно незаметно, но очень больно, выстрелить себе в ногу при работе со связями many-to-many и one-to-many (связь, обратная к FK). Статья может быть полезной не слишком искушенному в тонкостях Django ORM разработчику.

Интересно...

Docker Registry на Python с нуля

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

Всем привет! В современном мире разработки docker является одним из краеугольных камней эргономики рабочего пространства разработчика, наряду с git, разного рода IDE и редакторами, а для кого‑то — и GPT. И, хоть в самом по себе docker нет ничего такого уж уникального (LXC, CRI‑O, чистый containerd, различные легкие и средние виртуалки, бессерверные среды, для особых ценителей — chroot. Тысячи их), он подкупает удобством использования и развесистой экосистемой — поддержка Docker есть в большинстве редакторов кода и IDE, про него написаны многочисленные книги, статьи и туториалы от индусов, а по его реестрам (от Docker Hub до локальных реп на гитлабе) удобно разложен практически весь существующий на планете софт.

Вот о реестрах (registry) Docker и хочется сегодня поговорить.

Сам по себе реестр — это просто REST‑сервис и файловое хранилище. Образы прилетают в реестр в виде бинарных слоев (количество и размер которых зависит от Dockerfile, по которому собирался образ) и простого JSON‑файла манифеста.

Читать далее

Генерация карт Таро при помощи OpenAI модели GPT-Image-1

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

Я решил сделать уникальную колоду карт Таро. Заказывать их у фриланс-художников дорого: каждая карта стоит от 5 USD, так что для полной колоды из 78 карт это выходит 390 USD. Перебрав разные генераторы изображений, я остановился на модели GPT-Image-1 от OpenAI, поскольку она выдаёт максимальное качество и минимальный процент ошибок. В среднем генерация одной карты занимает около минуты. Создание одной колоды обошлось мне в $25. В итоге я сгенерировал три колоды с уникальными стилями и потратил на это в общей сложности 75 USD.

Читать далее

Отбор акций Мосбиржи для Backtrader: загрузка истории через библиотеку Игоря Чечета и её поквартальный анализ на Python

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

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

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

Ликвидность — это не про «красиво на графике», а про то, как на самом деле исполняются сделки, насколько проскальзывает цена и как часто ваши заявки останутся без исполнения. Здесь нам поможет Игорь Чечет — автор библиотек AlorPy, TinkoffPy и FinamPy, размещенных на GitHub, которые дают удобный способ подключиться к API этих трёх брокеров из Python. Эти инструменты и библиотека‑обертка — фактически мост между Backtrader и живым рынком.

В статье будем скачивать исторические данные настолько глубоко, насколько это возможно и находить самые активно торгуемые акции по кварталам за последние 20 лет при помощи моего Python скрипта.

Ваша критика или поддержка идей, приведённых в статье приветствуется.

Ищем ликвидность

Terminode или Новичок пишет «терминал» (часть 2)

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

В прошлой своей статье я рассказывал о том, как начинал создавать свой якобы «терминал». Её заметило две с лишним тысячи человек, что для меня уже было каким‑то неплохим числом. Некоторые писали мне различные советы, кто‑то давал критику по статье. И вот, спустя небольшое время работы я снова пишу статью о своем «терминале» под именем Terminode. Вот она вторая часть «новичка пишущего терминал».

А что далее?

Новый лучший способ форматирования строк в Python

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

Привет, Хабр! Приближается релиз Python 3.14, который несет нам множество нововведений. Среди них — новый способ форматирования строк. Давайте посмотрим, что из себя представляют t-строки, на что они годятся и как устроены внутри. Фича действительно мощная, будет интересно.

Поехали!

Pytest-xdist: как распараллелить тесты без конфликтов в базе

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

Привет! Я Андрей Сташок, бэкенд-разработчик в KTS. В этой статье я расскажу о запуске параллельных тестов через pytest-xdist.

Почему это важно?

Объясню на нашем примере. При разработке продуктов мы постоянно выполняем юнит-тестирование. Раньше мы проверяли все последовательно, и с расширением тестовой базы время проведения испытаний заметно возрастало. Распараллеливание через pytest-xdist помогло нам сильно ускориться, и сегодня я хочу поделиться этим трюком с вами.

Я расскажу, как запускать параллельные тесты для реляционной БД PostgreSQL (с драйверами asyncpg и psycopg2) и key-value БД Redis. Для подключения к реляционной БД мы будем использовать SQLAlchemy, а для Redis — библиотеку redis. Кроме того, я рассмотрю, как автоматизировать выполнение миграций при каждом запуске тестов с использованием alembic.

Читать далее

Метаклассы Python. Подробное руководство

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

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

Данная статья скорее нацелена на начинающих авторов библиотек или любопытных читателей, которые просто хотят узнать что-то новое о Python.

Читать далее

Разработка Telegram-бота для мониторинга цен на Авито: пошаговое руководство

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

Привет, Хабр! Сегодня я расскажу о том, как я разработал Telegram-бота для мониторинга цен на Авито. Бот умеет отслеживать изменения цен в объявлениях и уведомлять пользователей об изменениях. В статье я поделюсь всеми этапами разработки, от проектирования до финальной реализации.

Читать далее

Как создать тестовый фреймворк с нуля на Playwright

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

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

– о построении процесса автоматизации с самого начала; 

– о сложностях, с которыми может столкнуться автоматизатор;

– об инструментах для подходящего решения поставленных перед ним задач.

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

Читать далее 🦾

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

Первый год free-threaded Python

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

На прошлой неделе разработчики CPython выпустили CPython 3.14.0b1. А на этой неделе в Питтсбурге, штат Пенсильвания, начинается конференция PyCon 2025. Оба эти события знаменуют собой важную веху в делах, связанных с разработкой, выпуском и доведением до стабильного состояния релизов free-threaded Python (Python с поддержкой свободной многопоточности — с отключённым механизмом GIL).

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

Читать далее

Python vs Java: кто быстрее и дешевле

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

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

Возглавляя бэкенд-команду витрины в KION, я, Леша Жиряков, постоянно балансирую между скоростью вывода фичей и стабильностью работы системы. Сегодня решил перевести абстрактные технические дискуссии в конкретные цифры. А еще — поделиться расчетами, которые помогут принять экономически обоснованное решение: что выбрать для следующего проекта — Python или Java?

Читать далее

PYтокен: история о том, как питон съел ЭЦП. Часть 1

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

История о том, как я пытался реализовать подпись файлов с помощью сертификата на USB-устройстве, а дополнительно сделал шифрование и расшифрование директории.

Просвятиться

Разработка платформы дрона «Шмель» для обслуживания линий электропередач

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

Статья посвящена разработке автономной платформы дрона «Шмель», предназначенной для обслуживания линий электропередач (ЛЭП). Описаны ключевые задачи, такие как проверка тока, мониторинг состояния ЛЭП и установка ремонтных зажимов, с акцентом на их сложность и отсутствие физического взаимодействия с проводами. Рассматриваются аппаратные компоненты платформы, включая полётный контроллер, сервоприводы и датчики, а также программное обеспечение на базе фреймворка Clover и OpenCV для навигации с использованием ArUco-маркеров. Особое внимание уделено эволюции управления полётом, включая PID-регуляторы и траекторное слежение. Приведены примеры кода, результаты тестирования и решения проблем, таких как отсутствие автономности. Статья подчёркивает потенциал дронов в автоматизации обслуживания ЛЭП и предлагает пути для дальнейших улучшений, включая интеграцию новых датчиков и алгоритмов.

Читать далее

Шахматы вслепую — навык для Алисы

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

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

Тогда я решил написать навык для Яндекс.Станции, чтобы можно было играть в шахматы голосом.

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

За основу была взята библиотека python-chess и бинарник шахматного движка Stockfish:

Лошадью ходи

RAG‑агент для автоматизации инцидент‑менеджмента

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

Современные крупные организации сталкиваются с большим числом ИТ‑инцидентов — счет может идти на тысячи в месяц. Инциденты нередко повторяются со временем, однако найти похожий случай в базе знаний или в системе регистрации инцидентов непросто: стандартный поиск по ключевым словам часто неэффективен, а «держать в голове» детали всех инцидентов невозможно.

Читать далее

Дивидендная доходность Индекса Мосбиржи: как рассчитать за 5 минут с помощью Python

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

В 2024 году инвестиции в Индекс Московской биржи принесли небольшие 1,6%. Это существенно ниже средней доходности (16,8% за 25 лет истории). Но не все знают, что спасло ситуацию в 2024 от минуса. Оказывается, ценовая доходность индекса была отрицательной -6,9%. И только дивидендная доходность 9,1% позволила индексу «сохранить лицо». Такая поддержка со стороны дивидендов происходит не первый раз. Считаем дивидендную доходность в Python за несколько строк.

Читать далее