# DAS_2024_1 ПРАВИЛА ИГРЫ при сдаче лабораторных работ по предмету "Распределенные вычисления и приложения". Всем Доброго времени суток! Настоятельно прошу прочитать этот файл от начала и до конца. **Задание на л/р** 0. Требования к языку программирования: **ЛЮБОЙ**. Для выполнения лабораторных работ можно использовать любую IDE или текстовый редактор. 1. Список заданий на л/р, подготовленный совместно с [Владиславом Моисеевым](https://github.com/vladdy-moses): | № | л/р | |---|-----| | 1 | [Знакомство с docker и docker-compose](http://student.git.athene.tech/Alexey/DAS_2023_1/src/branch/main/labs/lab_1.md) | | 2 | [Разработка простейшего распределённого приложения](http://student.git.athene.tech/Alexey/DAS_2023_1/src/branch/main/labs/lab_2.md) | | 3 | [REST API, Gateway и синхронный обмен между микросервисами](http://student.git.athene.tech/Alexey/DAS_2023_1/src/branch/main/labs/lab_3.md) | | 4 | [Работа с брокером сообщений](http://student.git.athene.tech/Alexey/DAS_2023_1/src/branch/main/labs/lab_4.md) | | 5 | [Параллельное умножение матриц](http://student.git.athene.tech/Alexey/DAS_2023_1/src/branch/main/labs/lab_5.md) | | 6 | [Параллельный поиск значения детерминанта матрицы](http://student.git.athene.tech/Alexey/DAS_2023_1/src/branch/main/labs/lab_6.md) | | 7 | [Балансировка нагрузки в распределённых системах при помощи открытых технологий на примерах](http://student.git.athene.tech/Alexey/DAS_2023_1/src/branch/main/labs/lab_7.md) | | 8 | [Про устройство распределенных систем](http://student.git.athene.tech/Alexey/DAS_2023_1/src/branch/main/labs/lab_8.md) | **Воркфлоу по сдаче лабораторных работ** 0. Клонируем себе репозиторий на компьютер > git clone https://git.is.ulstu.ru/Alexey/DAS_2024_1.git 1. Для выполнения очередной лабораторной работы необходимо завести отдельную ветку (перед этим необходимо выполнить команду git checkout master). Указанный формат наименования ветки <фамилия_имя_lab_номер_лабораторной> ОБЯЗАТЕЛЕН, в противном случае лабораторная работа не проверяется! > git checkout -b "zhelepov_alex_lab_1" При этом Вы окажетесь в своей ветке, в которой Вам и предстоит выполнять лабораторную работу. 2. В ветке создаём папку в аналогичном формате <фамилия_имя_lab_номер_лабораторной>, формат также ОБЯЗАТЕЛЕН, в противном случае лабораторная работа не проверяется! > mkdir zhelepov_alex_lab_1 3. Весь код лабораторной работы и отчет должны находится внутри этой папки! То есть файловая структура репозитория должна иметь такой вид > ivanov_ivan_lab_1 zhelepov_alex_lab_1 README.md 4. Отчет к лабораторной работе должен быть оформлен в виде файла readme.md, в котором Вы сможете дать краткое описание того, что делает Ваша программа. Очень хорошо (большой плюс при сдаче), если Вы опишите следующие пункты: * как запустить лабораторную работу * какие технологии использовали * что она делает * тесты (если это приложение, разработанное на выбранном вами ЯВУ) Небольшой [гайд](https://guides.github.com/features/mastering-markdown/) по синтаксису для оформления отчёта. Пожалуйста запишите работоспособность Вашей л/р в виде видео, ссылку на которое прикрепите в README-файле, отчете (разместить видео можно на платформе VK Видео). **Видео - это обязательный пункт**. P.S. я знаю про хак "хочу скопировать у товарища этот волшебный readme и ничего не делать", но пожалуйста не делайте так (я буду обязательно проверять это). 5. Как только Вы закончили работу над лабораторной работой, то находясь в своей ветке (убедитесь в этом пожалуйста, использую команду git branch - ваша текущая ветка будет подсвечена), вы должны закоммитить и запушить свои изменения в репозиторий, другими словами сохранить их в репозиторий. > git commit -m "zhelepov_alex_lab_1 is ready" > git push origin P.S. я знаю про хак "скопируй у товарища и закоммить - все равно он (я) смотреть не будет" - не сработает - давайте быть честными и делать все самостоятельно. А во-вторых, на реальной работе так не прокатит - скорее всего Вас просто уволят. 6. После этого Вы должны перейти в наш git и создать merge request, назначив его на меня. Дополнительно лучше маякнуть меня в нашем [телеграм-чате](https://t.me/+Ytp7gjHKhq9iMGQy). Я проведу ревью и отпишу замечания, которые нужно будет исправить. Если все хорошо, то вмержу ваш pull-request в мастер-ветку. Данное состояние говорит о том, что ваша л/р принята. 7. **Важный момент**: Устно я не принимаю лабораторные работы (подойти к компьютеру, посмотреть код, поставить оценку), только через репозиторий и после успешного code review ревью кода вашей л/р и ее результатов в виде отчета. Это делается для того, чтобы вы привыкали к воркфлоу, который применяется практически всеми IT-компаниями, где между разработчиками в основном общение идет через "текст". Что касается лабораторных работ в расписании - они используются в качестве консультаций (если они нужны), а сдача и проверка л/р идет только через репозиторий (то есть все замечания вы получаете на code review). Проверяю я обычно лабораторную в течение 1-3 дней после создания pull-request-а (всегда можно маякнуть меня в нашем telegram-чате). **Чек-лист для старост групп** 0. Убедиться, что все из списка зашли в [телеграм-чат](https://t.me/+Ytp7gjHKhq9iMGQy), где мы будем общаться + я буду публиковать различные объявления. ПОЖАЛУЙСТА, ОБРАТИТЕ НА ЭТО ВНИМАНИЕ и доведите до всех! В других каналах связя меня сложно выцепить или я могу пропустить сообщение. 1. Убедиться, что все зарегистрировались на университетском [git](http://student.git.athene.tech/) и добавились для работы с нашим репозиторием. А добавляться в этот [репозиторий](http://student.git.athene.tech/Alexey/DAS_2024_1). **Полезные ссылки:** 0. Отличный тьюториал по гиту (рекомендую всем его пройти), вот [тут](https://learngitbranching.js.org/) 1. Гайд по markdown [тут](https://guides.github.com/features/mastering-markdown/) БОЛЬШОЕ СПАСИБО, что дочитали этот README до конца! И Удачи Вам в сдаче л/р и не только!