Обновить
581.33

Python *

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

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

Как я сделал школьного бота в Telegram — и почему проект пришлось закрыть

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

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

Проект реально сработал, но его пришлось закрыть: с 2025/26 учебного года все школьные коммуникации перевели в национальный мессенджер «Макс» (MAX), а Telegram оказался «под запретом».

Читать далее

Топ-6 Python-библиотек для визуализации

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

Команда Python for Devs подготовила перевод статьи о шести библиотеках Python для визуализации данных. Matplotlib, seaborn, Plotly, Altair, Pygal и Bokeh — у каждой свои сильные и слабые стороны: от академических статичных графиков до интерактивных дашбордов для бизнеса. Выбираем самую подходящую для различных кейсов.

Читать далее

«Большие вызовы»: как школьники за 3 недели собрали модуль для офлайн-распознавания документов на Android

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

Привет, Хабр! Меня зовут Олег Милосердов, я руковожу проектами по компьютерному зрению в ВТБ. В июле мы с коллегами приняли участие в научно-технологической программе «Большие вызовы» от образовательного центра «Сириус» в качестве наставников. Мы предложили школьникам спроектировать и внедрить автономный модуль распознавания MRZ-зоны документов, удостоверяющих личность, прямо на мобильном устройстве под Android, которое работает без интернета, серверов и облака. В этой статье расскажу, как талантливые старшеклассники справились с задачей, какой опыт получили и какие выводы мы можем сделать как наставники.

Читать далее

ИИ в 3 фазы… снижение рисков, экономия времени и помощь человеку. Но ...— нужно дать пользу уже на первом шаге

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

Я не делал «крутой ИИ».
Я сделал систему, которая не давала людям уйти обратно к старым процессам.

Первый этап — показал простоту. Второй — показал надёжность. Третий — показал интеллект.

Именно поэтому этот проект стал основой для всей команды ИИ в компании.
Потому что мы доказали:

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

Если вы тоже работаете в корпорации, где «это невозможно», где «нет бюджета», где «это не наша задача» —
начните с каркаса.
Сделайте так, чтобы сегодня стало легче.
И завтра — уже сами будут просить: «А теперь ты сможешь…?»

Читать далее

Telegram бот управления Docker контейнерами

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

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

оставлю пища для размышлений и задел на развитие бота

Читать далее

Как избавиться от проприетарных ETL: кейс миграции на dbt

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

Несколько лет назад наш корпоративный слой данных жил на проприетарных технологиях. Данных было много, а основная СУБД — MPP-система Sybase IQ — долго не обновлялась. Мы регулярно сталкивались с тем, что у кластера «падали» ноды, каталог базы повреждался, порой даже терялись данные, а вендор не спешил выпускать исправления или даже признавать проблему. ETL-процессы работали через IBM DataStage, который также перестал развиваться. Все решения были закрыты, и мы не могли влиять на их улучшение. Vendor lock-in означает, что вы зависите от поставщика: если вендор не поддерживает нужные возможности, развитие замедляется, а долгоживущие ошибки остаются нерешенными. Такое положение становилось критичным.

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

В этой статье рассказываем о том, как мы перешли с проприетарных ETL-инструментов на open-source на базе dbt, какие проблемы решали по ходу внедрения, и как построили экосистему вокруг dbt для автоматизации рутинных задач.

Читать далее

Агрегация и парсинг XML RSS ленты на Python

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

В этой статье рассмотрим, как с помощью Python собирать и обрабатывать новости с сайта, имеющего RSS.

В нашей статье мы создадим скрипт на Python, который за заданный период (например, за последние 4 часа) соберёт все записи из нескольких лент сайта BBC, отфильтрует их по ключевому слову «Трамп» и опубликует итоговый подбор в наш Telegram-канал. Далее рассмотрим код, вы легко сможете адаптировать его под любую другую ленту или ключевое слово.

Читать далее

Prompt Engineering: Паттерны проектирования. Часть 2 — ToDo list

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

Продолжаем анализировать паттерны проектирования промтов агентов из репозитория https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools и после разбора XML-тегов в первой части переходим к следующему ключевому элементу.

Читать далее

Снятие проклятия размерности: как познакомиться со своими данными

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

1. Проклятие размерности

Человек эволюционировал в 3 пространственных измерениях, и в них мы себя шикарно чувствуем. В них мы живем, радуемся, грустим, да и все драмы жизни проходят в этих измерениях. Правда в первой половине 20 века Теодор Калуца и Оскар Клейн нашли еще одно измерение, но оно маленькое и его людям не видно. После струнные теоретики, такие как Леонард Сасскинд, Герард т`Хофт, Яу Шинтун, Александр Виленкин  и другие, опять сильно усложнили картину мира, и к 4 пространственным измерениям добавили еще 6 (это минимум), но они все где то не пойми где, и влияют на жизнь только физиков-теоретиков, а остальным n-миллиардам людей на Земле, нет никакого дела до этих измерений, им и в 3 хорошо живется.

Другое дело математика и наука о данных, тут измерений может быть сколько угодно, например вот:

Читать далее

Что если представить habr в виде obsidian-графа?

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

Ночью (а точнее уже утром), я не мог уснуть, из-за навязчивой мысли в голове..

А что если спарсить часть статей с хабра и представить их в виде obsidian графа, будет ли это выглядеть, как красивая база знаний?

Читать далее

Автоматизация геозадач: как NextGIS Web и open source экономят время

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

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

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

И хотя Python и open source-инструменты здорово помогают, есть задачи, где одной только «самодельной автоматизации» недостаточно. Когда данных становится слишком много, когда к ним нужно дать доступ коллегам или когда важно наладить единый процесс - тут уже нужен сервер, который позволит и хранить, и обрабатывать, и публиковать информацию в удобном виде. Недавно обнаружил для себя NextGIS Web.

Почему локальные инструменты не спасают

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

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

Читать далее

Что такое эмбеддинги и как с ними работать. Вводная для начинающих

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

В этой статье будет рассказано об эмббедингах и методах работы с ними. Расскажу немного математики и приведу много примеров на Python.

🔥 Начинаем? 🔥

Кольца Барромео и один забавный алгоритмический баг

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

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

Читать далее

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

Меньше магии, больше кода: мой способ писать Django views

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

Команда Python for Devs подготовила перевод статьи о том, как автор выбирает способ написания представлений в Django. Он считает, что обобщённые классовые представления (CBV) скрывают слишком много магии, усложняют чтение кода и отладку. Вместо них он использует базовый View, чтобы сохранять контроль, но при этом избегать громоздких if в функциях.

Читать далее

Все об устройстве MSK144 с примерами на Python (часть 1)

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

MSK144 — цифровой протокол, разработанный Джо Тейлором (K1JT) и его командой в 2016 году для проведения связей через метеорное рассеивание. В этой статье будут рассмотрены подробности работы протокола.

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

Читать далее

Прокачиваем RAG: тестируем техники и считаем их эффективность. Часть 1

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

При про­ектировании RAG-системы инженер каждый раз сталкивается со множеством вопросов: какую базу данных использовать, как организовать получение релевантной информации, да даже выбор эмбеддера может занять приличное время, а это лишь вершина айсберга. Что хорошо работает в одной сфере, например в техподдержке, может полностью провалиться в другой — например, при анализе юридических документов. Поэтому задачей инженера является выявление особенностей предметной области и адаптации RAG системы к ним. Однако, чтобы это сделать, необходимо не только понимать, какие приёмы можно использовать, но и знать насколько они эффективны.

В данной статье мы разберём основные RAG техники, посмотрим их сильные и слабые стороны, сферы применения, а также немного поэкспериментируем. В следующей части статьи мы проведём тестирование этих техник на реальных пользовательских запросах из датасета Natural Questions и оценим качество работы с помощью RAGAS и BertScore, посмотрим на графики и разойдёмся, чтобы обдумать всё написанное. Поэтому предлагаю начать!

Читать далее

Переводим fb2 книжки, с нейронками, для себя

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

Хотел написать классическую статью, ни разу не писал, ради интереса попросил ChatGPT и она все написала, стало скучно до жути, эта «классическая » статья будет под спойлером, она реально по теме, написана с двух запросов, а далее будет кратенько и технически что и зачем, со ссылками на примеры. Для технической части нужны знания python, llm, cuda и что такое OpenAI API.

Читать далее

AVIF: Крепкий орешек для стеганографии. Почему LSB-метод пасует там, где справляется WebP

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

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

Сегодня я хочу поделиться историей одной, казалось бы, простой задачи, которая превратилась в увлекательное техническое расследование. Мы разрабатывали утилиту для стеганографии ChameleonLab и решили добавить поддержку современных форматов изображений, таких как WebP и AVIF. С WebP все прошло гладко, но AVIF оказался на удивление крепким орешком.

Читать далее

Polars — «убийца Pandas» на максималках

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

Всем привет! Меня зовут Александр Андреев, я инженер данных. Сегодня я хочу рассказать вам о библиотеке Polars - потенциальной замене Pandas, любимой у большинства дата-инженеров и дата-саентистов библиотеки для работы с данными.

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

Читать далее

Claude Code: субагенты

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

Субагенты в Claude Code — обзор вопроса и немного деталей.

Расскажу про одну из самых примечательных фич Claude Code — инструмент Суб‑Агентов (Sub‑Agents), чем он отличается от обычного Task, и как его можно использовать для создания своих систем на базе ИИ агентов.

Читать далее

Вклад авторов