Библиотека питониста | Python, Django, Flask
40.3K subscribers
2.8K photos
77 videos
51 files
4.39K links
Все самое полезное для питониста в одном канале.

Список наших каналов: https://t.me/proglibrary/9197

Курс по ML: https://cl

Для обратной связи: @proglibrary_feeedback_bot

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
Download Telegram
React to Python (2021)
Автор: John Sheehan
Количество страниц: 533

Научитесь создавать адаптивные интерфейсные веб-приложения на Python с использованием библиотек JavaScript React и Material-UI без необходимости программирования на JavaScript! Как это возможно? Используя транспилятор Transcrypt, который превращает ваш код на Python в JavaScript. Эта книга описывает инструменты разработчика и библиотеки, необходимые для разработки интерфейсных веб-приложений с использованием Python, с особым акцентом на React и Material-UI.

Скачать книгу
Как начать развиваться в профессиональной кибербезопасности?

Команда практикующих безопасников школы HackerU приглашает вас на новый интенсив «RED, BLUE & APPSEC»

Что будет на интенсиве?

— 3 дня практических занятий онлайн по трем направлениям ИБ
— Разбор основных инструментов и техник анализа безопасности кода
— CTF-турнир
— Расскажем о карьерных лайфхаках на рынке ИБ и существующих программах обучения

Для всех участников интенсива будут доступны бонусы % на курсы по кибербезопасности от HackerU!

Записывайтесь на интенсив по ссылке и начните свой путь в кибербезопасности: https://is.gd/MbjdQn
Подсказки типов | Ожидание типа | Type hinting (Python 3.5+) 2 часть

Динамические языки не заставляют Вас определять тип переменных перед тем, как их использовать.

Утиная типизация: «Если это выглядит как утка и крякает как утка, значит это утка».

Спор о том, какое типизирование python лучше — статическое или динамическое — не умолкают и по сей день и у каждого есть свое мнение на этот счет.

Это личное дело читателя — когда ему нужно вписывать типы, но мне кажется что вы как минимум должны знать о том, что Python 3 поддерживает подсказки типов.
Правдивость различных объектов

В отличие от некоторых языков программирования, в Python объект считается false, только если он пуст. Это значит, что не нужно проверять длину строки, кортежа или словаря — достаточно проверить его как логическое выражение.

Легко предсказать, что 0 — тоже false, а остальные числа — true.

Например, следующие выражения эквивалентны. В данном случае my_object — строка, но здесь мог оказаться другой тип (с соответствующими изменениями условий блока if).
Как зарабатывать 200 тысяч рублей из любой точки мира

Стать разработчиком на Python. Новички зарабатывают минимум 80 тысяч рублей, а опытные специалисты — до 200 тысяч! Почему так? Python — один из самых востребованных языков программирования, поэтому спрос на разработчиков растёт и не упадёт ещё долгие годы. 

Самый простой способ им стать — пройти курс «Разработчик на Python» от Skyeng. Вы поднимете свой уровень с нуля до востребованного специалиста всего за 10 месяцев. Проходить курс можно удалённо и в любое время. 

Что вы получите от этого курса:

1. Все знания об этом языке и сможете решать большинство задач разработчика.
2. Наставника, с которым вы будете разбирать реальные кейсы и решать задачи.
3. Методичку по трудоустройству от опытных HR-специалистов, которые сами подберут вам вакансии после обучения и помогут с резюме. 
4. Готовое портфолио из 4 проектов, один из которых — Skyeng. Это поможет вам устроиться на работу.

Введите промокод УЧИСЬ и получите скидку на курс 10% — https://go.skyeng.ru/pitonist
Highload — это новое издание с полезными техническими решениями и интересными историями из жизни тех, кто пишет код. Жмите на кнопку чтобы узнать правильный ответ на вопрос и подписывайтесь на Highload.
Фильтры NEAREST, BILINEAR и BICUBIC в Pillow

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

• Image.NEAREST (ближайший сосед / по умолчанию);
• Image.BILINEAR;
• Image.BICUBIC.

С помощью фильтра Image.BICUBIC детали изображения станут более четким, чем в случае использования фильтра по умолчанию Image.NEAREST.

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

Распространенным шаблоном при работе с веб-приложениями является проверка есть ли у клиента разрешение на выполнение запрашиваемого действия. Проверки включают получение значения из заголовка HTTP запроса (токен) или из cookie браузера, для идентификации клиента. Затем, когда клиент распознан, используется специальный метод для определения допустимых прав доступа у данного клиента.

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

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

В данном примере, декоратор only admins ищет HTTP заголовок X-Auth-Token во входящем запросе и затем проверяет, если он совпадает с секретным токеном администратора, который для простоты мы сделали константой.

Если нет заголовка токена, или если он есть, но не совпадает, то функция abort() из Flask выполняется для генерации ответа 401 и остановки дальнейших запросов. В противном случае запрос может пройти, вызвав при этом декорированную функцию.

Обратите внимание, как в примере функции представления admin_route() используются декораторы app.route и onlyadmins. Это называется цепью декораторов.
Хранение хеша и соли

Для хранения можно использовать методы JSON, SQL, CSV и даже простой текстовый файл. Убедитесь, что пароль нигде не сохранен, ведь в этом состоит главная цель — избежать необходимость сохранения действующего пароля в исходном виде.

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

Допустим, у вас есть словарь со значениями по умолчанию, и вы хотите обновить его параметры. До Python 3.9 лучшим вариантом было скопировать словарь по умолчанию, а затем использовать метод .update().

Обратите внимание, что порядок имеет значение. В данном случае значение where из params переопределяет значение по умолчанию, как и должно быть.
Регулярные выражения в Python

re. search()

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

Синтаксис: re. search(шаблон, строка)

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