Проект Brain Games

Уровень: 1

Профессия Бэкенд JavaScript (node.js)

Погрузитесь в непростую экосистему JavaScript, научитесь настраивать рабочее окружение. Подружитесь с линтером (анализатором качества кода) и менеджером зависимостей npm. Поймёте, чем git отличается от GitHub, поработаете с внешними репозиториями. Получите опыт построения архитектуры полноценного приложения и написания чистого кода.

8
шагов
2-4
недели
Начать проект

Цель

Первый проект нацелен на знакомство с экосистемой JavaScript. Она достаточно сложна по сравнению с языками вроде PHP, Ruby или Python. Количество понятий, инструментов и их связок настолько большое, что даже у опытных разработчиков иногда голова идет кругом. Чтобы стартануть по всем канонам даже простейший проект придется как следует повозиться. Вот неполный перечень ключевых компонентов любого современного js-приложения:

  • Пакетный менеджер (npm, yarn). Управляет зависимостями, выполняет хуки и описывает проект.
  • Babel (Транспайлер). Позволяет использовать новые фичи, даже если они не поддерживаются средой исполнения.
  • Eslint - линтер. Проверяет корректность кода на соответствие стандартам кодирования.

После прохождения проекта вы сможете легко настраивать свои собственные проекты, подключать новые библиотеки, ориентироваться в структуре кода, а также получите базовые навыки отладки. Вы прокачаете себя в использовании модулей js, работе с исполняемыми файлами и опубликуете свой первый пакет в npm.

Описание

В рамках проекта необходимо реализовать набор мини-игр, запускаемых из консоли. Эти игры похожи на то, что обычно называют "Brain Games".

Пример игры:

$ brain-progression

Welcome to the Brain Game!
What number is missing in this progression?

May I have your name? Roman
Hello, Roman!

Question: 14 .. 18 20 22 24 26 28
Your answer: 16
Correct!
Question: 5 6 7 8 9 .. 11 12
Your answer: 10
Correct!
Question: 12 15 18 21 .. 27 30 33
Your answer: 24
Correct!
Congratulations, Roman!

Впечатления #

И вам спасибо за ваше терпение. Сам бы я вряд ли смог увидеть те ошибки, на которые вы мне указывали. За эту неделю узнал больше, чем за год работы и в очередной раз убедился, что дать правильное имя функциям или переменным порой сложнее, чем написать само приложение :)

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

Очень сильные впечатления! Даже хочется сказать ох...но! Но забаните скорее всего))

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

Порядок. Будем двигаться дальше. Благодарю вас за поддержку.

Travis-ci прям очееннь здорово, реально магия! )