staff:courses:no_sql_introduction:course_work

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
staff:courses:no_sql_introduction:course_work [2023/11/22 07:48]
mark [Как сдавать задания]
staff:courses:no_sql_introduction:course_work [2023/12/25 16:36]
mark
Line 13: Line 13:
 Создавать специально для меня PR НЕ НУЖНО. Ждать моей проверки на ваших PR - бессмысленно:​( Создавать специально для меня PR НЕ НУЖНО. Ждать моей проверки на ваших PR - бессмысленно:​(
  
 +Я проверяю только содержимое ветки main - прошу к моменту сдачи заданий мержить наработки в main. 
 ===== Как сдавать задания ===== ===== Как сдавать задания =====
  
-На всякий случай,​ как оказалось,​ не все этот момент увидели в списке ниже - все задания по курсу сдаются путем написания письма преподавателю. Как и что писать - указано ниже.+На всякий случай,​ как оказалось,​ не все этот момент увидели в списке ниже - **__все задания по курсу сдаются путем написания письма преподавателю__**. Как и что писать - указано ниже.
  
   * Команда внимательно читает требования ниже, убеждается,​ что их результат соответствует описанию.   * Команда внимательно читает требования ниже, убеждается,​ что их результат соответствует описанию.
Line 92: Line 92:
         - Графическое представление модели (сущности и связи, типы данных,​ коллекции - можно использовать ER-диаграмму,​ можно json-схему,​ если она применима к вашему типу СУБД)         - Графическое представление модели (сущности и связи, типы данных,​ коллекции - можно использовать ER-диаграмму,​ можно json-схему,​ если она применима к вашему типу СУБД)
         - Описание назначений коллекций,​ типов данных и сущностей         - Описание назначений коллекций,​ типов данных и сущностей
-        - Оценка ​ объема информации,​ хранимой в модели (сколько потребуется памяти,​ чтобы сохранить объекты,​ как объем зависит от количества объектов - нужно выразить через переменную (количество одного из видов объектов вашей БД))  +        - Оценка ​ объема информации,​ хранимой в модели (сколько потребуется памяти,​ чтобы сохранить объекты,​ как объем зависит от количества объектов - нужно выразить через переменную (количество одного из видов объектов вашей БД)). У вас должна получится формула - зависимость объема от одной переменной. ​ 
-        - **Избыточность модели (отношение между фактическим объемом модели и "​чистым"​ объемом данных).**+        - **Избыточность модели (отношение между фактическим объемом модели и "​чистым"​ объемом данных).**. У вас должна получится формула - зависимость избыточности от одной переменной.
         - **Направление роста модели при увеличении количества объектов каждой сущности.** ​         - **Направление роста модели при увеличении количества объектов каждой сущности.** ​
         - Запросы к модели,​ с помощью которых реализуются сценарии использования ​         - Запросы к модели,​ с помощью которых реализуются сценарии использования ​
Line 112: Line 112:
   - Подготовить прототипы приложения ("​Хранение и представление"​ и "​Анализ"​). Результат:​   - Подготовить прототипы приложения ("​Хранение и представление"​ и "​Анализ"​). Результат:​
     - Приложение компилируется и реализует оговоренные сценарии использования **через пользовательский интерфейс**.     - Приложение компилируется и реализует оговоренные сценарии использования **через пользовательский интерфейс**.
-    - Исходники и исполняемые файлы собранного приложения лежат в репозитории,​ там поставлен тег 0.5 (0.8)+    - Исходники и исполняемые файлы собранного приложения лежат в репозитории,​ там поставлен тег 0.5 (0.8). Что такое тег - https://​git-scm.com/​book/​ru/​v2/​%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D1%8B-Git-%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D1%82%D0%B5%D0%B3%D0%B0%D0%BC%D0%B8
  
 Про пользовательский интерфейс,​ роли и пользователей:​ Про пользовательский интерфейс,​ роли и пользователей:​
Line 123: Line 123:
   - выполняет одну из следующих функций:​ или позволяет добавление новых элементов данных в БД, или предоставляет интерфейсы для поиска (фильтрации) данных,​   - выполняет одну из следующих функций:​ или позволяет добавление новых элементов данных в БД, или предоставляет интерфейсы для поиска (фильтрации) данных,​
   - если в приложении есть авторизация,​ то в нем должны по умолчанию присутствовать по одному отладочному пользователю на каждую роль, сами пользователи и их данные указаны в README   - если в приложении есть авторизация,​ то в нем должны по умолчанию присутствовать по одному отладочному пользователю на каждую роль, сами пользователи и их данные указаны в README
-  - **вы можете продемонстрировать выполнение всех пунктов выше скринкастом (или ​демкой на занятии)** +  - **вы можете продемонстрировать выполнение всех пунктов выше скринкастом (не более двух минут - сключите запись процесса ​компиляции / загрузки и тд) или работоспособного процесса сборки из репо через docker-compose ​** 
  
 Что подразумевает **прототип "​Анализ"​** - выполненны требования "​Хранение и представление" ​ Что подразумевает **прототип "​Анализ"​** - выполненны требования "​Хранение и представление" ​
   - **приложение разворачивается через docker-compose build --no-cache из репозитория на ubuntu 22.04+**,   - **приложение разворачивается через docker-compose build --no-cache из репозитория на ubuntu 22.04+**,
-  - сервер вашей СУБД добавлен docker-compose.yml ( == вы не используете БД извне ваших контейнеров,​ у вас есть контейнер db),+  - сервер вашей СУБД добавлен docker-compose.yml ​**как отдельный контейнер**( == вы не используете БД извне ваших контейнеров,​ у вас есть контейнер db), типовые ошибки по данному пункту:​ 
 +    - не выставляйте порт БД наружу 
 +    - дополняйте маппинг портов указанием локального интерфейса везде, например '​127.0.0.1:​8081:​8081'​ 
 +    - не монтируйте локальные каталоги,​ монтируйте volume ​ (если вам нужны исходники / файлы проекта,​ то лучше копируйте их на этапе сборки образа) 
 +    - для контейнера СУБД (за исключением memcached и других хранилищ в памяти) обязательно должен использоватся volume, куда будет монитроватся директория с данным СУБД 
 +    - всегда указывайте конкретный тег (версию ) для образов. тег latest указывать нельзя 
 +    - не выности мапинг портов в переменные среды - в этом нет необходимости,​ его можно захардкодить вполне
   - добавлена недостающая часть (либо добавление элементов,​ либо поиск),​   - добавлена недостающая часть (либо добавление элементов,​ либо поиск),​
-  ​- добавлен импорт и экспорт всех данных приложения в машиночитаемом формате (XML, JSON, CSV ....),+    - поиск элементов реализован следующим образом - для каждого поля сущности есть отдельное поле (или поля) ввода поискового запроса,​ что позволяет искать по сложным запросам,​ например "​найди всех сотрудников,​ у которых пол мужской,​ дата рождения до 15.01.2002, имя - Олег"​. Ориентируйтесь на подробные фильтры в интернет-магазинах. 
 +    - как нелья реализовывать поиск по нескольким атрибутам:​ в виде одного поля ввода (input) и выпадающего списка / radiobutton с выбором поля, для которого будет использоваться введенный текст 
 +    - подумайте,​ а что вам за ваш фильтр скажут на собеседовании / на текущей работе?​ Если на ум приходят нецензурные слова, возможно стоит доработать механизм фильтрации.  
 +  ​- добавлен импорт и экспорт всех данных приложения в машиночитаемом формате (XML, JSON, CSV ....) одним действием (одна кнопка Импорт импортирует данные сразу для всего приложенияодна кнопка Экспорт экспортирует сразу все данные всего приложения),​ отдельные кнопки для отдельных сущностей делать не нужно.
   - в БД приложения содержится достаточный набор тестовых данных для демонстрации всех реализованных сценариев использования,​   - в БД приложения содержится достаточный набор тестовых данных для демонстрации всех реализованных сценариев использования,​
  
Line 136: Line 145:
   - Продемонстрировать работоспособность всех сценариев использования на окончательной версии приложения.   - Продемонстрировать работоспособность всех сценариев использования на окончательной версии приложения.
     - Приложение компилируется и реализует все сценарии использования.     - Приложение компилируется и реализует все сценарии использования.
-    - В приложении ​есть ​представление данных в виде таблицы с serverside пагинацией.+    - В приложении ​к представлению данных в виде таблиц ​добавилась serverside пагинация.
     - В приложение добавлено вычисление и отображение статистики / анализа данных / необходимых вычислений согласно заданию. ​     - В приложение добавлено вычисление и отображение статистики / анализа данных / необходимых вычислений согласно заданию. ​
     - Вы можете продемонстрировать это через docker-compose + дистанционно / с помощью скринкаста. ​     - Вы можете продемонстрировать это через docker-compose + дистанционно / с помощью скринкаста. ​
Line 144: Line 153:
  
 ==== Пояснительная записка. ==== ==== Пояснительная записка. ====
 +
 +Пояснительную записку можно писать из любого состояния проекта (не обязательно доводить его до полностью готовой версии). Пример - вы сделали задания на Удовлетворительно,​ соответственно,​ пишите в записке о том, что у вас получилось. ​
  
   - Предоставить пояснительную записку в электронном виде. Результат:​   - Предоставить пояснительную записку в электронном виде. Результат:​
staff/courses/no_sql_introduction/course_work.txt · Last modified: 2023/12/25 18:16 by mark