Vue-FAQ
936 subscribers
571 photos
91 videos
562 links
Канал сайта https://vue-faq.org
Информация о Vue.js, фронтенд разработке и не только

Contacts: @RuslanMakarov
Download Telegram
Фронтендером нынче быть накладно...

FrontendConf

#conf #event
🤯21👎9😐2
К Дурову можно по-разному относиться, но людей, у которых руки растут не из жопы, он умеет находить

Chrome DevTools -> Memory -> Total JS heap size

#benchmark #telegram #nuxt

Web WhatsApp - 170MB
Slack - 125MB
VK.com - 120MB
Dzen.ru - 70MB
Nuxt.com - 40MB
Google Calendar - 40MB
Google.com (пустой) - 30MB
Web Telegram - 25MB
Vuejs.org, vue-faq.org - 5-10MB
👍25
This media is not supported in your browser
VIEW IN TELEGRAM
Этого человека убили сразу после интервью

Жуткая правда о js мета-фреймворках...

#video #vercel
👍6🤡1🗿1
Vue-FAQ
Этого человека убили сразу после интервью Жуткая правда о js мета-фреймворках... #video #vercel
Кратко, о чем нам поведал безвременно ушедший

В мире фронтед мета-фреймворков крутятся огромные деньги в виде рекламы, спонсорства и донатов - сотни миллионов долларов. Деньги просто так никто давать не будет. Смысл в том, чтобы втянуть молодых (18-20 лет) разработчиков в работу на этих фреймворках, чтобы потом стричь деньги со стартапов и компаний, которые будут нанимать подобных разработчиков, потому что размещать эти проекты будут на платформах типа Vercel, стоимость хостинга на которой в тысячи раз больше обычного хостинга.

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

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

В частности, следствием этого является, также, многолетняя ложь, что SEO без SSR невозможно, что Web Vitals с ними лучше и прочая маркетинговая ахинея.

Так что Nuxt, ребята, это не про свободу open source-а и лучшие практики.

Лучшие практики - это когда ты как пастушок с дудочкой пасешь коровок на экологически чистых горных альпийских лугах.

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

#nuxt #verсel #ssr
👍9💯4🤡1
Поставил рекламируемый AI IDE Cursor , задал одинаковый вопрос "increase fom=те size in vs code" ему и Codeium. Последний однозначно выиграл с комбинацией клавиш.

Это Cursor с gpt-4o. При переключении на claude-3.5-sonnet (он позволяет выбирать LLM) про клавиши сказал, про settings.json забыл.


Попробовал более кодерский промпт: "add new view "TestView.vue" with corresponding route"

Оба справились более-менее. Cursor пишет код детальней, по шагам, даже чересчур. Основной плюс - есть подсветка в коде во Vue файлах. Но пока не видно, чем он ощутимо лучше Codeium.

Тестировались бесплатные версии.
Продолжаем наблюдение.

#ai #codeium #cursor
👍4
Средняя школа в Аризоне, США

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

#math #learning
😱9🤣6🤡2😁1🥴1
Vue-FAQ
Поставил рекламируемый AI IDE Cursor , задал одинаковый вопрос "increase fom=те size in vs code" ему и Codeium. Последний однозначно выиграл с комбинацией клавиш. Это Cursor с gpt-4o. При переключении на claude-3.5-sonnet (он позволяет выбирать LLM) про…
Погорячился я с выводами, Cursor действительно нечто иное.
Особенно его Composer - он может сам изменять разные файлы в проекте. Не сказать, чтобы прям за тебя всё кодит и думать не надо, но помогает неплохо.

Например, жмешь Ctrl+I , пишешь: @Codebase улучши стили BaseButton

Конечно, давайте улучшим стили для компонента BaseButton. Вот обновленный код с улучшенными стилями:

Основные изменения и улучшения:
- Добавлены новые пропсы: type для разных стилей кнопок и size для разных размеров.
- Добавлен проп disabled для отключения кнопки.
- Улучшена структура CSS с использованием классов для типов и размеров.
- Использованы переменные цветов из вашей темы для согласованности с общим дизайном.
- Добавлены эффекты при наведении и фокусировке для улучшения пользовательского опыта.
- Улучшена доступность с помощью стилей для :focus-visible.
- Добавлены стили для отключенного состояния кнопки.
- Эти изменения сделают ваш BaseButton компонент более гибким и соответствующим современным стандартам дизайна пользовательского интерфейса. Теперь вы можете использовать кнопку с разными типами и размерами, например:

<BaseButton type="primary" size="large">Большая основная кнопка</BaseButton>
<BaseButton type="secondary" size="medium">Средняя вторичная кнопка</BaseButton>
<BaseButton type="text" size="small">Маленькая текстовая кнопка</BaseButton>

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


Жмешь Accept All и всё. На сохраненном времени одной этой генерации он отрабатывает свою месячную зарплату на Pro тарифе.

Хотя, type у HTML button - зарезервированный атрибут, и тут он неудачно сделал. Так что, ползарплаты.

Интеграций с Вебштормом и другими IDE с закрытым кодом, скорей всего, не будет, потому что их Plugin API вряд ли позволяет так глубоко интегрироваться.

#ai #cursor
👍9
Анимацию в вебе обычно делают с помощью CSS (keyframes) или JavaScripts.

С появлением математических CSS функций таких как round(), mod(), sin() появился третий способ, сочетающий в себе плюсы обоих подходов

Здесь подробнее

#css #animation
👍2
Интересный сайт, рассказывающий как писать современные веб приложения на чистом JS, CSS и HTML

plainvanillaweb.com

#js #webcomponents
👍5
Судя по постоянным визитам Дурова в Россию в последние годы, явно не проведать бабушку, и его хорошим отношениям с Макроном, всё это похоже на среднего качества поставленный спектакль по "демилитаризации" Telegram и перехода его под юрисдикцию западных спецслужб.

#telegram #durov
🤡19💯8🥴2😁1🤮1💩1🖕1
Мой Vite плагин vite-plugin-html-injection потихоньку набирает популярность

Предназначен для вставки статичных фрагментов кода (типа аналитики, SW, open graph, splash screen) в index.html во время сборки, чтобы избежать захламления этого файла в проекте и разделить код по предназначению.

Имеет режимы вставки в dev, prod и оба. Поддерживает hot-reload при работе с dev сервером.

#vite #lib
👍40🔥3
Вышел Rspack v1.0. Первая стабильная версия.

Совместим с webpack API, но написан на Rust и поэтому быстрей. Поддерживает экосистему unplugin.

Кто пробовал, отпишитесь в комментариях об опыте.

#rspack #webpack #vite
👍1
Интересное сравнение различных AI чатботов для разработки

С одним из победителей - perplexity.ai - я немного поиграл, и он лучше всех дал ответ на следующий вопрос:

Когда во Vue 3 script setup лучше вызывать функцию загрузки данных с бэкенд API - в script setup или в onMounted()?


Упомянул задержку в рендеринге компонента при вызове из script setup

Таблица

#ai
👍5
В последнее время часто пишу про AI, потому что всё-таки сделал ту волшебную кнопку.

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

#ai
👍16
О-очень актуально в разработке ПО

#meme
👍1
Если кто хочет помочь закончить портировать реактовские Radix UI Primitives на Vue 3 - вам сюда. Большая часть компонентов уже сделана.

Чем плох известный порт Radix-Vue автор проекта рассказал здесь

#ui #lib
Поставил Firebase Authentication на сайт (логин через Google, Apple и т.д.)

Бандл был 200Кб, стал 400Кб...

wtf%№?:;*"(;?;*!!!!!

AI бот предлагает другие варианты, но уверяет, что они хуже.

Кто как делает?

#firebase #auth #optimization
Тут в чате спросили - нужно ли фронтендеру знать Docker?

Имеется в виду, по собственному желанию, а не когда тебе его навязывают в уже готовом проекте. Лично я его не использую, несмотря на то, что full-stack и devops. Просто нет надобности. Как-то начал считать - а может дешевле свои проекты хостить как контейнеры? Да нет, лучше сервер купить и быть на нем полным хозяином. Хотя могу представить, что есть ситуации, когда он действительно упрощает жизнь.

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

А в интернете послушать, так это очередной мастхев для любого магазина "У дяди Васи".

Давайте, вообще, посчитаем нагрузку на средний сайт. Возьмем какой-нибудь Озон. По статистике 2023 года у него 46 миллионов активных пользователей, делающих в год в среднем 20 заказов. Это 30 заказов в секунду.

Допустим для создания одного заказа надо провести на сайте 1 час. Получаем, на сайте одновременно висит около 10000 человек.

Допустим, на бэкенд API за данными при этом отправляется в среднем 1 запрос в 2 секунды. Итого 5000 запросов в секунду.

Если руки разработчиков растут из нужного места, 95%-99% этих запросов (каталоги, информация о товаре, отзывы и т.п.) - кэшируются на каком-нибудь Redis, который на 1 CPU с достаточным количеством RAM спокойно держит десятки и сотни тысяч запросов в секунду, поэтому их просто можно не учитывать. Итого остается 200-300 в секунду уже нормальных запросов на бэк и БД.

Самое ресурсозатратное при этом - база данных. Сколько тянет PostgreSQL на бюджетном железе? Десятки тысяч запросов в секунду простых селектов, тысячи инсертов и сложных джойнов с временными таблицами. А в Озоне поиск (самое тяжелое) наверняка не по %LIKE% происходит, а по заранее построенным индексам тоже в каком-нибудь memory-based хранилище.

Немного упрощенно, но многие ли строят системы уровня Озон-а?

Ну и зачем дяде Васе нужен Kubernetes?

#highload #docker #k8s
👍14👎63