<<<<<<< HEAD
Данный репозиторий служит шаблоном для Ваших решений вступительных заданий в школу JS-React-разработчиков.
Для решения заданий Вам понадобиться установить на Вашем компьютере следующее программное обеспечение:
git
git bash
(для Windows-пользователей)nodejs
, версии 6.0 или выше (рекомендовано 9.9.0)npm
илиyarn
(рекомендованоnpm
)- Редактор кода или интегрированная среда разработки (рекомендовано: MS Visual Studio Code)
Условия вступительных заданий Вы можете прочесть в соотвествующих README
-файлах:
- Задание 1. Спиральная матрица
- Задание 2. Одинаковые элементы
- Задание 3. Реализовать шаблон проектирования
Publish-Subscribe
Все инструкции в данном разделе расчитаны на то, что задания будут выполняться
под операционными системами Linux
, MacOS
или Windows 10
(с git bash
в
качестве командной строки).
Существует два способа скопировать проект:
- ответвиться от данного репозитория (fork)
- создать новый репозиторий, к-й инициализировать кодом из этого
Мы НАСТОЯТЕЛЬНО ПРОСИМ не делать форки, т.к. это будет спойлером решений для других желающих решить вступительные задачи.
Для копирования репозитория выполните следующие шаги:
-
создайте новый репозиторий на github с именем
<your-name>-tasks
-
склонируйте данный репозиторий на Ваш компьютер:
git clone git@github.com:pdffiller/react-school-entrants-tasks-js.git school-tasks cd school-tasks
-
скопируйте url Вашего репозитория, созданного в п. 1.
-
переиницилизируйте локальный git-репозиторий:
rm -rf .git git init git remote add origin <your-repository-url> # вставьте скопированную ссылку
-
Запуште код данного репозитория в Ваш репозиторий на
github
:git add . git commit -m "Initial commit" git push origin master
Просто выполните команду:
npm install
Откройте проект в Вашем редакторе кода (или интегрированной среде разработки), перейдите в папку задачи (./task-1
, ./task-2
или ./task-3
), и внесите нужные изменения в файл index.js
.
Пожалуйста, примите во внимания спецификацию функций/методов, которыми сопровожден код шаблона решения задачи.
Так, например, шаблон для решения задачи 1 выглядит так:
/**
* Заполняет матрицу размером n * n по спирали
*
* @param {Number} n - размерность матрицы
* @returns {Number[n][n]} - n * n - матрица, заполненная по спирали
*/
function fillSpiralMatrix(n) {
const result = [[]];
// Ваш код
return result;
}
export default fillSpiralMatrix;
Спецификация означает, что функция fillSpiralMatrix
принимает один числовой аргумент n
и возвращает квадратную числовую матрицу размером n
x n
.
npm test task-1 # или task-2, task-3 соответственно
Если задача решена правильно, то Вы увидите примерно вот такой вот результат:
> react-school-entrants-tasks-js@0.0.1 test /home/<user>/school-tasks
> jest --noStackTrace "task-1"
PASS tests/task-1/index.test.js
Task 1 - Fill Spiral Matrix
✓ n = 1 (4ms)
✓ n = 2 (1ms)
✓ n = 5 (2ms)
✓ n = 6 (11ms)
✓ n = 10 (4ms)
✓ n = 20 (7ms)
✓ n = 1000 (2539ms)
Test Suites: 1 passed, 1 total
Tests: 7 passed, 7 total
Snapshots: 0 total
Time: 3.398s
Если все же решить задачу сразу неудалось, то Вам понадобиться отладка кода.
Рассмотрим два способа отладки кода:
- отладка в консоли
- отладка в интегрированной среде разработки
Для того, чтобы запустить Ваш код необходимо выполнить команду:
npm start task-1 // или task-2, task-3 соответственно
Данный репозиторий содержит конфигурацию для отладки кода в MS VS Code
.
Если Вы используете другую IDE, пожалуйста обратитесь к официальной документации
Вашего ПО.
Для отладки тестов в MS VS Code
, выберите конфигурацию vscode-jest-test
, перейдите
в нужный файл тестов (например, ./test/task-1/index.test.js
), установите точку
останова и запустите тест, нажав F5
.
Для отладки непосредственно Вашего кода выберите конфигурацию vscode-babel-node
, откройте нужный файл (например, ./task-1/index.js
), установите точку останова и запустите программу, нажав F5
.
Как минимум после решения каждой задачи отправьте решение на github
, для этого выполните команду:
git add .
git commit -m "Task-1 solution" # или другое сообщение, которое описывает изменения
git push origin master
После того, как Вы решили все задачи, пожалуйста отправьте ссылку на страницу Вашего репозитория в PDFfiller
.
Перед отправкой убедитесь, что Вы все отправили на github
, и что все тесты проходят, для чего:
cd ~/
git clone <your-repository-url> school-task-test
cd school-task-test
npm install
npm test
Если все тесты проходят отправьте ссыку на страницу Вашего репозитория на электронную почту:
js-school@pdffiller.com
Если в ходе выполнения задачи что-то пошло не так, зарегистрируйте проблему в данном репозитории на сайте github.
ChinaNumbaTwo
34da179c8b51c29e4177d4ab570f9ad6e5e77c58