Cat

Изменения на сайте и статьи по FastAPI

Мы изменили страницу статей и переписали статьи по FastAPI. Подробнее в новости...

Все статьи

Icon Link

Реклама

Icon Link
Новости proDream 18 Январь 2025 Просмотров: 81

Введение

Приветствуем!

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


 

Изменение страницы статей.

На странице новостей появилось несколько небольших, но весьма полезных изменений:

  • Оглавление статьи
  • Кнопки "Поделиться"
  • Кнопка "Наверх"
  • Нумерация строк в блоке кода
  • Копирование блока кода в буфер обмена.

Разберём подробнее каждый пункт.

 

Оглавление статьи

Чтобы освещать темы максимально полно, учитывая специфические особенности - мы стремимся создавать для вас подробные и уникальные материалы. В связи с этим статьи стали более объемными, а содержание — более глубоким и насыщенным.

Чтобы упростить навигацию по таким материалам и сделать их использование удобнее, мы разделили статьи на тематические блоки с чёткими заголовками. Теперь вы можете быстрее найти нужную информацию. Кроме того, появилась возможность ссылаться не на всю статью, а на конкретный её блок (в том числе на блок из другой статьи), что значительно упрощает работу с материалами.

Для решения этой проблемы, на страницу статьи было добавлено оглавление. Оно формируется автоматически на основе используемых заголовков. Оно есть и в этой статье:

  • Если вы читаете статью с мобильного, то оно находится в самом верху страницы
  • Если вы читаете статью с компьютера, то оно находится в правой части экрана.

Также, в компьютерной версии блок с оглавлением не закреплён сверху, а остаётся на экране при скролле, что делает его всегда доступным для пользователя.

 

Кнопки "Поделиться"

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

Об этом блоке просили пользователи сайта и мы долго оттягивали с внедрением.

 

Кнопка "Наверх"

Ещё одно полезное нововведение, это добавление кнопки "Наверх", появляющейся при скролле страницы вниз. Всё снова сводится к размерам статей и добавления удобства пользователю.

Кнопка появляется в правом нижнем углу при небольшом скролле вниз.

 

Изменения в блоках кода

 

Нумерация в блоке кода

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

 

Копирование в буфер обмена

Копирование блока кода, одна из важнейших особенностей, так называемого QoL (Quality of Life). Да, код можно было копировать и руками, но удобнее делать это одной кнопкой.

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

 

Пример

Если предыдущие изменения вы можете видеть на странице этой статьи, то блок кода требует демонстрации.

def hello_world() -> str:
    return "Hello World"

# Ещё блок при большом количестве текста можно скроллить в сторону ->............................................................................ вот так.

print(hello_world())

 

Изменение статей по FastAPI

Так вышло, что с момента написания первых статей по FastAPI прошло достаточно времени и помимо того, что материал устарел, я получил по ним некую "обратную связь". В связи с этим было решено полностью обновить эти статьи.

А также, помимо обновлений статей, было решено сделать открытые репозитории:

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

Репозиторий проекта в "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-канал и пишите комментарии!

Автор

    Нет комментариев

    Реклама