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

Привет! Я Ярослав, технический директор топ-10 интеграторов России R77 AI. Рассказываю, как мы делали умную мусорку с классификацией мусора на фракции.
Высокоуровневый язык программирования
Привет! Я Ярослав, технический директор топ-10 интеграторов России R77 AI. Рассказываю, как мы делали умную мусорку с классификацией мусора на фракции.
BirdCLEF+ 2025 — очередная часть ежегодного соревнования от Cornell Lab of Ornithology по распознаванию звуков дикой природы. В этом году участникам предстало предсказывать целевое животное на коротких фрагментах записи, балансируя между качеством моделей и жёсткими ограничениями железа.
В этой статье мы погрузимся во внутреннее устройство Claude Code - агента для помощи в разработке от Anthropic. Мы проанализируем его с точки зрения архитектуры, рассмотрим доступные инструменты и разберем системные промпты, которые определяют его поведение.
Пишем свой алгоритм шифрования с помощью хеш-функции xxHash со скоростью 6.4 Гбит/с и обгоняем AES и DES (почти).
Да. Спустя наверно 3 дня я решил сделать это. Долго конечно, но что тут поделаешь.
Также если нужно, можете посмотреть на первую статью об этом лиспе.
В предыдущем туториале "Единицы измерения физических величин" было сказано, что результат любых инженерных измерений и расчётов не имеет никакого смысла, если не указаны две его основные характеристики: единица измерения и точность. Как использовать единицы измерения при вычислениях на Питоне мы уже обсудили - теперь перейдём к точности и связанным ней понятиям погрешности и неопределённости
Погрешность измерения — это отклонение измеренного значения величины от её истинного (действительного) значения. Погрешность измерения является характеристикой точности измерения. Выяснить с абсолютной точностью истинное значение измеряемой величины, как правило, невозможно, поэтому невозможно и указать величину отклонения измеренного значения от истинного. Это отклонение принято называть ошибкой измерения. Возможно лишь оценить величину этого отклонения, например, при помощи статистических методов. На практике вместо истинного значения используют действительное значение величины , то есть значение физической величины, полученное экспериментальным путём и настолько близкое к истинному значению, что в поставленной измерительной задаче может быть использовано вместо него. Такое значение обычно вычисляется как среднестатистическое значение, полученное при статистической обработке результатов серии измерений. Это полученное значение не является точным, а лишь наиболее вероятным. Поэтому при записи результатов измерений необходимо указывать их точность. Например, запись
означает, что истинное значение величины
лежит в интервале от 2.7 s до 2.9 s с доверительной вероятностью 95%. Количественная оценка величины погрешности измерения — мера сомнения в измеряемой величине — приводит к такому понятию, как неопределённость измерения. Синонимом термина "погрешность измерения" (англ. measurement error) является "неопределённость измерения" (англ. measurement uncertainty). Таким образом мы плавно и ненавязчиво подошли к названию модуля языка Питон, которому посвящён настоящий туториал -
uncertainties
(неопределённости).
Привет! Это Леша Жиряков, я руководить бэкенд-команды витрины KION и Python-гильдии в МТС. Как раз о Python сегодня и пойдет речь. Обсудим, почему самый популярный ЯП, по версии TIOBE, так востребован в корпоративном секторе: из простого инструмента автоматизации он превратился в полноценную экосистему для создания критически важных продуктов.
Если коротко, причина успеха — в эволюции языка и его экосистемы. Аннотации типов в Python 3.5 сделали доступной статическую проверку кода без потери гибкости динамической типизации. Это решающий фактор для корпоративной разработки, ведь главные требования тут — это надежность и поддерживаемость.
Недавно я уже писал о причинах успеха Python в целом, а сегодня хочу подробно рассмотреть его современные инструменты для предприятий: типизированные структуры данных с dataclasses, высокопроизводительные системы валидации msgspec, pydantic 2 и другие библиотеки. То есть все, что помогло ему стать идеальным выбором для серьезных бизнес-решений. Информации много, так что тему разобью на две части. Погнали!
Сравнение PyBind11 vs ctypes
В принципе, можно вызывать C++ из Python двумя способами: при помощи библиотеки PyBind11 для C++, которая готовит модуль Python, либо при помощи пакета cytpes для Python, который предоставляет доступ к скомпилированной разделяемой библиотеке. Работая с PyBind11, не составляет труда совместно использовать множество типов данных, в то время как ctypes — это гораздо более низкоуровневое решение в стиле C.
Взявшись за описанный здесь проект, я хотел рассчитывать на производительность и переносимость C++, но так, чтобы не жертвовать интерактивностью интерпретируемых языков, которая удобна для экспресс-исследования и отладки.
К счастью, вызывать C++ из Python не так сложно, как может показаться на первый взгляд. Таким образом, можно в какой-то степени позаимствовать интерактивность Python при разработке кода C++.
Всем привет. Я сетевой инженер, работаю в интернет провайдере. Примерно год назад начал внедрение Netbox для документирования сети. Здесь я расскажу как я добавил коммутаторы доступа скриптом, через API Netbox. Скрипт добавления устройств в Netbox через API является универсальным и подойдёт всем. А так же расскажу, как я добывал первичные данные о коммутаторах, здесь уже мои скрипты помогут не всем, т.к. топология сети и настройки могут сильно отличаться, и методов сбора данных может быть не один десяток.
modern-i18n — это легковесная библиотека для интернационализации Python-проектов. Она позволяет легко управлять переводами, использовать параметризованные строки для форматирования текста. Подходит для небольших и крупных проектов.
Хабр, привет! Сегодня узнаем, что такое проблема подглядывания и почему она появляется. Реализуем аналог метода Покока и критерий Вальда для последовательного тестирования. Посмотрим, можно ли одновременно подглядывать и контролировать вероятности ошибок при том же размере групп. Обсудим границы применимости последовательного тестирования.
Фундаментальная проблема веб-агентов заключается не в автоматизации — а в восприятии. Как позволить LLM навигировать и действовать на веб-сайтах, погребённых в слоях HTML?
Привет, Хабр!
Все мы знаем Го — глубокую, медитативную игру на доске 19x19. Камни, пересечения, территории... А что, если выкинуть саму сетку и разрешить ставить камни куда угодно в пределах доски?
Мы в команде YSDA (Yandex School of Data Analysis или Школа Анализа Данных, ШАД) задались этим вопросом и решили проверить. Получилось азартно, хаотично и, что самое главное для нас как разработчиков, — чертовски интересно с точки зрения алгоритмов.
В этой статье я расскажу, как мы реализовали эту идею на Python и Pygame, с какими геометрическими головоломками столкнулись и как Диаграмма Вороного помогает считать очки в реальном времени, превращая статичную доску в живое поле битвы.
А в конце встретим неожиданный твист! Узнаем, что такое такое Суго.
Всем привет. Я сетевой инженер в интернет провайдере. В данном посте я расскажу, как я сделал для техподдержки инструмент, для мониторинга абонентских ONU на Python. И избавился от кучи ручной работы.
Для детей, изучающих программирование, существует несколько отличных сред, включая визуальные среды для начинающих и текстовые языки для более продвинутых. Scratch, Tynker, Swift Playgrounds подходят для начального уровня. Для детей постарше, Python является популярным выбором из-за простоты синтаксиса.
Давайте теперь рассмотрим подробнее универсальные среды программирования:
Scratch: один из самых популярных инструментов для обучения детей программированию. Он использует блоки, которые можно перетаскивать, чтобы создавать игры и анимацию. Scratch имеет простой и понятный интерфейс, что делает его отличным выбором для детей младшего возраста.
Привет! Я Ярослав Шмулев, датасаентист, выпускник МФТИ и технический директор топ-10 интегратора ИИ R77 AI. Сделал для нас AI ТЗ потому что обычно заказчики приходят и не знают чего хотят, как это описать и какие эффекты ждут.
В 2025 году вопрос полноценной генерации продуктового кода с помощью LLM («вайб-кодинг») становится все более актуальным, но при этом остается и достаточно дискуссионным: насколько такие подходы вообще применимы в реальных проектах, действительно ли они сокращают время и стоимость разработки, и что происходит с тестируемостью и поддержкой такого кода в долгосрочной перспективе?
Сложность этого вопроса не только в качестве самой генерации, но и в том, как интегрировать LLM в инженерные процессы, чтобы получить управляемый, масштабируемый и архитектурно устойчивый код.
Моя мотивация была проста: попробовать выстроить полноценный продуктовый backend для нетривиального телеграм-бота с функциями агента (планированием, напоминаниями, памятью и проактивным поведением, возможностью дальнейшей расширяемости и интеграции сторонних сервисов), при этом — не писать руками ни строчки кода. Чтобы человек участвовал только как архитектор и асессор, а все проектирование и реализация шли через промпты в специализированные IDE-агенты (Cursor, Copilot, Codex, Zed) и LLM (как доступные через API/CLI, так и в «пользовательской» продуктовой обвязке).
QapDSLv2: Новый стандарт AST-heavy парсинга
QapDSLv2 обеспечивает:
Молниеносное построение AST
Полное сохранение структуры исходного кода
Простоту интерпретации и модификации грамматик
Забудьте о любы других парсерах! С помощью QapDSLv2 можно создавать компиляторы/анализаторы/форматировщики кода за минуты/часы.
Парсеры и генерация абстрактных синтаксических деревьев (AST) — это обычно долго, сложно и требует тонны шаблонного кода. Но что если я скажу, что теперь можно описывать грамматики и структуры данных одновременно и получать готовый, оптимизированный C++ код автоматически?
QapDSLv2 — новый стандарт эффективности и удобства в парсинге. Это язык описания парсеров, который избавляет от синтаксического шума, упрощает интеграцию с C++ и позволяет создавать сложные анализаторы без боли и ошибок. Забудьте о бесконечных циклах отладки и непонятных генераторах — теперь всё просто, понятно и эффективно.
В этой статье вы узнаете, как QapDSL v2 меняет правила игры в мире парсинга и компиляторов, увидите реальные примеры и поймёте, почему это важно для каждого, кто работает с языками программирования и обработкой текста.
Готовы ускорить разработку и вывести свои проекты на новый уровень?
QapGen — мощный генератор парсеров, построенный на основе QapDSLv2, который из грамматик QapDSLv2 сразу создаёт высокопроизводительный C++ парсер с типизированным AST, описанным прямо в грамматике.
t_sep
{
string
body =
any
(" \t\r\n");
}using
" "
as
t_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?;
"]"
" "?}
Всех приветствую. Несколько дней назад я наткнулся на статью "Как превратить свою аватарку в Telegram в часы". Я попробовал реализовать эту программу сам, но столкнулся с некоторыми ограничениями, связанными с повышением количества спамеров в чатах. А если конкретно, то мне выдавали флуд-бан и я не мог менять свою аватарку ближайший 21 час.
Я перепробовал кучу вариантов, ибо задумка мне очень понравилась. Но никакие тайминги не могли спасти ситуацию. Поэтому я решил выкатить альтернативный метод выделиться из толпы, хоть может он и будет менее заметный.
После релиза первой версии стало ясно: Telegram порой ограничивает размер и скорость передачи файлов, а ещё появляется зависимость от внешнего API. Чтобы обойти эти ограничения, я решил встроить официальный сервер Telegram Bot API прямо в своё приложение.
Это позволило: