Вы находитесь на старой версии проекта. Новая версия доступна по ссылке

Проект Игры разума

Уровень: 1

Профессия Фронтенд-программист

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

8
шагов
2-4
недели

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

Иконка профессии Фронтенд-программист

Цель

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

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

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

Описание

В рамках проекта необходимо реализовать набор мини-игр, запускаемых из консоли. Будем называть их "Игры разума".

Пример игры:

$ 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!

О плане «Премиум»

Проект можно пройти, если вы подписаны на план «Премиум». Эта подписка даёт возможность учиться с наставником: консультироваться, парно программировать, перенимать опыт. Наставники — это опытные программисты, прошедшие отбор и дополнительную подготовку на Хекслете.

Преимущества «Премиума»:

  • Доступ к проектам.
  • Проекты не надо оплачивать дополнительно, цена подписки включает один проект в месяц.
  • Взаимодействие с опытным наставником, включая голосовые консультации и парное программирование.
  • Максимально быстрое прохождение профессии благодаря помощи наставника.
  • Стажировка в коммерческих или опенсорс-проектах при прохождении всей профессии с персональным наставником.
  • Содействие в трудоустройстве для самых активных студентов.
Подробнее

Проект Игры разума

Создайте рабочее приложение, которое станет частью вашего портфолио.

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

Впечатления

Добрый день. Перед выбором данного ресурса пробовал несколько других и онлайн и офлайн. Сложилось впечатление, что Хекслет остался одним из немногих, в котором преподаватели работают на результат, а не на прибыль. Отдельную благодарность хочу принести Станиславу Дзисяк за оперативные и доступные для понимания разъяснения. Конечно, сам первый проект, только показал мне, как мало я еще знаю )). Но, с другой стороны, если "капнуть" чуть глубже (не без помощи ментора!) все становится проще и понятней. Поэтому продолжаем дальше, к смене профессии!

Итак, первый проект пройден.

Глядя на Игры Разума с текущей позиции, не сказать, что было сложно. Но и простым он не оказался: переписывать код пришлось несколько раз с нуля. Первый проект здорово прокачал меня в различных областях и помог лучше усвоить теоретический материал, к которому я возвращался не раз :).

Одним из важнейших подарков для меня стало знакомство с модульностью, также получилось потренироваться в работе с git, прочувствовать значимость принципов KISS, YAGNI, DRY в реальной работе. Начало появляться понимание, что это вообще такое, разработка.

Хочу выразить благодарность Станиславу Дзисяку за развернутые комментарии, они были для меня словно мачете, разрубающим лозы незнания на пути к профессии "Фронтенд-программист".

Спасибо за проект и спасибо Станиславу за менторство! Самое сложное и главное в проекте - настроить окружение, разобраться со структурой проекта, настроить codeclimate, eslint и, что оказалось максимально времязатратным githubActions.

Проект принят, осталось исправить пару нюансов, и это мощнейшая мотивация для движения дальше.

Вот и принят мой проект ментором. Чему я, несказанно, рад :). Спасибо Станиславу Дзисяк за полученный опыт и подробные разъяснения по замечаниям. Познакомился вплотную в проекте с непрерывной интеграцией на GitHub. Это просто офигенная вещь! Также внеднил в реальности те правила написаниякода, о которых постоянно говорит Хекслет. Желаю Хекслет дальнейших успехов в совершенствовании программы обучения. А впереди ждет второй проект :)

Очень классный проект, в пользе от которого для себя я изначально сомневался, ведь я уже имел некоторый опыт в программировании, а тут, казалось бы, обычные консольные мини-игры. Но работа с ментором помогла разобраться с огромным количеством изъянов в моем понимании того, как надо правильно писать код в разных ситуациях. Большое спасибо Станиславу Дзисяк за настолько качественные проверки и развернутые ответы на мои нескончаемые вопросы! Кроме того, настройка окружения, makefile, github actions, работа с npm - со всем этим знакомят в проекте, и это очень полезно. И наконец, проект позволяет ощутить, насколько было бы классно иметь тесты. Во время code-review при внесении поправок постоянно приходится проверять, не сломалось ли что-нибудь в какой-то из игр. Так что проект дает дополнительное желание пройти предстоящие курсы про тестирование.

Вопросы и ответы

Какое расписание у проекта?

У проекта нет расписания и вы можете заниматься в удобное для вас время. Доступ к проекту будет пока действует ваша премиум подписка.

Как оплачивается проект?

Проект доступен в рамках подписки на план «Премиум», дополнительная оплата не нужна. В течение месяца можно пройти один проект. Если у вас есть действующая профессиональная подписка, то стоимость премиум подписки будет меньше. Система пересчитает стоимость в зависимости от количества не использованных дней на текущем плане.

Зачем нужны проекты?

Проект помогает реализовать на практике то, что вы узнали на курсах. Важный момент: написанный вами код навсегда остается в вашем репозитории на GitHub. Фактически это ваша первая работа в портфолио.

Что делает наставник в проектах?

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

У меня есть другой вопрос

Пишите нам на support@hexlet.io, вам ответит живой человек из команды Хекслета. Или нажмите на иконку со знаком вопроса в правом нижнем углу экрана. Там есть ответы и на другие вопросы и удобная форма для отправки сообщения нам.

Проект Игры разума

Создайте рабочее приложение, которое станет частью вашего портфолио.

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