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
🐍 Пишем симулятор гравитации на Python

В статье автор создаёт симулятор гравитации на Python, который наглядно показывает, как планеты движутся под действием закона Ньютона.

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

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

tags: #статья

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

Как работает аутентификация с использованием JWT токена?

Ответ: После успешной проверки учётных данных сервер создаёт JWT токен, содержащий информацию о пользователе и срок действия, и подписывает его секретным ключом или приватным ключом. Токен передаётся клиенту и далее отправляется с каждым запросом, как правило в заголовке Authorization.

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


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

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥53
This media is not supported in your browser
VIEW IN TELEGRAM
😈 Ресурс, где разбирают веб-безопасность на пальцах

Hacksplaining — это платформа, где уязвимости не объясняют на теории, а воспроизводят их в интерактивном формате.

Сразу наглядно видно, как именно ломают приложения и в чём чаще всего ошибаются разработчики.

Что узнаете:
▶️ Как работают XSS, SQL-инъекции, атаки на авторизацию и загрузку файлов

▶️ Какие данные утекают при взломе и какие действия получает атакующий

▶️ Какие ошибки в логике, формах и настройках чаще всего приводят к уязвимостям

▶️ Какие защитные меры действительно закрывают дыры, а не создают иллюзию безопасности


Хороший способ разобраться в азах веб-безопасности на практике и научиться писать более надежный код.

Ссылка на ресурс

tags: #полезное

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

Чем отличается аутентификация с помощью JWT токена от аутентификации с помощью сессионного токена, хранящегося в Redis?

Ответ: При JWT-аутентификации сервер не хранит состояние сессии: токен содержит данные пользователя и проверяется по подписи и сроку действия. Это хорошо масштабируется, но усложняет досрочный отзыв токенов.

При использовании сессионного токена в Redis сервер хранит сессии и проверяет их при каждом запросе. Такой подход даёт полный контроль над сессиями и позволяет мгновенно их инвалидировать, но требует серверного хранилища и дополнительного обращения к Redis.


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

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1
🐍 Находим лица в картинке с веб-камеры

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

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

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

tags: #статья

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

Что такое ленивые вычисления?

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

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

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍4
📱 Курс по разработке CRM сервисной службы на Python

Этот курс посвящён разработке реального веб-проекта на Python на примере полноценного Django-приложения.

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

Что вы изучите:
🏮 Создание проекта на Python и настройку виртуального окружения;

🏮 Инициализацию Git-репозитория и работу с удалённым репо;

🏮 Понимание MVP и формирование требований к проекту;

🏮 Взаимодействие с заказчиком и работу с требованиями;

🏮 Подключение PostgreSQL и проектирование структуры базы данных;

🏮 Разработку моделей Django и настройку административной панели;

🏮 Рефакторинг и поддержку чистоты кода;

🏮 Основы развёртывания веб-приложений на Python;

🏮 Практический деплой Django-проекта и разбор типичных проблем;

🏮 Использование HTML, CSS и Bootstrap в backend-разработке.


После курса у вас будет целостное понимание процесса создания и запуска веб-проектов на Python от идеи до продакшена.

Ссылка на курс

tags: #полезное

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

Что такое GIL в Python, зачем он нужен и как его можно обойти?

Ответ: GIL (Global Interpreter Lock) — это механизм в интерпретаторе CPython, который гарантирует, что одновременно только один поток может исполнять байт-код Python. Он был введён для упрощения работы с памятью и обеспечения потокобезопасности встроенных структур данных.

Однако из-за GIL многопоточность в Python не даёт настоящей параллельности на уровне CPU: даже если создать несколько потоков, они будут выполняться по очереди, а не одновременно, что ограничивает производительность при вычислительно нагруженных задачах.

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


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

Python Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1
🐍 Классы в Python: от основ ООП до продвинутых концепций

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

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

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

tags: #статья

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
9🔥3
Хотя бы извинился 😎

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

В чем разница между remove, del и pop?

Ответ: remove() удаляет первое совпадающее значение; del удаляет элемент по его индексу; pop() удаляет элемент по индексу и возвращает этот элемент.

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

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
🐍 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