Zen of Python
20.2K subscribers
1.16K photos
154 videos
32 files
3.05K links
Полный Дзен Пайтона в одном канале

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

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

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

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

Регистрация в перечне РКН: https://tprg.ru/xZOL
加入频道
Если бы расам Elder Scrolls соответствовала специализация в Python

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

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

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

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

Репозиторий проекта
#библиотека
@zen_of_python
Из гайда по безопасности 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
This media is not supported in your browser
VIEW IN TELEGRAM
🥰Виртуальные серверы в США от Aéza со скидкой 20%!

Мощь, скорость и надежность для ваших проектов — по выгодной цене.

Почему выбирают серверы Aéza:

• Канал связи до 25 Гбит/с — никаких лагов и задержек
• Мощные процессоры AMD Ryzen 9 9950X — справятся с любой нагрузкой
• Встроенная DDoS-защита — ваш проект под надежной охраной

💻Время истекает! Успейте активировать скидку 20% до 06.06 и разгоните свой проект на топовых серверах!

P.S. Предложение не суммируется с другими акционными программами.

Выбрать тариф | Зарегистрироваться

Реклама. Рекламодатель: ООО «Аеза Групп», ИНН 7813654490, erid: 2W5zFGbd7PE
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from IT Юмор
Минцифры запускает платформу для подтверждения ИТ-навыков 😱

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

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

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

👍 — да
👎 — нет


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

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

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

#факт
@zen_of_python
Нобелевки, где помог 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
Как работает развёртывание Python-приложений: от запроса до ответа

Зачем нужен gunicorn? А зачем — Nginx? Эти вопросы часто задают разработчики, впервые сталкивающиеся с деплоем Python-приложений. Может показаться, что веб-приложение — это просто код на Flask или Django, который запускается и принимает запросы. Но на практике между пользователем и вашим кодом выстраивается целая цепочка инфраструктурных компонентов, каждый из которых решает важную задачу. На схеме показан путь HTTP-запроса от клиента до конечного обработчика в приложении и обратно.

Accept: принимаем запрос

Когда пользователь открывает ваш сайт, он отправляет HTTP-запрос. Этот запрос в первую очередь встречается с внешним сервером — чаще всего это nginx. Его задача — понять, куда направить запрос: отдать ли статику, переписать URL, направить на конкретное приложение, или вовсе отклонить (например, по причине отсутствия авторизации). Он также может выполнять кэширование, сжатие и защищать от некоторых видов атак. Сюда же можно отнести балансировщики нагрузки и ingress-контроллеры в Kubernetes.

Translate: превращаем байты в Python

Следующий этап — перевод сетевого запроса в то, что понимает ваше Python-приложение. Это задача gunicorn или аналогичных серверов, поддерживающих WSGI (или ASGI, если речь о FastAPI и асинхронных приложениях). gunicorn создаёт рабочие процессы, слушает сокет, принимает соединения от nginx и передаёт их дальше в код Python. Он изолирует логику приложения от низкоуровневой сетевой части и обеспечивает масштабируемость.

Process: бизнес-логика и генерация ответа

Завершающий этап — сам Python-код во фреймворке (Django, Flask, FastAPI и пр.). Здесь выполняются проверки, обращения к БД, формируются HTML-страницы или JSON-ответы. Именно здесь происходит «магия» — добавление ценности, решение задач пользователей и реализация бизнес-логики.

#факт #основы
@zen_of_python

👀 — Если пришлось перечитать три раза
Forwarded from Веб-страница
​​Мегагайд: культура работы с Git

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

В статье — как раз об этом. В ней раскрыли, что формирует культуру работы с Git: от конвенций именования коммитов и до практик работы в пуллреквесте. В конце статьи — полезные ссылки на интерактивные обучалки, шпаргалки и гайды: https://habr.com/ru/companies/yandex_praktikum/articles/812139/

#git #шпаргалки
​​Сломал ногу — выучил Python: как ИИ помог экс-консультанту стать программистом за 100 дней

38-летний Эрик Леннрот после травмы решил изменить карьеру и выбрал Python, пройдя бесплатные курсы CS50 от Гарварда. С помощью ChatGPT он писал псевдокод, получал обратную связь и вручную набирал код. Его первый проект стал основой для более сложного веб-приложения из 25К строк кода. И о чудо! через три месяца он получил оффер в консалтинговой компании в Лондоне, где заменил Excel на автоматизированные пайплайны. Обучение обошлось ему в $120 (подписки на Claude Pro и Cursor).

#факт
@zen_of_python
Насколько вы толерантны к галлюцинациям LLM по шкале от 0 до 5?
Anonymous Poll
26%
0
14%
1
12%
2
24%
3
12%
4
12%
5
Вопросы подписчиков

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

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

#вопросы_новичков
@zen_of_python
​​Бэкроним — это в шутку неверная расшифровка аббревиатуры.

PEP — Please Explain Python
#кек
@zen_of_python