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
Библиотеки воруют пользовательские данные

Компания Checkmarx's Supply Chain Security провела масштабное исследование с целью найти как можно больше уязвимостей. Примеры вредоносного кода можно найти в этой статье, а вот полный перечень потенциально опасных либ здесь.

Какой из перечисленных во второй ссылке библиотек вам доводилось пользоваться? Поделитесь в комментариях.

#библиотека
1👍1
SQLiDetector для распознавания SQL-инъекций

Утилита использует regex для поиска потенциально опасных выражений в URL:

https://example.com?file=123'&username=eslam3kl
https://example.com?file=aykalam&username=123'

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

Репозиторий

#библиотека
👍4
Задача о лайкнувших

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

Она должна возвращать текст, как в примерах:
[] --> "no one likes this"
["Peter"] --> "Peter likes this"
["Jacob", "Alex"] --> "Jacob and Alex like this"
["Max", "John", "Mark"] --> "Max, John and Mark like this"
["Alex", "Jacob", "Mark", "Max"] --> "Alex, Jacob and 2 others like this"

#задача
🤣54👀1
Как использовать Cython в Jupyter Notebooks

Интересный англоязычный гайд для тех, кто хочет ускорить 100x свой ноутбук в JN:

#cython #jupyternotebook
​Поздравляем верно решивших задачу

Задачу о «вычитании» списка из списка верно решили:
@FriendlyWithMeat;
@Alex_Bur;
@impreza555;

Zen чествует победителей! Решение таких задач — хороший способ разогреться перед рабочим днем.

#задача
👍3
Шпаргалка BeautifulSoup

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

#beautifulsoup
saleor для онлайн-магазинов

Платформа для создания онлайн-магазинов на базе Python и GraphQL. Продукт опернсорсный, среди фичей:

— встроенные интеграции (например, App Store);
— встроенный CMS;
— гибкий API для любого платёжного шлюза;
— кроссплатформенность;
— деплой с Docker и проч.

Сссылка на репозиторий

#фреймворк
👌61
У нас в самом разгаре конкурс пет-проектов. Выбирайте понравившиеся работы и продвигайте их к победе своими лайками и просмотрами

Консольная змейка: автор создал консольную версию знаменитой игры без графических библиотек.

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

Аналог BGInfo для корректного отображения обоев на нескольких экранах: Дмитрий Беликов «лечит» программу BgInfo, исправляет режим заполнения обоев для нескольких экранов.

#diy #конкурс
👍2😁1
Как стать техническим менеджером после 18 лет в разработке

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

Статья

#карьера
Pyscan для поиска уязвимостей

Инструмент отыскивает бреши в зависимостях вашего проекта. Он пройдётся по логам poetry, hatch, filt, pdm и прочих менеджеров пакетов, а также прочитает requirements.txt и pyproject.toml. Запускается в прямо в директории проекта командой:

pyscan

Репозиторий на GitHub

#безопасность
👌3
R2Connect для интеграции AWS S3 и Cloudlfare R2

Библиотека предлагает простой интерфейс для CRUD-операций с объектами, а также создания, управления и синхронизации бакетов в обоих хранилищах.

Проект на PyPi

#библиотека
1👍1
Пятничный Win Share

Что интересного у вас на этой неделе из мира Python и IT? Поделитесь в комментариях.

#winshare
Forwarded from Типичный программист
Автор курсов по Python и Pandas получил вечный бан за рекламу торговли экзотическими животными — решение вынес бот

Ревен М. Лернер создает курсы по Python, выпускает книги с задачами по Python и Pandas. Python и Pandas действительно легко спутать в английском языке с видами редких животных. Хотя названия технологий основаны не на схожести с животными: Python — отсылка к британской комик-группе «Монти Пайтон», а Pandas — сокращение от «Python data analysis».

Лернер попытался разместить рекламу курсов Python и Pandas. Но система сочла её рекламой продажи экзотических животных и заблокировала аккаунт рекламодателя.

Аккаунт не помогло вернуть даже вмешательство человека. Решение о бане вынес бот, но обжаловать его можно было в течение 180 дней. Лернер не знал о бане и просто не успел обжаловать решение. Он экспериментировал с рекламой пару лет назад и просто забыл про свой кабинет.

Если тоже рекламируете курсы про IT на английском, держите несколько идей для рекламных объявлений: «LaTeX для новичков», «убить Python», «получить доступ к Cocaine».

#кек #ии #python
👍13😁13🔥321
Нет, вы видели? Видели, сколько пет-проектов присылают нам на конкурс? Не видели? А мы сейчас вам покажем:

Трекер работных откликов: интересный кейс — QA в поисках работы разработала трекер откликов. Теперь создательница может найти в своей базе ту или иную компанию, посмотреть задания с техсобеседования, добавить комментарий.
Квест-бот: JavaScript-бот, позволяющий участникам конференции лучше познакомиться со стендами, проверить свою профессиональную компетенцию с помощью встроенной викторины, а также выиграть набор партнёрских подарков.
Ретранслятор смсок на Raspberry Pi 2B: инженер собрал себе устройство, чтобы не потерять состояние на сообщениях в роуминге. SMS от банков и других порталов теперь приходят ему в мессенджер. У него осталась неразрешённая задачка с симками, ждём ваших советов в комментариях к статье.

И это далеко не всё. Остальные материалы ищите по тегу #лучший_пет_проект_2023 у нас на сайте, поддерживайте разработчиков и участвуйте сами! Заявки можно отправить до 30 октября.

#diy #конкурс
👍4
27👍7
Стандарт версии Python

На связи админ канала. Есть ли в вашей компании стандарт, согласно которому все проекты Python должны использовать Python 3.10.x, 3.11.x или, может, 3.9+?

Если такой стандарт есть, как аргументировали? Если его нет, то почему решили не применять?

#лучшиепрактики
👍41
Задача о стройматериалах

Боб строит семейный дом. И ему нравятся квадратные строительные блоки, потому что удобно: поставил одинаковых блоков, и получилась квадратная стена.

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

Принимая целое число, определите, является ли оно квадратом. В тестах будем использовать только int.

-1 => ложь
0 => правда
3 => ложь
4 => правда
25 => правда
26 => ложь

#задача
👍21
PEP 731: функции Python внутри другого языка

13 октября на официальном сайте Python вышла черновая версия нового PEP (предложения по развитию Python). Она посвящена развитию API, который позволяет вызывать Py-функции прямо в коде на С. Это в свою очередь, позволяет создавать высокоскоростные низкоуровневые интерфейсы между Python и другими языками.

Интересная инициатива, учитывая разнообразие пользователей ЯП. В последних интервью ван Россум неоднократно упоминает, что именно противоречия в рамках комьюнити замедляют развитие языка.

Как думаете, получится у этой рабочей группы Core Developers?

#pep
8
​Поздравляем верно решивших задачу

Задачу о лайкнувших верно решили:
@Alex_Bur;
@impreza555;
@ambltsk;
@FriendlyWithMeat;

Zen чествует победителей! Присоединяйтесь к практике, и собеседования пройдут легче.

#задача
👍5
6 способов измерять скорость кода

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

В статье Яндекс. Практикума вы познакомитесь со стандартными и не очень методами замеров. Помимо time.time() в статье перечислены еще 4 метода time, и между ними есть интересная разница.

#time #datetime #лучшиепрактики
👍1
Что нового в PyTorch 2.0

Среди новшеств:
— TorchDynamo (JIT-компилятор, динамически модифицирующий байткод Python и ускоряющий исполнение);
— AOTAutograd для трассировки прямых и обратных графов;
— PrimTorch для упрощённой разработки функций и проч.

What's New на pytorch.org

#pytorch #фреймворк
👍4👌21