Cath-kb / cath-kb-tasks

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Вступительные Задания PDFfiller JS-React-School

Всем привет.

Данный репозиторий служит шаблоном для Ваших решений вступительных заданий в школу JS-React-разработчиков.

Для решения заданий Вам понадобиться установить на Вашем компьютере следующее программное обеспечение:

  1. git
  2. git bash (для Windows-пользователей)
  3. nodejs, версии 6.0 или выше (рекомендовано 9.9.0)
  4. npm или yarn (рекомендовано npm)
  5. Редактор кода или интегрированная среда разработки (рекомендовано: MS Visual Studio Code)

Условия вступительных заданий Вы можете прочесть в соотвествующих README-файлах:

Как выполнять задания

Все инструкции в данном разделе расчитаны на то, что задания будут выполняться под операционными системами Linux, MacOS или Windows 10git bash в качестве командной строки).

1. Скопируйте проект

Существует два способа скопировать проект:

  • ответвиться от данного репозитория (fork)
  • создать новый репозиторий, к-й инициализировать кодом из этого

Мы НАСТОЯТЕЛЬНО ПРОСИМ не делать форки, т.к. это будет спойлером решений для других желающих решить вступительные задачи.

Для копирования репозитория выполните следующие шаги:

  1. создайте новый репозиторий на github с именем <your-name>-tasks

  2. склонируйте данный репозиторий на Ваш компьютер:

    git clone git@github.com:pdffiller/react-school-entrants-tasks-js.git school-tasks
    cd school-tasks
  3. скопируйте url Вашего репозитория, созданного в п. 1.

    copy git url

  4. переиницилизируйте локальный git-репозиторий:

    rm -rf .git
    git init
    git remote add origin <your-repository-url> # вставьте скопированную ссылку
  5. Запуште код данного репозитория в Ваш репозиторий на github:

    git add .
    git commit -m "Initial commit"
    git push origin master

2. Установите зависимости проекта

Просто выполните команду:

npm install

3. Напишите решение заданий

Откройте проект в Вашем редакторе кода (или интегрированной среде разработки), перейдите в папку задачи (./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.

3. Запустите тесты

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

4. Отладка решения

Если все же решить задачу сразу неудалось, то Вам понадобиться отладка кода.

Рассмотрим два способа отладки кода:

  1. отладка в консоли
  2. отладка в интегрированной среде разработки

4.1. Отладка в консоли

Для того, чтобы запустить Ваш код необходимо выполнить команду:

npm start task-1 // или task-2, task-3 соответственно

4.2. Отладка в IDE

Данный репозиторий содержит конфигурацию для отладки кода в 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.

5. Примите изменения и отправьте их на github

Как минимум после решения каждой задачи отправьте решение на github, для этого выполните команду:

git add .
git commit -m "Task-1 solution" # или другое сообщение, которое описывает изменения
git push origin master

6. Отправьте решение в PDFfiller

После того, как Вы решили все задачи, пожалуйста отправьте ссылку на страницу Вашего репозитория в PDFfiller.

Перед отправкой убедитесь, что Вы все отправили на github, и что все тесты проходят, для чего:

cd ~/
git clone <your-repository-url> school-task-test
cd school-task-test
npm install
npm test

Если все тесты проходят отправьте ссыку на страницу Вашего репозитория на электронную почту:
js-school@pdffiller.com

7. Зарегистрируйте проблему

Если в ходе выполнения задачи что-то пошло не так, зарегистрируйте проблему в данном репозитории на сайте github.

About

License:MIT License


Languages

Language:JavaScript 100.0%