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

Я узнал некоторые новые вещи о языке JavaScript, такие как деструктуризация, которая представляет собой выражение JavaScript, позволяющее распаковывать значения массива или свойства объекта в разные переменные. Его можно применять к объектам и массивам. В случае объектов это очень полезно, когда мы хотим преобразовать свойства объекта в переменные, а в случае массивов это очень полезно, когда мы хотим преобразовать определенные позиции массива в переменные.

Я узнал об обещаниях в JavaScript. Промисы — это объекты, представляющие завершение или сбой асинхронной операции. По сути, обещание — это возвращаемый объект, к которому присоединяются функции обратного вызова, вместо того, чтобы передавать функции обратного вызова. Промисы также можно объединять в цепочки, чтобы несколько асинхронных операций могли выполняться одна за другой. Функция, указывающая, что промис успешно выполнен, называется resolve(), а чтобы указать, что произошла ошибка, используется функция reject().

Я узнал об асинхронных функциях в JavaScript, чтобы указать, что функция является асинхронной, просто добавьте к функции слово «асинхронный». Когда вызывается асинхронная функция, она возвращает обещание. Когда асинхронная функция возвращает значение, обещание будет разрешено с возвращенным значением, а если асинхронная функция сгенерирует исключение или какое-либо значение, обещание будет отклонено сгенерированным значением. Использование асинхронных функций очень важно, так как они используются вместе с промисами.

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

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

Я узнал о хуках в React — новой функции, реализованной в React версии 16.8. Они позволяют вам использовать состояние и другие функции React без написания класса. В двух словах, хук — это специальная функция, которая позволяет вам «прицепиться» к функциям React. В качестве введения в React Hooks я узнал, как использовать один из самых известных и простых в освоении хуков под названием «useState», который позволяет вам добавлять состояние React к функциональному компоненту.

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

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

Заключительные мысли

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

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