Как стать автором
Обновить
12.89

VueJS *

Прогрессивный JavaScript-фреймворк

Сначала показывать
Порог рейтинга
Уровень сложности

Наш путь в создании информационной системы проверок контрагентов || Laravel having no problems

Время на прочтение9 мин
Количество просмотров1.7K

Проверка потенциальных контрагентов на благонадёжность — неотъемлемая часть ведения бизнеса. Она нужна, чтобы эффективно управлять рисками, соблюдать должную осмотрительность, исключить репутационные риски и финансовые потери.

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

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии1

SSR: ключевой элемент сайта, который требует особого внимания

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров6.2K

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

Что такое SSR?

SSR — это Server Side Rendering, то есть, генерация страницы на стороне сервере, а не в браузере, когда сервер отдает уже сгенерированный HTML.

Любая страница сайта или простейшая веб‑версия приложения — это HTML‑код, который отображается в браузере в виде набора визуальных элементов — текстовых блоков, изображений, ссылок и кнопок. Рендеринг — сборка html кода для браузера пользователя, из блоков кода исходного vue‑файла. Это происходит тогда, когда мы заходим на сайт — то есть, отправляем запрос на сервер, а с него получаем js‑код vue приложения, html c пустыми местами, в которые будет рендериться контент уже на стороне пользователя. И, конечно, мы хотели бы, чтобы это происходило моментально.

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

Для этого и существует SSR. При этом методе весь HTML‑код страницы генерируется на сервере и передается пользователю в браузер.

Читать далее
Всего голосов 8: ↑3 и ↓50
Комментарии42

Авторизация и управление доступом на основе ролей для фронтенда

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров6.5K

В этом модуле проекта мы погрузимся в волнующий мир авторизации и управления доступом во фронтенд-разработке. Сегодня я поделюсь с вами моим опытом работы с технологиями Vue 3, Pinia для глобального управления состоянием и TypeScript. Однако, стоит отметить, что основные принципы, которые мы рассмотрим здесь, применимы к любым современным технологиям фронтенда. Таким образом, даже если вы предпочитаете другой стек технологий, вы все равно найдете этот материал полезным.

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

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

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии3

Микрофронтенд с использованием Module Federation. Соединяем компоненты между системами на разных фреймворках

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров5.5K

Всем привет! Мы — Иван и Даниил, ведущие разработчики компании ITFB Group. У компании два собственных продукта — ЕСМ/CSP/BPM-платформа СИМФОНИЯ (документооборот, хранение контента, архив, портал) и система распознавания/обработки документов ITFB EasyDoc. Пару месяцев назад к нам прилетела задача интегрировать ряд функций распознавания из продукта ITFB EasyDoc и оформить их в отдельный модуль платформы СИМФОНИЯ, дабы пользователь всё делал в одном месте и не дрейфовал по разным системам. Однако возникла загвоздка: СИМФОНИЯ — на React, а ITFB EasyDoc — на Vue. Для решения вопроса посерчили различные источники информации и плавно ушли в собственное творчество, поскольку не обнаружили стоящих вариантов с вменяемой технической детализацией. В какой-то момент возникло острое желание поделиться нашими итоговыми наработками на Хабре и заполнить пробелы базы знаний в интернете по этому вопросу. Всем, кому интересно увидеть наше решение, добро пожаловать под кат :-)

Читать далее
Всего голосов 8: ↑7 и ↓1+7
Комментарии2

Истории

Гудбай Pusher, привет Laravel Websockets

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров6.8K

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

Проект делается на Laravel 10 на стартере Breeze Inertia + Vue.js.

Историю как я придумывал саму логику уведомлений я оставлю как-нибудь на потом, а вот о том как я распрощался с Pusher я расскажу сейчас. Вообще Pusher, конечно, сервис хороший, но если брать бесплатные лимиты, то там всё достаточно грустно, поэтому я решил использовать что‑то другое в качестве альтернативы. Выбор пал на Laravel Websockets.

Для справки, Laravel Websockets — это такая надстройка над Laravel, которая на бэке использует Ratchet, но никаких особых настроек делать не нужно, всё работает практически «из коробки». Правда есть несколько подводных камней, о которых я тоже расскажу.

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии6

Создание Web components на Vue 3

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров5.4K

Можно написать на Vue 3 какой-нибудь полезный компонент и захотеть дать возможность использовать его не только в Vue проектах, но и на любых других фронтендах. Сделать это несложно через регистрацию его как web component, или подключение "микро-фронтендом". Оба варианта будут рассмотрены ниже.

Читать далее
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Release Timeline — визуализация GitHub релизов в вашей документации

Время на прочтение1 мин
Количество просмотров1.8K

Данное приложение было создано для красивого и удобного показа изменений во Vue 3 проекте в его документации на VitePress. После оно было сделано универсальным, и может быть подключено в любой HTML странице как Web component или микрофронтенд.

Попробовать - https://vuesence.github.io/release-timeline/. Слева вверху можно указать любой публичный репозиторий.

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии6

Страдания по VueUse

Время на прочтение4 мин
Количество просмотров4.4K

VueUse - популярная библиотека, состоящая из небольших утилит и в среде Vue разработчиков, идущая как "must have" наряду с Pinia. Нисколько не умаляя вклад Anthony Fu в экосистему Vue, опишу, почему я не использую её и не рекомендую для серьезных проектов и опытных разработчиков.

Читать далее
Всего голосов 7: ↑5 и ↓2+4
Комментарии6

Переход с Vue-CLI и Webpack на Vite: ускоряем разработку Vue 3

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров12K

Одним из новых инструментов в арсенале Vue 3 является Vite - быстрый и легковесный бандлер, который значительно упрощает процесс разработки и ускоряет сборку проекта. В этой статье мы рассмотрим, как перейти от стандартного подхода с использованием Vue-CLI и Webpack к более продвинутому и эффективному методу работы с помощью Vite.

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии12

Переводы полей моделей Django + Vue

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров2.6K

Всем привет! Это вторая статья из цикла статей о разработке приложений в нашей компании. В первой статье я рассказал Вам про общую архитектуру некоторых наших проектов. В данной статье хочется описать наши варианты решения часто встречающихся задач в рамках Django + Vue приложения.

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии4

Причины говнокода во фронтенде. Мнение мимокрокодила

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров37K

Мне не раз попадались такие проекты, от кода которых берет оторопь. Такое чувство, что сами авторы не смогут объяснить - почему у них все выглядит именно так. В этот момент у меня возникает вопрос: как так получилось? Если вас он тоже волнует, то могу пожелать лишь приятного чтения.

Читать
Всего голосов 68: ↑56 и ↓12+53
Комментарии118

Строим свой SSO. Часть 4: Vue.js, Регистрация, Сброс пароля

Уровень сложностиСредний
Время на прочтение44 мин
Количество просмотров11K

Всем привет!
Мы продолжаем строить собственный SSO Server. Сегодня мы детально разберем Vue.js приложение, а также спроектируем и реализуем долгожданные механизмы регистрации и сброса пароля. Как всегда, дополнительно мы разберём ряд интересных общесистемных решений, которые наверняка Вам пригодятся в дальнейшем.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии8

Валидация формы с помощью AJV, Vue.js и TypeScript

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров2.3K

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

Читать далее
Всего голосов 3: ↑1 и ↓2+1
Комментарии0

Ближайшие события

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань

Обзор на новую CSS-in-JS либу от Facebook* – StyleX

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров12K

Недавно компания Facebook* (aka Meta**) выпустила в опенсорс собственную CSS-in-JS библиотеку под названием StyleX. По заявлениям разработчиков, она отлично подходит для больших проектов и ключевым ее преимуществом является перфоманс.

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

Читать далее
Всего голосов 12: ↑10 и ↓2+8
Комментарии81

Facebook выпустил новую CSS-in-JS библиотеку — StyleX

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров14K

Верней оформил 5 декабря 2023 года оформил для всех то, чем его разработчики пользуются уже давно. Позиционируется данный помощник для js-подобных фреймворков типа React, Preact, Solid, lit-html и Angular, однако оперирующие html шаблонами Vue и Svelte тоже могут задействовать StyleX, но после предварительной специальной её кастомизации.

Код в React в итоге выглядит примерно так:

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии23

Vue state management: Pinia stores или composables с глобальными рефами?

Время на прочтение2 мин
Количество просмотров6.7K

На Reddit прошла интересная дискуссия с 25К+ просмотрами по вопросу предпочтений разработчиков при необходимости управлять глобальным состоянием во Vue 3. Ниже её итоги.

Читать далее
Всего голосов 8: ↑5 и ↓3+3
Комментарии15

Как мы делаем проекты

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров5.1K

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

Читать далее
Всего голосов 6: ↑5 и ↓1+5
Комментарии3

История создания Оптимизатора для ПК: Nuxt.js, Electron и C++ в Одном Проекте

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров4.3K

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

Читать далее
Всего голосов 14: ↑1 и ↓13-12
Комментарии10

Google и Yandex SEO оптимизация для SPA приложений

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров6.3K

Google и Yandex утверждают, что что-то уже могут по индексированию SPA приложений. В статье показаны результаты проведенного эксперимента по индексации чистого SPA вебсайта.

Результат: Google - хорошо, Yandex - не очень

Читать далее
Всего голосов 6: ↑2 и ↓40
Комментарии11

TypeScript: infer и conditional types. Продвинутый TS на примерах

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров36K

Разбираемся, что же такое conditional types и как написать свои утилиты, такие как ReturnType, InstanceType, NonNullable и др., при помощи ключевых слов infer и extends.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии3