В чате
Попросил привести пример в случае, если
Возможно, конечно, но две строчки
Когда мне надо в проекте сделать свой небольшой
Да, это нельзя
#css
vuejs_ru
вчера прошла короткая дискуссия о вредности и ненужности :deep()
. Типа его можно заменить на установление путем JS
в 2 строчки класса на внутреннем компоненте.Попросил привести пример в случае, если
container query
во внешнем компоненте меняет flex-direction
во внутреннем - абсолютно реальный use-case.Возможно, конечно, но две строчки
CSS
превращаются в кучу громоздкого уродливого JS
с огромными потерями в производительности.:deep()
- это инструмент, пользоваться им надо умело, и не будет никаких проблем. Если ты постоянно пытаешься, ограничивая инструментарий, сделать защиту от дурака, то ты этих дураков и плодишь.CSS
- это уровень представления вашего приложения, его функционал давно выходит за пределы только простенькой адаптивности, анимации и цветовых тем. В CSS
тоже есть логика, и перекладывать её работу на JS
нецелесообразно.
CSS
всегда на порядки быстрей JS
в браузерах. И поэтому использование JS
вместо CSS
как минимум очень сильно бьет по производительности, да еще и замусоривает скриптовую секцию вашего SFC
.Когда мне надо в проекте сделать свой небольшой
UI kit
, я обычно size=large
в BaseButton
передаю не пропсом, а CSS
классом. Потому что эта штука принадлежит именно уровню представления - то есть, CSS
. И потому что приложение так будет работать быстрее, а SFC
получается проще, чище и понятней.Да, это нельзя
TS
типизировать для получения подсказочек в IDE
. Но мир не сошел с ума на этих подсказках, кому-то надо просто писать производительные читабельные приложения, и заглядывание во внутреннюю документацию или исходник компонента вполне решает проблему подсказок.TS
для разработчика, а не разработчик для TS
.#css
Немного про авторизацию в Наксте
https://soubiran.dev/posts/nuxt-going-full-stack-how-to-handle-authorization
https://soubiran.dev/posts/nuxt-going-full-stack-how-to-handle-authorization
Estéban Soubiran
Nuxt Going Full-Stack: How to Handle Authorization? - Estéban Soubiran
Secure your Nuxt app with advanced authorization techniques. Learn to restrict unauthorized access and safeguard sensitive data seamlessly.
https://masteringnuxt.com/blog/controlling-when-components-are-loaded-in-nuxt?friend=MOKKAPPS
Контролируем загрузку компонентов в Наксте ребятушки
Контролируем загрузку компонентов в Наксте ребятушки
Masteringnuxt
Controlling When Components are Loaded in Nuxt
Explore how to optimize your Nuxt app’s performance by controlling when components load. Learn about lazy components, prefetching, and making components asynchronous to enhance user experience and reduce initial load times.
Допустим видео, простихоспаде
Создаём сайт на Vue.js, Nuxt Studio, Nuxt Content, and Nuxt UI
https://www.youtube.com/watch?v=llnFaQqEM8E&ab_channel=ThisDotMedia
Создаём сайт на Vue.js, Nuxt Studio, Nuxt Content, and Nuxt UI
https://www.youtube.com/watch?v=llnFaQqEM8E&ab_channel=ThisDotMedia
YouTube
Create a site with Vue.js, Nuxt Studio, Nuxt Content, and Nuxt UI!
In this JS Drop, Simone is joined by Ferdinand and Baptiste from Nuxt Labs to explore the latest updates in the Nuxt ecosystem. Ferdinand kicks off with an introduction to Nuxt Labs and its dual mission of supporting the open-source Nuxt framework while building…
Вышел TypeScript 5.7 🔥
— Поддержка
— Проверки для никогда не инициализируемых переменных
— Переписывание путей для относительных маршрутов
— Поиск файлов конфигурации предков на предмет владения проектом
— Ускоренная проверка владения проектом в редакторах для composite проектов
— Проверенный импорт JSON в
— Поддержка кэширования компиляции V8 в Node.js
— TypedArrays теперь Generic над ArrayBufferLike
— Создание индексных подписей из нелитеральных имен методов в классах
и куча ещё всякого!
https://habr.com/ru/articles/861126/
— Поддержка
--target es2024
и --lib es2024
— Проверки для никогда не инициализируемых переменных
— Переписывание путей для относительных маршрутов
— Поиск файлов конфигурации предков на предмет владения проектом
— Ускоренная проверка владения проектом в редакторах для composite проектов
— Проверенный импорт JSON в
--module nodenext
— Поддержка кэширования компиляции V8 в Node.js
— TypedArrays теперь Generic над ArrayBufferLike
— Создание индексных подписей из нелитеральных имен методов в классах
и куча ещё всякого!
https://habr.com/ru/articles/861126/
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Вышел TypeScript 5.7
Эта статья — перевод оригинальной статьи « Announcing TypeScript 5.7 » Также я веду телеграм канал « Frontend по‑флотски », где рассказываю про интересные вещи из мира разработки...
Автор русского перевода документации
#vite #i18n
VitePress
перевел и Vite
документацию и просит сделать ревью его PR , чтобы его пропустили.#vite #i18n
GitHub
feat: add Russian translation by dragomano · Pull Request #18684 · vitejs/vite
Description
Add Russian translation for the docs site
Repository: https://github.com/dragomano/vite-docs
Preview: https://dragomano.github.io/vite-docs/
Add Russian translation for the docs site
Repository: https://github.com/dragomano/vite-docs
Preview: https://dragomano.github.io/vite-docs/
This media is not supported in your browser
VIEW IN TELEGRAM
#заметка дня
Сегодня немного о том, как же хорошо иметь отклик аудитории в соцсетях.
Некто Бен Дикен (ну как, некто, его статью по B-деревьям и индексам в базах данных мы недавно читали) решил хайпануть на теме производительности разных языков и сред. Ну, на синтетических тестах, если уж совсем точно.
И выкатил видео, на котором тупо визуализировал результат выполнения 1 миллиарда итераций вложенных циклов: https://benjdd.com/loops/
Ну, условно, вот такой код:
Если коротко, то получилось, что JS в Node.js в 30 раз медленнее, чем C, скомпилированный в gcc с -O1 (минимальной оптимизацией).
Ох, как же его начали макать... Опустим очевидные моменты вроде тех, что никому в реальной жизни не интересно, как там миллиард циклов выполнится. Что гораздо интереснее — это как всё улучшить.
Как оказалось, улучшать есть что! На иллюстрации к посту вы видите результат коллективной работы большого числа людей. Как видим, JS лишь в 2-2.5 раза медленнее: https://benjdd.com/languages/
Как так вышло? Очень просто: know your tools.
Например, прям из простейшего: если в JS создать массив как new Array(10000), он будет заполнен мусором и готов будет принимать в себя любые типы элементов. А если new Array(10000).fill(0) — движок оптимизирует код под работу с целыми числами. И буст будет просто огромный.
Вот вам и динамический язык, кто бы мог подумать. Дальше — больше (
В общем, и обсуждение оригинального поста и обсуждение результата коллективной работы стоят вашего внимания.
Особенно если вы собираетесь вложенные циклы миллиардами итераций выполнять.
#performance #test
Сегодня немного о том, как же хорошо иметь отклик аудитории в соцсетях.
Некто Бен Дикен (ну как, некто, его статью по B-деревьям и индексам в базах данных мы недавно читали) решил хайпануть на теме производительности разных языков и сред. Ну, на синтетических тестах, если уж совсем точно.
И выкатил видео, на котором тупо визуализировал результат выполнения 1 миллиарда итераций вложенных циклов: https://benjdd.com/loops/
Ну, условно, вот такой код:
let array = new Array(10000);
for (let i = 0; i < 10000; i++) {
for (let j = 0; j < 100000; j++) {
array[i] = array[i] + j;
}
}
Если коротко, то получилось, что JS в Node.js в 30 раз медленнее, чем C, скомпилированный в gcc с -O1 (минимальной оптимизацией).
Ох, как же его начали макать... Опустим очевидные моменты вроде тех, что никому в реальной жизни не интересно, как там миллиард циклов выполнится. Что гораздо интереснее — это как всё улучшить.
Как оказалось, улучшать есть что! На иллюстрации к посту вы видите результат коллективной работы большого числа людей. Как видим, JS лишь в 2-2.5 раза медленнее: https://benjdd.com/languages/
Как так вышло? Очень просто: know your tools.
Например, прям из простейшего: если в JS создать массив как new Array(10000), он будет заполнен мусором и готов будет принимать в себя любые типы элементов. А если new Array(10000).fill(0) — движок оптимизирует код под работу с целыми числами. И буст будет просто огромный.
Вот вам и динамический язык, кто бы мог подумать. Дальше — больше (
new Int32Array(10000)
, например).В общем, и обсуждение оригинального поста и обсуждение результата коллективной работы стоят вашего внимания.
Особенно если вы собираетесь вложенные циклы миллиардами итераций выполнять.
#performance #test
The State of Vue.js Report 2025 - Developer Survey
https://docs.google.com/forms/d/e/1FAIpQLSc6QQQ14ZuE4akaTZAkqOAMUSGjXVjKS-KuVu2eZ448jzK1Nw/viewform
https://docs.google.com/forms/d/e/1FAIpQLSc6QQQ14ZuE4akaTZAkqOAMUSGjXVjKS-KuVu2eZ448jzK1Nw/viewform
Наткнулся на весьма интересное видео в рекомендациях. Ни с Vue, ни с Nuxt'ом это не связано (хотя косвенно - да), но очень советую к просмотру!)
https://www.youtube.com/watch?v=BfYcYsUAcdk
https://www.youtube.com/watch?v=BfYcYsUAcdk
YouTube
JavaScript расколется на 2 языка! Что происходит?!
Cloud․ru — провайдер облачных сервисов и AI-технологий, который делает доступ к облакам и ИИ простым и удобным.
В Cloud․ru есть 100+ IaaS- и PaaS-сервисов, ML-платформа на базе суперкомпьютеров и публичное облако Cloud․ru Evolution на основе собственных…
В Cloud․ru есть 100+ IaaS- и PaaS-сервисов, ML-платформа на базе суперкомпьютеров и публичное облако Cloud․ru Evolution на основе собственных…
Ну что, смотрим результаты State of JS 2024
https://2024.stateofjs.com/ru-RU/
https://2024.stateofjs.com/ru-RU/
Stateofjs
State of JavaScript 2024
The 2024 edition of the annual survey about the latest trends in the JavaScript ecosystem.