Python Developer
21.5K subscribers
1.81K photos
135 videos
13 files
1.96K links
Авторский канал действующего Python-разработчика

Сотрудничество: @bape_ads
Прайс: @bape_media

РКН: https://clck.ru/3GA6KW

Реклама на бирже:
https://telega.in/c/python_tg
Download Telegram
🐍 JWT, JWKS, OAuth2 и OpenID Connect — разбираем на примерах. Часть 1

JWT и OAuth используются почти в каждом веб-проекте, но часто остаются «чёрным ящиком», собранным по туториалам без понимания внутренних механизмов.

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

Читать статью

tags: #статья

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍5🔥2🤣1
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣2717😁4
Вопрос с собеседования

Зачем нужны метрики и какие основные эндпоинты используются для их сбора?

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

Для сбора метрик обычно используется отдельный HTTP-эндпоинт /metrics, который отдаёт показатели в формате, понятном системам мониторинга, например Prometheus. Помимо него часто применяются служебные эндпоинты /health или /healthz для проверки состояния сервиса и /ready или /readiness для определения готовности приложения принимать трафик. Эти эндпоинты дополняют метрики и используются в системах наблюдаемости и оркестрации.


tags: #собеседование

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥85
🐍 Топ-5 фишек Python, которые вы, скорее всего, упустили

В статье разобраны пять недооценённых приёмов Python: моржовый оператор в list comprehension, match/case с охранными условиями, конструкция for ... else, contextlib.suppress и itertools.batched.

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

Читать статью

tags: #статья

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍3🔥2
Вопрос с собеседования

Чем отличается логирование от трейсинга?

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

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


tags: #собеседование

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥74👍2
🐍 DDD на пальцах: как перестать проектировать таблицы и начать думать о бизнесе

В статье на практических примерах разбирается, как Domain-Driven Design помогает отделить бизнес-логику от базы данных и перестать проектировать систему вокруг таблиц.

Автор показывает, из каких базовых приёмов состоит DDD и как они позволяют менять бизнес-правила без переписывания половины приложения.

Читать статью

tags: #статья

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥42
Вопрос с собеседования

Что такое генераторная функция?

Ответ: Генераторная функция — функция, в теле которой встречается ключевое слово yield. Будучи вызвана, такая функция возвращает объект-генератор (generator object) (итератор генератора (generator iterator)).

tags: #статья

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥93
🐍 Что такое GIL в Python?

В статье объясняется, что такое GIL (Global Interpreter Lock) в Python и как он влияет на выполнение кода.

Автор рассказывает, почему из-за GIL многопоточность в Python работает не так, как ожидается, и какие есть обходные пути.

Читать статью

tags: #статья

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥3👍1
TODO: add branches

Python Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
27😁10🔥6
Вопрос с собеседования

Зачем нужны break и continue?

Ответ: Они используются для управления последовательностью операций: break останавливает исполнение цикла и переводит исполнение на следующий блок кода, continue как бы перепрыгивает на следующую итерацию цикла и не прекращает его исполнение.

tags: #собеседование

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥113
This media is not supported in your browser
VIEW IN TELEGRAM
🌐 Задачи как на LeetCode, только для Linux и Kubernetes

Платформа с реальными DevOps-задачами — решаете кейсы по Linux, Docker и Kubernetes, получаете автоматическую проверку, подсказки и готовые разборы.

Можно практиковаться хоть каждый день — формат интерактивный и максимально приближен к рабочим ситуациям.

Забираем — тут.

tags: #полезное

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53🔥2
Вопрос с собеседования

Как выполнить интерполяцию строк?

Ответ: Без импорта класса Template есть три способа интерполяции строк, которые представлены на фото.

tags: #собеседование

Python Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍101
🐍 Как сделать многопоточную программу?

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

Автор объясняет, как использовать модуль threading, чтобы запускать напоминания параллельно и не блокировать выполнение остального кода.

Читать статью

tags: #статья

Python Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71
Не переводи стрелки, собака!

Python Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣51💯13😁8🔥1
Вопрос с собеседования

Что такое CORS и CSRF?

Ответ: CORS (Cross-Origin Resource Sharing) — это механизм безопасности браузера, который контролирует, какие внешние источники (домены) могут обращаться к ресурсам сайта. Он защищает пользователя от несанкционированных запросов со сторонних сайтов и реализуется через HTTP-заголовки, которые сервер явно разрешает или запрещает.

CSRF (Cross-Site Request Forgery) — это тип атаки, при которой злоумышленник заставляет браузер пользователя выполнить нежелательный запрос к сайту, на котором пользователь уже аутентифицирован. Защита от CSRF обычно реализуется с помощью CSRF-токенов, проверки заголовков и настройки cookie.


tags: #собеседование

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍4🔥4
🐍 Чистый код на практике: принципы и примеры

В статье объясняется, как писать понятный и поддерживаемый код, чтобы избежать хаоса в проектах и не тратить время на постоянные доработки.

Разбираются причины, по которым код становится неудобным, и даются конкретные советы по его улучшению — от структуры и имен до архитектурных подходов.

Читать статью

tags:
#статья

Python Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥1
Вопрос с собеседования

Какие существуют модели авторизации и в чём их отличия?

Ответ: Авторизация определяет, какие действия и ресурсы разрешены пользователю после аутентификации. Основные модели авторизации различаются тем, как принимается решение о доступе.

Ролевая модель (RBAC) основана на ролях. Пользователю назначаются роли, а каждая роль определяет набор разрешённых действий. Модель проста в реализации и широко используется, но плохо подходит для сложных и динамических правил доступа.

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

Атрибутная модель (ABAC) принимает решение о доступе на основе атрибутов пользователя, ресурса и контекста, например времени, местоположения или типа запроса. Это самая гибкая модель, но и самая сложная в реализации и сопровождении.

Итог: RBAC подходит для простых систем, permission-based — для более точного контроля, ABAC — для сложных бизнес-правил и динамических политик доступа.


tags: #собеседование

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥114👍3
🐍 Регулярные выражения

Регулярные выражения — это мощный инструмент для поиска и обработки текстовых данных с использованием шаблонов.

В статье объясняется, как применять регулярные выражения с помощью модуля re, рассматриваются основные функции, такие как match() и search(), и приводятся примеры их использования.

Читать статью

tags: #статья

Python Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥31
Вопрос с собеседования

Как выполнить интерполяцию строк?

Ответ: Без импорта класса Template есть три способа интерполяции строк, которые представлены на фото.

tags: #собеседование

Python Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42
Вопрос с собеседования

Почему isinstance(True, int) возвращает True?

Ответ: В Python bool является подклассом int. True и False — это экземпляры int со значениями 1 и 0 соответственно.

tags: #собеседование

➡️ Python Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍101