Обновить
1024K+

Python *

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

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

Плагины с человеческим лицом: истории комьюнити OpenIDE

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

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

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

И когда до Нового года остаётся совсем немного времени, а сил на сложные технические материалы почти не остаётся, мы решили немного сменить ритм. Вместо глубоких разборов — лёгкое, тёплое и предпраздничное чтение. Так появилась идея серии интервью с участниками нашего комьюнити — людьми, которые создают плагины для OpenIDE.

Читать далее

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

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

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

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

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

Читать далее

Итоги года развития NoDPI — открытого инструмента для свободного интернета

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

Салют, Хабр! Прошел ровно год с момента публикации моей первой статьи про загрузку видео с YouTube. Бонусом к статье шла небольшая утилита для... кхм... модификации сетевых пакетов. Это был небольшой скриптик на Python, форкнутый от theo0x0/nodpi. Я не делал на него совершенно никаких ставок, но в комментариях посыпались восторженные (нет) отзывы, обсуждения и просьбы выложить на GitHub. Через полгода, в мае, я опубликовал статью с презентацией NoDPI и подробными объяснениями, что, как и почему. Публикация зашла, попала в топы Хабра, аудитория на GitHub стала расти. Еще через месяц вышел NoDPI for Android - немного сыроватый и неудобный, но вполне работающий и справляющийся со своей задачей.

И вот на дворе конец 2025 года. За окном мороз, падает снег, а значит самое время подвести небольшие итоги...

Читать далее

Ручное управление не делает нас сильнее: как я написал клиент для автоматизации тестирования

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

Всем привет! Меня зовут Стас, я ведущий инженер отдела сертификационного тестирования компании YADRO. Однажды мне стало лень вручную проставлять статусы тестов PASSED/FAILED в TestY TMS, и я написал свое клиент-серверное приложение ATS Studio. С его помощью я залечил боль ручного управления для нескольких команд YADRO.

Как мне это удалось, если я не пишу код на Python, и чему я научился в процессе, узнаете под катом.

Читать далее

Нейропоисковик на 17 миллионов картинок: OpenCLIP, Qdrant и ZeroTier вместо облаков

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

Как сделать свой аналог Pinterest, если у вас нет бюджета корпорации, но есть 4 ТБ картинок (17 миллионов штук) и желание искать по ним не просто по тегам, а по визуальному стилю?

В статье — опыт построения распределенной системы поиска из подручных средств. Разбираем архитектуру: — Гибридное хранение: Backblaze B2 (холодное) + Домашний сервер (вычисления). — Сеть: Как ZeroTier объединил разрозненные ноды в одну Mesh-сеть без белых IP. — Векторный поиск: Как уместить 17 миллионов векторов OpenCLIP ViT-H/14 в 32 ГБ RAM с помощью Qdrant и квантизации. — Оптимизация: Почему поиск работает за 5 мс, а загрузка метаданных тормозила до 3 секунд, и как PostgreSQL спас ситуацию.

Полный разбор ETL-пайплайна и экономики домашнего HighLoad-проекта.

Читать далее

Мало кто знает, но в Python есть switch/case: Гид по структурному сопоставлению (match/case) не только для версии 3.10+

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

Разбираем мощь match/case в Python: от базового синтаксиса до распаковки JSON и эмуляции в старых версиях.

Читать далее

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

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

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

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

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

Читать далее

От голосовых к тексту: делаем Telegram-бота для расшифровки аудио на open source модели от СБЕР — GigaAM-v3

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

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

▁ ▂ ▃ ▅ ▃ ▂ ▁ ▂ ▃ ▅ ▆ ▅ ▃ ▂ ▁

Хаос второго порядка: Как алгоритмические торговые боты играют сами против себя в убыток

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

🤖 Тысячи копий одного и того же алгоритма от Claude/Grok/ChatGPT торгуют друг против друга. Это создаёт спираль смерти, на которой зарабатывает только биржа через комиссии

Читать далее

Российский ИИ: критика, которая нужна сейчас, и путь, который работает

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

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

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

Но так ли все плохо и есть ли белый свет в конце тоннеля для российских LLM?

Читать далее

Новогодний подарок: Как я прикрутил LLM к scratch и порадовал ребёнка

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

Как известно, под новый год случаются чудеса, и этот год не стал исключением. Мне удалось прикрутить LLM в визуальный язык программирования Scratch, чем и обрадовал ребенка. А началось всё в один прекрасный день, когда мой сын - школьник осваивал n8n и ваял телеграм бота. Разговорившись, мы вспомнили, что его увлечение программированием началось со Scratch. И его фраза, что было бы здорово, если бы в scratch была бы встроена иишечка, можно столько прикольных игр сделать, стала отправной точкой для данного проекта. Рассказываю и показываю, как мы реализовали эту безумную идею.

Читать далее

Индикация раскладки клавиатуры подсветкой — решение для GNOME

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

Несмотря на весь технический прогресс IT, мне за всё время так и не удалось повстречать убедительное решение проблемы ввода «ghbdtn» вместо «привет» или «lf» вместо «да» — путаницы с раскладкой клавиатуры при наборе текста.

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

Я опишу реализацию решения для среды рабочего стола GNOME, проверенное на дистрибутивах Fedora 43 и Ubuntu 24.04.

Читать далее

ty: революция в тайп-чекинге

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

Всем привет!

За последние пару лет компания Astral буквально разрывает Python-мир своими инструментами. Даже если вы не слышали это имя напрямую, с большой вероятностью вы уже пользовались их продуктами — ruff или uv.

И это не преувеличение. И ruff, и uv сегодня фактически стали стандартом индустрии. Например, в свежем релизе PyCharm 2025.3 при создании нового проекта по умолчанию инициализируется именно окружение uv, а не привычный venv. Для open source-проекта — это очень серьёзный показатель доверия со стороны экосистемы.

Открытый исходный код и массовое принятие инструментов Python-разработчиками дали Astral тот самый «кредит доверия», который компания, судя по всему, пока что уверенно оправдывает.

И вот буквально на днях Astral объявили, что их новый «революционный» тайп-чекер ty переходит в стадию бета-тестирования. А если учитывать, что и uv, и ruff формально тоже всё ещё находятся в бете, то можно считать, что ty уже фактически вышел в релиз. Собственно, о нём и поговорим дальше.

Если вам интересны подобные материалы — подписывайтесь на Telegram-канал «Код на салфетке». Там я делюсь гайдами для новичков и полезными инструментами. А прямо сейчас у нас ещё и проходит новогодний розыгрыш.

Читать далее

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

Классы в Python: от основ ООП до продвинутых концепций

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

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

Для этого в Python используют классы. С их помощью описывают, какие данные есть у таких сущностей (объектов) и что с ними можно делать. Это и есть объектно-ориентированный подход — программа строится вокруг объектов и их взаимодействия.

В этой статье мы разберём основы работы с классами и объектами в Python: как они устроены, как их использовать и какие концепции вокруг них стоит знать, даже если вы пока не планируете углубляться в архитектуру.

Читать про классы и объекты в Python →

Топ-5 фишек Python, которые вы, скорее всего, упустили

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

На дворе 2025 год. Мы привыкли к f-строкам и тайп-хинтингу, но всё ещё тащим в продакшен привычки из Python 3.6.

Вы знали, что блок else в цикле for выполняется вовсе не тогда, когда «цикл не сработал», а наоборот? А что громоздкий try-except pass для игнорирования ошибок — это антипаттерн, который заменяется одной элегантной строкой из стандартной библиотеки?

В статье — топ-5 прагматичных фич (от match/case с гардами до itertools.batched), которые позволяют писать декларативный код и выбрасывать лишние if и флаги. Никакой воды, только примеры «Было / Стало».

Читать далее

DDD на пальцах: как перестать проектировать таблицы и начать думать о бизнесе

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

Привет, Хабр! Cегодня я хочу поговорить о самом непонятном и переоцененном термине в мире архитектуры — Domain-Driven Design (DDD). Я объясню его так, чтобы стало понятно даже джуну, и покажу на реальных примерах, чем он отличается от других подходов.

Читать далее

Больше никаких «черных ящиков»: мониторим и оцениваем качество LLM-приложений с Langfuse

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

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

Меня зовут Александр Сесоров, я работаю инженером по тестированию в YADRO. Занимаюсь задачами автоматизации оценки производительности, точности и эффективности моделей на различных конфигурациях. Сегодня проведу краткий экскурс в инструментарий Langfuse и на примерах из практики покажу, как превратить оценку качества LLM-приложения из гадания в систематизированный и прозрачный сбор метрик на всех этапах.

Читать далее

Полностью автоматизируем трейдинг по аукционной теории — от базы до python робота

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

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

Ключевым элементом такого подхода является Volume Profile, а именно Point of Control (POC) — уровень цены, на котором за выбранный период был проторгован максимальный объём. В терминах аукционной теории POC соответствует зоне максимального согласия участников рынка.

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

Читать далее

Нейросеть, которая не двигает стоп-лосс в 3 часа ночи. Мои эксперименты с алготрейдингом

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

Всё началось со знаменитого челленджа - соревнования, где разработчики пытаются создать прибыльного AI-трейдера. Идея засела в голове: а что если LLM действительно может торговать лучше человека? Без эмоций, без FOMO, без revenge trading в три часа ночи. Я решил проверить. И вот к чему это привело.

Читать далее

Visual SLAM (Python)

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

В рамках своей научной работы в области роботехники я разрабатываю собственную визуальную SLAM-систему, реализованную полностью на языке Python без использования компилируемых C++-библиотек и сложных внешних зависимостей. Проект находится в стадии активной разработки и представляет собой промежуточный итог моего исследования. В этой статье я делюсь своим субъективным опытом разработки системы, описываю принятые решения и возникшие сложности.

Читать далее