Skip to content

6jodeci/tages-test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Тестовое задание Golang разработчка

Необходимо написать сервис на Golang работающий по gRPC

Сервис должен:

  1. Принимать бинарные файлы (изображения) от клиента и сохранять их на жесткий диск.

  2. Иметь возможность просмотра списка всех загруженных файлов в формате:

    Имя файла | Дата создания | Дата обновления

  3. Отдавать файлы клиенту.

  4. Ограничивать количество одновременных подключений с клиента:

    • на загрузку/скачивание файлов - 10 конкурентных запросов;

    • на просмотр списка файлов - 100 конкурентных запросов.


Клонирование репозитория

git clone https://github.com/6jodeci/tages-test

Взаимодействие с сервером

  1. Старт сервера
$ make server
  1. Запускаем клиентский интерфейс для взаимодействия с gRPC-серверами
$ make evans 
  1. Принимает бинарные файлы (изображения) от клиента и сохраняет их на сервере
file.FileService@localhost:8081> call UploadFile
  1. Отправляем байтовый файл в кодировке base64
file_data (TYPE_BYTES) => "base64"
  1. Задаем название файла при сохранении
file_name (TYPE_STRING) => "file_name_string.format"
  1. Возвращает список всех файлов включая название, дату создания обновления файла
file.FileService@localhost:8081> call ListFiles
  1. Вызов DownloadFile для отдачи файлов клиенту
file.FileService@localhost:8081> call DownloadFile
  1. Задаем название файла который хотим получить от сервера
file_name (TYPE_STRING) => file_name_string.format

Закодированное изображение лежит в файле img_bytes.txt!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published