FaunaDB Serverless: Как использовать FaunaDB Cloud с GraphQL API для начинающих

Что такое FaunaDB и почему стоит её использовать

FaunaDB – это serverless база данных, которая предлагает GraphQL API «из коробки». Использовать её стоит, если вам важна гибкость, масштабируемость и простота разработки современных приложений. FaunaDB Cloud обеспечивает глобальное распределение данных и автоматическое масштабирование.

FaunaDB: Serverless база данных для современных приложений

FaunaDB – это serverless база данных, идеально подходящая для современных приложений, требующих масштабируемости и гибкости. В отличие от традиционных СУБД, она не требует управления серверами, что значительно упрощает разработку и эксплуатацию. С FaunaDB Cloud, вы получаете глобальное распределение данных и автоматическое масштабирование «из коробки». Она предлагает нативный GraphQL API, что позволяет легко интегрировать её с современными frontend-фреймворками. Если вы начинающий разработчик, то использовать FaunaDB – отличный выбор, благодаря простоте настройки и использования. FaunaDB GraphQL API пример, который мы рассмотрим далее, позволит вам быстро освоить основные принципы работы с базой данных. В сравнении с DynamoDB, FaunaDB обладает более гибкими возможностями моделирования данных и понятной ценовой политикой. Кроме того, FaunaDB предоставляет инструменты для управления доступом на основе ролей и веб-оболочку для удобной работы с данными. Использовать FaunaDB выгодно и с точки зрения производительности: встроенные политики приоритизации для конкурентных нагрузок обеспечивают стабильную работу даже при высоких нагрузках.

FaunaDB архитектура serverless: Преимущества и особенности

FaunaDB построена на serverless архитектуре, что означает отсутствие необходимости в управлении серверами. Это ключевое преимущество для начинающих разработчиков, позволяющее сосредоточиться на создании приложения, а не на администрировании инфраструктуры. FaunaDB архитектура serverless позволяет автоматически масштабировать ресурсы в зависимости от нагрузки, что обеспечивает высокую производительность и отказоустойчивость. Использовать FaunaDB Cloud означает делегировать все задачи по обслуживанию базы данных провайдеру, что существенно снижает операционные расходы. В отличие от баз данных, требующих ручного масштабирования, FaunaDB делает это автоматически, что особенно важно для приложений с непредсказуемой нагрузкой. Serverless база данных FaunaDB идеально подходит для микросервисной архитектуры, так как позволяет независимо масштабировать отдельные компоненты приложения. FaunaDB обеспечивает глобальное распределение данных, что позволяет снизить задержки для пользователей, находящихся в разных регионах. Использовать FaunaDB выгодно, поскольку она предлагает удобный GraphQL API, упрощающий взаимодействие с данными. Это особенно полезно для разработки современных frontend-приложений.

FaunaDB Cloud особенности: Глобальное распределение и масштабируемость

FaunaDB Cloud предлагает уникальные особенности, делающие её привлекательной для разработчиков, стремящихся к глобальному масштабированию. Одной из ключевых особенностей является глобальное распределение данных. Это означает, что ваши данные автоматически реплицируются между разными географическими регионами, что обеспечивает высокую доступность и низкую задержку для пользователей, находящихся в любой точке мира. FaunaDB cloud особенности также включают автоматическую масштабируемость. База данных автоматически масштабируется в зависимости от нагрузки, что позволяет избежать проблем с производительностью при увеличении числа пользователей или объёма данных. Использовать FaunaDB выгодно, так как вам не нужно беспокоиться о масштабировании инфраструктуры вручную. Serverless база данных FaunaDB позволяет сосредоточиться на разработке приложения, а не на администрировании серверов. FaunaDB обеспечивает надежную защиту данных благодаря встроенным механизмам безопасности и соответствию стандартам безопасности. FaunaDB GraphQL API упрощает взаимодействие с данными, позволяя легко получать и изменять данные с помощью GraphQL запросов и мутаций. Использовать FaunaDB Cloud – это выбор в пользу простоты, масштабируемости и глобальной доступности.

Настройка FaunaDB GraphQL: Первые шаги

Настройка FaunaDB GraphQL начинается с создания аккаунта в FaunaDB Cloud. После регистрации вы сможете создать новую базу данных. FaunaDB создание базы данных – простой процесс, требующий всего несколько кликов. Далее необходимо настроить GraphQL API для вашей базы данных. Настройка FaunaDB GraphQL включает в себя определение схемы данных (FaunaDB GraphQL schema). Схема описывает структуру ваших данных и типы данных, которые будут использоваться. FaunaDB типы данных GraphQL включают стандартные типы, такие как String, Int, Boolean, а также пользовательские типы. Использовать FaunaDB становится еще проще благодаря интуитивно понятному интерфейсу и подробной документации. После определения схемы необходимо настроить ключи доступа для вашего GraphQL API. FaunaDB аутентификация GraphQL обеспечивает безопасный доступ к вашим данным. Существует несколько способов аутентификации, включая ключи API и токены. FaunaDB документация GraphQL содержит подробные инструкции по настройке аутентификации и управлению доступом. Использовать FaunaDB GraphQL API позволяет вам легко взаимодействовать с вашей базой данных с помощью стандартных GraphQL запросов и мутаций. Это отличный выбор для начинающих разработчиков, желающих быстро освоить современные технологии.

FaunaDB создание базы данных: Инструкция

FaunaDB создание базы данных – это простой и быстрый процесс, который можно выполнить через веб-интерфейс FaunaDB Cloud или с помощью CLI. Для начала, зарегистрируйтесь или войдите в свой аккаунт FaunaDB Cloud. После этого, в панели управления вы увидите кнопку «Create Database». Нажмите на неё. Вам будет предложено ввести имя для вашей новой базы данных. Выберите подходящее имя, отражающее назначение вашей базы данных. Использовать осмысленные имена – хорошая практика. Далее, выберите регион для вашей базы данных. FaunaDB Cloud предлагает несколько регионов на выбор, что позволяет оптимизировать задержки для ваших пользователей. После выбора региона нажмите кнопку «Create». Ваша база данных будет создана в течение нескольких секунд. Теперь вы можете настроить GraphQL API для вашей базы данных. Настройка FaunaDB GraphQL включает в себя определение схемы данных и настройку ключей доступа. FaunaDB документация GraphQL содержит подробные инструкции по настройке GraphQL API. Использовать FaunaDB GraphQL API позволяет вам легко взаимодействовать с вашей базой данных с помощью GraphQL запросов и мутаций. FaunaDB создание базы данных — это первый шаг к созданию мощного и масштабируемого приложения.

FaunaDB GraphQL Schema: Определение структуры данных

FaunaDB GraphQL schema играет ключевую роль в определении структуры ваших данных и способов взаимодействия с ними. Схема описывает типы данных, доступные поля и отношения между ними. Правильно определенная схема обеспечивает эффективное и безопасное взаимодействие с serverless базой данных FaunaDB. FaunaDB типы данных GraphQL включают в себя скалярные типы (Int, Float, String, Boolean, ID) и пользовательские типы (объекты). Вы можете определять свои собственные типы, чтобы отразить структуру ваших данных. Использовать FaunaDB GraphQL schema позволяет вам контролировать доступ к данным и определять, какие поля могут быть запрошены или изменены. Схема определяет структуру GraphQL запросов и мутаций, которые будут использоваться для взаимодействия с базой данных. FaunaDB документация GraphQL содержит подробные примеры и рекомендации по созданию эффективных схем. Настройка FaunaDB GraphQL включает в себя определение типов, полей и отношений между ними. FaunaDB GraphQL API использует вашу схему для валидации запросов и обеспечения безопасности данных. Использовать правильно определенную схему — это залог успешной работы с FaunaDB.

FaunaDB типы данных GraphQL: Поддерживаемые типы

FaunaDB типы данных GraphQL определяют, какие виды данных можно хранить и как с ними взаимодействовать через GraphQL API. FaunaDB поддерживает стандартные скалярные типы GraphQL, такие как Int (целые числа), Float (числа с плавающей точкой), String (текст), Boolean (логические значения) и ID (уникальные идентификаторы). Кроме того, FaunaDB позволяет создавать пользовательские типы, определяющие структуру сложных объектов. Использовать пользовательские типы полезно для представления сложных данных, таких как адреса, профили пользователей или продукты. FaunaDB GraphQL schema определяет, какие типы данных будут использоваться в вашей базе данных. Правильный выбор типов данных важен для обеспечения целостности и эффективности хранения данных. FaunaDB документация GraphQL содержит подробную информацию о поддерживаемых типах данных и способах их использования. Serverless база данных FaunaDB позволяет легко создавать и управлять типами данных через веб-интерфейс или с помощью CLI. Использовать FaunaDB Cloud означает, что вам не нужно беспокоиться об управлении инфраструктурой, необходимой для хранения данных. FaunaDB GraphQL API обеспечивает простой и эффективный способ доступа к данным различных типов.

FaunaDB GraphQL запросы: Получение данных

FaunaDB GraphQL запросы – это способ получения данных из вашей serverless базы данных FaunaDB с использованием GraphQL API. FaunaDB позволяет выполнять различные типы запросов, включая запросы на получение одного объекта, списка объектов, а также запросы с фильтрацией и сортировкой. Использовать FaunaDB GraphQL запросы очень удобно благодаря гибкости и выразительности GraphQL. Вы можете запросить только те поля, которые вам нужны, что позволяет снизить объем передаваемых данных и повысить производительность. FaunaDB документация GraphQL содержит подробные примеры и инструкции по составлению различных типов запросов. FaunaDB GraphQL schema определяет структуру ваших данных и доступные поля, что позволяет легко формировать запросы. Настройка FaunaDB GraphQL включает в себя определение схемы и настройку ключей доступа. FaunaDB Cloud обеспечивает высокую производительность и масштабируемость для ваших GraphQL запросов. Использовать FaunaDB GraphQL API — это эффективный способ получения данных из вашей базы данных. Вы можете использовать GraphQL playground для тестирования и отладки ваших запросов.

FaunaDB GraphQL мутации: Изменение данных

FaunaDB GraphQL мутации позволяют изменять данные в вашей serverless базе данных FaunaDB с использованием GraphQL API. Мутации используются для создания, обновления и удаления данных. FaunaDB предоставляет мощный и гибкий механизм для управления данными с помощью GraphQL мутаций. Использовать FaunaDB GraphQL мутации удобно благодаря типизированному API и возможности выполнять атомарные операции. FaunaDB документация GraphQL содержит подробные примеры и инструкции по созданию и выполнению мутаций. FaunaDB GraphQL schema определяет структуру ваших данных и доступные поля для мутаций. Настройка FaunaDB GraphQL включает в себя определение схемы и настройку прав доступа для мутаций. FaunaDB Cloud обеспечивает транзакционность и консистентность данных при выполнении мутаций. Использовать FaunaDB Cloud означает, что вам не нужно беспокоиться о реализации механизмов обеспечения целостности данных. FaunaDB GraphQL API предоставляет простой и эффективный способ изменения данных в вашей базе данных. Вы можете использовать мутации для реализации различных операций, таких как создание нового пользователя, обновление профиля пользователя или удаление записи.

FaunaDB аутентификация GraphQL: Безопасность доступа к данным

FaunaDB аутентификация GraphQL является критически важным аспектом обеспечения безопасности доступа к данным в вашей serverless базе данных FaunaDB. FaunaDB предоставляет несколько механизмов аутентификации, включая ключи API, токены и управление доступом на основе ролей. Использовать FaunaDB аутентификацию GraphQL необходимо для защиты ваших данных от несанкционированного доступа. Ключи API предоставляют простой способ аутентификации, но их следует использовать с осторожностью и ограничивать права доступа. Токены обеспечивают более гибкий и безопасный способ аутентификации, позволяя выдавать временные права доступа. FaunaDB документация GraphQL содержит подробные инструкции по настройке различных механизмов аутентификации. FaunaDB GraphQL schema позволяет определять правила доступа к различным полям и типам данных. Настройка FaunaDB GraphQL включает в себя настройку аутентификации и авторизации для вашего API. FaunaDB Cloud обеспечивает надежную защиту данных благодаря встроенным механизмам безопасности. Использовать FaunaDB Cloud означает, что вам не нужно самостоятельно реализовывать сложные механизмы аутентификации и авторизации.

FaunaDB GraphQL API пример: Практическое использование

FaunaDB GraphQL API пример демонстрирует, как использовать FaunaDB для создания простого приложения для управления задачами. Представим, что у нас есть тип `Task` с полями `id`, `title` и `completed`. Мы можем использовать FaunaDB GraphQL schema для определения этого типа. Затем, мы можем использовать FaunaDB GraphQL запросы для получения списка всех задач, запроса задачи по ID, или фильтрации задач по статусу выполнения. Например, запрос для получения всех задач может выглядеть так: `{ allTasks { data { id title completed } } }`. Для создания новой задачи мы можем использовать FaunaDB GraphQL мутации. Например, мутация для создания новой задачи может выглядеть так: `mutation { createTask(data: { title: «Новая задача», completed: false }) { id title completed } }`. Настройка FaunaDB GraphQL позволяет нам защитить наш API с помощью FaunaDB аутентификация GraphQL. FaunaDB Cloud обеспечивает надежную и масштабируемую инфраструктуру для нашего приложения. Этот пример демонстрирует, как легко использовать FaunaDB GraphQL API для создания мощных и гибких приложений.

Для лучшего понимания возможностей FaunaDB и её интеграции с GraphQL, рассмотрим ключевые аспекты в табличном формате. Это поможет начинающим разработчикам структурировать информацию и сделать осознанный выбор при использовании FaunaDB.

Функциональность Описание Преимущества Особенности использования
FaunaDB Cloud Serverless база данных с глобальным распределением Автоматическое масштабирование, высокая доступность, отсутствие необходимости управления серверами Создание базы данных через веб-интерфейс, выбор региона
FaunaDB GraphQL API Интерфейс для взаимодействия с данными на основе GraphQL Удобство запросов, типизированный API, возможность получать только необходимые данные Настройка FaunaDB GraphQL: определение схемы, настройка ключей доступа
FaunaDB GraphQL Schema Определение структуры данных и типов Контроль доступа к данным, определение структуры запросов и мутаций Определение типов данных (FaunaDB типы данных GraphQL), полей и отношений
FaunaDB GraphQL запросы Получение данных из базы данных Гибкость, возможность фильтрации и сортировки данных Использование GraphQL синтаксиса, указание полей для получения
FaunaDB GraphQL мутации Изменение данных в базе данных (создание, обновление, удаление) Транзакционность, консистентность данных Использование GraphQL синтаксиса, указание изменяемых полей и значений
FaunaDB аутентификация GraphQL Механизмы защиты доступа к данным Безопасность данных, контроль доступа на основе ролей Использование ключей API, токенов, настройка прав доступа
FaunaDB архитектура serverless Отсутствие необходимости управления серверами Снижение операционных расходов, автоматическое масштабирование Делегирование управления инфраструктурой провайдеру
FaunaDB GraphQL API пример Практическое использование GraphQL API для работы с данными Быстрое освоение основных принципов работы с базой данных Создание CRUD операций (Create, Read, Update, Delete)

Эта таблица предоставляет общее представление о ключевых аспектах использования FaunaDB. Для более глубокого понимания рекомендуется обратиться к FaunaDB документации GraphQL и практическим примерам.

Чтобы помочь начинающим разработчикам оценить преимущества FaunaDB перед другими базами данных, рассмотрим сравнительную таблицу с ключевыми характеристиками. Это позволит понять, почему стоит использовать FaunaDB для современных приложений.

Характеристика FaunaDB DynamoDB MongoDB Atlas
Модель данных Документо-ориентированная, поддерживает реляционные связи Ключ-значение, документо-ориентированная Документо-ориентированная
GraphQL API Нативный, встроенный Требует дополнительных инструментов (например, AppSync) Требует дополнительных инструментов (например, Apollo Server)
Serverless архитектура Полностью serverless Serverless, но требует настройки AWS Lambda Serverless с использованием AWS Lambda или аналогичных сервисов
Глобальное распределение Встроенное, автоматическое Требует настройки Global Tables Требует настройки MongoDB Atlas Global Clusters
Масштабируемость Автоматическая, горизонтальная Автоматическая, горизонтальная Автоматическая, горизонтальная
Транзакции ACID Поддерживаются Поддерживаются (но с ограничениями) Поддерживаются (но с ограничениями)
Ценовая политика На основе использования, бесплатный уровень Сложная, на основе пропускной способности и хранения На основе использования, бесплатный уровень
Простота использования Высокая, особенно с GraphQL API Средняя, требует знания AWS Средняя, требует знания MongoDB
Аутентификация GraphQL Встроенные механизмы Требует интеграции с AWS IAM Требует интеграции с MongoDB Atlas Authentication
FaunaDB GraphQL Schema Централизованное управление схемой Сложно управлять схемой Сложно управлять схемой

Эта таблица показывает, что FaunaDB выделяется благодаря нативному GraphQL API, простоте использования и встроенному глобальному распределению. Для начинающих разработчиков это делает FaunaDB привлекательным выбором. Использовать FaunaDB Cloud позволяет сосредоточиться на разработке, а не на администрировании базы данных.

FAQ

Здесь собраны ответы на часто задаваемые вопросы о FaunaDB и её использовании с GraphQL. Это поможет начинающим разработчикам быстрее освоить serverless базу данных FaunaDB и её возможности.

  1. Что такое FaunaDB и почему стоит её использовать?

    FaunaDB — это serverless база данных, предлагающая глобальное распределение, автоматическое масштабирование и встроенную поддержку GraphQL. Её стоит использовать для упрощения разработки, снижения операционных расходов и обеспечения высокой доступности данных.

  2. Как начать работать с FaunaDB Cloud?

    Зарегистрируйтесь в FaunaDB Cloud, создайте базу данных и настройте GraphQL API. Подробные инструкции доступны в FaunaDB документации GraphQL.

  3. Что такое FaunaDB GraphQL Schema и как её настроить?

    FaunaDB GraphQL Schema — это определение структуры ваших данных. Её настройка включает определение типов данных (FaunaDB типы данных GraphQL) и связей между ними. Используйте веб-интерфейс или CLI для настройки схемы.

  4. Как выполнять GraphQL запросы и мутации в FaunaDB?

    Используйте GraphQL синтаксис для отправки запросов на получение данных (FaunaDB GraphQL запросы) и мутаций для изменения данных (FaunaDB GraphQL мутации). Протестируйте запросы в GraphQL playground.

  5. Как обеспечить безопасность доступа к данным в FaunaDB GraphQL?

    Используйте FaunaDB аутентификация GraphQL, включая ключи API, токены и управление доступом на основе ролей. Ограничьте права доступа для каждого пользователя.

  6. Можно ли использовать FaunaDB бесплатно?

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

  7. Как FaunaDB справляется с масштабированием?

    FaunaDB архитектура serverless обеспечивает автоматическое горизонтальное масштабирование, что позволяет обрабатывать большие объемы данных и высокую нагрузку.

  8. Где найти FaunaDB GraphQL API примеры?

    Примеры доступны в FaunaDB документации GraphQL и в различных онлайн-ресурсах. Использовать FaunaDB GraphQL API пример поможет быстрее освоить практическое использование.

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

Чтобы упростить процесс освоения FaunaDB, представим ключевые шаги и ресурсы в виде таблицы. Это поможет начинающим разработчикам структурировать информацию и быстро приступить к использованию FaunaDB Cloud с GraphQL API.

Этап Действие Ресурсы Советы
Подготовка Регистрация аккаунта в FaunaDB Cloud Официальный сайт FaunaDB Используйте надежный пароль и двухфакторную аутентификацию
Создание базы данных Создание базы данных через веб-интерфейс Веб-интерфейс FaunaDB Cloud Выберите подходящее имя для базы данных и регион
Настройка GraphQL Настройка FaunaDB GraphQL: создание схемы FaunaDB документация GraphQL Определите типы данных (FaunaDB типы данных GraphQL) и отношения
Аутентификация FaunaDB аутентификация GraphQL: создание ключей API Веб-интерфейс FaunaDB Cloud, документация Ограничьте права доступа для ключей API
Запросы и мутации Тестирование FaunaDB GraphQL запросы и FaunaDB GraphQL мутации GraphQL playground, документация Используйте GraphQL синтаксис, запрашивайте только необходимые поля
Развертывание Интеграция FaunaDB с вашим приложением Примеры кода, документация Используйте переменные окружения для хранения ключей API
Оптимизация Мониторинг производительности и оптимизация запросов Инструменты мониторинга FaunaDB Cloud Оптимизируйте FaunaDB GraphQL Schema для повышения производительности
FaunaDB GraphQL API пример Изучение и адаптация готовых примеров Репозитории с примерами кода, документация Начните с простых примеров и постепенно усложняйте их

Эта таблица поможет вам шаг за шагом освоить FaunaDB и GraphQL. Не забывайте обращаться к FaunaDB документации GraphQL и практическим примерам. Использовать FaunaDB — это отличный способ создания современных и масштабируемых приложений.

Для начинающих разработчиков, выбирающих между различными базами данных для своих serverless приложений, важно понимать ключевые различия. Сравнительная таблица поможет оценить преимущества и недостатки FaunaDB по сравнению с другими популярными решениями, особенно в контексте использования GraphQL API.

Характеристика FaunaDB Firebase AppSync (AWS)
Модель данных Документо-ориентированная, ACID транзакции Документо-ориентированная, eventual consistency GraphQL API для различных источников данных
GraphQL API Нативный, встроенный Требует дополнительных расширений Основной способ взаимодействия
Serverless архитектура Полностью serverless Полностью serverless Serverless, интегрирован с AWS Lambda
Реальное время Поддерживается через стриминг изменений Встроенная поддержка реального времени Поддерживается через подписки
Масштабируемость Автоматическая, глобальная Автоматическая, глобальная Автоматическая, зависит от источников данных
Транзакции ACID Полная поддержка Нет Зависит от источников данных
Аутентификация GraphQL Встроенные механизмы, ключи, токены Интеграция с Firebase Authentication Интеграция с AWS IAM, Cognito
Стоимость На основе использования, бесплатный уровень На основе использования, бесплатный уровень На основе использования, требует оплаты AWS сервисов
FaunaDB GraphQL Schema Централизованное управление схемой Требует дополнительных инструментов Требует дополнительных инструментов
FaunaDB GraphQL API пример Легко найти и адаптировать Ограниченное количество примеров Множество примеров, но требуют понимания AWS

Эта таблица показывает, что FaunaDB предлагает удобную комбинацию GraphQL API, ACID транзакций и serverless архитектуры. Для проектов, требующих надежности и масштабируемости, использовать FaunaDB Cloud может быть отличным выбором. Начинающим разработчикам стоит обратить внимание на простоту настройки и встроенную поддержку GraphQL.

Для начинающих разработчиков, выбирающих между различными базами данных для своих serverless приложений, важно понимать ключевые различия. Сравнительная таблица поможет оценить преимущества и недостатки FaunaDB по сравнению с другими популярными решениями, особенно в контексте использования GraphQL API.

Характеристика FaunaDB Firebase AppSync (AWS)
Модель данных Документо-ориентированная, ACID транзакции Документо-ориентированная, eventual consistency GraphQL API для различных источников данных
GraphQL API Нативный, встроенный Требует дополнительных расширений Основной способ взаимодействия
Serverless архитектура Полностью serverless Полностью serverless Serverless, интегрирован с AWS Lambda
Реальное время Поддерживается через стриминг изменений Встроенная поддержка реального времени Поддерживается через подписки
Масштабируемость Автоматическая, глобальная Автоматическая, глобальная Автоматическая, зависит от источников данных
Транзакции ACID Полная поддержка Нет Зависит от источников данных
Аутентификация GraphQL Встроенные механизмы, ключи, токены Интеграция с Firebase Authentication Интеграция с AWS IAM, Cognito
Стоимость На основе использования, бесплатный уровень На основе использования, бесплатный уровень На основе использования, требует оплаты AWS сервисов
FaunaDB GraphQL Schema Централизованное управление схемой Требует дополнительных инструментов Требует дополнительных инструментов
FaunaDB GraphQL API пример Легко найти и адаптировать Ограниченное количество примеров Множество примеров, но требуют понимания AWS

Эта таблица показывает, что FaunaDB предлагает удобную комбинацию GraphQL API, ACID транзакций и serverless архитектуры. Для проектов, требующих надежности и масштабируемости, использовать FaunaDB Cloud может быть отличным выбором. Начинающим разработчикам стоит обратить внимание на простоту настройки и встроенную поддержку GraphQL.

VK
Pinterest
Telegram
WhatsApp
OK
Прокрутить вверх