Обновить
798.33

Python *

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

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

Полезные конструкции Python, которые упростят работу с данными

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

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

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

Читать далее

Как я устал тестировать LLM-системы вручную и написал универсальный сканер уязвимостей

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

Полгода назад я работал над внедрением RAG-системы в крупной финансовой компании. Задача была типичная: построить корпоративного чат-бота, который мог бы отвечать на вопросы сотрудников по внутренним документам. Казалось бы, что может пойти не так? Берем готовую LLM, подключаем к базе знаний, добавляем немного магии с векторным поиском — и готово.

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

Читать далее

Обзор Open Source моделей для задачи TTS

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

Задача Text‑to‑Speech (TTS) она же задача синтеза речи — заключается в том, чтобы озвучить заранее подготовленный текст голосом спикера. Данная задача является одной из важных в системах взаимодействия человека и компьютера. Конечно, такая задача генерации речи встречается гораздо реже, чем, например, задача генерации или обработки текста, тем не менее, сферы ее применения со временем только увеличиваются в своих масштабах и становится все более востребованной.

Привет, Хабр, меня зовут Музафаров Данил, я работаю DS инженером в компании Raft и сегодня мы рассмотрим существующие Open Source модели и репозитории, которые решают задачи TTS для русского языка.

Читать далее

Как мы сократили объем данных в 10 раз, не повредив пользовательскому опыту, или переезд Postgres → ClickHouse

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

Всем привет, меня зовут Алексей Леонтьев, я техлид и архитектор на проекте Smartbot в компании KTS. Smartbot — это nocode-платформа для настройки сценариев чат-ботов, которые могут работать в нескольких соцсетях и мессенджерах одновременно.

Мы храним много данных о событиях, которые обрабатывает наша платформа. Раньше для этого мы использовали Postgres. Но возникла задача сократить потребляемые кластером ресурсы.

В этой статье я расскажу о том, как мы бесшовно перенесли данные из Postgres в ClickHouse. И при этом сократили оперативную память в 4 раза, а размер потребляемого дискового пространства — на порядок.

Читать далее

Маленькая модель обыграла большие: почему Nanbeige4-3B меняет правила игры

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

В ноябре вышла модель Nanbeige4-3B-25-11 (а 6 декабря они выложили статью об обучении на arxiv). Её размер всего лишь 3 миллиарда параметров. Это почти в 100 раз меньше, чем GPT-4, и даже меньше, чем большинство открытых моделей.

Но вот парадокс: на тестах она достигает показателей выше, чем модели в 10 раз больше, а на бенчмарке WritingBench и вовсе держится на уровне проприетарных моделей занимая место между Gemini-2.5-Pro и Deepseek-R1-0528.

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

Читать далее

Топ языков программирования в 2025 году: рейтинг IEEE и влияние на него языковых моделей

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

Привет, Хабр! IEEE Spectrum опубликовал ежегодный рейтинг языков программирования за 2025 год. Там много всего интересного, на что стоит обратить внимание. Давайте разберемся, как формируется этот список, какие языки пока что удерживают лидерство, кто теряет позиции и почему, а также как ИИ все (ну или почти все) меняет. Поехали!

Читать далее

Код, за который стыдно: 5 ошибок, которые нельзя допускать в Python

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

Python прощает многое: здесь нет строгой типизации, компилятора и ручного управления памятью. Код пишется легко, запускается с первого раза и проходит Code Review. А потом на продакшене случается страшное: данные пользователей перемешиваются, сервер «замирает» под нагрузкой или биллинг списывает деньги не в тот день.

Читать далее

Особенности Python, о которых вас точно спросят на техническом собеседовании. Часть 2

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

Привет, Хабр! Меня зовут Бартенев Евгений, я автор курса «Python-разработчик» в Яндекс Практикуме и практикующий разработчик. Я прособеседовал сотни кандидатов и сам неоднократно побывал в роли собеседуемого, поэтому хорошо представляю, какие именно знания проверяют на интервью и где чаще всего «проваливаются» не только джуны, но и опытные разработчики.

Первая часть этой статьи вызвала оживлённое обсуждение. В комментариях читатели делились собственным опытом, напоминали о тонкостях, которые я упустил, и задавали отличные уточняющие вопросы. В этой части я продолжу разбирать очередные «подводные камни» в Python. 

Как и раньше, я не буду разбирать заезженные вопросы вроде «чем отличается список от кортежа». Вместо этого — разберём реальные особенности Python, на которых строятся самые коварные задачи и вопросы.

Читать далее

Визуализация управления памятью в Python: что творится внутри?

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

Python щедро раздаёт нам удобные абстракции. Создаёшь список, словарь или строку — и не думаешь, где под это выделилась память и как она потом освободится. Но внутри интерпретатора работает довольно сложный механизм, и он устроен не так, как в C или других языках.

Идея сделать приложение-визуализатор пришла после чтения книги CPython Internals. Там подробно объясняется, как устроены арены, пулы и блоки. Но пока читаешь текст, всё это воспринимается слишком абстрактно. Захотелось увидеть механику своими глазами: как память выделяется, как освобождается и почему иногда остаётся занята. Так и появился MemoryMonitorApp, а вместе с ним — эта статья.

Читать далее

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

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

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

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

Читать далее

Творческая утилизация клавиатур

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

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

Таких б/у клавиатур скопилось просто десятки штук, благо в подвале на складе есть место, и они просто лежали в коробке ожидая своей участи.

Читать далее

Плеер для слабовидящих на ESP32

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

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

Читать далее

Absolute Zero Reasoner: ИИ научился программированию без входных данных — и это может поменять всё

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

Возможно я был недостаточно внимателен, но мне попалось на Хабре буквально одно, очень краткое упоминание крайне интересного исследования от команды из Университета Цинхуа и партнерских институтов нескольких стран: Absolute Zero Reasoner (AZR) — новую систему машинного обучения, которая развивает принципы self-play и способна обучаться без каких-либо внешних данных. В отличие от традиционных подходов, требующих тысячи размеченных примеров, AZR использует принцип самообучения через создание и решение собственных задач программирования. Система играет две роли одновременно: составителя задач (Proposer) и решателя (Solver), используя исполнитель кода как объективного судью для получения обратной связи. AZR продемонстрировал state-of-the-art результаты в программировании и математических рассуждениях, превзошедший модели, обученные на десятках тысяч человеческих примеров, при этом показав впечатляющий кросс-доменный перенос знаний между различными областями знаний.

Читать далее

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

Клиент заказал AI-бота. Но помог не он

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

Клиент пришёл за AI-чатботом для поддержки — 200 обращений в день, четыре оператора, вечная текучка. Мы прочитали 500 тикетов глазами и обнаружили: 68% закрываются обычным API-вызовом, ещё 14% — формой-визардом. А вот AI понадобился совсем для другого — кластеризация жалоб выявила бракованную партию товаров до того, как проблема стала массовой.

Читать далее

Как интегрировать аудит-логи с SIEM: от теории к практике на Wazuh и RuSIEM

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

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

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

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

Читать далее

Создаем красивые и удобные CLI-приложения на Python с помощью Typer и Rich

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

Вспомните свой последний скрипт для автоматизации. Возможно, он скачивал данные, обрабатывал файлы или отправлял отчеты. Вы быстро набросали логику, запустили из командной строки, передав пару аргументов через sys.argv, и… всё сработало. Вы молодец.

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

Читать далее

Как превратить свою аватарку Telegram в термометр?

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

Снова всех приветствую. В моей прошлой статье "Как превратить статус Telegram в статус Steam" вдохновленной статьей "Как превратить свою аватарку в Telegram в часы" я описал интересную концепцию. Почитав комментарии с обеих статей, я пришел к еще одной идее. А именно - аватар с термометром. Это будет последняя статья, которая будет описывать скрипты для стилизации вашего аккаунта в ТГ.

Да, может я и высасываю идею из пальца, но мне показалось это весьма интересным. Ведь статус не очень заметен, а смена аватара часов очень любит вызывать flood-бан.

Читать далее

Python в enterprise-разработке: почему популярность ЯП распространилась и на корпоративный сектор. Часть 2

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

Всем привет! Это Леша Жиряков. На прошлой неделе мы начали разбирать, почему Python стал настолько востребован для создания корпоративных программных решений. Сегодня продолжим тему — поговорим об управлении зависимостями, асинхронном программировании в корпоративной среде, тестировании, корпоративной безопасности и других ключевых моментах. Заодно обсудим перспективы Python в enterprise-разработке. Приступим!

Читать далее

Генетическое программирование: от теории к практике

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

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

Что будет, если поручить эволюционному алгоритму самому «придумать» формулу? Разбираем генетическое программирование на наглядных примерах: от восстановления тригонометрических функций и символьной регрессии на реальном датасете до оптимизации структуры нейросетей — все эксперименты воспроизводимы в Google Colab.

Читать далее

Poetry vs Pip: Почему пора перестать использовать requirements.txt

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

На моем компьютере всё работало!» — фраза, после которой начинается многочасовой дебаггинг. Вы открываете requirements.txt, а там свалка: непонятные версии, транзитивные зависимости и библиотеки, которые вы вообще не ставили.

Pip — отличный установщик, но ужасный менеджер проектов. В 2025 году стыдно таскать за собой «портянку» из текстовых файлов. В этой статье я покажу, как Poetry превращает ад зависимостей в скучный и предсказуемый процесс. Разберем pyproject.toml, магию lock-файла и переедем с Pip за 5 минут без боли.

Внутри: туториал, гайд по миграции и честный разбор минусов (да, Poetry тоже не идеален).

Читать далее