Сервис коллективной работы (проект)
Ментор | Яковлев Виктор |
Учебный семестр | Осень 2016 |
Учебный курс | 2-й курс |
Максимальное количество студентов, выбравших проект: 1 | |
Внимание! Данный проект находится в архиве и реализован не будет. |
Контактная информация
Канал в Telegram для объявлений: @hse_cs_projects_15x_yacovlev
Нужно создать приватный репозиторий в BitBucket или GitHub, и добавить в collaborators ментора:
- BitBucket: victor_yacovlev - GitHub: victor-yacovlev
После этого - заполнить форму https://goo.gl/forms/lzoRPbyyWJskFc2j2, в которой нужно указать ссылку на страницу с репозиторием.
Что это за проект?
Реализовать веб-сервис для коллективной работы с текстовыми данными.
Чему вы научитесь?
1. Разработке веб-сервисов
2. Проектированию высоконагруженных систем
Какие начальные требования?
1. Знание современных технологий HTML5
2. Понимание основ работы с нереляционными базами данных
3. Понимание принципов работы одной из систем контроля версий, например git
Какие будут использоваться технологии?
1. NoSQL система управления базами данных, на выбор студента
2. Любой веб-фреймворк, на усмотрение студента, ориентированный на одновременную обработку большого количества соединений.
Темы вводных занятий
1. Введение в задачу
2. Внутреннее устройство систем контроля версий
3. Введение в проблему “10K одновременных соединений”
Направления развития
Возможна реализация веб-приложения, функционально эквивалентного Google Documents или Google Spreadsheets.
Критерии оценки
4 балла - реализовано веб-приложение, которое позволяет зарегистрированному пользователю создавать и редактировать тексты.
5 баллов - сервис позволяет хранить историю изменений, и выполнять восстановление документа до предыдущего состояния из истории.
6 баллов - несколько пользователей могут одновременно вносить изменения в документ. Сервер, в этом случае, обязан поддерживать непротиворечивое состояние редактируемого документа.
7 баллов - под изменением документа подразумевается не только изменение текста, но и изменения в его форматирование.
8 баллов - при одновременном редактировании документа несколькими пользователями, новые правки видны всем пользователям в реальном времени.
9 баллов - гарантируется фиксированное максимальное время уведомления всех пользователей о внесении изменения в редактируемый документ одним из пользователей. Подготовлена система тестов для определения этого времени t при N одновременных подключениях к сервису и k одновременных попытках редактирования одного и того же документа.
10 баллов - выполнение сервиса на современном ноутбуке под управлением ОС Linux гарантирует время ответа не более 500 мс при одновременном подключении не менее 1000 пользователей.
Внимание: критерий на больший балл подразумевает выполнение всех предшествующих ему критериев с меньшим баллом.
Ориентировочное расписание занятий
По договоренности.