C++ и Python

Настройка рабочей среды

Как отправлять решение задач

Каждому заданию курса соответствует свой репозиторий на GitHub в организации NSU-Programming. Первое, что необходимо сделать до начала работы над заданиями — зарегистрироваться на GitHub. После регистрации сообщите свой логин на GitHub Вашему семинаристу или лектору, и Вам откроют доступ к репозиториям курса.

Чтобы начать решать задачу, сделайте fork соответствующего ей репозитория в свой аккаунт, кликнув на кнопку Fork, как показано на скриншоте снизу. (Обязательно уберите галочку с "Copy the master branch only"). fork

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

В созданном форке нужно перейти на вкладку Actions и включить Workflows - это включит автоматическую проверку Вашего решения тестами на GitHub. Только после включения Workflows для последующих отправок будут запускаться автоматические тесты. actions

Теперь можно приступать к решению. Для того, чтобы скачать репозиторий себе на компьютер, необходимо выполнить команду git clone. Но сначала надо создать себе Personal Access Token. Дело в том, что репозитории курса приватные, и поэтому с ними нельзя просто так использовать протокол взаимодействия https. Необходимо будет создать токен, который будет выступать в качестве пароля. На сайте GitHub в правом верхнем углу находим свой аватар, жмем и в выпадающем меню выбираем Settings. Далее слева в самом низу находим Developer settings, переходим. Дальше выбираем Personal access torken -> Generate new token.

create_pat Придумываем название токена (например, study). Рекомендуем выбрать expiration (срок валидности ключа) на срок 90 дней: когда Вы станете более опытными, то сможете самостоятельно обновить ключ.

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

Перед тем, как начать решать задачу, Вам понадобится скопировать код из удаленного репозитория к себе на компьютер. Уже на компьютере в локальном репозитории нужно будет писать код, делать промежуточные коммиты и осуществлять локальное тестирование. В файле README.md в репозитории содержится описание условия задачи и инструкции по локальному тестированию решения.

Чтобы скопировать репозиторий, нужно копировать https-ссылку на него: clone_repo

И затем выполнить в терминале команду git clone: clone_repo

Репозиторий склонировался: clone_repo

В процессе решения задания Вы можете несколько раз обновлять код в Вашей версии репозитория на GitHub (подробнее о том, как это сделать, написано в разделе "Что такое Git?"). Каждый раз при этом будут запускаться тесты, аналогичные локальным тестам. Пройдены тесты или нет, можно посмотреть на странице репозитория: ✓ - тесты пройдены, ❌ - не пройдены. tests В данном случае тесты пройдены успешно, можно сдавать задание.

Отметим важность локальных тестов! Не следует проводить тестирование вашего кода сразу на GitHub. В случае бесконечных циклов Вы можете потратить ваше бесплатное время тестирования на GitHub, и тогда у Вас не скоро получится сдать задачу! Поэтому не стоит делать никаких исправлений напрямую в GitHub, так как сразу запустятся тесты. К тому же это демонстрирует некомпетентность программиста.

Когда Вы готовы сдать задание, необходимо создать pull request (PR) в ветку solution вашего репозитория. Для этого нажмите кнопку New pull request во вкладке Pull Requests tests Далее выберете свой репозиторий из списка Choose a Base Repository base_repo и затем ветку solution base_repo

Проверьте ещё раз ветку, в которую Вы отправляете PR, и нажимайте кнопку base_repo

Выберите своего семинариста в списке Reviewers и Assignees teacher_choice

и окончательно подтвердите PR submit_pr

Ваш преподаватель получит оповещение и рассмотрит решённую Вами задачу. Чаще всего перед тем, как засчитать задание, он в комментариях к PR будет просить улучшить некоторые аспекты Вашего кода. В этом случае необходимо внести изменения и отправить их в ту ветку, к которой привязан PR. Если всё хорошо, то преподаватель одобрит ваш PR и зачтёт задачу как на скриншоте ниже end

Удачи!