Найти тему

Можешь написать серию постов, о твоих ежедневных задачах, необходимом стеке, желательно с примерами, для тех кто только хочет во фронт


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

Сейчас, я задействован в 3 проектах. 1 проект - еще не развертывал, 2 проект - практически закончен, стек Nuxt.js/Laravel (фронт/бэк). 3 проект - фиксы и добавление мелких фич, Nuxt 3.

Когда проект в активной стадии разработки, то как правило работа отталкивается от дизайна. По макету мы делаем верстку и думаем, как нам создать показанное. Архитектура проекта на FSD, мы делим всю логику на слои и дробим их на сегменты. Если бэкэнд не готов, то как правило готовлю плэйхолдеры, которые имитируют работу пропсов. Еще один важный факт, что в проектах не используется pinia/vuex. При такой архитектуре нет нужды в Стэйт менеджере.

Самые сложная задача, которая была среди всех проектов это разработка канваса с древовидной структурой данных. Здесь требуются хорошие знания Javascript, а так же понимание как работает рекурсия + базовые способы взаимодействия с деревьями (в глубину или в ширь).

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

Например работа вотчеров во vue.js. Мы вызываем эту функцию, как событие, когда нужно отследить изменение данной реактивной переменной. В данном примере используется некий routeQuery, который уже подсказывает, что это лишнее. RouteQuery будет обновляться при каждом обновлении страницы, зачем нам его отслеживать? Мы его можем просто получить при первом монтировании компонента.

watch(routeQuery, () => {

//код ниже
})
1 минута