Насобирал себе веберов...
1.02K subscribers
17 photos
3 videos
38 links
Download Telegram
Prisma 5: Еще быстрее 🔥

Мажорное обновление Prisma привнесло мало чего нового ы плане функционала.
Была проведена огромная работа по улучшению перформанса, уменьшен бандлсайз, jsonProtocol включен по умолчанию, ускорен холодный запуск в 9 раз.

Интересно, что там у конкурентов. Drizzle, TypeORM... 🤔

Какую ORM используете Вы и почему?
Как создать favicon в 2023 году

Ранее я часто задавался вопросом о том, как правильно создавать и использовать favicon. Похоже, что до сих пор я не знаю, как это делается правильно, самое главное чтобы было кроссбраузерно 😁

В блоге Evil Martians есть информация о том, как создавать и использовать favicon правильно: https://evilmartians.com/chronicles/how-to-favicon-in-2021-six-files-that-fit-most-needs

- Для легаси браузеров используйте в корне сайта favicon.ico.
- Для устройств на Android используйте webmanifest с иконками размером 192x192 и 512x512.
- Оптимизируйте png и svg иконки с помощью инструментов svgo и Squoosh.
- Используйте svg иконку со светлой/темной версией для современных браузеров.
This media is not supported in your browser
VIEW IN TELEGRAM
Forwarded from Reatom новости (artalar)
🌈🌈🌈 https://www.reatom.dev

Мигрировали на https://starlight.astro.build !

- перф перф перф
- продуманный дизайн
- мобильная, планшетная, десктопная раскладки
- удобная навигация
- поиск по сайту!
Please open Telegram to view this post
VIEW IN TELEGRAM
NPM теперь имеет галочку верификации пакета, опубликованный через GitHub Actions.

https://github.blog/2023-04-19-introducing-npm-package-provenance/

Краткий гайд как добавить галочку [тык]:
- В package.json указать repository.url
- В GitHub Actions workflow указать env NPM_CONFIG_PROVENANCE: true и id-token: write в permissions
- Выставить версию Node.js 18
В create-vite было добавлено много новых темплейтов и парочка фреймворков.

Фреймворки:
- Solid
- Qwik

Добавился пункт Others, который включает в себя create-vite-extra и create-electron-vite темплейты.
Ну все, я закончил с переездом в новую хату, к завтрашнему дню уже буду подключен к глобальной сети интернет (полтора месяца ожидания), потом может быть подрублю стрим.

Многие тут не в курсе до сих пор где я, и почему канал пустовал больше месяца. Поэтому, предлагаю вам подписаться на мой Telegram форум «ТВИЧ КОРЫТО» (я пишу в топике VS_Code Web_Storm).

В ближайшую неделю планирую начать писать хоть какие-нибудь посты, на очереди разбор грядущих обновлений Vitest 1.0 и Vite 5.0.
Channel name was changed to «Насобирал себе веберов...»
До сих пор не придумал название для канала. Пускай пока будет так 😄
Пишите в комментариях, если есть идеи 🤔
Вышел Mantine 7.0 🎉

Из самого вкусного, то что теперь библиотека не зависит от emotion css-in-js, тем самым, это изменение повышает производительность, уменьшает размер js-бандла и позволяет использовать библиотеку в средах, где css-in-js не поддерживается, например, Next.js с App Router.

- Список изменений - https://mantine.dev/changelog/7-0-0
- Релиз на GitHub - https://github.com/mantinedev/mantine/releases/tag/7.0.0
Forwarded from zede code
Всем привет. Немного подпропал ибо происходило много всего интересного.

Но давайте по порядку:
1. Официально подтвердили мое участие в ufadevconf. Начинаю готовиться с докладом "JS которого нет", в котором буду обсуждать заблуждения и мифы вокруг языка JS, а так же как 1 язык существует сразу в нескольких реальностях.

2. Совершенно спонтанно из моей идеи сделать курс по вью и прогнать по нему 1 человека это превратилось в публичную серию лекций по ускоренному изучению Vue за 2 недели (ауф маркетинг XD). Принять участие в нем может любой и совершенно бесплатно, кто напишет мне в лс с просьбой в участии.

Как будет все происходить
1. Мы будем все собираться в районе 17-18 00 по мск на стриме (поэтому +- кто работает будет ок)
2. Будет лекция с вопросами/ответами на 1,5-2ч
3. Будет домашка чтоб быстро закрепить пройденное
4. Будем смотреть прошлую домашку либо по желанию, либо рандомно
5. На финалочку смотрим проект по реализацию real time чата с реактивностью, фильтрами и тп

Формат сугубо экспериментальный и стихийный от которого я сам не знаю чего ожидать, но контента должно точно хватить
На это время техностримы откладываются до завершения 2-ух недельного цикла
В обновлении Node.js 21.2.0 добавили __dirname для ESM. Он находится в import.meta.dirname, и там же import.meta.filename.

Кто не в курсе, раньше мы делали вот так 💀
import url from 'node:url'
import path from 'node:path'
const __dirname = path.dirname(url.fileURLToPath(import.meta.url))
Please open Telegram to view this post
VIEW IN TELEGRAM
Насобирал себе веберов...
В обновлении Node.js 21.2.0 добавили __dirname для ESM. Он находится в import.meta.dirname, и там же import.meta.filename. Кто не в курсе, раньше мы делали вот так 💀 import url from 'node:url' import path from 'node:path' const __dirname = path.dirname(…
Извините, что так долго не писал, был на минус морали 😔

Ну так вот, продолжаем продолжать.
Еще из интересного, теперь имеем navigator.platform и navigator.language 😲
Please open Telegram to view this post
VIEW IN TELEGRAM
Node.js single executable application

Мало кто в курсе, с недавних пор, Node.js экспериментально поддерживает компиляцию исполняемых приложений.

Из минусов сейчас имеем:
- Приложение с "Hello World" весит ~100MB ⚰️
- Работает только с CJS
- Проблема с внедрением внешних зависимостей (используйте esbuild, rollup, etc..)

Ознакомиться с примером можно тут: https://github.com/crashmax-dev/node-sea
Ссылка на документацию: https://nodejs.org/api/single-executable-applications.html
This media is not supported in your browser
VIEW IN TELEGRAM
proposal-array-grouping добрался до stage 4 🎉

const array = [1, 2, 3, 4, 5];

// `Object.groupBy` groups items by arbitrary key.
// In this case, we're grouping by even/odd keys
Object.groupBy(array, (num, index) => {
return num % 2 === 0 ? 'even': 'odd';
});
// => { odd: [1, 3, 5], even: [2, 4] }

// `Map.groupBy` returns items in a Map, and is useful for grouping
// using an object key.
const odd = { odd: true };
const even = { even: true };
Map.groupBy(array, (num, index) => {
return num % 2 === 0 ? even: odd;
});
// => Map { {odd: true}: [1, 3, 5], {even: true}: [2, 4] }
Please open Telegram to view this post
VIEW IN TELEGRAM
Astro 4.0

- Тулбар для отладки в браузере
- Интернационализации (i18n) теперь поддерживается в роутинге
- Поддержка View Transition API
- Переработан вывод ошибок
- Документация переехала на Starlight

В ближайшее время, сделаю пост про стак разработки, в составе которого, как раз будет Astro, на этом примере покажу какие есть фишки и особенности у данной платформы, а для начала нужно будет обновиться 😎
Please open Telegram to view this post
VIEW IN TELEGRAM
Насобирал себе веберов...
Solid.js в массы 🔥 Я эти мысли про Solid хотел написать еще раньше, но тут мне приглянулся интересный видос, сравнивающий концепцию React с Solid, также меня в последнее время сильно напрягает развитие React в сторону гибридных компонентов (RSC) и отказ от…
Тут оказывается вышла вторая бета фреймворка SolidStart 🎉

Очень сильно жду стабильного релиза, чтобы слезть с иглы Next.js, причина этому, как ни странно - React!

Пройдемся по технической части:
- Под капотом Nitro (авторы unjs, кто не понял) на котором работает Nuxt, и Vinxi. Всё это добро можно будет настраивать 😎
import { defineConfig } from "@solidjs/start/config";

export default defineConfig({
start: {
server: {
/* NITRO SETTINGS */
}
}
});


- Агностик роутер/метадата библиотеки будут работать в Solid/SolidStart, замечательное изменение для разработчиков библиотек, которые будут использовать эти зависимости в своих проектах (э - экосистема).

- Клиентский рендеринг, как и у других, через динамический импорт, тут ничего нового.
import { clientOnly } from "@solidjs/start"

const BigDataGrid = clientOnly(() => import("../BigDataGrid"));

function IsomorphicComp() {
return <BigDataGrid />
}


- Поддержка серверных функций. "use client" 🤡
async function callMeAnywhere(id: number) {
"use server";
const res = await db.findSomething({ where: { id } });
return res.data;
}


- Провели рефакторинг кодовой базы, значительно сократив количество строк кода с более чем 10 тысяч до примерно 1400 в 32 файлах вместо исходных 150.

Всех с наступающим новым годом, надеюсь не последний пост в этом году. ☕️

https://github.com/solidjs/solid-start/releases/tag/v0.4.0
Please open Telegram to view this post
VIEW IN TELEGRAM
Подборка TypeScript расширений для VS Code

Расширение для просмотра типов, представленные в виде иерархической структуры, с возможностью быстрого поиска и навигации: https://marketplace.visualstudio.com/items?itemName=mxsdev.typescript-explorer

Красиво выводит TS ошибки: https://marketplace.visualstudio.com/items?itemName=yoavbls.pretty-ts-errors

Новое расширение в моем арсенале, позволяет посмотреть тип в развернутом виде: https://marketplace.visualstudio.com/items?itemName=MylesMurphy.prettify-ts
Без расширения можно использовать лайфхак (вложенность не будет видно):
type A = { a: string }
type B = { b: string }
type C = A & B // A & B

type UnwrapType<T> = Omit<T, never>
type U = UnwrapType<C> // { a: string, b: string }


На этот раз последний пост в этом году, всех с наступающим! ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM