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

Contacts: @RuslanMakarov
Download Telegram
Полезный каталог Telegram групп по IT

@it_chats

#tip
Еще одна книжка с громким названием - Design patterns for Vue.js.

Автор - Lachlan Miller, член Vue team, контрибьютор во Vue.js, Vue Test Utils и Cypress

Платная, есть превью с двумя главами

#learning #book
С 1988 года 14 марта отмечается Международный день числа «Пи»
В 15 часов 9 минут 26 секунд

В связи с чем, один и тот же вопрос двум версиям ChatGPT - какая предпоследняя цифра в числе π?

#ai
Эван уже отписался по поводу нового AI Devin, который якобы решает 13% issues на GitHub

Devin не выходит за рамки того, что я себе представлял - и, честно говоря, он меня не впечатляет. Разработчик, который справляется со своими задачами лишь на 13%, - это обуза, а не актив.

Ну и надо заметить, что issues на GitHub бывают очень разные - и элементарные и хорошо сформулированные, и "туманные". Так же как и код, к которому они относятся.

#ai #evanyou
Сегодня день искусственного интеллекта

Обновления у Codeium - бесплатного AI помощника в качестве расширения для IDE.

1. Появился Codeium University (кликнуть иконку "i" справа вверху боковой панели). Подробная информация как работать с инструментом в виде удобной справки

2. Появилась возможность добавлять свои файлы, директории и даже GitHub репозитории в контекст (вкладка Context). По-прежнему по репозиториям есть React и Svelte, но нет Vue ((. Можно скачать и добавить как локальную директорию. В принципе, можно наверно так найти несколько качественных проектов на Vue и добавить в контекст как эталон.

#codeium #ai
Щупальца Vue протянулись к горлу Ангуляра - вышел Analog.js 1.0

Мета-фреймворк на Vite, Nitro, с File-based routing, SSR/SSG и вот таким SFC форматом:

<script lang="ts">
import { signal } from '@angular/core';

const count = signal(0);

function increment() {
count.update(total => ++total);
}
</script>

<template>
<h2>Hello Analog</h2>

Count: {{ count() }}

<button (click)="increment()">
Increment
</button>
</template>

<style>
h2 {
color: red;
}
</style>


Автор - Brandon Roberts, NgRx maintainer, Angular GDE

Осталось выпустить ReAnalog.js и затем смёржить все три ветки фронтенд фреймворков в одну главную - Vue

#angular #analogjs
Член Vite core команды Patak сообщил, что, возможно, некоторые опциональные возможности Rolldown могут появиться в Vite 6 (релиз ~октябрь/ноябрь). Rolldown по дефолту заменит esbuild, возможно, в Vite 7. А замена и esbuild, и Rollup планируется в Vite 8. На данный момент реальный ETA не определен.

Всё еще очень нескоро, короче.

#rolldown #vite
Microsoft, Amazon (и, вроде, Google) дали корпоративным клиентам из РФ три дня на чтоб собрать вещи с их облачных решений. Пока точно не понятно, кого именно это коснется, но если и у физлиц есть там данные - повод задуматься или хотя бы сделать бэкап на сторону.

#cloud
CSS свойство line-clamp позволяет ограничить текст определенным числом строк.

p {
width: 300px;
display: -webkit-box;
-webkit-line-clamp: 3;
overflow: hidden;
}


#tip #css
Если вы используете сторонние шрифты (например, Google Fonts), то подключать их лучше не в вашем CSS, а в index.html.

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

#fonts #css #tip
В январе я с удивлением смотрел, как число подписчиков канала достигло 200, сегодня уже 400.
Кажется, что это немного по сравнению с другими, но, имея возможность видеть статистику, могу сказать, что охват целевой аудитории одним постом здесь выше в среднем, чем в соседних чатах на 10К юзеров, и намного выше чем у статьи на Хабре в хабе "Vue.js", несмотря на их дутые "тысячи" просмотров.
Telegram действительно очень эффективный способ распространения информации.
Большой контрибьютор в экосистему Vue.js Anthony Fu опубликовал длинный пост о своем психическом здоровье, вызванным стрессом от ответственности за написанный им open-source код, от которого зависит уже много проектов и разработчиков.

Абсолютно с ним согласен. Поэтому твой open-source проект, который не взлетел, это великое благо. Потому что ты получил огромное эстетическое наслаждение от его создания, и не понес за это никакого наказания в виде необходимости его развивать и менять по запросам пользователей и выслушивания критики и нытья недовольных и конкурентов. Тщеславие только для дураков.

#antfu
Amazon недавно купила помещение для своего нового дата-центра в Пенсильвании.

Его отличительной особенностью является то, что вся энергия на сервера и охлаждение будет поступать от стоящей неподалеку 6-ой по размеру в США АЭС.

Мощность AWS дата-центра будет составлять до 1 гигаватта, что составляет 40% от мощности всей электростанции.

Захощенным в дата-центре приложениям можно использовать лэйбл: nuclear-powered

—-

Для справки:
- С мощностью 1ГВт можно обеспечивать электричеством город с населением 1 млн. человек.
- Примерно 40% энергии в дата-центрах уходит на систему охлаждения. Именно поэтому некоторые из них размещают в океанах.
- Все дата-центры потребляют примерно 1.5% мирового электричества.

- Всего в мире около 850 дата-центров. Половина из них находится в США.

#aws
CSS правило mask-image поможет наложить фоновую картинку на SVG изображение, позволяя создавать красивые эффекты на векторе

#css #tip #svg
У v-model есть полезные для input модификаторы:

    <!-- v-model with .lazy modifier -->
<input type="text" v-model.lazy="lazyValue" placeholder="Lazy input" />
<p>Lazy value: {{ lazyValue }}</p>

<!-- v-model with .number modifier -->
<input type="number" v-model.number="numberValue" placeholder="Number input" />
<p>Number value: {{ numberValue }}</p>

<!-- v-model with .trim modifier -->
<input type="text" v-model.trim="trimmedValue" placeholder="Trimmed input" />
<p>Trimmed value: {{ trimmedValue }}</p>


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

#input #modifiers #tip
Когда делаешь аккордеон или выпадающее меню (dropdown) на CSS, возникают проблемы из-за невозможности использовать height: auto;. В результате приходится задействовать JavaScript для приемлемой анимации.

В то же время элегантное решение на чистом CSS существует и использует grid-template-rows:

<div class="content">
<div class="inside">
Totally arbitrary content!
</div>
</div>


.content {
display: grid;
grid-template-rows: 0fr;
transition: 1s;
overflow: hidden;
}
.content .inside {
min-height: 0;
}
.content.expanded {
grid-template-rows: 1fr;
}


Песочница

#tip #css #accordion
Мир был более безмятежным, когда существовали только HTML, CSS, JavaScript и jQuery. (с)

#quote
Node.js решила не тормозить и включиться в гонку на скорость с остальными JS движками.

Переписывают весь node:fs пакет на C++

Именно работа с файловой системой является бутылочным горлышком.

#nodejs