Обновить
618.82

Python *

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

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

Создаем свой RAG: введение в LangGraph

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

Привет, Хабр! В этой статье мы рассмотрим LangGraph — инструмент для построения сложных RAG-систем. Разберём его ключевые концепции и архитектурные принципы. В следующей части перейдём к практической реализации: изучим компоненты RAG-систем и способы их интеграции

Читать далее

«Не бойтесь AI, учитесь им пользоваться»: реальный опыт интеграции нейросетей в детское IT-образование

Время на прочтение9 мин
Количество просмотров4.7K

В 2023 году мы столкнулись с интересной ситуацией: ученики нашей школы программирования начали тайком использовать ChatGPT для выполнения домашних заданий. Многие преподаватели первой реакцией выбрали запрет — стандартный образовательный рефлекс на технологии, которые могут привести к "читерству".

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

Читать далее

Ускоряем стартап Python-приложения: коротко

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

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

Сегодня рассмотрим как ускорить стартап Python-приложений. Холодный старт — это прямые потери: в деньгах, в SEO, в отклике для пользователя. Serverless считает миллисекунды, edge-инфраструктура не ждёт, а тяжёлые импорты и неподготовленное окружение легко съедают полсекунды. Будем это чинить.

Читать далее

Event-Driven архитектура на FastAPI: через паттерн Pub/Sub

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

В мире разработки программного обеспечения постоянно появляются новые подходы к построению систем. Event-Driven архитектура выступает одним из наиболее перспективных решений для создания гибких и масштабируемых приложений.

В данной статье мы расскажем о реализации Event-Driven архитектуры (EDA) с использованием FastAPI и паттерна Publish/Subscribe. Рассмотрим основные концепции, компоненты и практические примеры кода для создания масштабируемой системы обмена сообщениями.

Читать далее

Ускоряем разработку: инструменты экосистемы Python

Время на прочтение6 мин
Количество просмотров10K

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

И тут мы наблюдаем интересную тенденцию. Появляются инструменты нового поколения, написанные на Rust, которые значительно расширяют возможности Python-разработчиков. С одной стороны, они сохраняют привычный рабочий процесс, с другой — ускоряют выполнение стандартных задач в несколько раз.

Сегодня хочу обсудить два таких инструмента — Ruff и uv. Давайте посмотрим, как эти технологии могут трансформировать повседневный рабочий процесс и сэкономить нам время. Погнали!

Читать далее

Измерение покрытия UI тестами. Следующий уровень

Время на прочтение18 мин
Количество просмотров6.3K

Покрытие UI-тестами — вещь, о которой все говорят, но почти никто не измеряет. А если и измеряет, то по старинке, через Excel, TMS или на глаз. Это как считать шаги, не надевая шагомер.

ui-coverage-scenario-tool — это как шагомер, но для UI-тестов. Он показывает, с чем именно взаимодействуют ваши тесты, что осталось в тени, и главное — делает это автоматически. Без ручного труда, без вымышленных цифр, без «по ощущениям».

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

Читать далее

Переход с Python на Go: мысли человека, которому иногда сложно

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

Решил перейти на Go. Причина простая — видел вакансии с зарплатой выше 100 тысяч, и почти везде Go. Я до этого писал в основном на Python. Немного Django, немного микросервисов, WordPress. Закончил онлайн-школу, работаю уже третий год. Решил, что пора прокачиваться и становиться программистом-полиглотом.

Вот мой опыт и небольшие замечания по языку:

Читать далее

Python Day на Positive Hack Days: что будет на вечеринке

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

В первых статьях про Python Day, который пройдет на Positive Hack Days (раз и два), мы писали о программе конференции. Теперь же поговорим о том, что будет проходить вечером, после мероприятия. В день проведения Python Day, 24 мая, на фестивале состоится Community Day. 

Сообщество POSIdev, объединяющее разработчиков вокруг таких ценностей, как качественный безопасный код, технологии, инженерное творчество и образование, уже несколько лет собирает треки с докладами для специалистов по разработке. А в этом году впервые проводит Community Day. В фокусе будут общение и совместное творчество. 

День начнется с олимпиады по программированию — шанса проверить навыки в решении сложных задач (регистрация еще открыта!). Позже состоятся два ключевых события: открытый разговор пользователей PT Application Inspector с его разработчиками — встреча без купюр, где пользователи обсудят с архитекторами продукта вопросы безопасности и улучшения статического анализа кода, — а также хакерский конкурс Root the Hill для любителей искать уязвимости. Вечером участники сообщества и просто заинтересованные смогут пообщаться на IT-нетворкинге. Сообществу MoscowPython досталась ответственная роль — открыть это мероприятие. И вот что мы придумали… 

Читать далее

Версионирование объектов в S3: пример работы с версиями в Python

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

Версионирование объектов в S3-хранилищах — это мощный механизм, который позволяет отслеживать изменения файлов, предотвращать их случайное удаление и восстанавливать предыдущие версии. Это особенно полезно при работе с резервными копиями или чувствительными данными — есть возможность в любой момент вернуться к определенному состоянию объекта или восстановить его даже после удаления.

Всем привет! Меня зовут Гришин Александр, я продакт-менеджер и отвечаю за развитие объектного хранилища и облачных баз данных. В этой статье расскажу, как включить версионирование в объектном хранилище Selectel и работать с ним через Python с использованием библиотеки boto3 и панель управления. Материал пригодится как инженерам облачной инфраструктуры, так и разработчикам приложений.
Читать дальше →

Webhook у Harbor или как я оповещения о пушах docker images нашей команды делал часть — 1

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

Руководителям групп разработки и членам команды часто приходится сталкиваться с проблемой информирования коллег о новых версиях docker image внутренних инструментов. Сообщения в общих чатах не всегда эффективны, а писать вручную — не лучшая практика. И тут мы рассмотрим разработку решения по автоматическому информированию.

Читать далее

Новый язык от 1С: Зачем? Кому? Стоит ли лезть?

Время на прочтение5 мин
Количество просмотров65K

Привет, Хабр (и просто случайные читатели, зашедшие сюда в поисках истины или интересной статейки на пару минут)!

Так вышло, что последние полгода я провёл в тесных объятиях «Личного кабинета сотрудника» на Элементе — новом языке программирования от 1С. За это время я успел его изучить, полюбить, возненавидеть, снова полюбить и, наконец, написать эту статью, чтобы поделиться своими впечатлениями, страданиями и неожиданными открытиями.

Читать далее

Как я построил serverless OCR-сервис на AWS Lambda и Amazon Bedrock

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

В этом посте я расскажу, как на практике за пару часов реализовал serverless OCR-сервис на AWS, используя AWS Lambda и модель из Amazon Bedrock. Статья ориентирована на опытных AWS-архитекторов, поэтому мы углубимся в архитектуру, покажу код (Terraform для инфраструктуры и Python для Lambda), обсудим масштабирование, ограничения и прикинем стоимость решения в регионе eu-central-1 (Франкфурт).

Читать далее

Юнит тесты роя агентов

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров1.8K

🐝 Тестирование роя агентов

Юнит тесты - единственный способ принять работу промпт инженера, так как не понятно, действительно ли он всё это время чатился с моделью или списал в работу на 5 минут пару недель времени. Так же, статья содержит типовые галлюцинации роя агентов, которые обязательно нужно проверить

Читать далее

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

Как обогнать 99% Python-разработчиков, с фокусом на эру ИИ — по версии ИИ ((гайд) но это не точно)

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

🔰 ЦЕЛЬ: Создать разработчика, который является архитектором и оптимизатором сложных систем, способным эффективно использовать ИИ как мощный инструмент, но не зависящим от него для критических инженерных решений.

Читать далее

База для старта разработки первого AI-агента

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

Хотите создать своего AI-агента, но не знаете, с чего начать? Эта статья даст вам необходимый минимум для разработки автономного помощника, способного понимать задачи, принимать решения и взаимодействовать с внешними сервисами.

AI-агенты — это умные программы на основе языковых моделей (LLM), которые не просто отвечают на вопросы, но и автоматизируют действия: ищут информацию, управляют приложениями или выполняют задачи по заданным правилам.

Мы разберём создание такого агента шаг за шагом на примере GigaChat API. Выбор пал на GigaChat из-за простоты его использования для пользователей из РФ и в случае необходимости переписать на другую llm не составит труда.

Читать далее

Плеер для слабовидящих на ESP32

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

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

Читать далее

Мне надоело заполнять Word формы и теперь это делает ИИ

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

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

TLDR: Исходный код...

Читать далее

«Отчет Creator» или как стать героем в глазах одногруппников

Время на прочтение6 мин
Количество просмотров2K

Вы когда-нибудь сталкивались с ситуацией, когда вдохновение от названия курса разбивается о рутину формальностей? Дисциплина «Алгоритмы и структуры данных» звучит захватывающе — кажется, вот оно, погружение в мир оптимизации и элегантных решений! Но уже на первом занятии нам объявили: «По каждому разделу — отчет с кодом, скриншотами, пояснениями и строгим соблюдением ГОСТа».

Моя первая реакция: «Ну вот, опять…» (цензура соблюдена). Представьте: десятки задач, а к каждой — скриншоты редактора с кодом, подписи в формате «Рисунок 1.2 — Реализация сортировки кучей», выравнивание по шаблону, бесконечные правки форматирования. На один такой отчет уходило до двух часов. После месяца мучений я понял: так дело не пойдет. Так и родился мой спасительный проект — «Отчет Creator».

Читать далее

Как бессерверные gpu делают AI доступным. Введение в платформу PrimeWay

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

Привет, Хабр! Сегодня мы поговорим о том, как бессерверные-технологии меняют мир GPU-вычислений. Если вы когда-нибудь сталкивались с машинным обучением, рендерингом анализа 3D-графики или большими данными, эта статья поможет вам сэкономить время, деньги и нервы.

Читать далее

Поиск мотивации в скучных задачах

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

Каждый иногда встречается с НЕинтересными для него задачами, но необходимыми к выполнению. Для некоторых это кропотливые и нудные задачи, для некоторых, задачи, требующие смелых решений. Бывает просто лень, хотя это тоже сложное чувство, которое можно разложить на составляющие и анализировать отдельно. Но о лени поговорим как-нибудь в другой раз.

Меня вгоняет в чувство безнадежности задачи, которые не четко формализованы, или которые поставлены нечетко: «Сделай то, не знаю что».

В этой статье я расскажу о своём подходе, как я справляюсь с такими ситуациями.

Читать далее

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