Мир сегодня с "Юрий Подоляка"
Мир сегодня с "Юрий Подоляка"
Труха⚡️Україна
Труха⚡️Україна
Николаевский Ванёк
Николаевский Ванёк
Труха⚡️Україна
Труха⚡️Україна
Николаевский Ванёк
Николаевский Ванёк
Лёха в Short’ах Long’ует
Лёха в Short’ах Long’ует
kravets b.log(); avatar
kravets b.log();
kravets b.log(); avatar
kravets b.log();
Date range
Number of views

Citations

Posts
Hide reposts
23.02.202513:32
https://docs.docker.com/desktop/features/gordon/

А вы уже используете докер эйай?

> docker ai 'How do I run redis?'
24.05.202409:41
Почему реакт идёт куда-то не туда pt2

- React Server Components(RSC)
- React Compiler(RC) вы тута

RC - это "штука, которая позволяет упрощать ваш код, так как вам больше не нужно думать о мемоизации", как продаёт нам это решение команда реакта. Причём продаёт агрессивно. Этот продукт настолько хорош, что ребята из команды реакта ходят(https://github.com/bluesky-social/social-app/pull/4161) по репозиториям и сами внедряют его. Весьма красноречиво, не так ли?
Давайте глянем на реализацию RC. Если вы заглянете в исходники, то увидите, что ребята решили не переиспользовать уже текущие решения на рынке, а попросту написать всё своё: парсер, систему типов и логику мемоизации. Ни одно из решений, которое уже есть на рынке не было переиспользовано. К примеру, они могли бы хотя бы воспользоваться тайпскриптом, который уже давно протестирован сообществом. А это значит только одно: мы будем иметь максимальное количество магии и перестанем вовсе понимать что происходит в собранном коде.

Другая весёлая проблема: ваш итоговый код становится ещё больше. Но это же не проблема, правда? У нас же есть RSC, да? Теперь реакт - это анти-svelte. Если тот с помощью компиляции делает небольшие приложения, то RC делает толсто, но быстро(спорно).
Третье: наш код теперь не является отражением того что в реальности будет выполняться. Если в ангуляре и вью вся компиляторная магия происходит только в одном месте: в компиляции шаблонов, которые не являются кодом, то команда реакта решила собирать js.
Далее: RSC приоткрыло нам дыру в ад метапрограммирования своим "use server". Но теперь нас ничего не останавливает, поэтому RC добавляет ещё одну подобную директиву: "use no memo".

И самое печальное, что реакт своим компилятором не решает проблему ререндеров - пропы при изменении всё равно вызывают ререндер всего поддерева компонентов. И вместо решения проблемы как точечно обновлять DOM, как это делает, к примеру vue/angular/preact/svelte/lit/да_кто_угодно_кроме_реакта благодаря наличию реактивности, мы имеем монстоузное решение, которое просто позволяет разрабам не писать useMemo(sic!). А вот useEvent, который делает часть пропов стабильными, мы, конечно, вводить не будем(https://github.com/reactjs/rfcs/blob/useevent/text/0000-useevent.md).

Кстати, не удивлюсь, если в будущем мы будем иметь библиотеки, которые не будут попросту работать без RC. Люди же любят делать решения без сборки, ага.

В итоге, RC показывает, что фейсбук живёт в каком-то своём мире, который максимально оторван от реальности. Написать собственный язык, чтобы не писать useMemo - это прямо удивительное расходование ресурсов. Как раз по той причине, что это маскировка проблемы, а не её решение.
Shown 1 - 2 of 2
Log in to unlock more functionality.