
Что делать, если во дворе появился строительный забор?
Или уже начали вырубать деревья?
Самое время задуматься над созданием системы мониторинга.
Высокоуровневый язык программирования
Что делать, если во дворе появился строительный забор?
Или уже начали вырубать деревья?
Самое время задуматься над созданием системы мониторинга.
Привет, Хабр!
Вы запускаете многопроцессную задачу, кидаете данные в multiprocessing.Queue()
, а потом вдруг замечаете... что всё тормозит. Муторно. Медленно. Местами прям отвратительно. Вы смотрите в монитор, на top, на htop, на код — и не понимаете: ну ведь должно же летать! А не летит.
Всем привет, меня зовут Александр, я аналитик в Альфа-Банке. Совместно с командой мы разрабатываем и развиваем платформу для дата-инженеров (DE) и дата-саентистов (DS), именуемую Feature Store. Она даёт возможность коллегам работать с большими данными и упрощает бюрократию жизненного цикла создания ETL и ввода моделей в промышленную эксплуатацию.
Но хотелось бы улучшить процесс по поиску данных в ней, так как объёмы информации стремительно растут.
Классический поиск выдаёт результаты по точному совпадению, и это не самый удобный вариант, когда данных много. Поэтому нужную информацию, если ты точно не знаешь как найти, невозможно отыскать. Озадачившись этой проблемой, я решил сделать MVP «умного» поиска, который позволяет искать данные/фичи/поля не по точному совпадению, а с учётом смысла.
Надеюсь, данная статья поможет показать и пролить свет на вопрос — «А как же ещё бывает?»
Всем привет! Меня зовут Дмитрий Третьяков, я ML Engineer в компании «Лента». Мы регулярно запускаем PySpark-приложения в Kubernetes-кластере, используя Airflow. Этот процесс важен для нашей ежедневной работы с данными, но в какой-то момент мы столкнулись с тем, что стандартный подход через SparkKubernetesOperator стал сдерживать развитие: не хватало гибкости, возникали сложности в сопровождении и процесс настройки был излишне сложным для разработчиков.
Мало что настолько меня угнетает, как невозможность что‑либо понять так, чтобы потом объяснить это самому себе:) И хоть я уже давно не девятиклассник, этот период запомнился мне внезапным переходом от заучивания материала «чтобы не схватить парашу» к некоторой степени осознания «а как оно там устроено и почему именно так». Сложнее всего было с математикой и я постоянно изобретал для себя «объяснялки». Этот навык, к счастью, прижился и стал привычкой.
Когда проект начинается, разработчику хочется только одного — свободы творчества. Писать код быстро и так же быстро получать результат. Но со временем появляются баги, регрессии, архитектура, миграции... И вот тогда свобода оборачивается болью: оказывается, что один и тот же результат в коде можно выразить десятком способов — и все они несовместимы друг с другом.
В этой статье я сравню несколько популярных языков программирования с точки зрения их синтаксической однозначности, гибкости и способности масштабироваться в командной разработке. Мы посмотрим, как строгие ограничения формируют культуру качества, а чрезмерная выразительность часто мешает команде работать как единое целое.
Современные LLM‑агенты могут обходиться без внешних вызовов — выдавать ответы исключительно на основе prompt’а. Но когда речь идёт о живых данных (трассы вызовов, результаты SQL‑запросов, исходный код из GitLab), нужно динамически обогащать контекст модели и давать ей «функции» для вызова.
Продолжение истории о том, как я пытался реализовать подпись файлов с помощью сертификата на USB-устройстве, но уже с использованием USB-токена Рутокен 3.0, а дополнительно сделал шифрование и расшифрование директории.
Эта статья о разработке небольшого инструмента для помощи в изучении китайского языка. Приложение позволяет просмотреть иероглифы, внешне похожие на требуемый, что бы разобрать их сходство и различие. Здесь на довольно простом примере показано как формируется архитектура проекта и подбираются основные компоненты (под катом код с комментариями). Для чтения и понимания достаточно минимального знания python и sql запросов.
Часть 2: Настройка GitHub Actions и GitLab CI – первый workflow и деплой
В первой статье мы разобрались с основами CI/CD: что это такое, зачем нужно и какие инструменты существуют. Теперь пришло время перейти от теории к практике – создадим наши первые рабочие CI/CD-конвейеры на GitHub Actions и GitLab CI.
Привет, Хабр!
Тонкое скрещивание DataFrame-ов в pandas по-прежнему остаётся источником прелестных багов: случайных дубликатов, потерянных строк и неуловимых NaN-ов. В статье рассмотрим эти проблемы.
SSTV (slow-scan television) — телевидение с медленной разверткой, узкополосный формат передачи данных, позволяющий передавать изображения через эфир. В этой статье будут рассмотрены подробности кодирования, декодирования SSTV-сигнала.
Статья может быть интересна радиолюбителям, желающим познакомиться с новым форматом связи, а также тем, кто хочет в подробностях понять как же работает эта технология.
Салют, Хабр! Я думаю, каждый из вас знаком или, по крайней мере, слышал о такой прекрасной утилите как GoodbyeDPI (большое спасибо @ValdikSS!). Сегодня я хочу представить вам (почти) свою разработку - аналог GoodbyeDPI.
Около полугода назад в своей статье Обвиваем YouTube змеем, или как смотреть и скачивать видео с YouTube без VPN на чистом Python-е. Часть 1 (заблокирована по требованию РКН) я рассказывал о том, как скачивать видео с YouTube на Python, а так как YouTube у нас "деградировал", я поделился инструментом, с помощью которого можно исправить этот вопиющий недостаток. Инструмент тогда выглядел достаточно сыро, и несмотря на то, что он выполнял свою задачу, требовал серьезных улучшений. Увидев интерес общественности, я решил допилить его, и вот, спустя полгода, после немалой работы, я рад представить вам NoDPI - проект, который явно не понравится РКН (и он опять меня заблокирует).
В этой статье я хочу рассказать о его возможностях, внутреннем устройстве, отличии от аналогов. Надеюсь, статья будет вам полезна и интересна. Поехали!
Привет, Хабр!
Сегодня рассмотрим почему DataFrame.apply()
— это так себе инструмент в 2025 году, чем его заменять и как писать dataframe-логику так, чтобы она летала вместо того, чтобы жечь CPU и бюджет.
Пример такой:
Сквозной пример с пошаговым разбором решения на фреймворке SimpleUI для Android совместно с 1С: оффлайновая работа с инвентаризацией, загрузка/выгрузка товаров и документов из 1С и результатов инвентаризации обратно в 1С, CV-возможности ActiveCV. Демонстрация новых механизмов SimpleUI и актуальных подходов к разработке в 2025 году.
Данный материал предназначен для быстрой и последовательной установки драйверов NVIDIA, в том числе для видеокарт 50xx серии, а также настройки NVIDIA Container Toolkit. Эта инструкция актуальна для Linux-систем на базе Ubuntu и других Debian-совместимых дистрибутивов.
Объяснимый ИИ — очень важный аспект в ML и DL. Он заключается в том, чтобы интерпретировать модель так, чтобы можно было около прозрачно объяснить ее решения. Потому что это довольно частая необходимость как у конечного заказчика, ведь для них это просто «черный ящик», так и у разработчиков непосредственно (например, для отладки модели). На русском языке таких статей не так много (для тех, кто знает английский проблем с этим нет, на нем таких статей много, например, Kaggle), поэтому я решил, что статья покажется актуальной, и сегодня я попробую рассказать про это и показать на конкретном примере, как его можно реализовать.
Настоящее исследование посвящено комплексному анализу глобальных климатических изменений на основе исторических метеорологических данных за период с 1950 по 2024 год. Мы фокусируемся на шести ключевых странах, представляющих основные климатические зоны планеты.
Привет, Хабр! В этой статье я расскажу о возможностях API Magic Eden - одного из крупнейших NFT-маркетплейсов на Solana, и покажу, как с его помощью можно создавать интересные проекты.
START — опенсорсная LLM для точных вычислений и проверки кода. В START решены две главные проблемы большинства обычных моделей: галлюцинации и ошибки в многоэтапных расчетах. В статье разберемся, зачем и как именно эти проблемы решены.