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
Volar
обнаружился вот такой popup.Напоминаем,
Volar
продолжают преследовать проблемы.Кстати, мейнтенер
Volar
Johnson Chu создал Insider edition проекта, доступ к которому только через платную подписку. Раньше бета-тестерам платили, теперь они должны платить...
#volar
На прошлой неделе у реактеров знатно подгорело, когда были проведены тесты сравнения скорости разных фреймворков в SSR режиме.
Эван тоже озадачился, что
#ssr #evanyou #benchmark #vuejs #nextjs #reactive
Next.js
отстал от чистого React
в 15 разЭван тоже озадачился, что
Vue
болтается где-то в серединке, и за пару дней нашел проблему с Node.js
и подготовил патч, который вывел Vue
на первое место.#ssr #evanyou #benchmark #vuejs #nextjs #reactive
HTML и CSS - языки программирования.
Доказано.
Пример мини-калькулятора, складывающего два числа, заданных в двоичном формате, на чистом HTML и CSS.
#css #html #pl
Доказано.
Пример мини-калькулятора, складывающего два числа, заданных в двоичном формате, на чистом HTML и CSS.
#css #html #pl
replit
CSS-is-PL
Run HTML, CSS, JS code live in your browser. Write and run code in 50+ languages online with Replit, a powerful IDE, compiler, & interpreter.
Сразу после выхода очередного релиза
- instant feedback
- .each test declaration
- test tree view
- coverage reporting
- better debugging support
- improved performance
Расширение было не очень популярно, и по сравнению с версией 0.5 было переписано с нуля.
#vitest #vscode
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
Bun
всячески пытается привлекать к себе пользователей, в том числе и такими приятными мелкими фишками, как комментарии в package.json
Стандарту
JSON5
(который включает комментарии) уже много лет, но он все никак не приживется.Инициатива
Bun
пытается адаптировать новый стандарт, но сломает запуск проекта в других js рантаймах и в других инструментах, что уже вызвало волну негатива сообщества.#bun #dx #json
Если у вас есть большая строка в JavaScript, и вы с помощью
Также утверждение, что конкатенация строк - дорогая операция, уже не соответствует действительности. Например, на массиве строк
будет медленней конкатенации через reduce:
Опять же из-за особенностей V8. Более того, конкатенация будет даже быстрее шаблонов строк (`
В целях оптимизации работы со строками следует избегать мутирующих операций.
#tip #js #optimization
slice()
вытаскиваете из нее подстроку, то эта подстрока не даст Garbage Collector-у уничтожить большую строку, даже если вы на нее больше не ссылаетесь. Это верно в V8, где подстрока оформляется как С++ указатель на нужное место в большой строке. В результате при обработке большого числа строковых данных могут происходить утечки памяти. Чтобы избежать этого можно делать копирование подстроки.Также утверждение, что конкатенация строк - дорогая операция, уже не соответствует действительности. Например, на массиве строк
.join(' ')
будет медленней конкатенации через reduce:
.reduce((acc, c) => acc + ' ' + c, '')
Опять же из-за особенностей V8. Более того, конкатенация будет даже быстрее шаблонов строк (`
Hello ${name}
`), хотя обычно учат обратному.В целях оптимизации работы со строками следует избегать мутирующих операций.
#tip #js #optimization
По запросу пользователя добавил в Vite плагине vite-plugin-html-injection возможность указывать, вставлять ли в
#oss #vite
index.html
тот или иной фрагмент кода в зависимости от режима билда (buildModes?: "dev" | "prod" | "both"
){
name: "Google analytics",
path: "./src/injections/ga.html",
type: "raw",
injectTo: "body",
buildModes: "prod",
},
#oss #vite
GitHub
GitHub - altrusl/vite-plugin-html-injection: Vite plugin for injecting html, js, css code snippets into index.html
Vite plugin for injecting html, js, css code snippets into index.html - altrusl/vite-plugin-html-injection
Яндекс вчера выкатил свою нейронку, от кринжа которой закачало весь Рунет
По слухам, запуск
Почти сразу критика нейронки перешла в критику всего Яндекса и его поиска, который явно продаёт верхние места.
На Хабре любую критику Яндекса чистят мгновенно.
#yandex
По слухам, запуск
Яндекс Нейро
нужен, чтобы поднять новый пакет акций компании на бирже. Старый пакет у владельцев с регистрацией в Нидерландах.Почти сразу критика нейронки перешла в критику всего Яндекса и его поиска, который явно продаёт верхние места.
На Хабре любую критику Яндекса чистят мгновенно.
#yandex
Платформа для разработки приложений Meteor.js решила использовать
Это интересно тем, что именно там работал Evan You, когда создавал
К счастью.
#vite #evanyou #meteorjs #vuejs #vitepress
Vite
. Также свою документацию они перевели на VitePress
Это интересно тем, что именно там работал Evan You, когда создавал
Vue
. Делать свой фреймворк он начал еще до трудоустройства в Meteor
, и это было одной из причин найма, однако компания далее решила не интегрировать Vue.js
в свои разработки. К счастью.
#vite #evanyou #meteorjs #vuejs #vitepress
Meteor
The full-stack JavaScript framework for real-time apps - Meteor.js
Meteor.js is an open source platform for building Web, Mobile, and Desktop applications.
Попались на глаза как-то исходники одного расширения к
Автор использует
Еще один пример использования
Вообще,
#reactivity
VS Code
.Автор использует
reactive, ref и watch
из Vue
, чтобы организовать в нём реактивность. UI
части нет.Еще один пример использования
Vue
реактивности в Node.js приложении.Вообще,
Reactivity API
как библиотека для удобного определения асинхронных связей между несколькими обычными переменными, обладает самостоятельным функционалом и может использоваться вне Vue.js
фреймворка и фронтенда в целом.#reactivity
GitHub
vscode-deepl/src/state.ts at main · soerenuhrbach/vscode-deepl
DeepL for Visual Studio Code. Contribute to soerenuhrbach/vscode-deepl development by creating an account on GitHub.
Несколько фактов о JavaScript
Интерпретированный язык
Код JavaScript выполняется браузером или движком JavaScript, а не компилируется в машинный язык. Это делает его легко переносимым на различные платформы. Современные движки, такие как V8, используют технологию Just-In-Time (JIT) для компиляции кода в непосредственно исполняемый машинный код.
Функция - гражданин первого сорта
В JavaScript функции рассматриваются как граждане первого класса, то есть их можно хранить в переменных, передавать в качестве аргументов другим функциям и возвращать из функций.
Динамическая типизация
JavaScript - слабо типизированный или динамический язык, то есть нам не нужно заранее объявлять тип переменной, и он может меняться во время выполнения.
Выполнение на стороне клиента
JavaScript поддерживает асинхронное программирование, позволяя таким операциям, как чтение файлов, HTTP-запросы или запросы к базам данных, выполняться в фоновом режиме и запускать обратные вызовы или промисы по завершении. Это особенно полезно в веб-разработке для повышения производительности и удобства работы пользователей.
ООП на основе прототипов
В отличие от объектно-ориентированных языков, основанных на классах, JavaScript использует прототипы для наследования. Это означает, что объекты могут наследовать свойства и методы от других объектов.
Автоматическая сборка мусора
Сборка мусора в JavaScript - это форма автоматического управления памятью. Основная цель сборки мусора - освободить память, занятую объектами, которые больше не используются программой, что помогает предотвратить утечки памяти и оптимизировать производительность приложения.
Сравнение с другими языками
JavaScript занимает особое место по сравнению с такими языками программирования, как Python или Java, поскольку он является одним из основных языков для веб-разработки.
В то время как Python известен хорошей читаемостью и универсальностью кода, а Java - своей структурой и надежностью, JavaScript - интерпретируемый язык, который запускается непосредственно в браузере без компиляции, что подчеркивает его гибкость и динамичность.
Связь с TypeScript
TypeScript является надмножеством JavaScript, что означает, что он расширяет JavaScript, добавляя в язык новые возможности, в первую очередь аннотации типов. Такая связь позволяет считать любой корректный JavaScript-код также корректным TypeScript-кодом.
Популярные фреймворки Javascript
React известен своей гибкостью и большим количеством плагинов, разработанных сообществом, а Vue - чистотой и интуитивностью, высокой степенью интеграции и отзывчивостью. Angular, с другой стороны, предлагает строгий набор спецификаций для разработки JS корпоративного уровня.
#js
Интерпретированный язык
Код JavaScript выполняется браузером или движком JavaScript, а не компилируется в машинный язык. Это делает его легко переносимым на различные платформы. Современные движки, такие как V8, используют технологию Just-In-Time (JIT) для компиляции кода в непосредственно исполняемый машинный код.
Функция - гражданин первого сорта
В JavaScript функции рассматриваются как граждане первого класса, то есть их можно хранить в переменных, передавать в качестве аргументов другим функциям и возвращать из функций.
Динамическая типизация
JavaScript - слабо типизированный или динамический язык, то есть нам не нужно заранее объявлять тип переменной, и он может меняться во время выполнения.
Выполнение на стороне клиента
JavaScript поддерживает асинхронное программирование, позволяя таким операциям, как чтение файлов, HTTP-запросы или запросы к базам данных, выполняться в фоновом режиме и запускать обратные вызовы или промисы по завершении. Это особенно полезно в веб-разработке для повышения производительности и удобства работы пользователей.
ООП на основе прототипов
В отличие от объектно-ориентированных языков, основанных на классах, JavaScript использует прототипы для наследования. Это означает, что объекты могут наследовать свойства и методы от других объектов.
Автоматическая сборка мусора
Сборка мусора в JavaScript - это форма автоматического управления памятью. Основная цель сборки мусора - освободить память, занятую объектами, которые больше не используются программой, что помогает предотвратить утечки памяти и оптимизировать производительность приложения.
Сравнение с другими языками
JavaScript занимает особое место по сравнению с такими языками программирования, как Python или Java, поскольку он является одним из основных языков для веб-разработки.
В то время как Python известен хорошей читаемостью и универсальностью кода, а Java - своей структурой и надежностью, JavaScript - интерпретируемый язык, который запускается непосредственно в браузере без компиляции, что подчеркивает его гибкость и динамичность.
Связь с TypeScript
TypeScript является надмножеством JavaScript, что означает, что он расширяет JavaScript, добавляя в язык новые возможности, в первую очередь аннотации типов. Такая связь позволяет считать любой корректный JavaScript-код также корректным TypeScript-кодом.
Популярные фреймворки Javascript
React известен своей гибкостью и большим количеством плагинов, разработанных сообществом, а Vue - чистотой и интуитивностью, высокой степенью интеграции и отзывчивостью. Angular, с другой стороны, предлагает строгий набор спецификаций для разработки JS корпоративного уровня.
#js