# Неделя #1 Настройка окружения, сборка, начало работы


# Подготовка к выполнению задания

Изучить все материалы первой недели курса в Личном кабинете.

Представиться в slaсk-чате своим одногруппникам.

Познакомиться с наставником.

Установить VSCode или удобный для вас редактор кода.

# Алгоритм работы с ДЗ

Склонировать себе сборку

Создать репозиторий на GitHub

Удалить папку .git rm -r .git и заново проинициализируем репозиторий git init

Устанавливаем зависимости npm install (могут возникнуть ошибки, т.к. ДЗ еще не выполнено)

Добавляем под версионный контроль git add .

Делаем коммит git commit -m "initial commit"

Добавляем remote url сборке git remote add origin https://github.com/USERNAME/REPOSITORY.git Поверить адреc можно командой git remote -v

Пушим сборку себе в репозиторий git push -u origin master

В сборке есть папки src и test (такие же как и в архиве с ДЗ), в которых лежит index.js, с которым мы и будем работать

Создаем в репозитории новую ветку с названием homework_N

Открываем ДЗ на текущую неделю, копируем index.js из src, а также test в сборку

Делаем коммит в текущую ветку для того, чтобы можно было между ними переключаться

Выполняем ДЗ, и в процессе выполнения запускаем тесты npm run test или npm run prepare, npm run codestyle

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

Для выполнения ДЗ новой недели перейдем к пункту №7

# Что нужно сделать?

# Выполнить домашнее задание #1 (Функции)

  1. Скачайте архив с домашним заданием №1
  2. Перейдите в папку с архивом
  3. Приступаем к выполнению ДЗ №1
  4. Задание 1.1:
  • Добавьте к функции параметр с любым именем
  • Функция должна возвращать аргумент, переданный ей в качестве параметра

Пример:

   returnFirstArgument(10) вернет 10
   returnFirstArgument('привет') вернет `привет`

Другими словами: функция должна возвращать в неизменном виде то, что поступает ей на вход Задание 1.2:

  • Функция должна возвращать сумму переданных аргументов

Пример:

   sumWithDefaults(10, 20) вернет 30
   sumWithDefaults(2, 4) вернет 6

1.2.1:* Значение по умолчанию для второго аргумента должно быть равно 100

Пример:

  sumWithDefaults(10) вернет 110

Задание 1.3:

  • Функция должна принимать другую функцию и возвращать результат вызова этой функции Пример:
   returnFnResult(() => 'привет') вернет 'привет'

Задание 1.4:

  • Функция должна принимать число и возвращать новую функцию (F)
  • При вызове функции F, переданное ранее число должно быть увеличено на единицу и возвращено из F Пример:
   var f = returnCounter(10);
   console.log(f()); // выведет 11
   console.log(f()); // выведет 12
   console.log(f()); // выведет 13

Задание 1.5:*

  • Функция должна возвращать все переданные ей аргументы в виде массива
  • Количество переданных аргументов заранее неизвестно Пример:
   returnArgumentsArray(1, 2, 3) вернет [1, 2, 3]

Задание 1.6:*

  • Функция должна принимать другую функцию (F) и некоторое количество дополнительных аргументов
  • Функция должна привязать переданные аргументы к функции F и вернуть получившуюся функцию Пример:
   function sum(a, b) {
     return a + b;
   }

   var newSum = bindFunction(sum, 2, 4);

   console.log(newSum()) выведет 6
  1. Запустить тесты и убедиться, что они прошли
  2. Сделайте коммит и пуш изменений
  3. Создайте пулл реквест и отправьте его на проверку наставнику

Дедлайн: понедельник следующей недели, в 12.00 .

# Как всё успеть?

Данный план является примерным ориентиром. Вы всегда можете работать в удобном для себя темпе.

# 🗓 Понедельник

Посетить вебинар “Введение”, который состоится в 20:00.

Реальные фото на аватарку, фамилия и имя в Slack.

Заполняем данные о себе в Личном кабинете.

# 🗓 Вторник

Изучаем материалы по теме "Переменные и Функции"

Клонируем сборку и выполняем домашнее задание 1.

В течение дня (до 19:00) вы попадете к своему наставнику в подгруппу. Знакомимся с одногруппниками и наставником.

# 🗓 Среда

Сдаём домашнее задание 1 на проверку.

Продолжаем изучение материала на тему "Переменные и Функции"

Вносим правки в домашнее задание №1 после проверки его наставником.

# 🗓 Четверг

Перечитываем методичку по теме "Переменные и Функции"

Подготовьте вопросы и запишитесь на консультацию к наставнику.

# 🗓 Пятница

Оставляем вопросы на канале #practice для вебинара "вопрос-ответ"

Возможно доделываем домашнее задание 1 и отправляем его на проверку.

# 🗓 Суббота

В 12:00 посетить вебинар "вопрос-ответ"