Zen of Python
20.1K subscribers
1.21K photos
161 videos
32 files
3.16K links
Полный Дзен Пайтона в одном канале

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/xZOL
Download Telegram
Что за зверь такой — Последовательная типизация?

Всем нам в первые пару лет, как правило, доносят про:

Динамическую типизацию — способ работы с типами данных, при котором тип переменной определяется во время выполнения программы, а не заранее (как при статической типизации).

Природа любит заполнять «дыры» между такими антонимами, поэтому Python умеет и в т.н. Последовательную типизацию — систему типов, в которой некоторым переменным могут быть заранее заданы строгие типы:


def greet(name: str, greeting) -> str:
return greeting + ", " + name

name: str = "Alice"
print(greet(name, "Hello"))


Этот ненавязчивый гибрид сочетает достоинства динамической и статической типизаций:
— Улучшает качества кода — аннотации типов позволяют инструментам вроде mypy находить ошибки до запуска программы;
— Облегчает сопровождения больших проектов — типы помогают лучше понять интерфейсы функций и классов;
— Помогает с плавным переходом: можно добавлять типы поэтапно, не переписывая весь код сразу.

#основы
@zen_of_python
❤‍🔥71
Forwarded from IT Юмор
Такая мотивировка отказа в 2025 году, конечно, больше мем и байка 💀

В реальности всё, наверное, по другому. И мы хотим разобраться КАК. Помогите нам пролить свет на рекрутинг в IT с точки зрения н-а-с-т-о-я-щ-и-х разработчиков-соискателей.

@ithumor
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2🥱1
Вопросы подписчиков

Zen of Python поддерживает новоприбывших (и не только) в особой рубрике. Как это работает:

— Спрашивайте что угодно (в комментариях под этим постом), связанное с Python. Здесь нет плохих вопросов!
— Сообщество вас поддержит. Самые интересные вопросы мы разберём в отдельном посте;

#вопросы_новичков

@zen_of_python
🔥1
​​404-я страница на hackerrank.com
#кек
@zen_of_python
🤣131
​​Fun Fact: своей популярностью Python во многом обязан Google. Компания настолько вдохновилась перспективами ЯП, что наняла для развития проекта целого Гвидо ван Россума (создателя).

#факт
@zen_of_python
😁6🌭1
Если бы расам Elder Scrolls соответствовала специализация в Python

🦄 — Если тоже решил снова поиграть в Oblivion

#кек
@zen_of_python
🔥6👍4
​​RedBaron | Прокачивай код Like a Pro

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

p.s. Red Baron («Красный барон») — вид питонов, чешуя кирпично-красного цвета.

Репозиторий проекта
#библиотека
@zen_of_python
1🐳1🍌1
Из гайда по безопасности Django

Фреймворк известен своей философией «батарейки в комплекте». Однако даже с его встроенными средствами защиты, безопасность приложения во многом зависит от разработчика.

Современные веб-приложения сталкиваются с множеством угроз. Хотя Django предоставляет встроенные механизмы защиты от многих из них, полезно ознакомиться с основными InfoSec-практиками.

Обновление Django и зависимостей

Регулярно «освежайте» версию фреймворка и сторонних библиотек, они нередко содержат хотфиксы в контексте безопасности.

Передача данных по HTTPS

Обязательно настраивайте свой веб-сервер, будь то nginx или что другое, на HTTPS. SSL-сертификат можно получить бесплатно на letsencrypt.com. Библиотека certbot даже позволяет настроить автопродление серта.

Ограничение доступа к базе данных

Хотя Django ORM защищает от SQL-инъекций, дополнительные меры не повредят:

— Ограничьте права пользователя БД до необходимого минимума;
— Регулярно создавайте резервные копии и шифруйте данные;
— Используйте ORM Django.

Если необходимо использовать сырой SQL, спасет параметризация. В примере ниже драйвер БД экранирует значение username:


from django.db import connection

with connection.cursor() as cursor:
cursor.execute("SELECT * FROM auth_user WHERE username = %s", [username])


Встроенные средства безопасности

Создатели проекта предоставляет множество встроенных механизмов безопасности:

— Добавьте django.middleware.security.SecurityMiddleware в список MIDDLEWARE;
— Настройте заголовки безопасности, такие как Content-Security-Policy, X-Content-Type-Options, X-Frame-Options.

Аутентификация

— Реализуйте многофакторную аутентификацию с помощью пакетов, таких как django-otp;
— Применяйте ролевую модель доступа для управления правами пользователей.

Полезные библиотеки | Misc

Ниже представлена слегка эклектичная, но полезная подборка тулов, прямо или косвенно повышающих безопасность вашего сайта:
— django-ratelimit ограничит частоту запросов;
— django-guardian управляет объектно-ориентированными разрешениями;
— SonarQube / semgrep.dev: автотестирует ваш проект на предмет эксплойтов (DevSecOps).

#безопасность #основы
@zen_of_python
👍2🎃1
Forwarded from IT Юмор
Минцифры запускает платформу для подтверждения ИТ-навыков 😱

Пройти тесты уже можно по 5 языкам программирования и 12 теоретическим темам. Это бесплатно и не требует диплома.

Успешные
участники получают сертификат, видимый в резюме и на Госуслугах 🕺

Будете проходить такую сертификацию?

👍 — да
👎 — нет


@ithumor
Please open Telegram to view this post
VIEW IN TELEGRAM
👎27😁9👍41
​​Pandas 3.0 переходит с NumPy на PyArrow

Такой переход обеспечит значительный прирост скорости, особенно при фильтрации, группировке и чтении данных. Также снижается потребление памяти и появляется лучшая поддержка отсутствующих значений. Благодаря формату Arrow, Pandas становится более совместимым с другими современными инструментами аналитики. При этом существующий код на Pandas останется работоспособным без изменений.

Все больше статей в сообществе про альтернативы pandas, выигрывающие в скорости, но не тут-то было!

#факт
@zen_of_python
31
Нобелевки, где помог Python

Python играет ключевую роль в науке. Это инструмент анализа данных, моделирования и визуализации. Вашему вниманию самые нашумевшие проекты с участием этого ЯП, получившие Нобелевские премии.

Обратное распространение ошибки (Backpropagation) и глубокое обучение
Наука: Физика
Когда: 2024

Библиотеки TensorFlow и PyTorch стали основными инструментами для реализации алгоритма обратного распространения ошибки в нейронных сетях.


CRISPR/Cas9 — редактирование генома
Наука: химия
Когда: 2020

Библиотека Biopython используется для анализа геномных данных и моделирования последовательностей ДНК.


Гравитационные волны (LIGO)
Наука: физика
Когда: 2017

Библиотека GWpy используется для анализа данных, полученных от детекторов гравитационных волн — это рябь в пространстве-времени, возникающая при очень мощных космических событиях, например, столкновении черных дыр.


Нейропластичность и функциональная МРТ
Наука: физиология
Когда: 2014

Библиотека MNE-Python используется для анализа нейрофизиологических данных, таких как ЭЭГ (электроэнцефалография мозга).


Анализ климата и моделирование глобального потепления
Наука: физика
Когда: 2021

Библиотека Xarray помогает анализировать многомерные климатические данные и моделировать климатические изменения.


Экзопланеты — открытие планет за пределами Солнечной системы
Наука: физика
Когда: 2019

Библиотека Lightkurve используется для анализа световых кривых звезд и обнаружения экзопланет.

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

Телескоп Джеймса Уэбба (JWST) и инфракрасная астрономия

Инструмент Astropy используется для обработки и анализа данных, полученных от JWST. Это помогает определить химический состав объектов, проследить их траектории во времени.

Подробнее
#факт
@zen_of_python
🔥96