Обновить
1024K+

Python *

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

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

Запускаем личный АИ-инфоконвейер: как я строю систему смыслового мониторинга с YAML и GPT

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

Мне приходится тратить много времени на мониторинг арбитража, госзакупок и других документов: PDF на сотни страниц, новости с «водой», RSS при этом отсутствует.

Поэтому я решил разработать open-source инструмент, который сам проверяет сайты, скачивает документы и с помощью локального ИИ (GPT4All / DeepSeek) делает краткую смысловую выжимку по YAML-шаблону.

Он должен работать как конвейер: источник → шаблон → интерпретация → результат. Локально, без облаков. И объединять всё в единую ленту новостей.

Сейчас я дорабатываю MVP — и я хочу понять, какие шаблоны наблюдения наиболее востребованы: законопроекты, торги, релизы, или что-то ещё?

Читать далее

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

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

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

Читать далее

Как «взломать» сайт Мосбиржи и получать лучшие BID и OFFER в Excel — без подписок, с помощью Python и API брокера

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

Excel - главный рабочий инструмент многих частных инвесторов. Здесь ведут портфели, стратегии и мониторинг котировок. Но получить от Московской биржи лучшие цены на покупку (BID) и продажу (OFFER) из стакана прямо в таблицу - задача не из простых. Даже платная подписка на сайт биржи не даёт получать котировки в Excel напрямую.

Но слово «взлом» в названии статьи - это художественное преувеличение. Мы не будем нарушать никаких законов или пытаться обойти защиту биржи и вообще даже не дышим в сторону серверов Мосбиржи. Однако голь на выдумки хитра - построим элегантное решение с помощью официального API от любого брокера.

Идея проста: создать локальный сервер-прокладку, который Excel сможет опрашивать через веб-запросы. Сервер будет обращаться к API брокера, получать данные стакана и возвращать их в понятном для себя XML формате прямо в вашу таблицу, в ячейке которой будет отображена нужная цифра.

Фактически по такой схеме можно получать любые параметры с биржи и видеть их в своём локальном Microsoft Excel или его свободном аналоге LibreOffice Calc.

Весь код представлен на GitHub.

Читать далее

Умная мусорка — смогли или вам также предстоит выбирать контейнер?

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

Привет! Я Ярослав, технический директор топ-10 интеграторов России R77 AI. Рассказываю, как мы делали умную мусорку с классификацией мусора на фракции.

Читать далее

BirdCLEF+ 2025: обзор соревнования и ключевые решения топ-5 команд

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

BirdCLEF+ 2025 — очередная часть ежегодного соревнования от Cornell Lab of Ornithology по распознаванию звуков дикой природы. В этом году участникам предстало предсказывать целевое животное на коротких фрагментах записи, балансируя между качеством моделей и жёсткими ограничениями железа.

Разобраться в псевдолейблинге...

Vibe Coding: Заглянем под капот Claude Code. Часть 1

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

В этой статье мы погрузимся во внутреннее устройство Claude Code - агента для помощи в разработке от Anthropic. Мы проанализируем его с точки зрения архитектуры, рассмотрим доступные инструменты и разберем системные промпты, которые определяют его поведение.

Читать далее

Шифрование на основе хешей

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

Пишем свой алгоритм шифрования с помощью хеш-функции xxHash со скоростью 6.4 Гбит/с и обгоняем AES и DES (почти).

Читать далее

Применение языка Python в инженерной практике. Точность измерений и вычислений. Погрешности и неопределённости

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

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

Погрешность измерения — это отклонение измеренного значения величины от её истинного (действительного) значения. Погрешность измерения является характеристикой точности измерения. Выяснить с абсолютной точностью истинное значение измеряемой величины, как правило, невозможно, поэтому невозможно и указать величину отклонения измеренного значения от истинного. Это отклонение принято называть ошибкой измерения. Возможно лишь оценить величину этого отклонения, например, при помощи статистических методов. На практике вместо истинного значения используют действительное значение величины x_Д, то есть значение физической величины, полученное экспериментальным путём и настолько близкое к истинному значению, что в поставленной измерительной задаче может быть использовано вместо него. Такое значение обычно вычисляется как среднестатистическое значение, полученное при статистической обработке результатов серии измерений. Это полученное значение не является точным, а лишь наиболее вероятным. Поэтому при записи результатов измерений необходимо указывать их точность. Например, запись T = 2.8 \plusminus 0.1 \; s \\; \; P = 0.95 означает, что истинное значение величины T лежит в интервале от 2.7 s до 2.9 s с доверительной вероятностью 95%. Количественная оценка величины погрешности измерения — мера сомнения в измеряемой величине — приводит к такому понятию, как неопределённость измерения. Синонимом термина "погрешность измерения" (англ. measurement error) является "неопределённость измерения" (англ. measurement uncertainty). Таким образом мы плавно и ненавязчиво подошли к названию модуля языка Питон, которому посвящён настоящий туториал - uncertainties (неопределённости).

Читать далее

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

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

Привет! Это Леша Жиряков, я руководить бэкенд-команды витрины KION и Python-гильдии в МТС. Как раз о Python сегодня и пойдет речь. Обсудим, почему самый популярный ЯП, по версии TIOBE, так востребован в корпоративном секторе: из простого инструмента автоматизации он превратился в полноценную экосистему для создания критически важных продуктов.

Если коротко, причина успеха — в эволюции языка и его экосистемы. Аннотации типов в Python 3.5 сделали доступной статическую проверку кода без потери гибкости динамической типизации. Это решающий фактор для корпоративной разработки, ведь главные требования тут — это надежность и поддерживаемость.

Недавно я уже писал о причинах успеха Python в целом, а сегодня хочу подробно рассмотреть его современные инструменты для предприятий: типизированные структуры данных с dataclasses, высокопроизводительные системы валидации msgspec, pydantic 2 и другие библиотеки. То есть все, что помогло ему стать идеальным выбором для серьезных бизнес-решений. Информации много, так что тему разобью на две части. Погнали!

Читать далее

Как вызывать C++ из Python

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

Сравнение PyBind11 vs ctypes

В принципе, можно вызывать C++ из Python двумя способами: при помощи библиотеки PyBind11 для C++, которая готовит модуль Python, либо при помощи пакета cytpes для Python, который предоставляет доступ к скомпилированной разделяемой библиотеке. Работая с PyBind11, не составляет труда совместно использовать множество типов данных, в то время как ctypes — это гораздо более низкоуровневое решение в стиле C.

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

К счастью, вызывать C++ из Python не так сложно, как может показаться на первый взгляд. Таким образом, можно в какой-то степени позаимствовать интерактивность Python при разработке кода C++.

Читать далее

Добавляем устройства в Netbox с помощью скрипта на Python

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

Всем привет. Я сетевой инженер, работаю в интернет провайдере. Примерно год назад начал внедрение Netbox для документирования сети. Здесь я расскажу как я добавил коммутаторы доступа скриптом, через API Netbox. Скрипт добавления устройств в Netbox через API является универсальным и подойдёт всем. А так же расскажу, как я добывал первичные данные о коммутаторах, здесь уже мои скрипты помогут не всем, т.к. топология сети и настройки могут сильно отличаться, и методов сбора данных может быть не один десяток.

Читать далее

Интернационализация Python-проектов modern-i18n

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

modern-i18n — это легковесная библиотека для интернационализации Python-проектов. Она позволяет легко управлять переводами, использовать параметризованные строки для форматирования текста. Подходит для небольших и крупных проектов.

Читать далее

Проблема подглядывания и последовательное А/Б тестирование

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

Хабр, привет! Сегодня узнаем, что такое проблема подглядывания и почему она появляется. Реализуем аналог метода Покока и критерий Вальда для последовательного тестирования. Посмотрим, можно ли одновременно подглядывать и контролировать вероятности ошибок при том же размере групп. Обсудим границы применимости последовательного тестирования.

Читать далее

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

Веб-агенты, которые действительно понимают веб-сайты: как слой восприятия Notte решает проблему DOM

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

Фундаментальная проблема веб-агентов заключается не в автоматизации — а в восприятии. Как позволить LLM навигировать и действовать на веб-сайтах, погребённых в слоях HTML?

Читать далее

goYSDA: Как мы в ШАДе переизобрели и сделали непрерывную игру Го, выкинув из него сетку

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

Привет, Хабр!

Все мы знаем Го — глубокую, медитативную игру на доске 19x19. Камни, пересечения, территории... А что, если выкинуть саму сетку и разрешить ставить камни куда угодно в пределах доски?

Мы в команде YSDA (Yandex School of Data Analysis или Школа Анализа Данных, ШАД) задались этим вопросом и решили проверить. Получилось азартно, хаотично и, что самое главное для нас как разработчиков, — чертовски интересно с точки зрения алгоритмов.

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

А в конце встретим неожиданный твист! Узнаем, что такое такое Суго.

Погрузиться в игру →

Мониторим ONU/ONT с помощью Python/Flask и snmpwalk

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

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

Читать далее

Обучение детей программированию, какой инструмент выбрать?

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

Для детей, изучающих программирование, существует несколько отличных сред, включая визуальные среды для начинающих и текстовые языки для более продвинутых. Scratch, Tynker, Swift Playgrounds подходят для начального уровня. Для детей постарше, Python является популярным выбором из-за простоты синтаксиса. 

Давайте теперь рассмотрим подробнее универсальные  среды программирования:

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

Читать далее

Шаблон ТЗ для AI

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

Привет! Я Ярослав Шмулев, датасаентист, выпускник МФТИ и технический директор топ-10 интегратора ИИ R77 AI. Сделал для нас AI ТЗ потому что обычно заказчики приходят и не знают чего хотят, как это описать и какие эффекты ждут.

Читать далее

AI-first backend: опыт реального вайб-кодинг проекта

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

В 2025 году вопрос полноценной генерации продуктового кода с помощью LLM («вайб-кодинг») становится все более актуальным, но при этом остается и достаточно дискуссионным: насколько такие подходы вообще применимы в реальных проектах, действительно ли они сокращают время и стоимость разработки, и что происходит с тестируемостью и поддержкой такого кода в долгосрочной перспективе?

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

Моя мотивация была проста: попробовать выстроить полноценный продуктовый backend для нетривиального телеграм-бота с функциями агента (планированием, напоминаниями, памятью и проактивным поведением, возможностью дальнейшей расширяемости и интеграции сторонних сервисов), при этом — не писать руками ни строчки кода. Чтобы человек участвовал только как архитектор и асессор, а все проектирование и реализация шли через промпты в специализированные IDE-агенты (Cursor, Copilot, Codex, Zed) и LLM (как доступные через API/CLI, так и в «пользовательской» продуктовой обвязке).

Читать далее

Как создать свой парсер и AST-генератор на C++ с минимальными усилиями: знакомьтесь с QapDSLv2

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

QapDSLv2: Новый стандарт AST-heavy парсинга

QapDSLv2 обеспечивает:

Молниеносное построение AST

Полное сохранение структуры исходного кода

Простоту интерпретации и модификации грамматик

Забудьте о любы других парсерах! С помощью QapDSLv2 можно создавать компиляторы/анализаторы/форматировщики кода за минуты/часы.

Парсеры и генерация абстрактных синтаксических деревьев (AST) — это обычно долго, сложно и требует тонны шаблонного кода. Но что если я скажу, что теперь можно описывать грамматики и структуры данных одновременно и получать готовый, оптимизированный C++ код автоматически?

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

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

Готовы ускорить разработку и вывести свои проекты на новый уровень?

QapGen — мощный генератор парсеров, построенный на основе QapDSLv2, который из грамматик QapDSLv2 сразу создаёт высокопроизводительный C++ парсер с типизированным AST, описанным прямо в грамматике.

t_sep{
stringbody =any(" \t\r\n");
}
using" "ast_sep;
t_value{
TAutoPtr<i_value> body;
" "?
}
t_comma_value{
","
t_value body;
" "?
}
t_array:i_value{
"["
" "?
t_value first?;
vector<t_comma_value> arr?;
"]"
" "?
}

Читать далее