Отзывы учащихся

о проектах

Проект позволил мне закрепить знания, полученные из курсов, и убедиться, что я их правильно понял и усвоил.

Благодаря проекту, я начал использовать make как универсальный доступ к проекту, с инициализацией проекта со всем необходимым для современной разработки. Опубликовал свой первый модуль в npm. Понял, как нужно строить архитектуру приложения, чтобы другим программистам было удобно использовать модуль.

На 9 задаче я совершил роковую ошибку, наставник поправил меня и объяснил в чем была моя проблема. Конечно, пришлось все переделать, но, благодаря этому, я стал чуть умнее, за что я очень благодарен. Так же в проекте мне очень помогли псевдокод и тактика проектирования «Мечтать не вредно».

С нетерпение жду и готовлюсь к следующим проектам! Хорошо, что есть уникальная возможность проверить свои знания на практике с опытным наставником. Еще раз спасибо за возможность!

14.04.2017

о проектах

По поводу первого проекта: в целом все понравилось — настройка рабочего окружения, подключения сервисов, публикация пакета - для меня многое было впервые. Самая радость была когда написал код - опубликовал его - установил и оно работает! Ну и когда был пройден 9й шаг :)

9й шаг с добавлением новой игры и изменением общей структуры оказался для меня самым тяжелым. Возможно, его следовало бы разбить на 2 этапа. Продумывание архитектуры для меня оказалось непростым делом, с которым я справился только с помощью Кирилла.

В целом все отлично, прокачался уж точно, посмотрим что будет в следующих проектах.

14.04.2017

о проектах

Когда только приступил к проекту, голова пухла от обилия информации, которую нужно прочитать. git, npm, настройка окружения. Выбрал стратегию (не сознательно, скорее мозг включился в режим) "поиск минимально необходимой информации, чтобы пройти на следующий шаг". Получил палку о двух концах, пример с гитом, если бы сел и просто прочитал внимательно документацию, то не столкнулся бы с проблемой откатов, если задание учитель не принял, а так по началу зацепился за команду git reset —hard... один раз ее исользовав, очень стимулирует больше не повторять. Вывод для себя: не филонить с подготовкой к проекту, и читать документацию более вдумчиво.



Что получил в процессе. Понял что, пройденные курсы на Хекслете очень повлияли на стиль программирования, руки сами пишут код в функциональном стиле. В целом программирование я изучал, можно сказать со школы, потом колледж, но фактически не работал по профессии, но везде учили "императивщине": циклы, переменные и т.д.
 В проекте же даже мысли не возникло использовать циклы, только рекурсия, только константы.



Так же уяснил для себя нюанс, если прочитал документацию и что-то не понял, лучше уточнить у ментора, чтобы не осталось белого пятна, и оно не вылезло в проект. У меня это был пример с семантическим версионированием, я не до конца понял, когда изменения сделанные в программе, изменяют минорную версию и мажорную, в итоге при добавлении просто новой игры, программа стала из 1.3.4 — 2.0.0. Хорошо, что есть ментор который сразу кидает в тебя тапком за это =))


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

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


Пройдя первый проект, я узнал почему важно правильное окружение, как больно не знать git, зачем нужны линтеры и как их подключить в проект, как настроить package.json, и что оказывается с помощью него можно делать bin файлы. Что есть крутые штуки, который выкачивают твой код и сами его тестируют на работоспособность и анализируют его на качество. А так же, что можно круто автоматизировать задачи с помощью make. Ну и на выходе написал свой первый проект, который работает! и который может установить себе любой желающий)
Надеюсь дальше будет не менее интересно! =)

14.04.2017

о проектах

Благодаря команде «Hexlet» мною сделан очередной важный шаг на пути в освоении профессии Бэкенд JS-программист, им стало участие в проекте «Вычислитель отличий».

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

Начало проекта у меня прошло под девизом «Долой мутации!!!». Как оказалось, где они только не были скрыты. Далее я понял сущность и реализовал на практике такие паттерны программирования как «Фасад» и «Адаптер». На этапе построения AST дерева я больше понимал эту структуру данных, возможности работы с ней.

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

Хочу отдельно поблагодарить Кирилла Мокевнина – ментора, ведущего проект, за его желание делиться знаниями и учить.

Ребята, так держать!

14.04.2017

о проектах

Итак - пройден первый проект. Оглядываясь назад, он кажется не сложным. Даже странно - почему это заняло столько времени. Получившееся решение кажется абсолютно простым и логичным. И как я сразу к этому не пришел? Но вот - не пришел. Главная моя проблема была в том, что я изначально переусложнил понимание задачи у себя в голове. Ментор намекнул мне об этом в самом начале, но осознание заняло некоторое время и несколько итераций, после каждой из которых я приближался к истинному пониманию того как должно быть реализовано решение.

Решаемые в проекте задачи сами по себе простые. Главная сложность (и видимо главная цель) проекта в правильной организации структуры кода и взаимодействии его частей. Из других положительных результатов - понимание правильной организации рабочего окружения. Это было не сложно, но очень полезно. Так же уяснил для себя на будущее некоторые принципы построения абстракций и правильного наименование переменных и фунеций - это действительно упрощает жизнь.

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

Во время прохождения проекта я в первую очередь порекомендовал бы не торопиться. Внимательно читайте прилагаемые материалы и комментарии менторов. Если чувствуете, что вы в тупики - не зацикливайтесь на принятых решениях. Иногда бывает полезно удалить написанное и начать с чистого листа. Если нет идей - отвлекитесь от задачи. Пойдите прогуляйтесь или займитесь чем-нибудь другим. Это банальные советы, которые даются во всей литературе посвященной обучению, но они действительно работают. Мне лучшие мысли приходят по пути с работы =)

Что касается самого процесса прохождения проекта- был приятно удивлен, оперативностью работы ментора и очень развернутым фидбэком. Про под ход к обучению - я думаю Хекслету удалось реализовать менторство в его правильном виде. Ментор - это не тот человек, который дает правильные ответы, а тот, который задает правильные вопросы. В процессе прохождения проекта, ментор своими вопросами и критикой моих попыток заставил меня самого додуматься до верного решения. Знания и решения до которых "додумался" задерживаются в памяти гораздо лучше, чем готовые ответы.

Впрочем, заставлять думать - это вообще про Хекслет =)

13.04.2017

Хотите добавить сюда свой отзыв или историю успеха?
Напишите нам на support@hexlet.io