Forwarded from Валя читает ишью
React Forget Status Update
React Forget презентовали почти 2 года назад , но с тех пор про него ничего не было слышно.
На столько ничего, что на реддите даже появился пост Did the React team forget the React Forget compiler? в который пришёл один из разработчиков и рассказал в чём сложность разработки и почему это занимает столько времени.
Он же выступил пару недель назад на React India с докладом Statically analysing react components for fun and profit, в котором чуть подробней рассказал тоже самое, что и на реддите.
А два дня назад ещё двое ребят выступили на React Advanced. И вот этот доклад прям интересный!
Во-первых, показали как выглядит внутренний playground для разработки (что-то в духе бабеля и тайпскрипта). Т.е. React Forget действительно существует и работает.
Во-вторых, поделились опытом использования в Quest Store (приложение для VR-шлема):
— смена табов стала работать на 150% быстрее
— загрузка страницы на 4-12% быстрее
— показали на сколько ре-рендер приложения становится эффективне (см. скрины)
В-третьих, рассказали, что react forget обкатывают и в инстаграме. Т.к. это веб, то здесь появлется вопросы производительности, на которые сейчас ищут ответы:
— в результате компиляции кода становится больше, как это сказывается на старте приложения? Как сильно? На сколько этим можно пожертвовать?
— из-за повсеместной мемоизации увеличивается потребление памяти. Как с этим справляются дешевые андроид смартфоны?
В-четвёртых, немного прояснили таймлайн разработки:
1. Proof of concept
2. Работающий компайлер (в большинстве случаев)
3. Тестирование в нескольких продуктах — мы сейчас находимся здесь
4. Релиз во всех продуктах Meta
5. Публичный релиз
В-пятых, подтвердили что ультимативная цель — избавиться от всех API с мемоизацией: useMemo, memo, useCallback.
В-шестых, рассказали, что сейчас React Forget существует в качестве Babel плагина, но потенциально его будет легко (или не очень) перенести на другие инструменты.
P.S. Fun fact: пост про React Forget самый популярный в канале, 11к просмотров.
React Forget презентовали почти 2 года назад , но с тех пор про него ничего не было слышно.
На столько ничего, что на реддите даже появился пост Did the React team forget the React Forget compiler? в который пришёл один из разработчиков и рассказал в чём сложность разработки и почему это занимает столько времени.
Он же выступил пару недель назад на React India с докладом Statically analysing react components for fun and profit, в котором чуть подробней рассказал тоже самое, что и на реддите.
А два дня назад ещё двое ребят выступили на React Advanced. И вот этот доклад прям интересный!
Во-первых, показали как выглядит внутренний playground для разработки (что-то в духе бабеля и тайпскрипта). Т.е. React Forget действительно существует и работает.
Во-вторых, поделились опытом использования в Quest Store (приложение для VR-шлема):
— смена табов стала работать на 150% быстрее
— загрузка страницы на 4-12% быстрее
— показали на сколько ре-рендер приложения становится эффективне (см. скрины)
В-третьих, рассказали, что react forget обкатывают и в инстаграме. Т.к. это веб, то здесь появлется вопросы производительности, на которые сейчас ищут ответы:
— в результате компиляции кода становится больше, как это сказывается на старте приложения? Как сильно? На сколько этим можно пожертвовать?
— из-за повсеместной мемоизации увеличивается потребление памяти. Как с этим справляются дешевые андроид смартфоны?
В-четвёртых, немного прояснили таймлайн разработки:
1. Proof of concept
2. Работающий компайлер (в большинстве случаев)
3. Тестирование в нескольких продуктах — мы сейчас находимся здесь
4. Релиз во всех продуктах Meta
5. Публичный релиз
В-пятых, подтвердили что ультимативная цель — избавиться от всех API с мемоизацией: useMemo, memo, useCallback.
В-шестых, рассказали, что сейчас React Forget существует в качестве Babel плагина, но потенциально его будет легко (или не очень) перенести на другие инструменты.
P.S. Fun fact: пост про React Forget самый популярный в канале, 11к просмотров.
👍1
Forwarded from Road to FAANG
Rob Pike's 5 Rules of Programming
Rule 1. You can't tell where a program is going to spend its time. Bottlenecks occur in surprising places, so don't try to second guess and put in a speed hack until you've proven that's where the bottleneck is.
Rule 2. Measure. Don't tune for speed until you've measured, and even then don't unless one part of the code overwhelms the rest.
Rule 3. Fancy algorithms are slow when n is small, and n is usually small. Fancy algorithms have big constants. Until you know that n is frequently going to be big, don't get fancy. (Even if n does get big, use Rule 2 first.)
Rule 4. Fancy algorithms are buggier than simple ones, and they're much harder to implement. Use simple algorithms as well as simple data structures.
Rule 5. Data dominates. If you've chosen the right data structures and organized things well, the algorithms will almost always be self-evident. Data structures, not algorithms, are central to programming.
Pike's rules 1 and 2 restate Tony Hoare's famous maxim "Premature optimization is the root of all evil." Ken Thompson rephrased Pike's rules 3 and 4 as "When in doubt, use brute force.". Rules 3 and 4 are instances of the design philosophy KISS. Rule 5 was previously stated by Fred Brooks in The Mythical Man-Month. Rule 5 is often shortened to "write stupid code that uses smart objects".
Rule 1. You can't tell where a program is going to spend its time. Bottlenecks occur in surprising places, so don't try to second guess and put in a speed hack until you've proven that's where the bottleneck is.
Rule 2. Measure. Don't tune for speed until you've measured, and even then don't unless one part of the code overwhelms the rest.
Rule 3. Fancy algorithms are slow when n is small, and n is usually small. Fancy algorithms have big constants. Until you know that n is frequently going to be big, don't get fancy. (Even if n does get big, use Rule 2 first.)
Rule 4. Fancy algorithms are buggier than simple ones, and they're much harder to implement. Use simple algorithms as well as simple data structures.
Rule 5. Data dominates. If you've chosen the right data structures and organized things well, the algorithms will almost always be self-evident. Data structures, not algorithms, are central to programming.
Pike's rules 1 and 2 restate Tony Hoare's famous maxim "Premature optimization is the root of all evil." Ken Thompson rephrased Pike's rules 3 and 4 as "When in doubt, use brute force.". Rules 3 and 4 are instances of the design philosophy KISS. Rule 5 was previously stated by Fred Brooks in The Mythical Man-Month. Rule 5 is often shortened to "write stupid code that uses smart objects".
В последнее время, уставший от очередной настройки сборки, вспомнал Rome
Forwarded from Валя читает ишью
Rome is Biome now
Well, вот и продолжение сериала.
Т.к. истории уже больше двух лет, то небольшая ретроспектива:
1. https://t.me/valya_reads_issue/141 — Себастьян и Джейми поднимают инвестиций, чтобы сделать ультимативный тулинг, который будет делать всё-всё-всё (бандлер, линтер, тесты, whatever).
2. https://t.me/valya_reads_issue/164 — Rometools аплаятся в TC39, чтобы развивать язык и экосистему вокруг него.
3. https://t.me/valya_reads_issue/237 — через 7 месяцев Джейми уходит из компании.
4. https://t.me/valya_reads_issue/296 — в конце января 2023 года у компании кончились деньги, статус проекта не ясен, все разработчики ушли/уволены.
???
5. «Rome won't be maintained anymore by the same people that maintained it so far. Biome will provide new features and fixes» красуется в ридми github.com/rome/tools.
Biome является «официальным» форком Rome. Под «официальным» подразумеватся, что форкнули его те же люди, что и работали над Rome. Одна из причин форка — Себастьян просто всех заигнорил, а у команды не было доступа к организации, хостингу и т.д.
Ну и вот сам блогпост Announcing Biome.
P.S. К сожалению, всё это было очень предсказуемо… Посмотрим, что получится у этих ребят дальше.
Well, вот и продолжение сериала.
Т.к. истории уже больше двух лет, то небольшая ретроспектива:
1. https://t.me/valya_reads_issue/141 — Себастьян и Джейми поднимают инвестиций, чтобы сделать ультимативный тулинг, который будет делать всё-всё-всё (бандлер, линтер, тесты, whatever).
2. https://t.me/valya_reads_issue/164 — Rometools аплаятся в TC39, чтобы развивать язык и экосистему вокруг него.
3. https://t.me/valya_reads_issue/237 — через 7 месяцев Джейми уходит из компании.
4. https://t.me/valya_reads_issue/296 — в конце января 2023 года у компании кончились деньги, статус проекта не ясен, все разработчики ушли/уволены.
???
5. «Rome won't be maintained anymore by the same people that maintained it so far. Biome will provide new features and fixes» красуется в ридми github.com/rome/tools.
Biome является «официальным» форком Rome. Под «официальным» подразумеватся, что форкнули его те же люди, что и работали над Rome. Одна из причин форка — Себастьян просто всех заигнорил, а у команды не было доступа к организации, хостингу и т.д.
Ну и вот сам блогпост Announcing Biome.
P.S. К сожалению, всё это было очень предсказуемо… Посмотрим, что получится у этих ребят дальше.
Понадобилось сравнить два коммита в гитхабе. Помню что в гитлабе это было. Погуглил чуть-чуть.
Если коротко, то вот так
Если коротко, то вот так
github.com/<username>/<repo_name>/compare/<commit1>...<commit2>Stack Overflow
How to compare two different commits on the same branch in github?
Comparing histories on the same branch is very confusing for me on GitHub. I struggle with this regularly:
If I use compare/master in the URL after the GitHub repo name, I can compare against other
If I use compare/master in the URL after the GitHub repo name, I can compare against other
Постоянно ищу эту ссылку когда возникает вопрос с неймингом, поэтому больше для себя. Но, вдруг и для вас будет полезно. #cheatsheet
https://github.com/kettanaito/naming-cheatsheet
https://github.com/kettanaito/naming-cheatsheet
GitHub
GitHub - kettanaito/naming-cheatsheet: Comprehensive language-agnostic guidelines on variables naming. Home of the A/HC/LC pattern.
Comprehensive language-agnostic guidelines on variables naming. Home of the A/HC/LC pattern. - kettanaito/naming-cheatsheet
👍2
Недавно надо было во Framer сделать кастомную форму. Framer построен на реакте, и там можно писать свои компоненты. Но DX ужасный конечно. Так вот, я настолько привык ко всяким либам для менеджмента запросов, что было лень писать что то в компонент. Сел гуглить, и нашел react-async-hook. 3.86kb. SWR на минималках. Очень понравилось. Для небольших проектов прям очень хорошо заходит.
GitHub
GitHub - slorber/react-async-hook: React hook to handle any async operation in React components, and prevent race conditions
React hook to handle any async operation in React components, and prevent race conditions - slorber/react-async-hook
Forwarded from Павел Зыгмантович | Доказательная психология (Павел Зыгмантович)
А вы знаете, что интерес — это эмоция?
Да, интерес — это эмоция. Причём одна из самых ранних. Эмоцию интереса можно засечь уже в четырёхдневнем возрасте.
Например, взгляд младенца дольше задерживается на чём-нибудь необычном. Скажем, мячик, зависший в воздухе без всякой поддержки обязательно привлечёт к себе внимание младенца. То есть — заинтересует.
Как и всякая эмоция, интерес очень полезен. Он удерживает наше внимание а) на чём-то одном; б) долго; в) без усилий.
Для сравнения: страх расширяет наше внимание на 360 градусов (без усилий, надолго, но без конкретного объекта).
Гнев же сосредотачивает наше внимание на одном объекте, тоже без усилий, но не долго.
Если нам надо без волевых усилий на чём-то долго сосредотачиваться — без интереса не обойтись.
Как создать интерес самостоятельно? Вызовом.
Поставьте себе вызов. Вот трудная работа — а смогу ли ни разу не отвлечься? А смогу ли сделать быстрее обычного? А смогу ли использовать что-то новое?
Чем удачнее вызов, тем больше интереса. Всё это вполне можно тренировать — попробуйте прямо сейчас.
***
Опубликовано на канале @zygmantovich_pavel
Да, интерес — это эмоция. Причём одна из самых ранних. Эмоцию интереса можно засечь уже в четырёхдневнем возрасте.
Например, взгляд младенца дольше задерживается на чём-нибудь необычном. Скажем, мячик, зависший в воздухе без всякой поддержки обязательно привлечёт к себе внимание младенца. То есть — заинтересует.
Как и всякая эмоция, интерес очень полезен. Он удерживает наше внимание а) на чём-то одном; б) долго; в) без усилий.
Для сравнения: страх расширяет наше внимание на 360 градусов (без усилий, надолго, но без конкретного объекта).
Гнев же сосредотачивает наше внимание на одном объекте, тоже без усилий, но не долго.
Если нам надо без волевых усилий на чём-то долго сосредотачиваться — без интереса не обойтись.
Как создать интерес самостоятельно? Вызовом.
Поставьте себе вызов. Вот трудная работа — а смогу ли ни разу не отвлечься? А смогу ли сделать быстрее обычного? А смогу ли использовать что-то новое?
Чем удачнее вызов, тем больше интереса. Всё это вполне можно тренировать — попробуйте прямо сейчас.
***
Опубликовано на канале @zygmantovich_pavel
❤2
Forwarded from Канал Ильи Бирмана
Первое, что должен сделать любой человек с новым компьютером — поставить на максимум скорость повтора клавиатуры и на минимум задержку перед повтором:
http://ilyabirman.ru/meanwhile/all/speed-up-mac-keyboard/
http://ilyabirman.ru/meanwhile/all/speed-up-mac-keyboard/
ilyabirman.ru
Ускорить клавиатуру на Маке
Первое, что должен сделать любой человек с новым компьютером — поставить на максимум скорость повтора клавиатуры
👍1
Вышел VS Code 1.85. Много полезного, но это меня зацепило больше всего.
https://code.visualstudio.com/assets/updates/1_85/sticky-scroll-file-explorer.mp4
https://code.visualstudio.com/assets/updates/1_85/sticky-scroll-file-explorer.mp4
Visualstudio
November 2023 (version 1.85)
Learn what is new in the Visual Studio Code November 2023 Release (1.85)
👍1
С удивлением для обнаружил что в VS Code можно задавать размер шрифта с дробью.
Этот размер идеально смотриться на моем мониторе с Pragmata Pro.
"editor.fontSize": 16.2,
Этот размер идеально смотриться на моем мониторе с Pragmata Pro.
👍2