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

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

Недели 8 и 9 были большим групповым проектом, фактически вторым. На этот раз нас разделили на немного более крупные команды по 6 человек, и мы эффективно имитировали то, что, как мне кажется, изначально представляло собой большинство работ: получение незнакомой кодовой базы и просьба сделать ее лучше.

Задача была сделать клон Facebook. В проекте, который нам дали, уже был самый минимум, такой как простой вход в систему и регистрация, а также базовое создание сообщений. Однако все было не до конца подключено, отсутствовали кнопки и не существовало базы данных. Также было очень мало рекомендаций относительно того, какой должна быть конечная цель, кроме «напоминать Facebook».

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

К концу первой недели был проделан приличный объем работы. У нас был минимально жизнеспособный продукт, у нас была непрерывная настройка интеграции с использованием GitHub Actions, и Mongoose в значительной степени делал то, что мы хотели. В преддверии последней недели проекта настроение было приподнятым, когда во вторник днем ​​наш «клиент» захотел использовать React на веб-сайте в той или иной форме.

Я очень мало знал о React, за выходные я читал минимум книг по своему выбору или, по крайней мере, пытался, но это был первый реальный запрос на использование библиотеки. Я немного попрактиковался, когда у меня была свободная минутка, чтобы следовать руководству по кнопке «Нравится» на веб-сайте React, но в основном мы сосредоточились на том, чтобы сделать наш текущий веб-сайт как можно лучше.

За пару дней до конца вся команда начала изучать React, что было встречено с большим замешательством. Мне казалось, что я немного лучше разбираюсь в этом вопросе, чем остальная часть команды, и мне не нравится масштаб проблемы, с которой мы столкнемся, чтобы преобразовать текущий сайт в сайт, полностью основанный на React. Руль бы полностью заменить. Придется делать новые виды. Наша схема Mongoose, скорее всего, должна была бы перейти на сайт Atlas MongoDB… так много нужно сделать за полтора дня.

Я попытался посмотреть, смогу ли я сделать что-то из этого, используя приложение create-react-app в отдельном локальном каталоге, но изучение всего и попытки сделать это за такой небольшой промежуток времени оказались для меня слишком сложными, поэтому в В конце концов, чтобы удовлетворить потребности клиента, я поместил простую кнопку React в верхней части временной шкалы, которая при нажатии просто говорила, что страница использует React.

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