Обновить
512K+

Python *

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

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

В CSV было 11 строк, до BI дошло 7. Куда пропали остальные четыре?

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

В исходном orders.csv было 11 строк. До BI-витрины дошло 7, а валовая сумма 4720.30 после применения бизнес-правил превратилась в 2200.30 выручки. Четыре строки не исчезли: каждая попала в rejects с конкретной причиной.

На этом небольшом примере покажу весь путь данных через RAW, STG, CORE и MARTS. Разберём, где меняются строки и суммы, как пережить повторную доставку файла и какие проверки позволяют доверять итоговому дашборду. Внутри MinIO, Postgres и Airflow.

Читать далее

Интеграция компьютерного зрения в АСУ ТП. IEC 61499 + python + CV = OpenFb

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

В июле вышла новая версия OpenFB - открытой среды исполнения для IEC 61499, позволяющая вести разработку на python. OpenFB предназначена для разработки и интеграции приложений компьютерного зрения и ML алгоритмов в АСУ ТП.

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

Читать далее

Что нового в PyCharm 2026.2

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

Несмотря на то, что PyCharm уже несколько лет официально недоступен в России, он по-прежнему остаётся одним из главных инструментов для Python-разработчиков. Недавно вышла новая версия PyCharm 2026.2.

В релиз вошли разработка Python-расширений на Rust, новый отладчик debugpy, интеграция с Pyrefly, поддержка инструментов uv и uvx и многопроектных конфигураций Poetry и Hatch. Также появились мини-карта редактора, генерация проектов с помощью ИИ, менеджер скиллов для агентов и поддержка TypeScript 7.

В статье разберём основные изменения PyCharm 2026.2, а также расскажем, какие возможности для Python-разработки уже доступны в OpenIDE и чего ожидать от её предстоящего перехода на платформу 2026.2.

Читать далее

Как искать проблемы производительности в Python

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

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

Меня зовут Юра Ашуров, я тимлид в Точка Банк. В статье расскажу, почему не стоит начинать расследование с профайлера и какие метрики помогают сузить область поиска. Всё это — на примере двух реальных кейсов с высоконагруженными проектами.

Читать далее

Асимметричная криптография в Java Card

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

В этой статье разговор пойдет о приложении на Java Card, бегающем на смарт-картах. На хабре уже есть несколько публикаций на эту тему, в своей же я бы хотел немного выйти за рамки стандартного “Hello World”. Здесь вы узнаете как собирать апплет, увидите пример размещения данных в апплет на этапе инсталляции, а также установим защищенный канал между Хостом и картой.

Читать далее

Визуализация основных шагов упрощенной схемы доказательства гипотезы Пуанкаре

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

Как известно, гипотеза Пуанкаре на сегодня является единственной решённой задачей тысячелетия.

Её формулировка довольно проста:Всякое односвязное компактное трёхмерное многообразие без края гомеоморфно трёхмерной сфере.

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

Читать далее

Как я научил Claude заказывать продукты в Яндекс Лавке (и что для этого пришлось отреверсить)

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

У Яндекс Лавки нет публичного API. А мне захотелось написать ассистенту «закажи молоко и что-нибудь к ужину» — и чтобы заказ реально уехал курьеру.

Рассказываю, как я отреверсил приватный веб-API Лавки прямо из браузерного трафика и завернул его в MCP-сервер: поиск, корзина, оформление с подтверждением суммы. А главное — про грабли, которые ловил воспроизведением, а не «на глаз»: заголовок X-CSRF-Token, зашитый в HTML; гонки за общую корзину и HTTP 409; «Раскупили» и «только из Большой Лавки», которые оказались не тем, чем выглядели; пустой способ оплаты; и удалённый деплой с OAuth, чтобы заказывать с телефона.

Код открыт (MIT), ставится через uvx. Осторожно: неофициально, реверс приватного API, оформление тратит реальные деньги.

Читать далее

Как я склеиваю 23 тысячи событий из пяти афиш — и почему дедуп нельзя делать необратимым

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

Зашёл тут на карту и вижу странную картину. На Чистых прудах висят три пина ровно друг на друге. Тыкаю, а там один и тот же «Вишнёвый сад» в Ленкоме. Совпадает всё, вплоть до времени и зала. Просто данные прилетели из трёх разных мест. Где-то площадка записана просто как Ленком, где-то полностью с именем Марка Захарова, а в третьем случае вообще пусто. Для пользователя это три разных события на карте, хотя спектакль на самом деле один.

У меня сейчас Окрест тянет афиши по шестнадцати городам из Яндекс Афиши, Afisha.ru, Timepad, KudaGo и телеграм-каналов самих площадок. Сейчас в базе 23 097 активных событий, и пересечений между источниками много. 8260 событий приходят из двух источников, 533 из трёх, десять встречаются сразу в четырёх. На карте всё это должно превращаться в одну точку, а не в гирлянду пинов.

Читать далее

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

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

Python. IT-курсы разрекламировали его как один из самых легких языков для входа в разработку, любители ИИ создают на нем свои первые нейросети, а некоторые сеньоры Java и C++ по-прежнему смотрят на него свысока, считая недостаточно строгим и производительным для «серьезной» разработки. В любом случае сегодня о Python знают все.

Поскольку заметный рост его популярности пришелся на 2010-е годы, многие считают, что язык появился сравнительно недавно. Но это неверно: Python старше большинства современных веб- и ML-фреймворков, массовой мобильной разработки и нынешнего AI-бума.

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

Читать далее

Открытая АСУТП – это реальность для бизнеса. Что мы показали на ЦИПР 2026

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

ЦИПР — это площадка, где встречаются вендоры, интеграторы и заказчики. Мы решили показать, что Открытая АСУТП — это не просто концепция, а работающий инструмент, который можно взять и внедрить уже сегодня. Мы привезли стенд, который демонстрирует полный производственный цикл: от разработки модели управления и компьютерного зрения на контроллере до выдачи производственных заданий через MES и их отработки на реальном оборудовании. И всё это — на отечественных и open-source компонентах. В статье расскажем какую бизнес-ценность представляет Открытая АСУТП сегодня.

Читать далее

Первый опыт малоресурсного перевода: Data dojo 2026

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

Месяц назад закончилась тренировка DATA DOJO от Яндекса. Здесь я бы хотел рассказать про ключевые аспекты соревнования, моё решение на топ-6%, авторские идеи и, конечно, про реальный путь к победе.

Погрузиться в машинный перевод

Интерактивный CLI-менеджер процессов MySQL на асинхронном Python

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

При разработке проектов на небольших VPS часто возникает ситуация, когда процесс mysqld загружает процессор на 100%. Обычно в такие моменты приходится заходить по SSH, открывать консоль бд и вручную вводить SHOW FULL PROCESSLIST;, чтобы найти тяжелый запрос и завершить его через KILL. Если запросов много, делать это вручную через стандартный вывод не всегда удобно.

Это легковесный интерактивный CLI - менеджер процессов, который работает на базе асинхронного драйвера aiomysql. Он опрашивает системную таблицу information_schema.processlist и выводит текущую активность в терминал в виде таблицы, позволяя управлять потоками СУБД.

Читать далее

Все, что нужно знать про построение точечных оценок

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

Что происходит под капотом, когда вы вызываете scipy.stats.norm.fit()? В статье рассматриваются два классических подхода точечного оценивания параметров — метод моментов и метод максимального правдоподобия — с математическими выводами, экспериментами на Python и визуализацией.

Читать статью

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

QuotaRadar — уведомления о сбросах лимитов Codex и Claude Code

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

Всем привет!

У вас было такое, когда заканчиваются недельные или часовые лимиты в Codex или Claude Code, а потом вы внезапно обнаруживаете, что лимиты уже сбросили?

Приятно, да? Особенно Codex этим часто радует :)

Так вот, я хотел получать уведомления о таких сбросах. Но при этом не хотел самостоятельно мониторить X — бывший Twitter — или постоянно проверять другие источники.

Читать далее

187 064 инструкции ради одного флага: Разбор HTB Callfuscated (Insane)

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

Что делать, если статический анализ crackme выдает 187 064 инструкции мусорного кода? Идти в динамику! В этой статье разбираем таск Callfuscated с HTB: пишем свой ptrace-трассировщик, создаем валидируемый x86-64 эмулятор на Python, снимаем дампы памяти и сводим сложную VM-обфускацию к арифметике первого курса.

Прочитать решение

MAP‑Elites: как искать не «лучшее», а «лучшее в каждой нише»

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

Проблема, которую не решает обычная оптимизация

Классические методы оптимизации — градиентный спуск, генетические алгоритмы с элитизмом, CMA‑ES — заточены под одну вещь: найти один глобальный максимум функции приспособленности. Всё остальное население на пути к этому максимуму считается расходным материалом и отбрасывается.

Но во многих задачах нас интересует не единственное решение, а набор разнообразных хороших решений:

Эволюционная робототехника. Нужно не одно «оптимальное» положение ног шагающего робота, а целая библиотека походок под разные повреждения — если у робота откажет один сустав, он должен уметь быстро подобрать альтернативную походку вместо повторной оптимизации с нуля.

Процедурная генерация контента в играх. Нужны не «лучшие» уровни, а уровни, покрывающие весь спектр: лёгкие/сложные, линейные/разветвлённые.

Дизайн и инженерия. Инженеру интересно увидеть весь фронт компромиссов (вес vs прочность vs стоимость), а не одну точку.

Открытые (так называемый open‑ended) эволюционные системы, где само понятие «лучшего» плохо определено, а интересна широта поведенческого репертуара.

Это направление получило название Quality‑Diversity (QD) оптимизации: цель — не максимизировать один скаляр, а заполнить пространство возможных поведений решениями, каждое из которых максимально хорошо в своей поведенческой нише.

MAP‑Elites — один из первых и самый концептуально простой алгоритм этого семейства.

Идея алгоритма

MAP‑Elites (Multi‑dimensional Archive of Phenotypic Elites) был предложен в 2015 году.

Читать далее

Дешевая LLM в проде: как мы ушли с прогнозных $2000 в месяц на $30 и какие минусы

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

Каждую ночь у нас в JobPath запускается Celery-задача, которая берёт свежие вакансии из каталога (мы собираем их из открытых источников и Telegram-каналов) и превращает сырой текст в структурированную карточку. Изначально это делала Claude Sonnet, и делала отлично. Проблема была в цене: по прогнозу на наш объём выходило около двух тысяч долларов в месяц, и цифра росла вместе с каталогом..

К цифрам

Автотестирование кастомного K8s CNI: как правильно входить в ха… то есть поду

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

Представьте, однажды вы приходите в новую компанию на позицию Automation QA и перед вами возникает задача: на пустом поле проекта посеять зерна автотестов, которые прорастут в регулярный процесс тестирования и будут отлавливать различные баги. Такая задача возникла и передо мной, поэтому я хочу поделиться своим опытом, как строил тестирование кастомного K8s CNI-плагина в новой для себя области. Статья будет полезна QA-инженерам, которые на «ты» с Python, но на «вы» с тестированием Kubernetes с помощью автотестов. При решении задачи я столкнулся с вопросами, на которые нигде не нашел ответа. Возможно, раз мне помог описанный путь, поможет и вам.

Войти в поду

Hypothesis: тесты, которые сами ищут контрпримеры к вашему коду

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

Обычные тесты находят только ожидаемые ошибки. В статье разберём, как Hypothesis сам ищет контрпримеры и сокращает их до минимального сбоя.

Читать далее

Как мы заменили Teradata RTIM: миграция правил с использованием AST

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

Меня зовут Сигида Алексей, я старший архитектор по развитию технологий CVM (Customer Value Management) в компании Мегафон. Много лет решения о том, что показать клиенту, у нас принимал Teradata RTIM (Real-Time Interaction Manager) - движок real-time маркетинга. Если вы когда-нибудь получали смс-сообщение от Мегафона или заходили в личный кабинет в 99% случаев сообщение для вас было подобрано этой системой. Вы заходите на сайт или в приложение, и за миллисекунды решается, какое предложение показать. Логика выбора описывается деревьями принятия решений: запрос проходит по веткам дерева, а условия переходов в узлах - критерии - определяют, к какому сегменту отнести клиента и какое предложение ему подобрать.

В какой-то момент перед командой встала задача перейти на собственное решение. Стало ясно, что RTIM превратился из удобного инструмента в тяжелую гирю на наших ногах. Оставаться на больше нельзя, накопилась критическая масса причин: закрытая архитектура приложения без возможности кастомизации, тотальная зависимость от вендора, стоимость лицензии. В моменты инцидентов оказывались связаны руки, ожидая помощи извне. Фундаментом нового движка стал Go. Нужен был инструмент, стабильно работающий под хайлоад, быстрый, достаточно распространённый, чтобы не было проблем ни с экспертизой ни с экосистемой.

Читать далее