The channel has no name!
111 subscribers
57 photos
1 video
103 links
Канал фронтендера. Пишу про свой опыт, и взгляды на разработку. AlmatyJS co-org.

Зарабатываю на JS. Заглядываюсь на Clojure. Мечтаю перекатиться в бэкенд. Учусь на магистратуре на Software Engineering.

tw: _codev0
gh: codev0

Фидбэк сюда @codev0
Download Telegram
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к просмотров.
👍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. B
ottlenecks 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".
Forwarded from Road to FAANG
Автору книги «You don’t know JS» после технического собеседования и базового кодинга, отказали по причине того, что он недостаточно хорошо с ним справился.

А вы говорите джунам сейчас тяжело
3🕊2😭1
В последнее время, уставший от очередной настройки сборки, вспомнал Rome
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. К сожалению, всё это было очень предсказуемо… Посмотрим, что получится у этих ребят дальше.
Понадобилось сравнить два коммита в гитхабе. Помню что в гитлабе это было. Погуглил чуть-чуть.
Если коротко, то вот так github.com/<username>/<repo_name>/compare/<commit1>...<commit2>
Постоянно ищу эту ссылку когда возникает вопрос с неймингом, поэтому больше для себя. Но, вдруг и для вас будет полезно. #cheatsheet

https://github.com/kettanaito/naming-cheatsheet
👍2
Недавно надо было во Framer сделать кастомную форму. Framer построен на реакте, и там можно писать свои компоненты. Но DX ужасный конечно. Так вот, я настолько привык ко всяким либам для менеджмента запросов, что было лень писать что то в компонент. Сел гуглить, и нашел react-async-hook. 3.86kb. SWR на минималках. Очень понравилось. Для небольших проектов прям очень хорошо заходит.
А вы знаете, что интерес — это эмоция?

Да, интерес — это эмоция. Причём одна из самых ранних. Эмоцию интереса можно засечь уже в четырёхдневнем возрасте.

Например, взгляд младенца дольше задерживается на чём-нибудь необычном. Скажем, мячик, зависший в воздухе без всякой поддержки обязательно привлечёт к себе внимание младенца. То есть — заинтересует.

Как и всякая эмоция, интерес очень полезен. Он удерживает наше внимание а) на чём-то одном; б) долго; в) без усилий.

Для сравнения: страх расширяет наше внимание на 360 градусов (без усилий, надолго, но без конкретного объекта).

Гнев же сосредотачивает наше внимание на одном объекте, тоже без усилий, но не долго.

Если нам надо без волевых усилий на чём-то долго сосредотачиваться — без интереса не обойтись.

Как создать интерес самостоятельно? Вызовом.

Поставьте себе вызов. Вот трудная работа — а смогу ли ни разу не отвлечься? А смогу ли сделать быстрее обычного? А смогу ли использовать что-то новое?

Чем удачнее вызов, тем больше интереса. Всё это вполне можно тренировать — попробуйте прямо сейчас.

***
Опубликовано на канале @zygmantovich_pavel
2
ребята, это прям мастхэв на маке
1
Первое, что должен сделать любой человек с новым компьютером — поставить на максимум скорость повтора клавиатуры и на минимум задержку перед повтором:
http://ilyabirman.ru/meanwhile/all/speed-up-mac-keyboard/
👍1
С удивлением для обнаружил что в VS Code можно задавать размер шрифта с дробью.

"editor.fontSize": 16.2,


Этот размер идеально смотриться на моем мониторе с Pragmata Pro.
https://mkorostoff.github.io/1-pixel-wealth/

ребята, очень просто, и осознаешь масштабы. посмотрите.
👍2