Популярность имеет свои минусы. Чем популярней язык программирования, тем выше его распространённость, а значит найдутся те кто поспешит воспользоваться этим.
С ростом популярности Python всё больше на PyPi появляется вредоносных пакетов. Трояны, стиллеры и доставщики более опасных вредоносов.
Команда PyPi постоянно мониторит подобные случаи но и их возможности достигли предела. В результате сервис временно закрывает возможность заливки новых пакетов и регистрации юзеров.
PyPI new user and new project registrations temporarily suspended
Возможно одной из причин большого наплыва вредоносов является резко возросшая доступность их создания. Сегодня любой, даже не программист, может попросить у ChatGPT написать необходимый код и все инструкции для атаки.
Основной тип атаки - рассчёт на опечатку в названии пакета. Если невнимательный программист случайно установит pilow или djangoo, считай что вредонос уже в системе.
Чтобы избежать подобных факапов я рекомендую:
▫️ Всегда работайте в виртуальном окружении, неизвестные проекты устанавливайте внутри контейнеров.
▫️ Используйте файл requirements.txt вместо ручной установки пакетов
▫️ Очень внимательно пишите названия пакетов, а после написания проверьте еще раз. Сверьте с названием из документации.
▫️ После успешных тестов всегда фиксируйте версию пакета. Бывали случаи когда опасный код добавляли в новые версии. К тому же и без этой опасности не рекомендуется ставить по умолчанию последнюю версию.
▫️ Используйте вспомогательные инструменты для проверки безопасности, например https://pyup.io/safety или https://github.com/PyCQA/bandit. Они помогут не только найти опасный код в чужих пакетах, но и ваш код проверит на уязвимости.
Будем надеяться что PyPi переосмыслит методы борьбы с вредоносами, например внедрит ИИ для проверки как симметричный шаг.
#offtop
Material 3 Expressive начали раскатывать на Android часы. Сразу сделали краткий обзор нововведений и запустили неделю, посвященную разработки под обновлённую WearOS
#android#wearos#material3expressive
🤖 Вышла Material Components for Android 1.1.3 с компонентами из Material 3 Expressive (но пока еще не всё)
Что добавили из комнентов:
👉DockedToolbarLayout - компонент для показа действий на текущем экране/странице (обычно закреплен в нижний части экрана)
👉FloatingToolbarLayout - плавающий набор действия для текущего экрана/страницы
👉LoadingIndicator - новые индикаторы ожидания
👉MaterialSplitButton - разделенная кнопка
👉MaterialButtonGroup - компонент для группировки нескольких кнопок
Что ещё из важного:
👉 Минимальный Android SDK подняли до 21
👉 Включили nonTransitiveRClass (про последствия для вас читайте тут)
👉 Официальная поддержка Material 3 Expressive будет в версии 1.14.0. Уже есть альфа версии
🛠 Много улучшений существующих компонентов и исправления багов
#android#material3#material3expressive
🤖 Androidify - пример приложения со всем модным стеком от Google: Jetpack Compose, Gemini API через Firebase AI Logic SDK, CameraX, Media3, Material 3 Expressive и Navigation 3. Поддержка экранов разных размеров и складных устройств
Больше подробностей в статье и есть 🐱исходный код на GitHub
#android#compose#material3expressive#пример
🤖Редизайн WearOS с Material 3 Expressive
Google WearOS 6 получит редизайн на основе Material 3 Expressive. Обещают что изменения дизайна не повлияют на время работы часов, а даже наоборот - в WearOS 6 станет на 10% дольше времени работы
Как пользователь Google Pixel Watch могу сказать что показанное меня очень радует. Сейчас дизайн неудобный
#android#wearos#material3#material3expressive
🤖Редизайн Android - Material 3 Expressive
В рамках The Android Show I/O Edition показали "самый большой редизайн Android за всё время" (со слов спикера). Нас ждет Material 3 Expressive - обновленная версия Material 3 на основе существующих токенов
Буду садиться разбираться и рассказывать на 🪙Boosty про что будет в обновлении
#android#android16#material#ui#material3expressive
🤯Navigation Drawer становится Deprecated
В Material 3 Expressive делают deprecated компонент "Navigation Drawer". Заменой ему предлагают "Navigation Rail", предлагающий ту же функциональность, но лучше адаптирующийся под разные размеры окна
#ui#material#material3#material3expressive