Обновить
787.65

Python *

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

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

Максимальный профит от BIM-модели. Автоматическое формирование схем

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

Привет, дорогие BIM/ТИМ-энтузиасты! Меня зовут Сайыына Колесова, я BIM-координатор в компании КРОК. Я в BIM с 2020 года, реализую проекты для корпоративных задач компании, разрабатываю разные семейства оборудования, арматуры и устройств для корпоративной библиотеки. За это время создала ряд полезных скриптов для проектировщиков и координаторов. В статье расскажу про некоторые из скриптов, а именно, как мы из BIM-модели здания формируем схемы и получаем максимальный профит в программном обеспечении Revit.

Читать далее

Как я Альфе новый навык делал и что из этого вышло

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

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

Время от времени я возвращаюсь к своему pet-проекту голосового ассистента с кодовым именем «Альфа», который разрабатывался как приватный голосовой интерфейс (а-ля «умная колонка») для управления своим «Умным домом». И в этот раз – так сошлись звезды или под влиянием магнитных бурь – мне очень захотелось добавить новый навык. А что из этого вышло, читайте далее.

Читать далее

Pydantic V2: Почему dataclasses вам больше не нужны

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

Вы пишите age: int, а Python спокойно пропускает туда строку. Программа падает, но не сразу, а в самый неподходящий момент.

Я расскажу, почему пора переходить на Pydantic V2. Он теперь работает на Rust (очень быстро), сам исправляет типы и спасает от глупых ошибок. Внутри: сравнение кода, работа с .env и немного практики.

Читать далее

Почему все ненавидят 1С, но продолжают на нём работать?

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

Привет, Хабр! И тебе, случайный читатель, который зашёл сюда в перерыве между поиском ответа на очередную ошибку в типовой конфигурации — возможно, с горящим взором и трясущимися от гнева руками.

Сегодня поговорим о феномене: странной, почти мазохистской привязанности 1С-разработчиков к своему инструменту. Это как брак, в котором ты ежедневно угрожаешь разводом, но остаёшься — потому что «а куда деваться?».

Читать далее

DCN-R: как объединить Deep & Cross-модель и ResNet-подход для улучшения рекомендаций

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

Как мы построили DCN-R: новую гибридную модель рекомендаций на Cross Network и ResNet-блоках

Современные рекомендательные системы сталкиваются с парадоксом: модели умеют либо отлично «запоминать» закономерности, либо хорошо «обобщать» новые случаи — но почти никогда не делают это одновременно. В этой статье я показываю, как гибридная архитектура DCN-R, сочетающая Cross Network и Residual Blocks, смогла обойти это ограничение и превзойти классические подходы.

Мы провели серия экспериментов, автоматический подбор гиперпараметров, абляции и построили продакшн-готовый сервис, чтобы проверить, действительно ли DCN-R работает лучше, или это просто красивая идея.

Читать далее

Ошибались, но всё-таки сделали деловой Тиндер без знания фронтенда

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

А ещё — без бюджета на мощную инфраструктуру, опыта работы в команде и прокаченных софтов.

В этой статье — путь наших студентов, которые разработали приложение для деловых знакомств на базе Python и TypeScript. Сами выбрали стек, организовали командную работу, проводили ретро, учились распределять неинтересные задачи и ошибались в оценке сложности тасков. Кому интересно почитать про нюансы создания такого проекта и что в итоге получилось, приглашаем под кат. 👇

Читать далее

Борьба с дисбалансом классов. Oversampling

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

Привет, Хабр! На связи KozhinDev и ml-разработчик Приходько Александр. Это третья статья в цикле публикаций по теме борьбы с проблемой дисбаланса классов в машинном обучении. В первой статье мы обсудили актуальность данной проблемы в машинном обучении, а также сравнили методы борьбы с ним, без внесения изменений в сами данные: изменение весов классов и порога принятия решения моделью. Во второй статье мы сравнивали undersampling-методы, которые удаляли представителей частого класса.

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

Читать далее

Пишем свой классификатор AI-generated статей для Хабра за ночь

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

Изобретаем собственный велосипед для детекции AI-generated текстов на Хабре, используя SBERT классификатор. Нет, это не сложно :-)

Читать далее

Лучшие практики автоматизации тестирования: 9 принципов стабильных автотестов

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

Почему автотесты становятся нестабильными и перестают приносить пользу? Разбираем системные причины флаков, бессмысленных ретраев и бесконечных E2E-монстров. Практические принципы: моки, изоляция, атомарность и минимализм — без философии, только инженерия.

Читать далее

Практическое исследование: вайбкодим HFT движок с Gemini 2.5 Pro

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

Update: Неожиданно для меня несколько человек заинтересовались исходным кодом, поэтому я создал для них публичный репозиторий, где разместил финальный исходный код: https://github.com/i-s-rusakov/arbitrage-engine

На закате массового использованияGemini 2.5 Pro хочу поделиться опытом использования этой модели для тестирования продуктовой идеи: от формирования общей продуктовой концепции до работающего прототипа. Уровень проработки прототипа должен был получиться MVP — не меньше. А если исследование получилось бы крайне удачным, то далее его можно было бы уже развить в полноценный тиражируемый и масштабируемый продукт.

Читать далее

Ваш первый live‑coding

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

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

Cегодня поговорим о, наверное, самом серьезном этапе собеседования — live‑coding. На этом этапе вас просят писать код в реальном времени, под пристальным взглядом интервьюера.

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

Разобрать лайвкодинг

Базовая процедурная генерация воксельных виртуальных миров

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

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

Читать далее

Как я собрал Telegram-бота-консультанта по железу на бесплатном стеке (RAG + Groq + python telegram bot)

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

Представьте консультанта в DNS/Ситилинке, который не навязывает «вот этот блок питания потому что остался на складе», а спокойно объясняет, чем один БП лучше другого под ваш билд, помнит, о чём вы спрашивали раньше и ещё просит вежливый фидбек.

В статье рассказываю, как собрал такого консультанта в виде Telegram‑бота «Кремний» — RAG‑бота по железу на бесплатных инструментах (Telegram Bot API, Groq с Llama 3.1 8B, sentence‑transformers) и что за «чуть‑чуть боли» произошло с NumPy и Pterodactyl при деплое.

Telegram‑бот‑консультант по железу

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

Telegram-бот для малого бизнеса на Python и aiogram 3.x: пошаговый гайд за вечер

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

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

В этой статье разбирается, как с нуля собрать минимально полезного бота для малого бизнеса (например, магазина одежды или студии услуг) на Python и библиотеке aiogram 3.x: от получения токена до развёртывания на сервере. Статья рассчитана на разработчиков, которые уже базово знакомы с Python, но ещё не работали с Telegram Bot API или современными фреймворками для ботов.

Перейти к гайду

Гречневая нейронка. Попытка закрыть национальный гештальт

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

Детекция мусора в гречке с помощью нейросети YOLO8n + попытки в real-time детекцию (Docker + FastApi, Gradio, TensorFlow Lite) + предложение добавить такую фичу в приложения продуктовых магазинов. За результатами приглашаю в статью.

Читать далее

AI-аудит звонков по чек-листу: делаем автоматическую оценку через МТС Exolve и GigaChat

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

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

В этой статье разберём, как настроить полный сценарий: от вебхуков в МТС Exolve до автоматической оценки звонков с помощью GigaChat и LangChain. По разным исследованиям, менеджеры по качеству тратят до 60% рабочего времени на прослушивание диалогов и при этом успевают проверять лишь 5–10% звонков. Мы соберём сервис на Python, который автоматически обрабатывает каждый звонок, расшифровывает аудио, прогоняет диалог через модель и возвращает структурированный JSON по чек-листу оценки оператора. Такой подход снижает ручную нагрузку и даёт воспроизводимую оценку в реальном времени.

Читать далее

Алгоритмы на графах

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

Краткое и доступное руководство по базовым алгоритмам на графах: BFS, DFS, топологической сортировке и алгоритму Дейкстры. Чёткие объяснения, примеры и код на C++ — для тех, кто хочет быстро и уверенно освоить фундамент графовых алгоритмов.

Узнать больше об алгоритмах

LEGO хаб Powered Up — передаём и получаем данные

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

Наборы LEGO с электрикой уже давно перестали быть просто игрушкой. Современная серия устройств Powered Up — это небольшая модульная робототехническая платформа: smart-устройства, моторы, датчики, подсветка, управляемые по Bluetooth, с возможностью программирования поведения моделей, что ранее было доступно только в специализированных наборах (LEGO Mindstorms, Education).

Как же получить данные из smart-устройства, ведь это открывает новые возможности по использованию LEGO наборов.

Читать далее

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

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

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

*Код и симуляция: Python 3.8+, matplotlib, numpy

Проблема централизованного управления

Представьте, что вам нужно координировать движение 50 дронов. Первое, что приходит в голову — центральный контроллер с нейронной сетью, которая вычисляет оптимальные траектории для каждого аппарата. Но у этого подхода есть фундаментальные недостатки:

Читать далее

Магия itertools: Перестаньте писать велосипеды на циклах for

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

Почему опытные Python-разработчики редко используют циклы for для обработки данных? Потому что императивный стиль на больших объемах данных ведет к исчерпанию памяти (OOM) и замедлению работы.

Модуль itertools — это стандарт индустрии для создания эффективных конвейеров обработки данных. Он реализует концепцию ленивых вычислений (lazy evaluation), позволяя обрабатывать бесконечные потоки или огромные дампы БД, потребляя константный объем RAM.

Читать далее