Пишу код на Vue.js | Spot
464 subscribers
68 photos
6 videos
40 links
Канал про веб-разработку студии Spot. wespot.ru

Здесь мы не только делимся кейсами, но и показываем решения с помощью технологий

Работая с Vue.js и Laravel, мы оптимизируем и код, и дедлайны — через:
– обновления без релизов
– автоматизацию daily-рутины
Download Telegram
Ачуметь! Strapi v5 вышла в альфе 9 часов назад

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

Дак вот, ребята обещали в первом квартале 2024 показать миру v5 и оно свершилось

Помните ту жуткую структуру с вложенностью?
  "data": [
{
"id": 1,
"attributes": {
"name": "Mint Lounge",
"slug": "mint-lounge",
"price": "p3",
"createdAt": "2021-11-09T14:07:47.125Z",
"updatedAt": "2021-11-23T16:41:30.504Z",
"publishedAt": "2021-11-23T16:41:30.501Z",
"locale": "en"
}
}
]


Я уже пробно раскатился локально и глянул - там все стало красивее и приятнее!

Мало того, что апи чище, еще и с коробки нарезает картинки сразу под несколько устройств (может было в latest 4 версии)

Пригодится позже в Nuxt.js, и его модуль явно получит апдейт

Это просто мед, очень приятная новость на ночь и возможность планировать на это чудо лайт-проекты как он станет стабильным

А еще предлагаю быть ближе, собираю с нуля чат
для обсуждений и крутых приятных тем
.
🔥8❤‍🔥3👍2🤝2
А вот и пятничная годнота!

Если кто хочет на себя примерить роль руководителя - будет информативно 🙌🏻

Можно вопросики кидать в чат канала
5🔥2
Forwarded from Cloud.ru
This media is not supported in your browser
VIEW IN TELEGRAM
Встречайте новый выпуск подкаста с Владиславом Худяковым, основателем компании Spot 🚀

На подкасте поговорили про:
😶‍🌫️ Вызовы, с которыми сталкиваются начинающие СEO
😶‍🌫️ Стратегии поиска талантов и методы развития компании с нуля
😶‍🌫️ Ключевые моменты выбора фреймворка и способы развития экосистемы
😶‍🌫️ Советы для новичков во Vue

🟢 Смотреть на YouTube 🟢
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥20🔥2
Вместо тысячи строк
😁11🫡64
This media is not supported in your browser
VIEW IN TELEGRAM
GPT наблюдает за твоим 12-летним опытом работы в айти

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

Интересно, как ИИ определяет какие данные ему не нужны, и в какой период их чистит?
🫡3😁2
Хэлло, в четверг 23 мая, в 18:30
жду на митапе MSK VUE, где выступаю с докладом про таймлайн анимацию.

Будут интересные доклады, классные ребята и главное - вьюшный вайб!

Присоединяйтесь, буду рад вас видеть и даже продолжить в баре 👍
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from MSK VUE.JS News
Всем привет!
Поприветствуйте нашего третьего спикера - Влад Худяков 🎙

Влад давно хотел выступить у нас на митапе и вот, наконец, у него получилось💪
О чем расскажет нам Влад?

Все мы так или иначе пересекаемся с задачами по анимации элементов и целых секций.

Легко если это базовое поведение по наведению или циклы. Другое дело - когда нужный результат анимации зависит от ряда параметров, времени, прогресса нескольких элементов и все это меняется динамически.
А если потом это затащить во Vue компонент, изменять из store и даже переиспользовать?

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


👉 РЕГИСТРАЦИЯ НА МИТАП 👈
👍6🔥4👏3
Делюсь ссылочками, которые будут полезны вам для погружение в мир таймлайн анимации при помощи GSAP.

Кто не был на докладе прикрепляю ссылку на запись трансляции

Итак:
1) GSAP на уровне ядра очень самодостаточен. Он адаптивный, легко используется во фреймворках и даже понимает WebGL
Читать о ядре

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

3) Мы не должны думать, что это чисто для сайтов. Игрушки по типу angry birds, doodle jump и другие - отлично реализуются при помощи GSAP
Вот отличный пример игры

Больше примеров для наслаждения и желания уже сесть и покрутить библиотеку тут

Напрашивается долгожданный стрим, да?
🔥10👍4😁1
JEDI-манифест. Принципы работы с новичками

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

Но, потом начинаются справедливая критика: а "как их отбирать?", "как их растить?", "это же мне придется для них искать отдельные джуновские задачи?", и так далее. И вот тут и кроется проблема

Без понимания как с этим жить, естественно, никто не будет набирать джунов, либо, будет сильно страдать, делая какие-то отдельные лягушатники, огораживать их отдельной оградкой, не звать на «взрослые» планирования/стратегии/гильдии (нужное подчеркнуть), а потом будут удивляться, а чо это они у нас не растут?

Короче, к чему я все? Собрались мы с моими уважаемыми коллегами по цеху, которые, как и я, видят в этом проблему, знают как растить и топят за джунов, и задали себе вопрос: а какими принципами мы руководствуемся, организуя работу с джунами?

Так вот, мы собрали 15 принципов работы с джунами и назвали их JEDI-манифест (Junior Engagement and Development Initiative), который выложили на github. Далее мы будем писать гайды, как делать те или иные вещи и развивать методологическую составляющую. Мы очень надеемся, что этим сможем помочь разработчикам, командам и компаниям справится с непониманием и преодолеть этот барьер

Делитесь, ругайте, хвалите, мы очень будем рады любой обратной связи, а если вы разделяете ценности с нами и хотите поучаствовать - присоединяйтесь на правах опенсорса, мы будем рады)

Ну и конечно, я не мог не сделать по этому поводу доклад! В нем я рассказываю о проблеме, как я вижу и о всех принципах выстраивания работы с джунами

https://www.youtube.com/watch?v=zp6wQn1L3sc
🔥73
This media is not supported in your browser
VIEW IN TELEGRAM
🔥85
This media is not supported in your browser
VIEW IN TELEGRAM
🔥85
Влияет ли безопасность приложения на time to market?

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

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

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

2. Вы внутри выстраиваете процесс CI/CD для проверки безопасности(SAST) вашего кода, что бы подстраховать путь приемки перед релизом.
Если слышите об этом впервые, можно минимально собрать это из библиотеки темплейтов по вкусу и покрыть хотя бы минимум - проверка на стороне корпорации все равно будет, просто шансов сорвать дедлайн и будет меньше.

SAST (Static Application Security Testing) - это метод анализа исходного кода на наличие уязвимостей без выполнения программы.

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

Все это страховка, но не гарантия. Даже в популярных библиотеках типа axios есть свои приколы, которые могут проявить себя в сжатые сроки. Там нет уязвимости, но есть повод который обязательно развернет и запустит цикл повторно. Отказ от использования сторонних библиотек и применение SAST могут существенно снизить риски.

Важно соблюдать баланс между безопасностью, производительностью и функциональностью, что бы сократить time to market.
🔥8🥰42
This media is not supported in your browser
VIEW IN TELEGRAM
Все easy - анимация без математики и жесточайших расчетов новых координат

Мы всегда стремимся делать круче, применять раскрытые на очередной конфе знания и добиваться новых побед
На первый взгляд может показаться, что для реализации такой анимации из GIF нужно очень много расчетов - но все куда проще

Как истинные ценители Vue (вуя) мы теперь имеем шанс делиться с вами демками на Codepen в любимом нам формате фреймворка
А это значит, что с минимальными усилиями это можно покрутить и разобрать без долго вникания тут

За базу взят тот самый, прилипший ко мне на конфах GSAP с расширением MorphSVG
Без знания координат и манипуляций с цифрами мы указываем в таймлайне какой элемент по id мы магически превращаем в другой элемент (так же указав id или селектор) и он чудно сделает все за нас.
Нам остается добавить динамики и прикрутить это к эвентам курсора.
Сам GreenSock дает возможность фри крутить это в песочнице Codepen - а значит можно изначально понять насколько библиотека упрощает жизнь разрабу и дает возможность оптимизировано креативить цепляя состояние к реактивности

Конечно, среди нас много хардовых ребят и вы как челлендж пересчитали бы это в координатах за пару часов/дней - но зачем, если через 15 минут это уже может греть вам сердечко
Не правда ли?

Шаблон Vue на Codepen
Дублирую ссылку на реализацию анимации

P.S второй пост за день. Не правда ли прекрасно?
🔥22👍6❤‍🔥42
Регулярные запросы для обновления простых данных.

При разработке функционала с острым желанием реал-тайма - в голову сразу лезут сокеты.

Есть более простой и рабочий вариант под среднюю задачу - написать щадящий интервальный автоапдейт.

Идейно: Мы перед обновлением данных проверяем вкладку на активность. Если вкладка не активна - запроса не будет, но как только мы на нее вернемся - улетит свежий запрос и данные станут актуальными.

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

Вопрос: Для каких задач по вашему подходит такое решение?
👍11🔥6
GSAP теперь абсолютно бесплатный даже для коммерции!

Вот так самые свежие новости, я давненько сюда не постил об инструментах и после майских расскажу про крутой кейс, который мы запустили с моей командой в Spot. Не без помощи вуя конечно же.

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

Теперь кажется все, или уже нафиг не надо и AnimeJS захватит мир?
9🔥5🫡2
Как мы оптимизировали отпуска в корпорации Газпромнефть
с десятками тысяч сотрудников


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

Сотрудник видит количество доступных дней, создает периоды, выбирает даты и отправляет на согласование — и всё. Учитываются все ограничения бизнеса: отпуск можно взять только спустя 6 месяцев после приёма, один из периодов обязательно не менее 14 дней, а распланировать нужно все дни.

Руководитель получает наглядную картину по команде: кто когда уходит, есть ли пересечения, можно ли отпускать. Может тут же утвердить или внести корректировки.

Интерфейс собрали на Vue.js + state, стили на препроцессоре SCSS, бэкенд силами внутренней команды. Всё валидируется и на клиенте, и на сервере.



Как результат:
HR-отдел получает точные и валидные запросы на отпуск от сотрудников. Руководители могут запланировать свой отпуск, видят пересечения отпусков подчиненных, корректируют и могут планировать работу без слепых зон. Сотрудники видят количество доступных им дней и имеют возможность через интерфейс отправить запрос на согласование. Больше никакой бумаги и ручки - только интерфейс.

#кейсы #crm_системы #фронтенд

Через какие у вас планируется отпуск, и видно ли там пересечения с другими сотрудниками команды?
17🔥9👏7👍2😁1
Йоу! Ускоряет ли админка Time-to-Market?

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

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

🍿
В онлайн-кинотеатре можно:
— включить/отключить доступ к фильму при запросе правообладателя
— активировать праздничную акцию на подписку
— запустить рассылку не подписанных пользователей

🎮
В игровой платформе:
— добавить приз для определенной группы игроков
— скорректировать систему начисления или сроки проведения игры
— включить или выключить финальный экран с результатами

Крутой профит можно получить через конструктор страниц на сайтах, где из набора уже проверенных блоков/секций можно собрать новую страницу и запустить.
Эти примеры влияют на главное: Time-to-Market (время от начала разработки идеи/функционала до выхода конечного продукта).

Если бизнесу что-то нужно — он может сделать это сам. Без привлечения и ожидания команды разработки.

👍
В итоге:
— маркетинг может быстрее тестировать гипотезы
— команда может сравнивать результат работы и меняться в моменте
— цикл принятия решений сокращается

И вопрос:
В каком проекте можно обойтись вообще без админки?
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍5🔥1😁1
Модульная вёрстка — это стратегический подход к созданию интерфейсов. Он позволяет собирать страницы из готовых блоков.
Это критически важно в проектах, где регулярно появляются новые разделы, типовые элементы и повторяющиеся паттерны. Но чтобы это работало, нужно изначально правильно подготовить дизайн-макеты.

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

На этапе вёрстки мы изолировали каждый модуль: никакой жёсткой привязки к странице, только входные параметры и слоты. Компоненты гибкие, конфигурируемые и легко переиспользуемые. Все компоненты вынесли в Figma, чтобы вся команда — разработчики, контентщики и менеджеры — знали, что уже реализовано и как этим пользоваться.

Следующий поинт — интеграция с админ-панелью. Контент-менеджеры не обращаются к разработчику для каждой правки контента. Вместо этого страницы собираются из модулей прямо в админке: менять порядок блоков, заголовки, описания, включать и выключать элементы. Для этого у каждого модуля прописываются поля, которые напрямую передаются как props. Так бизнес сам управляет страницами и создает новые, не трогая код.

Чтобы это работало в долгую, нужно одно правило: никаких дубликатов. Каждый новый экран собирается из существующих компонентов. Если чего-то не хватает — создаётся новый модуль, добавляется в библиотеку и документируется. Это позволяет избежать мутации компонентов и хаоса.

Модульный подход — это не про “красоту интерфейса”. Это про эффективность, масштабируемость и контроль продукта. Он позволяет быстро запускать новые страницы, тестировать идеи, экономить ресурсы и масштабировать продукт без перегрузки команды.

Сейчас процесс позволяет быстро собрать новую страницу на дизайне, утвердить и собрать через админку минуя этап верстки.

Удобно, не так ли?
11🔥8👏2🤝2