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

Contacts: @RuslanMakarov
Download Telegram
Зачем оно - непонятно, но оно есть.
CSS свойство text-emphasis

p {
text-emphasis: '😕';
}


#css
Предложение добавить Signals в JavaScript перешло в Stage 1 процесса комитета TC39
Это означает, что члены комитета соблаговолили взглянуть на пропозал. Заняло это у них 8 месяцев.

Signals - аналог реактивных переменных и операций над ними (computed, watcher) во Vue 3, только сильно урезанный по сравнению с Reactivity API. Evan You говорил, что если они появятся в языке, реактивность Vue может быть переписана на них.

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

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

#signals #reactive #js
This media is not supported in your browser
VIEW IN TELEGRAM
Мудрые мысли в конце рабочей недели

#humor #video
Интересное исследование по производительности CSS в scoped областях в браузерах.

Vue использует HTML уникальные атрибуты для обозначения скоупа, Svelte - классы. В статье показаны результаты бенчмарков для различных вариантов скоупинга. Конкретно сравнение подходов разных фреймворков - в самом конце.

Выводы: Shadow DOM самый быстрый, подход Vue с data-v- атрибутом тоже вполне эффективен

#css #benchmark
Субботний оффтоп

Сегодня впервые пришло письмо счастья.
Читая, вспомнил потрясающую серию из "Черного зеркала" по теме.

Как большой фанат "Black mirror" и "Westworld" решил поискать что-то подобное через специализированные AI сервисы. Не помню уже, что использовал, но оно помогло!

"Electric dreams", "Humans" и "Altered carbon" оказались отличными малоизвестными сериалами с провальным рейтингом, из-за которого два из них просто бросили снимать на середине.

#movie #ai #offtop
Volar-у надоело масштабироваться вертикально, он полез горизонтально.

Из-за бага в VSCode (как утверждает Johnson Chu) в расширениях редактора теперь два Vue-Official (ext:Vue.volar). Один - последний 2.0.12 с 60 тысячами скачиваний, другой - 2.0.10 с 7 миллионами скачиваний. Нужен 2.0.12.
Изменить имя, и потерять всю историю...

Также последняя версия хочет, чтобы у вас была достаточно свежая версия VS Code, иначе она превращается в 1.8.27.

#volar #vscode
PageRank - метрика, введенная Google в 2000 года для ранжирования вебсайтов путем подсчета количества и качества внешних ссылок на их страницы.

В 2016 году сервис PageRank был закрыт для предотвращения спекуляций и мошенничества. Сейчас маркетинговые компании вычисляют рейтинги самостоятельно.

Инициатива OpenPageRank была создана для публичной замены Google PageRank. Раз в несколько месяцев они обрабатывают массив из свыше трех миллиардов вебстраниц и обновляют свой рейтинг.

15 марта 2024 года vue-faq.org вошел в top 500K. Для сравнения приведены рейтинги некоторых других сайтов (result.school - школа Минина)

#pagerank #vuefaq #google
У нового Volar обнаружился вот такой popup.

Напоминаем, Volar продолжают преследовать проблемы.

Кстати, мейнтенер Volar Johnson Chu создал Insider edition проекта, доступ к которому только через платную подписку.

Раньше бета-тестерам платили, теперь они должны платить...

#volar
На прошлой неделе у реактеров знатно подгорело, когда были проведены тесты сравнения скорости разных фреймворков в SSR режиме. Next.js отстал от чистого React в 15 раз

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

#ssr #evanyou #benchmark #vuejs #nextjs #reactive
HTML и CSS - языки программирования.

Доказано.

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

#css #html #pl
Сразу после выхода очередного релиза Vitest 1.5.0, вышла новая версия Vitest VS Code extension 0.6. Из нового:

- instant feedback
- .each test declaration
- test tree view
- coverage reporting
- better debugging support
- improved performance

Расширение было не очень популярно, и по сравнению с версией 0.5 было переписано с нуля.

#vitest #vscode
Вышла новая мажорная версия NPM пакетного менеджера PNPM 9.0

Самый удобный менеджер, если у вас проект без изысков типа module federation.

#pnpm #npm #nodejs
Bun всячески пытается привлекать к себе пользователей, в том числе и такими приятными мелкими фишками, как комментарии в package.json

Стандарту JSON5 (который включает комментарии) уже много лет, но он все никак не приживется.

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

#bun #dx #json
Если у вас есть большая строка в JavaScript, и вы с помощью slice() вытаскиваете из нее подстроку, то эта подстрока не даст Garbage Collector-у уничтожить большую строку, даже если вы на нее больше не ссылаетесь. Это верно в V8, где подстрока оформляется как С++ указатель на нужное место в большой строке. В результате при обработке большого числа строковых данных могут происходить утечки памяти. Чтобы избежать этого можно делать копирование подстроки.

Также утверждение, что конкатенация строк - дорогая операция, уже не соответствует действительности. Например, на массиве строк

.join(' ')


будет медленней конкатенации через reduce:

.reduce((acc, c) => acc + ' ' + c, '')


Опять же из-за особенностей V8. Более того, конкатенация будет даже быстрее шаблонов строк (`Hello ${name}`), хотя обычно учат обратному.

В целях оптимизации работы со строками следует избегать мутирующих операций.

#tip #js #optimization
По запросу пользователя добавил в Vite плагине vite-plugin-html-injection возможность указывать, вставлять ли в index.html тот или иной фрагмент кода в зависимости от режима билда (buildModes?: "dev" | "prod" | "both")

{
name: "Google analytics",
path: "./src/injections/ga.html",
type: "raw",
injectTo: "body",
buildModes: "prod",
},


#oss #vite
Яндекс вчера выкатил свою нейронку, от кринжа которой закачало весь Рунет

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

Почти сразу критика нейронки перешла в критику всего Яндекса и его поиска, который явно продаёт верхние места.

На Хабре любую критику Яндекса чистят мгновенно.

#yandex