Обновить
566.36

Python *

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

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

Лучшие статьи Хабра в январе 2025 года

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

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

Для сбора данных я использовал свой парсер на Node.js. Работать пришлось напрямую с HTML, так как скрытого API Хабра я не нашёл. К счастью, внутри HTML разметки каждой статьи находится JSON с ключевыми параметрами: автор, дата, просмотры, рейтинг — это упростило парсинг.

Я обработал все статьи, опубликованные в январе, но в итоговый список попали только те, что набрали более 30 тысяч просмотров или рейтинг выше +30.

Парсим и анализируем 🤖

Правильный инструмент для аналитики нагрузочного тестирования. Часть 2

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

Load-testing-hub: эволюция сервиса аналитики нагрузочного тестирования

Ранее я рассказывал о load-testing-hub, инструменте для аналитики и агрегации данных по нагрузочным тестам. Тогда он находился в стадии MVP, а теперь прошел значительные улучшения.

Что изменилось?

— Добавлено больше информации и гибкости в настройках.
— Расширены возможности сравнения результатов.
— Реализованы детальные графики и аналитика по методам.
— Оптимизирован процесс выявления аномалий в производительности сервисов.

Один из практических кейсовпоиск по банковским операциям среди сотен миллионов записей. Load-testing-hub помог протестировать производительность, выявить узкие места и оптимизировать решение.

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

Читать далее

Вредоносные пакеты deepseeek и deepseekai были опубликованы в Python Package Index

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

В рамках исследования и отслеживания угроз группа Supply Chain Security департамента Threat Intelligence экспертного центра Positive Technologies (PT ESC) обнаружила и предотвратила вредоносную кампанию в главном репозитории пакетов Python Package Index (PyPI). Атака была нацелена на разработчиков, ML-специалистов и простых энтузиастов, которым могла быть интересна интеграция DeepSeek в свои системы.

Подробности

Применение ML для оптимизации работы питательных электронасосов в ТЭЦ металлургического комбината

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

Привет, Хабр. Меня зовут Кирилл, и я работаю в центре машинного обучения «Инфосистемы Джет». Сегодня хочу рассказать, как мы совместно со специалистами ТЭЦ крупного металлургического предприятия сделали цифровой сервис для оптимизации работы питательных электронасосов (ПЭН). Годовой экономический эффект от реализации сервиса превзошел наши ожидания и составил 19,6 млн рублей. Это, на первый взгляд, не так много для большого завода, но учитывая, что там работает целый ряд подобных решений, в совокупности общая сумма экономии впечатляет.

Погрузиться в мир оптимизации

Менеджер данных: как новая роль изменила подход к работе с ML

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

Меня зовут Вера Романцова, я работаю в 2ГИС в команде компьютерного зрения. Мы создаём ML-модели и сервисы, которые автоматизируют работу с картами и данными. 

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

В этой статье я расскажу:

🌚 Кто такой менеджер данных и чем он занимается.

🦾 Как эта роль помогла нашей команде ML-инженеров.

🔜 Когда такой специалист может понадобиться вам.

🔎 Как найти подходящего кандидата на эту позицию.

Читать далее

FastAPI vs Litestar: выбираем лучший фреймворк для микросервисов

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

Привет, жители Хабра! Это Леша Жиряков из МТС Диджитал. В прошлый раз я опубликовал пост Polars vs Pandas, а сегодня поговорим о FastAPI и Litestar — фреймворках для микросервисов. У каждого из них свои сильные стороны, так какой выбрать для своего проекта? Давайте разбираться. Ниже — о плюсах и минусах каждого, сравнение производительности и примеры валидации.

Читать далее

Возможно ли все еще отличить сгенерированный текст от написанного человеком?

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

Ровно год назад после Тренировок по ML в Вышке и курсу по Соревновательному Data Science я решил поучаствовать в соревновании на Kaggle "LLM - Detect AI Generated Text". Основная задача была определить сгенирирован ли текст или написан студентом(типичная бинарная классификация). Знаний тогда было не очень много, чтобы придумать свое решение, поэтому, по заветам курса, не стал придумывать велосипед, накинул побольше веса для CatBoost и попытался попасть в конечное распределение на private с помощью замены наивного баеса на SVM. В итоге, везение было на моей стороне, я получил серебро за это решение, заняв 152 место из 4500 :-)

Читать далее

Типы данных в Python для самых маленьких

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

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

Сегодня поговорим про типы данных в Python и их иерархию. В иерархии типов упорядочение отражается в том, что существуют общие операции для типов, принадлежащих к типу более высокого уровня.

Читать далее

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

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

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

Читать далее

Loss Landscape Analysis — новая библиотека для анализа точности обучения и оценки обобщающей способности нейросетей

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

Мой коллега Никита Габдуллин работает в Отделе перспективных исследований ИТ-компании «Криптонит». Он автор библиотеки Loss Landscape Analysis (LLA) и научной статьи о ней, препринт которой доступен на английском языке. Здесь мы публикуем адаптированную русскоязычную статью с некоторыми вольностями, которые не приняты в академической среде, но упрощают восприятие текста.

При работе с нейросетями-классификаторами у всех на слуху какие-то известные архитектуры, которые характеризуются числом параметров, скоростью вычислений (инференса), точностью выполнения той или иной известной задачи. Популярны соревнования, посвящённые тому, насколько точно можно решить задачу классификации на типовых датасетах, и часто борьба уже идёт за доли процента [PWC]. Однако в реальных задачах нейросети часто показывают себя куда хуже, чем в «лабораторных» условиях, что переводит акццнт внимания с тренировочных и тестовых (train-test) задач на проверку обобщающей способности (generalization) нейросетей.

В наших работах мы столкнулись с тем, что нейросети одного типа могут иметь практически идентичные показатели train-test, но демонстрировать кардинально отличающиеся результаты на датасетах, отличных от тренировочного. Без углублённого анализа непонятно, за счёт чего возникают такие эффекты. Поэтому для таких нейросетей очень сложно выполнить оценку их реальной обобщающей способности. Это вдохновило нас на поиски методов, которые позволили бы проанализировать обобщающую способность нейросети с теми или иными весами, среди которых метод построения ландшафта функции потерь (loss landscape) показался интересным кандидатом.

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

Читать далее

Уйти от ORM

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

По результатам статьи про Spring Data JPA хабровчане критиковали нас за то, что мы наступали на трудовые мозоли, но не сказали что надо делать. В этой статье мы, наконец, предложим концептуальное решение проблемы ORM.

Читать далее

Как ускорить процесс сделок в Envybox с помощью SMS API

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

Привет, Хабр! Сегодня разберёмся, как ускорить работу с клиентами в популярной CRM-системе Envybox в связке с API-платформой для отправки SMS. Envybox позволяет отправлять сторонним сервисам сообщения и предоставлять информацию по запросу.

Например, клиент оставляет заявку — менеджер быстро получает сообщение и принимает её в работу — клиент об этом будет тут же извещён.

В этой статье рассмотрим, как использовать интеграцию Envybox и МТС Exolve.

Читать далее

Concurrency testing — отлавливаем состояния гонки

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

В статье разберём некоторые техники обнаружения плавающих багов, вызванных конкурентностью. Сделаем подход к автоматическому тестированию устойчивости веб-сервисов к различным race condition. Примеры будут на python + asyncio + sqlalchemy, но эти подходы применимы к любым моделям конкурентности, которые подвержены состояниям гонки.

Читать далее

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

Как правильно делать тестовые задания на Python (flask, fastapi)

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

В этой статье я делюсь опытом, накопленным за годы помощи начинающим программистам. Мы в основном будем говорить про Python, но советы будут полезны для ТЗ на любом языке программирования, особенно на позицию Backend Developer.

Вы узнаете, как грамотно организовать структуру проекта, избежать типичных ошибок (например, Query N+1), подготовить своё решение так, чтобы оно выглядело профессионально. Дам советы, как не только выполнить задание, но и превзойти ожидания работодателя.

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

Читать далее

Чистый код в Python

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

Всем привет!

Это перевод статьи Clean Code in Python. В данной статье Nik Tomazic рассказывает о чистом коде, его преимуществах, различных стандартах и принципах, но что самое главное– он дает общие рекомендации по написанию чистого кода. Прочитав данную статью в оригинале, я понял, что это именно то, что я хотел бы прочитать в самом начале своего пути разработки на Python. Именно это и вдохновило меня на создание первого перевода, а вместе с этим, и первой публикации на Хабре.

Читать далее

Как создать планировщик путешествий с ИИ-агентом на CopilotKit, LangGraph и Google Maps API

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

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

Используя CopilotKit, LangGraph и Google Maps API, мы создадим приложение, которое не только действует по сценариям, но и предлагает решения. Мы изучим, как реализовать human‑in‑the‑loop, чтобы пользователь мог одобрять или отклонять действия агента.

Приятного прочтения (‑:

Читать далее

Используем языковые модели в AI-агентах. Часть 2. Retrievers, TextSplitters

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

LanhChain - фреймворк, предоставляющий обширный и удобный функционал по использованию LLM, он служит для разработки приложений на основе больших языковых моделей, создания AI-агентов, взаимодействия с векторными хранилищами и т.д.

В этой части я разберу способы разделения текста и его хранения.

Читать далее

Озеро для дата-склада: как мы нырнули в новые методы хранения данных и что из этого вышло

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

Привет, Хабр! Меня зовут Михаил Килинский, я — Senior Developer в проекте Data Warehouse «Лаборатории Касперского». Наша команда строит хранилища данных и разрабатывает ETL- и ELT-процессы, мы пишем на Python, SQL и C# (.NET), а весь код находится в монорепозитории.

Гибкие методологии построения хранилищ данных — очень популярный тренд. Причина — возрастающая сложность корпоративных моделей данных и необходимость интеграции большого числа разнородных источников, которые включают в себя не только традиционные СУБД и плоские файлы, но и различные real-time-брокеры сообщений, внешние API и базы данных NoSQL.

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

Читать далее

Как автоматизировать свою переписку с девушкой в Telegram при помощи Python

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

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

Что мы НЕ будем делать: разрабатывать чат-бота, который «любит» за вас. Эту задачу лучше оставить вам.

Цель - организовать начало диалога.

Начинаем 🧡

Гайд по подготовке к собеседованию для Backend-разработчиков

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

Недавно я провёл своё 40-е собеседование в Booking.com, где оцениваю кандидатов по кодингу, системному дизайну и код‑ревью. Я хорошо понимаю ожидания от кандидатов на разные уровни: core developer, senior developer и engineering manager. Эти знания могут быть полезны для тех, кто готовится к собеседованию в Booking.com или других крупных компаниях с аналогичной структурой.

Читать далее

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