🟡 Тинькофф открывает новые центры разработки в регионах России
Центры разработки — это удобные пространства для разработчиков и QA-инженеров, финтех-цитадели, где появляются и растут наши инновационные продукты.
Приглашаем на Zoom-встречи 21, 27 и 29 июля, на которых мы расскажем о центрах разработки в Челябинске, Перми, Томске, Новосибирске, Минске, Краснодаре, Самаре, Воронеже, Рязани и Сочи. Объясним, что такое ТЦР и как в них все организовано, поговорим о команде, проектах, о процессе интервью. Обсудим с инженерами Тинькофф стек технологий, который используем, и просто пообщаемся — о мобильной разработке, Backend и QA.
Регистрируйтесь по ссылке, чтобы присоединиться к встрече. Там же можно найти полное расписание встреч по городам.
Центры разработки — это удобные пространства для разработчиков и QA-инженеров, финтех-цитадели, где появляются и растут наши инновационные продукты.
Приглашаем на Zoom-встречи 21, 27 и 29 июля, на которых мы расскажем о центрах разработки в Челябинске, Перми, Томске, Новосибирске, Минске, Краснодаре, Самаре, Воронеже, Рязани и Сочи. Объясним, что такое ТЦР и как в них все организовано, поговорим о команде, проектах, о процессе интервью. Обсудим с инженерами Тинькофф стек технологий, который используем, и просто пообщаемся — о мобильной разработке, Backend и QA.
Регистрируйтесь по ссылке, чтобы присоединиться к встрече. Там же можно найти полное расписание встреч по городам.
Подсказки типов | Ожидание типа | Type hinting (Python 3.5+) 1 часть
Статические языки программирования заставляют Вас указывать тип каждой переменной, который определяет, сколько места переменная займёт в памяти и что с ней можно сделать. Компьютер использует эту информацию, что-бы скомпилировать программу в очень низкоуровневый машинный язык. Статические языки программирования машины понимают быстрее.
Переменные в этих языках не могут изменять свой тип они статичны. Целое число — это целое число, раз и навсегда.
Статические языки программирования заставляют Вас указывать тип каждой переменной, который определяет, сколько места переменная займёт в памяти и что с ней можно сделать. Компьютер использует эту информацию, что-бы скомпилировать программу в очень низкоуровневый машинный язык. Статические языки программирования машины понимают быстрее.
Переменные в этих языках не могут изменять свой тип они статичны. Целое число — это целое число, раз и навсегда.
React to Python (2021)
Автор: John Sheehan
Количество страниц: 533
Научитесь создавать адаптивные интерфейсные веб-приложения на Python с использованием библиотек JavaScript React и Material-UI без необходимости программирования на JavaScript! Как это возможно? Используя транспилятор Transcrypt, который превращает ваш код на Python в JavaScript. Эта книга описывает инструменты разработчика и библиотеки, необходимые для разработки интерфейсных веб-приложений с использованием Python, с особым акцентом на React и Material-UI.
Скачать книгу
Автор: John Sheehan
Количество страниц: 533
Научитесь создавать адаптивные интерфейсные веб-приложения на Python с использованием библиотек JavaScript React и Material-UI без необходимости программирования на JavaScript! Как это возможно? Используя транспилятор Transcrypt, который превращает ваш код на Python в JavaScript. Эта книга описывает инструменты разработчика и библиотеки, необходимые для разработки интерфейсных веб-приложений с использованием Python, с особым акцентом на React и Material-UI.
Скачать книгу
Telegram
Книги для программистов (reserved)
React to Python (2021)
Автор: John Sheehan
Автор: John Sheehan
Как начать развиваться в профессиональной кибербезопасности?
Команда практикующих безопасников школы HackerU приглашает вас на новый интенсив «RED, BLUE & APPSEC»
Что будет на интенсиве?
— 3 дня практических занятий онлайн по трем направлениям ИБ
— Разбор основных инструментов и техник анализа безопасности кода
— CTF-турнир
— Расскажем о карьерных лайфхаках на рынке ИБ и существующих программах обучения
Для всех участников интенсива будут доступны бонусы % на курсы по кибербезопасности от HackerU!
Записывайтесь на интенсив по ссылке и начните свой путь в кибербезопасности: https://is.gd/MbjdQn
Команда практикующих безопасников школы HackerU приглашает вас на новый интенсив «RED, BLUE & APPSEC»
Что будет на интенсиве?
— 3 дня практических занятий онлайн по трем направлениям ИБ
— Разбор основных инструментов и техник анализа безопасности кода
— CTF-турнир
— Расскажем о карьерных лайфхаках на рынке ИБ и существующих программах обучения
Для всех участников интенсива будут доступны бонусы % на курсы по кибербезопасности от HackerU!
Записывайтесь на интенсив по ссылке и начните свой путь в кибербезопасности: https://is.gd/MbjdQn
Подсказки типов | Ожидание типа | Type hinting (Python 3.5+) 2 часть
Динамические языки не заставляют Вас определять тип переменных перед тем, как их использовать.
Утиная типизация: «Если это выглядит как утка и крякает как утка, значит это утка».
Спор о том, какое типизирование python лучше — статическое или динамическое — не умолкают и по сей день и у каждого есть свое мнение на этот счет.
Это личное дело читателя — когда ему нужно вписывать типы, но мне кажется что вы как минимум должны знать о том, что Python 3 поддерживает подсказки типов.
Динамические языки не заставляют Вас определять тип переменных перед тем, как их использовать.
Утиная типизация: «Если это выглядит как утка и крякает как утка, значит это утка».
Спор о том, какое типизирование python лучше — статическое или динамическое — не умолкают и по сей день и у каждого есть свое мнение на этот счет.
Это личное дело читателя — когда ему нужно вписывать типы, но мне кажется что вы как минимум должны знать о том, что Python 3 поддерживает подсказки типов.
Правдивость различных объектов
В отличие от некоторых языков программирования, в Python объект считается false, только если он пуст. Это значит, что не нужно проверять длину строки, кортежа или словаря — достаточно проверить его как логическое выражение.
Легко предсказать, что 0 — тоже false, а остальные числа — true.
Например, следующие выражения эквивалентны. В данном случае my_object — строка, но здесь мог оказаться другой тип (с соответствующими изменениями условий блока if).
В отличие от некоторых языков программирования, в Python объект считается false, только если он пуст. Это значит, что не нужно проверять длину строки, кортежа или словаря — достаточно проверить его как логическое выражение.
Легко предсказать, что 0 — тоже false, а остальные числа — true.
Например, следующие выражения эквивалентны. В данном случае my_object — строка, но здесь мог оказаться другой тип (с соответствующими изменениями условий блока if).
Как зарабатывать 200 тысяч рублей из любой точки мира
Стать разработчиком на Python. Новички зарабатывают минимум 80 тысяч рублей, а опытные специалисты — до 200 тысяч! Почему так? Python — один из самых востребованных языков программирования, поэтому спрос на разработчиков растёт и не упадёт ещё долгие годы.
Самый простой способ им стать — пройти курс «Разработчик на Python» от Skyeng. Вы поднимете свой уровень с нуля до востребованного специалиста всего за 10 месяцев. Проходить курс можно удалённо и в любое время.
Что вы получите от этого курса:
1. Все знания об этом языке и сможете решать большинство задач разработчика.
2. Наставника, с которым вы будете разбирать реальные кейсы и решать задачи.
3. Методичку по трудоустройству от опытных HR-специалистов, которые сами подберут вам вакансии после обучения и помогут с резюме.
4. Готовое портфолио из 4 проектов, один из которых — Skyeng. Это поможет вам устроиться на работу.
Введите промокод
Стать разработчиком на Python. Новички зарабатывают минимум 80 тысяч рублей, а опытные специалисты — до 200 тысяч! Почему так? Python — один из самых востребованных языков программирования, поэтому спрос на разработчиков растёт и не упадёт ещё долгие годы.
Самый простой способ им стать — пройти курс «Разработчик на Python» от Skyeng. Вы поднимете свой уровень с нуля до востребованного специалиста всего за 10 месяцев. Проходить курс можно удалённо и в любое время.
Что вы получите от этого курса:
1. Все знания об этом языке и сможете решать большинство задач разработчика.
2. Наставника, с которым вы будете разбирать реальные кейсы и решать задачи.
3. Методичку по трудоустройству от опытных HR-специалистов, которые сами подберут вам вакансии после обучения и помогут с резюме.
4. Готовое портфолио из 4 проектов, один из которых — Skyeng. Это поможет вам устроиться на работу.
Введите промокод
УЧИСЬ
и получите скидку на курс 10% — https://go.skyeng.ru/pitonistsky.pro
Курсы Python онлайн — обучение Питону
✅Освойте современную профессию Python-разработчика с нуля и станьте востребованным специалистом с помощью онлайн-курса программирования от Skypro. Начните обучение сегодня и получите гарантию трудоустройства.
Highload — это новое издание с полезными техническими решениями и интересными историями из жизни тех, кто пишет код. Жмите на кнопку чтобы узнать правильный ответ на вопрос и подписывайтесь на Highload.
manim: поддерживаемая сообществом среда Python для создания математических анимаций.
https://proglib.io/w/be643c77
https://proglib.io/w/be643c77
GitHub
GitHub - ManimCommunity/manim: A community-maintained Python framework for creating mathematical animations.
A community-maintained Python framework for creating mathematical animations. - GitHub - ManimCommunity/manim: A community-maintained Python framework for creating mathematical animations.
Фильтры NEAREST, BILINEAR и BICUBIC в Pillow
Параметр resample можно использовать для указания определенного фильтра, который будет использоваться при поворачивании изображения.
• Image.NEAREST (ближайший сосед / по умолчанию);
• Image.BILINEAR;
• Image.BICUBIC.
С помощью фильтра Image.BICUBIC детали изображения станут более четким, чем в случае использования фильтра по умолчанию Image.NEAREST.
Небольшие различия есть, но у данной картинки они не очень видны. Но, например фильтр Image.BILINEAR сделал картинку более гладкой.
Параметр resample можно использовать для указания определенного фильтра, который будет использоваться при поворачивании изображения.
• Image.NEAREST (ближайший сосед / по умолчанию);
• Image.BILINEAR;
• Image.BICUBIC.
С помощью фильтра Image.BICUBIC детали изображения станут более четким, чем в случае использования фильтра по умолчанию Image.NEAREST.
Небольшие различия есть, но у данной картинки они не очень видны. Но, например фильтр Image.BILINEAR сделал картинку более гладкой.
Проверка прав доступа через декораторы
Распространенным шаблоном при работе с веб-приложениями является проверка есть ли у клиента разрешение на выполнение запрашиваемого действия. Проверки включают получение значения из заголовка HTTP запроса (токен) или из cookie браузера, для идентификации клиента. Затем, когда клиент распознан, используется специальный метод для определения допустимых прав доступа у данного клиента.
Поскольку фактическая проверка разрешений зависит от приложения, здесь будет показан общий пример, в котором просто дает разрешение на выполнение запроса на основе значения из HTTP заголовка.
Распространенным шаблоном при работе с веб-приложениями является проверка есть ли у клиента разрешение на выполнение запрашиваемого действия. Проверки включают получение значения из заголовка HTTP запроса (токен) или из cookie браузера, для идентификации клиента. Затем, когда клиент распознан, используется специальный метод для определения допустимых прав доступа у данного клиента.
Поскольку фактическая проверка разрешений зависит от приложения, здесь будет показан общий пример, в котором просто дает разрешение на выполнение запроса на основе значения из HTTP заголовка.
Проверка данных при помощи декораторов
Еще один полезный метод, который может быть реализован с помощью декораторов, заключается в проверке данных до запуска декорированной функции. Очень распространенный этому пример в веб-приложении — это аутентификация пользователя. Если задача проверки или аутентификации завершается неудачно, то декорированная функция не вызывается, и вместо нее появляется ошибка.
В данном примере, декоратор only admins ищет HTTP заголовок X-Auth-Token во входящем запросе и затем проверяет, если он совпадает с секретным токеном администратора, который для простоты мы сделали константой.
Если нет заголовка токена, или если он есть, но не совпадает, то функция abort() из Flask выполняется для генерации ответа 401 и остановки дальнейших запросов. В противном случае запрос может пройти, вызвав при этом декорированную функцию.
Обратите внимание, как в примере функции представления admin_route() используются декораторы app.route и onlyadmins. Это называется цепью декораторов.
Еще один полезный метод, который может быть реализован с помощью декораторов, заключается в проверке данных до запуска декорированной функции. Очень распространенный этому пример в веб-приложении — это аутентификация пользователя. Если задача проверки или аутентификации завершается неудачно, то декорированная функция не вызывается, и вместо нее появляется ошибка.
В данном примере, декоратор only admins ищет HTTP заголовок X-Auth-Token во входящем запросе и затем проверяет, если он совпадает с секретным токеном администратора, который для простоты мы сделали константой.
Если нет заголовка токена, или если он есть, но не совпадает, то функция abort() из Flask выполняется для генерации ответа 401 и остановки дальнейших запросов. В противном случае запрос может пройти, вызвав при этом декорированную функцию.
Обратите внимание, как в примере функции представления admin_route() используются декораторы app.route и onlyadmins. Это называется цепью декораторов.
Хранение хеша и соли
Для хранения можно использовать методы JSON, SQL, CSV и даже простой текстовый файл. Убедитесь, что пароль нигде не сохранен, ведь в этом состоит главная цель — избежать необходимость сохранения действующего пароля в исходном виде.
Если вы ограничены только одним местом для хранения, можете добавить соль и пароль вместе и потом сохранить их. Можно будет разделить их во время чтения, когда вам будет известна длина соли и ключа.
Для хранения можно использовать методы JSON, SQL, CSV и даже простой текстовый файл. Убедитесь, что пароль нигде не сохранен, ведь в этом состоит главная цель — избежать необходимость сохранения действующего пароля в исходном виде.
Если вы ограничены только одним местом для хранения, можете добавить соль и пароль вместе и потом сохранить их. Можно будет разделить их во время чтения, когда вам будет известна длина соли и ключа.