Обновить
813.25

Python *

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

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

Apache Superset 2026. Как работает Drill Down и Drill By

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

Работая с аналитикой, мы часто сталкиваемся с одной и той же проблемой: данные есть, но исследовать их неудобно.

Представим типичную ситуацию. Есть таблица с десятками колонок и миллионами строк. Нужно понять, почему изменился какой-то показатель — например, выручка или конверсия. Обычно это превращается в цепочку SQL-запросов: сначала агрегируем данные по стране, потом по городу, потом по конкретному сегменту пользователей и тд.

Если таких гипотез несколько, количество запросов быстро растёт с геометрической прогрессией. Каждый новый уровень детализации требует отдельного SQL.

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

Именно здесь на помощь приходят BI-инструменты. Один из самых популярных open-source инструментов для аналитики — Apache Superset.

Читать далее

Новости

Архитектура вместо синтаксиса: CodeSpeak — язык разработки следующего поколения, использующий силу LLM спецификаций

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

Команда разработчиков под руководством Андрея Бреслава, российского разработчика и автора языка программирования Kotlin, представила публичную альфа-версию нового инструмента для разработчиков — CodeSpeak. Платформа позиционируется как язык программирования нового поколения, в котором инженеры пишут спецификации на английском языке, а нейросети берут на себя генерацию, тестирование и рефакторинг исполняемого кода. Полноценное внедрение инструмента позволяет сократить объем кодовой базы в проектах в пять-десять раз. Технология поддерживает интеграцию в существующие сложные проекты на Python.

ИИ-язык, созданный для людей

Знакомьтесь, Барри Уорсо (цикл заметок о выдающихся питонистах)

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

Влюбился в Python в 1994-м, придумал PEP как систему управления изменениями в языке, спрятал пасхалку import this в стандартную библиотеку и годами прокладывал Python дорогу в Linux-дистрибутивы. Речь пойдёт о Барри Уорсо (Barry Warsaw) – первом неголландце в ядре Python.

Будет интересно!

Как обнаружить заказной негатив с помощью скриптов

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

По данным Data Insight 30% отказов от покупок связано с заказным негативом. Раньше ботов вычисляли по шаблонным фразам, но сейчас спамеры массово генерируют жалобы через LLM. Модерация геосервисов пропускает такой контент. Формально отзывы уникальны и не нарушают правила площадок. Ручная проверка тысяч комментариев требует десятков часов работы аналитика и не исключает человеческий фактор. Визуально отличить качественный фейк от мнения реального клиента стало невозможно.

Противостоять генеративным сетям можно только программными методами. Автоматизировать поиск аномалий в поведении пользователей помогают скрипты на Python. Этот контур защиты включает парсинг данных с обходом лимитов API, вычисление временных выбросов через Z-оценку и семантический анализ текстов с учетом морфологии русского языка (через библиотеку Natasha). Это базовый алгоритм, который позволяет перевести защиту репутации из ручной разметки в измеримый технический процесс.

Читать далее

Можно ли будет благодаря ИИ обойтись без менеджеров пакетов?

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

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

Это наивное представление, которое, однако, указывает на реальные проблемы. Атаки на цепочку поставок — серьёзная опасность. В самом деле сложно судить о деревьях, в которых содержатся транзитивные зависимости. Очевидно, что привлекательна перспектива сгенерировать именно то, что вам нужно — и ничего лишнего.

В сгенерированном коде всё равно ещё придётся реализовать TLS, разобрать JSON, обработать Unicode. Если вы перестали называть что-то «зависимостью», сложность от этого никуда не исчезнет, а просто переместиться. Но мне нравится углубляться в кроличьи норы — давайте же посмотрим, куда ведёт эта.

Читать далее

BuxarParser — простой парсер поисковиков Google, Яндекса и DuckDuckGo на Python

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

Здравствуйте, товарищи! Сразу скажу: скрипт, которым делюсь, рассчитан в первую очередь на новичков (которых тут тьма). Старожилы, прошу не пинать сильно.

Читать далее

Как я вайбкодил озвучку текста для AutoCraft

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

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

План был обычный: вставил текст, выбрал движок, получил озвучку.

Но потом, как это часто бывает, всё поехало чуть дальше:

— LLM подкинула несколько идей
— кто-то попросил добавить дополнительные возможности
— а мне самому пришлось разбираться с символами, которые вообще не должны озвучиваться

В итоге из обычной функции озвучки выросло отдельное расширение для веб-панели AutoCraft.

Сразу уточню: эта статья именно про расширение Win TTS для веб-панели.

Про саму веб-панель я потом напишу отдельно, когда доведу её до состояния, которое меня устроит.

Читать далее

DNS TXT как канал доставки конфигов: тихо, надёжно, неубиваемо?

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

Когда сервер с конфигом заблокировали — клиент отвалился. Разбираем способ доставки который сломать сложнее чем сам интернет

У любого прокси-сервиса есть слабое место которое не связано с протоколом. Сервер переехал, IP сменился, конфиг устарел — и пользователь сидит без связи пока не получит обновление вручную. Чем больше пользователей, тем острее проблема.

Стандартное решение — раздавать конфиги через HTTPS. Удобно, пока URL не попал в реестр. После этого тысяча человек одновременно пишет в поддержку.

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

Читать далее

Локальный голосовой ввод: Whisper + Ollama на Python

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

Мне нужен был голосовой ввод. Не диктовка в Google Docs, не облачный API — а простая штука: зажал клавишу, сказал, отпустил, текст появился в активном окне. Локально, без отправки аудио куда-либо.

Готовых решений, которые бы устроили, сходу не нашёл. Сделал свое. Может, кому будет полезно.

Читать далее

Ищи работу правильно — как не ошибиться в важном выборе

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

Поиск работы в IT часто выглядит похожим образом: десятки откликов, постоянные собеседования, новые команды, разные проекты и условия.

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

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

В результате решение об оффере принимается почти вслепую.

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

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

Поделюсь основными из них, надеюсь, что всем будет полезно 👇

Читать далее

7 дней на AI-продукт: как мы автоматизировали подготовку к международным экзаменам

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

Представьте, что у вас всего неделя, чтобы сделать AI-продукт, который превращает рутинные учебные планы для международных экзаменов в персональные траектории для каждого ученика. При этом ваш бэкграунд больше в образовании и аналитике, чем в технической разработке. Звучит фантастически? Сейчас, когда интенсив закончился, мне и самому так кажется.

Привет, Хабр! Меня зовут Дмитрий Орлов. На AI Talent Camp я выступал в роли хастлера (AI-Product) команды ExamLab Bot и ожидал классический хакатон: собрать команду, получить дедлайны, сделать демо и разъехаться. На деле это оказался интенсив с быстрыми итерациями и постоянным общением с менторами. Нам всё время напоминали, что MVP — это не демка «на сцену», что мы отвечаем за полноценный AI-продукт, который будет нужно развивать. Поэтому мы с Дарьей Дмитриевой, которая выступала в роли хакера (LLM Engineer), и смогли сделать то, на что в продуктовой разработке уходят недели.

Читать далее

Линейная алгебра для нейросетей: векторы на практике

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

Данная статья посвящена основе основ нейронауки — линейной алгебре. Если вы когда-либо планируйте изучать искусственные нейронные сети (и не только), то вам необходимо начать именно с этого. Причем не важно, собираетесь ли вы заниматься фундаментальными исследованиями (Data Science) или просто лепить модели в продакшн на конвейере (ML Engineering), вы обязаны знать их математику хотя бы поверхностно. Любые настройки, дообучение и применение даже готовой модели, требуют понимания основ. А по сему данное знание, как минимум, не будет избыточным.

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

В этой статье:
* Понятие вектора;
* Векторизация данных;
* Умножение на скаляр;
* Сложение векторов;
* Норма вектора;
* Скалярное умножение;
* Векторное умножение;
* Практика с кодом;
* Домашняя работа.

Все будет объяснено на красочных примерах в игровой форме. Ничего сложного. А в конце вас ждет самостоятельная практика с кодом.

Приятного чтения!

Читать далее

Мой плохой код — это ваша вина

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

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

Я как-то привык что если что-то ломается или плохо работает, то это я виноват. Это называется «брать ответственность за свои поступки» или, в случае программиста, за свой код, и это считается хорошим делом.

Разумеется, по эго это бьёт иногда больно, и некоторые моменты вспоминать не очень приятно. Самое страшное, что я когда-либо делал — коммитил приватный ключ в публичной репо. Вот написал и мне опять стыдно. Но я осознаю, что это всё я.

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

Сейчас я вам это покажу. Будет интересно, но впереди много боли. Я предупредил.

Хочу страдать

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

Я прочитал статью про 9 AI-ревьюеров — и сломал свой бюджет на токены

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

Текст в ленту: AI-агент пишет код. Другой AI-агент его ревьюит. Первый фиксит замечания. Ревьюер проверяет фикс. 9 параллельных субагентов, 18 000 токенов в минуту каждый, и вопрос, который никто не задаёт: а кто проверяет ревьюера?

Читать далее

STAC — знакомство: Браузеры, API и управление доступом к пространственным данным (часть 3)

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

В первых двух статьях мы разобрали основы спецификации STAC (SpatioTemporal Asset Catalog), её объектную модель и философию, превращающую разрозненные архивы геоданных в единую, машиночитаемую «библиотеку». Мы увидели, как STAC описывает каталоги (catalog), коллекции (collection), элементы (item) и их ресурсы (assets), создавая универсальный язык для работы с геопространственной информацией.

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

Эта статья посвящена клиентской стороне экосистемы — STAC-браузерам, а также ключевому аспекту их работы в корпоративной среде — безопасному доступу к данным через STAC-API. Мы разберём, как устроен универсальный браузер, и представим нашу реализацию стека STAC-сервера с распределённой системой управления доступом IAM (Identity and Access Management), где каждый запрос, от просмотра метаданных до скачивания тайла, проходит через цепочку авторизации.

Читать далее

Замыкания, декораторы и nonlocal в Python: Путешествие от переменной до элегантного кода

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

Python славится своей гибкостью. Мы можем передавать функции как аргументы, возвращать их из других функций и даже "записывать" внутрь них состояние. Но как это работает под капотом? И при чем тут странное слово nonlocal?

В этой статье мы проследим эволюцию: начнем с глобальных переменных, разберемся с замыканиями (closures), поймем магию nonlocal, а затем соберем всё это вместе, чтобы понять, как работают декораторы — один из самых элегантных механизмов Python.

Читать далее

Система рекомендаций для изображений: пример на Python и CLIP

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

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

Читать далее

Делаем простой сервис для подписания документов по СМС

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

Привет, Хабр. Компаниям часто приходится подписывать договоры и акты с клиентами. Полноценный ЭДО — это долго и дорого для простых задач, а сканы по почте и личные визиты — неудобны.

Закон № 63-ФЗ разрешает использовать простую электронную подпись (ПЭП). Это обычный код из СМС на телефон. Такой способ подтверждает согласие клиента и подходит для большинства гражданских договоров.

В статье расскажем, как собрать на Python сервис для подписания документов. Вы сможете встроить его в свои ИТ-процессы.

Читать далее

5 фатальных ошибок при работе с Pandas (и как их избежать)

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

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

Почему так происходит? Главная беда — наши привычки из чистого Python. Циклы for, apply и построчная обработка идут вразрез с архитектурой Pandas, построенной поверх массивов NumPy.

В этой статье разберем 5 самых частых (и фатальных) ошибок при работе с DataFrame. Посмотрим, как безобидные решения убивают производительность и память, и научимся переписывать код так, чтобы всё работало быстро, элегантно и «по-пандасовски». Спойлер: циклов не будет.

Читать далее

Аугментации изображений: как улучшить качество моделей без новых данных

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

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

Но на практике её часто используют поверхностно: «добавим флип, поворот и color jitter».

В этой статье разбираем аугментации глубже:
— два режима аугментаций (in-distribution и out-of-distribution)
— почему нереалистичные трансформации могут улучшать обобщающую способность
— когда аугментации начинают вредить
— как строить устойчивый пайплайн аугментаций

Материал основан на ~10 годах практики обучения моделей компьютерного зрения (на работе, при написании научных статей, в ML соревнованиях) и ~7 годах разработки библиотеки Albumentations.

Читать далее
1
23 ...