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

Проект Вычислитель отличий

Уровень: 2

Профессия Node.js-программист

Узнаете как создавать cli приложения, парсить и форматировать данные в json, yaml, ini. Научитесь проектировать архитектуру приложений. А также писать unit-тесты.

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

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

Иконка профессии Node.js-программист

Цель

Второй проект является логическим развитием первого. Он захватывает большую часть синтаксических возможностей js и использует более сложную архитектуру. Затрагиваемые темы:

  • cli. В этом проекте вы научитесь создавать cli приложения так, как это делается в настоящей жизни, с использованием специальных библиотек, занимающихся парсингом входных параметров, валидацией и генерацией помощи.
  • Форматы данных: json, yaml, ini. Кроме понимания самих форматов, вы так же научитесь транслировать данные из js в эти форматы и обратно.
  • Алгоритмическая подготовка. Вас ждет обработка и трансформация деревьев. Немного кода, кипятящего мозг, никогда не помешает.
  • Архитектурные принципы: Фасад, Адаптер. Вы познакомитесь и на практике реализуете одни из самых распространенных подходов при организации кода.
  • Полиморфизм
  • Функциональное программирование

Красной нитью сквозь этот проект будет проходить unit-тестирование, а в идеале — разработка через тесты.

Описание

В рамках данного проекта необходимо реализовать утилиту для поиска отличий в конфигурационных файлах.

Возможности утилиты:

  • Поддержка разных форматов
  • Генерация отчета в виде plain text, pretty и json

Пример использования:

$ gendiff --format plain first-config.ini second-config.ini
Setting "common.setting2" deleted.
Setting "common.setting4" added with value "blah blah".
Setting "group1.baz" changed from "bas" to "bars".
Section "group2" deleted.

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

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

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

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

Проект Вычислитель отличий

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

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

Впечатления

И да. Готов поддержать других отписавшихся. Проекты - очень годная штука. Когда приступал ко второму - думал, что я все завалю. Сначала кажется, что вообще нереально с моим уровнем знаний подступиться, а потом по-тихоньку идет дело. Правда если третий проект настолько же сложнее второго, насколько второй сложнее первого, то наверно отпуск надо. Потому что первый намного лайтовее прошел. А с этим все выходные дома просидел. И да. Про плохое именование читал, ментальное программирование смотрел несколько раз, вроде понятно, но сам делаю не так, пока носом не ткнут

Кирилл, спасибо за интересный проект и отличные наставления при проверке.

Спасибо за проект!) было очень интересно, и познавательно:) к 3-му проекту нужно будет посерьезней подготовиться - оказывается мало того что код должен работать, так он еще и должен выглядеть как надо ( именование , читаемость итд )

Спасибо за проект! Было очень тяжело и много дней провел в обдумывании кода и архитектуры, хорошо, что были выходные, иначе вряд ли бы успел(еще и поздно начал отправлять решения, нужно было сразу, чтобы получить быстрее фидбек). Отдельное спасибо за менторинг! Было очень интересно и познавательно.

Большое спасибо за проект! Очень полезная штука, заставляет хорошо подумать, написать решение, потом оказывается все не так, переписать, потом опять переписать и так до победного :) А в конце получается готовая рабочая программа, аж приятно, полезный опыт

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

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

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

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

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

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

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

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

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

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

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

Проект Вычислитель отличий

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

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