Изменения на сайте и статьи по FastAPI
Мы изменили страницу статей и переписали статьи по FastAPI. Подробнее в новости...
Реклама
Введение
Приветствуем!
Мы регулярно работаем над улучшением опыта взаимодействия с нашим сайтом. В последнее время мы внесли ряд изменений в то, как отображаются статьи, чтобы упростить поиск информации, улучшить навигацию и сделать чтение более комфортным.
Изменение страницы статей.
На странице новостей появилось несколько небольших, но весьма полезных изменений:
- Оглавление статьи
- Кнопки "Поделиться"
- Кнопка "Наверх"
- Нумерация строк в блоке кода
- Копирование блока кода в буфер обмена.
Разберём подробнее каждый пункт.
Оглавление статьи
Чтобы освещать темы максимально полно, учитывая специфические особенности - мы стремимся создавать для вас подробные и уникальные материалы. В связи с этим статьи стали более объемными, а содержание — более глубоким и насыщенным.
Чтобы упростить навигацию по таким материалам и сделать их использование удобнее, мы разделили статьи на тематические блоки с чёткими заголовками. Теперь вы можете быстрее найти нужную информацию. Кроме того, появилась возможность ссылаться не на всю статью, а на конкретный её блок (в том числе на блок из другой статьи), что значительно упрощает работу с материалами.
Для решения этой проблемы, на страницу статьи было добавлено оглавление. Оно формируется автоматически на основе используемых заголовков. Оно есть и в этой статье:
- Если вы читаете статью с мобильного, то оно находится в самом верху страницы
- Если вы читаете статью с компьютера, то оно находится в правой части экрана.
Также, в компьютерной версии блок с оглавлением не закреплён сверху, а остаётся на экране при скролле, что делает его всегда доступным для пользователя.
Кнопки "Поделиться"
Под блоком с оглавлением находится небольшой блок с кнопками социальных сетей. Он позволяет в "пару кликов" поделиться ссылкой на статью в социальных сетях и мессенджерах.
Об этом блоке просили пользователи сайта и мы долго оттягивали с внедрением.
Кнопка "Наверх"
Ещё одно полезное нововведение, это добавление кнопки "Наверх", появляющейся при скролле страницы вниз. Всё снова сводится к размерам статей и добавления удобства пользователю.
Кнопка появляется в правом нижнем углу при небольшом скролле вниз.
Изменения в блоках кода
Нумерация в блоке кода
До изменений, блок кода был просто блоком с кодом (логично), но иногда удобно узнать комера строк, например, чтобы указать на неточность или наоборот обратить внимание на что-то. Добавить его было не просто, как и заставить корректно отображаться.
Копирование в буфер обмена
Копирование блока кода, одна из важнейших особенностей, так называемого QoL (Quality of Life). Да, код можно было копировать и руками, но удобнее делать это одной кнопкой.
Кнопка копирования доступна в каждом блоке кода в правой части заголовка с названием языка программирования.
Пример
Если предыдущие изменения вы можете видеть на странице этой статьи, то блок кода требует демонстрации.
def hello_world() -> str:
return "Hello World"
# Ещё блок при большом количестве текста можно скроллить в сторону ->............................................................................ вот так.
print(hello_world())
Изменение статей по FastAPI
Так вышло, что с момента написания первых статей по FastAPI прошло достаточно времени и помимо того, что материал устарел, я получил по ним некую "обратную связь". В связи с этим было решено полностью обновить эти статьи.
А также, помимо обновлений статей, было решено сделать открытые репозитории:
Репозиторий проекта в "GIT на салфетке"
FastAPI 1. Инициализация проекта:
- Обновлена структура статьи.
- Изменена версия Poetry на свежий релиз 2.0.0.
Сделано это было для того, чтобы те, кто захочет повторить проект после обновления Poetry не испытывали сложностей в адаптации.
FastAPI 2. Подготовка проекта:
- Обновлена структура статьи.
- Обновлено описание под Poetry 2.0.0.
- Изменён способ формирования строки базы данных.
Первоначально показанный способ избыточен и был заменён на более простую и "ходовую" версию.
FastAPI 3. Подключение к SQLAlchemy и генератор сессий:
- Обновлена структура статьи.
- Большие изменения в коде направляющие статью по другой структуре приложения относительно изначально написанной.
FastAPI 4. Модель пользователя, миксины и Alembic:
- Обновлена структура статьи.
- Переписан код базовой модели, добавлены и описаны миксины, и обновлена модель пользователя.
- Изменён форматтер для файлов миграций Alembic с Black на Ruff.
FastAPI 5. Приложение аутентификации и Pydantic схемы:
- Обновлена структура статьи.
- Добавлено недостающее пояснение про валидацию почты в Pydantic.
- Переписан код пользовательского менеджера и метода создания пользователя.
В предыдущей версии использовалось "прокидывание" сессии и использование её для операций в БД. Теперь используется Асинхронный Контекстный Менеджер (async with) для лучшего управления сессией.
Наш git-сервер
Как вы могли заметить, помимо GitHub, проект на FastAPI также опубликован и в нашем собственном git-сервере: https://git.pressanybutton.ru/
Наш "GIT на салфетке" доступен для всех. Если вы, как и мы, беспокоитесь о доступности GitHub или не доверяете решениям вроде Gitflick, то наш сервис поможет с организацией ваших репозиториев и проектов.
Мы не собираем данные из вашего кода для "обучения моделей и статистики" и не используем его. Ваши репозитории - только ваши. Это особенно важно, в современных реалиях, когда весь код загруженный в GitHub или GitVerse "скармливается" ИИ для обучения, не оставляя и следа о приватности и авторском праве.
Заключение
Работа над обновлением сайта ведётся, но не так быстро и активно как нам хотелось бы. Причина тому отсутствие достаточного свободного времени и "рабочих рук".
Однако, мы продолжим выпускать полезные обновления. Сейчас мы работаем над редизайном других страниц. Поэтому следите за обновлениями, а также читайте наш Telegram-канал и пишите комментарии!
Все статьи