Обновить
512K+

Python *

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

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

FastAPI + Keycloak: Простая и безопасная авторизация в веб-приложении на примере реального проекта

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

Keycloak - это мощная open-source платформа для аутентификации и авторизации, которую используют даже банки и крупные корпоративные клиенты для защиты своих приложений и данных.

В статье на реальном примере (FastAPI + Python) простым языком объясню, как Keycloak помогает упростить управление доступом и почему его принципы универсальны для любого бэкенда, независимо от выбранного языка программирования

Читать далее

CLIP или SigLIP. База по Computer vision собеседованиям. Middle/Senior

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

Вопросы о CLIP-моделях встречаются почти на каждом техническом собеседовании.
Неважно, занимаетесь ли вы видеоаналитикой, создаёте генеративные модели или работаете над поиском по изображениям — CLIP и его потомки (BLIP , SigLIP ) стали стандартом де-факто в задачах связи визуальных и текстовых данных. Почему? Потому что они позволяют решать задачи, которые ранее требовали значительных усилий

Читать далее

DI в Python, Easy-DI: спаситель в сложном мире зависимостей

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

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

И так, давайте сначала разберемся что же такое зависимость?

Зависимость - это объект (или функция, в Python все - это объект), который нужен другому объекту или функции для их нормальной работы. Почти в каждого объекта есть одна или несколько зависимостей. Существует 2 основных метода их получение: создание зависимости непосредственно внутри функции либо же инъекция (внедрение).

Читать далее

Распознавание орхоно-енисейских рунических надписей методами машинного обучения

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

Орхоно-енисейские руны — это древнейшая система письма тюркских народов, использовавшаяся с VI по X век на территории Центральной Азии (включая современную Монголию, южную Сибирь и часть Казахстана). Это были надгробные и памятные тексты, выбитые на камне. Они отражают политические, военные и культурные события тюркских племён. Их расшифровка началась во второй половине XIX века и остаётся предметом научных исследований и дискуссий. Исследование символов рунической письменности актуально, так как может помочь в понимании истории и культуры народов этой местности. Интерпретация енисейских надписей с памятников – очень сложная задача. Каменная поверхность разрушена временем, из-за чего символы могут быть плохо различимы. Многие памятники находятся в удаленных, диких местах, где долгий процесс исследования слишком трудозатратен. По этой причине надписи с памятников переносятся на бумажные или цифровые носители для последующей расшифровки. Как отмечал Кормушин И. В. – профессор филологии, тюрколог и алтаевед, перед чтением надписей, необходимо идентифицировать ее символы отдельным этапом. Эта ручная обработка надписей с памятников осложнена не только деформацией самих памятников, но и отсутствием строгой определенности с принадлежностью символов к тому или иному алфавиту. Достаточно распространенной оказалась проблема неточного определения состава рунических символов во многих изданиях XX века. Эти неточности приводят к ошибкам чтения и перевода древних текстов. Поэтому целесообразно автоматизировать этот процесс для повышения точности и скорости определения символов.

Читать далее

Псевдослучайный рандом в Python

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

В этой статье хочу рассказать про нерандомность модуля random в стандартной библиотеке Python. С точки зрения криптографии и математики числа, генерируемые этим модулем, случайные лишь на вид — они порождаются детерминированным алгоритмом, что делает их псевдослучайными. Рассмотрим, как устроен генератор на основе алгоритма Mersenne Twister (MT19937), почему его выходы «нерандомны» в формальном смысле и какие практические следствия это имеет.

написано для новичков и плохо посвященных в тему людей…

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее