🎸 Как используют Django в 2024 году
|
Команда PyCharm в сотрудничестве с Django Foundation провела опрос среди более чем 4000 Django-разработчиков и поделилась результатами. Вот некоторые тренды: - Каждый третий Django-разработчик также использует Flask или FastAPI.
- Большинство специалистов используют Django и для фулстек-разработки, и для создания API.
- 61% Django-разработчиков используют асинхронные возможности фреймворка.
- Популярность DRF немного снизилась из-за Django Ninja.
- Для разработки фронтенда все чаще используются HTMX, Alpine.js и Tailwind CSS.
- Самая популярная СУБД – PostgreSQL, ее используют 76% разработчиков, вторая по востребованности – SQLite, a MySQL – на третьем месте.
- Большинство разработчиков для изучения Django используют официальную документацию, меньшинство – платные курсы.
- Django очень популярен в Европе – там живут 44% опрошенных, и пользуется меньшим спросом в Северной Америке (19% респондентов).
|
Самое популярное решение для кэширования – Redis |
⚙️ 50 модулей, которые можно использовать в командной строке
|
Python может запустить модуль двумя способами: - Импортировать его в другой код Python – import module
- Запустить модуль напрямую как отдельную программу из командной строки – python -m module
Когда вы импортируете модуль, происходит его загрузка, но видимого эффекта в большинстве случаев это не вызывает. Исключение – пасхалки antigravity и this: первый открывает в браузере страницу https://xkcd.com/353/ с комиксами, второй выводит Дзен Пайтона. А если вызвать модуль с аргументом -m, код будет выполнен как скрипт. Обычно результат выполнения скрипта очевиден сразу – например, calendar выводит календарь на заданную дату: |
$ python -m calendar 2024 06
June 2024 Mo Tu We Th Fr Sa Su 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
А turtledemo демонстрирует использование модуля turtle для создания графики и анимации: |
Демо можно вызвать командой python -m turtledemo |
В Python много модулей, которые можно запускать как утилиты командной строки – Трей Ханнер написал подробный обзор и рассортировал модули-скрипты по степени полезности. К самым полезным относятся: - venv – создает виртуальное окружение
- http.server – запускает простой локальный сервер
- webbrowser – открывает заданный URL в браузере
- zipfile – архивирует и распаковывает файлы
- json.tool – выводит содержимое JSON-файлов в удобочитаемом виде
- unittest – запускает выполнение всех тестов в текущей директории
|
🎵 Обработка музыки на Python
|
FMP Notebooks – образовательный ресурс, призванный помочь в изучении передовых методов обработки музыкальных данных с применением Python. Проект постоянно обновляется и предоставляет всю информацию и код в двух форматах – в статическом HTML и в Jupyter Notebook. Структура FMP Notebooks основана на главах одноименной книги «Fundamentals of Music Processing» и охватывает различные темы, связанные с обработкой музыкальной информации – музыкальные представления, преобразование Фурье, синхронизация музыки, анализ структуры, распознавание аккордов, отслеживание темпа и ритма, поиск аудио по содержанию и разложение аудио. |
⚛️ Как использовать React в Django: быстрый старт
| Рано или поздно любой начинающий Django-разработчик понимает, что на одном шаблонизаторе сложно сделать продвинутый фронтенд. HTMX и простейшие библиотеки типа Alpine.js могут добавить интерактивности и реактивности, но серьезное приложение требует более функциональных инструментов. Самый популярный инструмент для создания фронтенда – React. В этом туториале подробно показано, как сделать React-фронтенд для Django-приложения (анимированной фотогалереи). Помимо React и Django, в проекте используются: - Vite, который обеспечивает быструю сборку и предоставляет несколько удобных фич, например, горячую замену модулей.
- Tailwind CSS для быстрой стилизации компонентов.
- DRF для создания API.
- Axios для обмена данными между бэкендом и фронтендом.
- Framer Motion – библиотека для создания анимаций в React приложениях.
|
🐼 Как создавать сводные таблицы с помощью pandas
|
Сводная таблица – это инструмент анализа данных, который позволяет взять столбцы исходных данных из датафрейма, обобщить их, а затем проанализировать эти обобщенные данные, чтобы выявить скрытые в них закономерности. Сводные таблицы позволяют выполнять общие агрегированные статистические вычисления – суммы, подсчеты, средние значения и т.д. Зачастую информация, которую дает сводная таблица, раскрывает тенденции и другие наблюдения, которые скрыты в исходных необработанных данных. В этом туториале подробно показано, как создавать всевозможные сводные таблицы с использованием метода DataFrame.pivot_table() и анализировать содержащиеся в них данные. |
Библиотека aiosql призвана улучшить организацию и повторное использование SQL-кода в Python приложениях, не прибегая к полноценным ORM-решениям: - Поддерживает стандарты PEP 249 и asyncio для различных баз данных (SQLite, PostgreSQL, MySQL, MariaDB и DuckDB) напрямую из коробки. Можно расширять поддержку других драйверов баз данных, написав свой собственный адаптер.
- Предусматривает сохранение SQL-запросов в отдельных .sql файлах вместо обычной вставки в Python-код. Это повышает читаемость, возможность версионного контроля и повторного использования запросов.
- Позволяет загружать SQL-запросы из файлов в Python-программу и вызывать их как обычные функции, передавая необходимые параметры.
- Предоставляет систему именования запросов внутри SQL-файлов для удобного вызова.
Позволяет использовать параметризованные запросы с подстановкой значений. - PlayBooks помогает DevOps-инженерам быстрее разбираться с проблемами в продакшене. Он работает так:
- Когда происходит проблема и приходит оповещение, например, в Slack, PlayBooks может автоматически собрать дополнительные данные о проблеме – логи, метрики, события из разных источников.
- Пользователь заранее настраивает сценарии (плейбуки) для сбора этих данных – какие логи, метрики, команды нужно выполнить.
- Когда оповещение приходит, PlаyBooks выполняет настроенный плейбук и присылает результат расследования обратно в Slack.
- Mожно настроить регулярное выполнение плейбуков для мониторинга.
|
HolmesGPT – опенсорсный ИИ-ассистент DevOps-инженера. Может работать локально с собственной LLM по соображениям безопасности, поддерживает интеграцию со Slack и Jira. Основные возможности HolmesGPT: - Устранение неполадок Kubernetes – анализирует проблемы в кластере, задает вопросы и собирает необходимые данные для поиска решения.
- Реагирование на инциденты – исследует срабатывающие оповещения, собирая данные из различных источников для определения первопричины.
- Управление тикетами – анализирует и выполняет тикеты, связанные с DevOps-задачами.
- Автоматическое расследование и приоритизация – выявляет критические оповещения и решает наиболее важные проблемы в первую очередь.
- Использование плейбуков на естественном языке – вместо определения инструкций в YAML.
|
Prettypretty – библиотека для создания цветного CLI интерфейса, использует современные цветовые алгоритмы, включая Oklab и CSS Color. Основные возможности: - Автоматическое определение поддержки цветов в терминале (16, 256 цветов и т.д.), текущей цветовой темы терминала (светлая/темная), режима ОС (светлый/темный).
- Автоматическая адаптация стилей приложения к возможностям терминала.
- Поиск ближайшего цвета из набора цветов.
- Высококачественное сжатие цветов до 8-бит или ANSI-цветов.
- Максимизация контраста текста и фона.
- Конвертация цветов между разными цветовыми пространствами (sRGB, Display P3, Oklab, Oklch и т.д.)
- Отображение цветов за пределами цветового охвата.
- Поддержка пользовательских настроек цветовых тем.
Mesop – фреймворк для быстрой веб-разработки на Python, созданный компанией Google (где он используется для разработки внутренних приложений). Его основные возможности и преимущества: - Написание пользовательского интерфейса прямо на Python, без необходимости использовать JavaScript, CSS или HTML.
- Реактивная парадигма для создания UI с использованием функций Python.
- Горячая перезагрузка в браузере для обновления состояния приложения при изменениях кода.
- Строгая типизация.
- Готовые к использованию компоненты UI, которые можно комбинировать для создания кастомных интерфейсов.
- Быстрый старт – простейшее приложение на Mesop не превышает 10 строк кода.
|
Обширная коллекция примеров использования Mesop – на сайте Google На этом все, до встречи через неделю! |
|
|
Вы получили это письмо, потому что подписались на нашу рассылку. Если вы больше не хотите получать наши письма, нажмите здесь.
|
|
|
|