На этой неделе наша когорта стала объектом эксперимента, состоящего из двух частей. Сначала курс обычно охватывает Ruby on Rails на этом этапе, но вместо этого наши тренеры решили смешать его и рассмотреть больше JavaScript на этой неделе и Rails на неделе 8. Для второго эксперимента был дан учебный план, полностью отличающийся от того, чему учили. в прошлом все когорты до нас изучали Angular (фреймворк JavaScript), но теперь нам поручили создать одностраничное приложение без какого-либо фреймворка, а затем извлечь собственный фреймворк из написанного нами кода.

С уверенностью могу сказать, что это была самая тяжелая и самая разочаровывающая неделя в моей жизни!

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

Новые технологии, с которыми я познакомился: node.js (JavaScript больше не просто запускается в браузере, с узлом мы можем запускать JS на сервере), mocha (среда тестирования, которая работает на узле), chai (библиотека утверждений TDD). в паре с мокко) и зомби (для тестирования кода JavaScript на стороне клиента в моделируемой среде). Первоначальной трудоемкой задачей было настроить все и заставить работать как надо, это оказалось намного сложнее, чем все, что я испытал с Ruby или настройкой приложения с Sinatra.

На этой неделе не было пошаговых руководств и минимальных руководств, это означало, что нам нужно было выйти и выяснить что-то для себя, прочитать документацию (многие документы, связанные с языком, довольно плохие!) И просмотреть различные ресурсы. Очевидно, именно так обстоят дела в реальном мире, когда мы работаем над новой профессией, но это привело к двум серьезным проблемам в течение недели: то, что нас просили сделать, было довольно сложно для человека, у которого было всего несколько дней опыта работы с JavaScript. под их поясом, а во-вторых, я потратил слишком много времени, пытаясь понять то, что мне не нужно!

Оглядываясь назад, последняя проблема была довольно глупой, и я определенно извлек урок из своей ошибки… не зацикливайтесь на чем-то в течение 6 часов, когда вы никуда не двигаетесь! Основная проблема, с которой я столкнулся за неделю, заключалась в том, что мои базовые знания JavaScript не соответствовали стандарту, необходимому для понимания Node и того, как использовать чисто JS для создания веб-приложения. Хотя к пятнице у меня был завершенный проект, соответствующий брифу (создание списка дел, минус извлечение фреймворка), я не мог не чувствовать себя несколько подавленным и разочарованным.

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