За все это время я собрал довольно много полезных инструментов и статей для frontend и rust разработчиков!
https://news.sova.dev/issues/17-1181475
https://news.sova.dev/issues/17-1181475
🔥11👍3❤1🤩1
Я знаю способ как обелить крипту для властей РФ.
А какие вы способы знаете?
Я свой сформулирую и напишу позже
А какие вы способы знаете?
Я свой сформулирую и напишу позже
🔥2
Forwarded from Заметки про React (Ilmir Shaikhutdinov)
Возможно вам не нужны эффекты
Эффекты – это выход из парадигмы React. Они позволяют синхронизировать компоненты с какой-либо внешней системой, такой как виджет, не относящийся к React, сеть или DOM браузера. Если не задействована какая-то внешняя система (например, изменение стейта при обновлении какого-то пропа), вам не нужен эффект.
Основные случаи, когда эффект не нужен:
- Обновление стейта при обновлении стейта или пропа. Вместо этого используйте производные переменные.
- Кэширование вычислений. Используйте useMemo.
- Сброс стейта при изменении пропа. Установите изменяющийся проп в проп key. При изменении key, React пересоздает DOM и сбрасывает стейт у компонента и всех его потомков.
- Получение данных. Если делаете fetch в эффекте, то используйте cleanup функцию для отмены запроса, чтобы предотвратить race condition. Также есть комментарий Дэна Абрамова про рекомендованный способ получения данных в React 18.
https://beta.reactjs.org/learn/you-might-not-need-an-effect
Эффекты – это выход из парадигмы React. Они позволяют синхронизировать компоненты с какой-либо внешней системой, такой как виджет, не относящийся к React, сеть или DOM браузера. Если не задействована какая-то внешняя система (например, изменение стейта при обновлении какого-то пропа), вам не нужен эффект.
Основные случаи, когда эффект не нужен:
- Обновление стейта при обновлении стейта или пропа. Вместо этого используйте производные переменные.
- Кэширование вычислений. Используйте useMemo.
- Сброс стейта при изменении пропа. Установите изменяющийся проп в проп key. При изменении key, React пересоздает DOM и сбрасывает стейт у компонента и всех его потомков.
- Получение данных. Если делаете fetch в эффекте, то используйте cleanup функцию для отмены запроса, чтобы предотвратить race condition. Также есть комментарий Дэна Абрамова про рекомендованный способ получения данных в React 18.
https://beta.reactjs.org/learn/you-might-not-need-an-effect
Reddit
gaearon's comment on "What is the recommended way to load data for React 18?"
Explore this conversation and more from the reactjs community
👍9
Я уже давно хочу провести небольшой стрим, как я учусь юзать новый для меня инструмент. На этот раз, я хочу впервые заюзать Remix и сразу с effector SSR. Подключитесь?
Anonymous Poll
45%
Да, конечно
15%
Мб
6%
Мне не интересно такое
35%
Лучше запиши короткий видос на 20 минут с тем же содержимым
❤3
Сова пишет…
Я уже давно хочу провести небольшой стрим, как я учусь юзать новый для меня инструмент. На этот раз, я хочу впервые заюзать Remix и сразу с effector SSR. Подключитесь?
Я забыл предупредить. Я планирую немного хейтспич)
У меня всегда так с непонятными мне инструментами
У меня всегда так с непонятными мне инструментами
🔥6💩1
В рассылке всего 4 человека открыли статью про читабельность кода.
Поэтому повторю здесь ссылку:
https://ruudvanasseldonk.com/2022/03/20/please-put-units-in-names
Поэтому повторю здесь ссылку:
https://ruudvanasseldonk.com/2022/03/20/please-put-units-in-names
Ruudvanasseldonk
Please put units in names
Using strong types, or putting units in names, is a small effort that can make a tremendous difference for code readability.
🔥10😁5🥰2
Я уже много раз в этом канале писал о том, почему логику в компонентах писать — буквально вредить себе.
Сегодня я в очередной раз коммичу в проект, в котором вся логика пишется на хуках внутри компонентов.
Помимо гигантского дублирования при переиспользовании логики в разных кейсах, имеется катастрофа при попытке отладить происходящее.
В данном кейсе, у меня больше 10 useEffect, чтобы обновлять только те данные и вызывать загрузки новых данных, которые связаны с предыдущими данными.
Этот адский текст фактически может описать реактивность. Но в случае с React и хуками, такую реактивность крайне больно реализовывать из-за наличия setState, useEffect, useMemo. Логика просто превращается в адскую жопу.
В соседнем проекте подобный код написан на эффекторе и он в разы короче и не подвержен проблемам во время переиспользования.
Не делайте себе и коллегам больно
Сегодня я в очередной раз коммичу в проект, в котором вся логика пишется на хуках внутри компонентов.
Помимо гигантского дублирования при переиспользовании логики в разных кейсах, имеется катастрофа при попытке отладить происходящее.
В данном кейсе, у меня больше 10 useEffect, чтобы обновлять только те данные и вызывать загрузки новых данных, которые связаны с предыдущими данными.
Этот адский текст фактически может описать реактивность. Но в случае с React и хуками, такую реактивность крайне больно реализовывать из-за наличия setState, useEffect, useMemo. Логика просто превращается в адскую жопу.
В соседнем проекте подобный код написан на эффекторе и он в разы короче и не подвержен проблемам во время переиспользования.
Не делайте себе и коллегам больно
👍21🤔1
Forwarded from artalog (artalar)
Вчерашняя запись с @sovasergey (канал) и небольшие заметки:
rust: Block as a Story
js: Block Statement (example)
rust: Ownership
js: readonly / immutable (example)
rust: Result
js: Either (example)
rust: Pattern matching
js: example
rust: Macros
js: babel-plugin-macros
rust: Block as a Story
js: Block Statement (example)
rust: Ownership
js: readonly / immutable (example)
rust: Result
js: Either (example)
rust: Pattern matching
js: example
rust: Macros
js: babel-plugin-macros
Telegram
Сова пишет…
Frontend Senior Fullstack Backend Lead и прочие слова.
Изучаю самые современные технологии.
Обучаю разработчиков как стать сильнее — https://frontend.vision.
По коллаборациям и сотрудничеству пишите в сообщения канала!
Изучаю самые современные технологии.
Обучаю разработчиков как стать сильнее — https://frontend.vision.
По коллаборациям и сотрудничеству пишите в сообщения канала!
❤2
Сова пишет…
О чем этот канал Меня зовут Сергей Сова и уже 10 лет я программист. Начинал с игр на C++ Source Engine, пробовал себя в роли backend разработчика на php, ruby, nodejs, go, но сильнее всего я погрузился во frontend на React. Несколько лет назад познакомился…
1000
Всем новеньким добро пожаловать!
Спасибо за поддержку 💙
Всем новеньким добро пожаловать!
Спасибо за поддержку 💙
❤22👍11❤🔥8💯3
Совсем недавно я сформулировал требования к проекту по шерингу знаний для разработчиков.
В последнее время я работаю вместе с разными командами над новыми проектами в том числе игровыми. И каждый раз, я упираюсь в необходимость подобного сервиса, с гарантией сохранности знаний.
Если бы Вы решили делать такой сервис с нуля, какие фичи посчитали бы обязательными?
https://news.1rj.ru/str/sergeysova/560
Ну а если хотите делать этот сервис вместе со мной, приходите в личку @sovasergey
В последнее время я работаю вместе с разными командами над новыми проектами в том числе игровыми. И каждый раз, я упираюсь в необходимость подобного сервиса, с гарантией сохранности знаний.
Если бы Вы решили делать такой сервис с нуля, какие фичи посчитали бы обязательными?
https://news.1rj.ru/str/sergeysova/560
Ну а если хотите делать этот сервис вместе со мной, приходите в личку @sovasergey
Telegram
Сова пишет…
А теперь вопрос, который я анонсировал в рассылке.
У меня довольно часто случаются несколько кейсов в процессе поиска решений в коде или выработки своих собственных. Мне кажется их можно объединить в одном сервисе.
1. Сохранение актуальных решений
Я довольно…
У меня довольно часто случаются несколько кейсов в процессе поиска решений в коде или выработки своих собственных. Мне кажется их можно объединить в одном сервисе.
1. Сохранение актуальных решений
Я довольно…
This media is not supported in your browser
VIEW IN TELEGRAM
Новая фича с перетаскиванием курсора таки доехала.
Фотки, файлы можно переносить с мака на айпад и обратно.
Клавиатура также переключается
Фотки, файлы можно переносить с мака на айпад и обратно.
Клавиатура также переключается
🤯18❤🔥7🌭5🐳3
Я сейчас узнал, что Microsoft оказывается уже два года пишет биндинги к WindowsAPI на Rust
https://github.com/microsoft/windows-rs
https://github.com/microsoft/windows-rs
GitHub
GitHub - microsoft/windows-rs: Rust for Windows
Rust for Windows. Contribute to microsoft/windows-rs development by creating an account on GitHub.
👍8🤡8❤3😱2🔥1
Forwarded from Effector news (Sova 29.9℃)
Тем временем в Сообществе effector появились две статьи
- Лучшая часть effector
- Инструкция по тестированию
Пишите свои статьи в Сообществе, это крайне приветствуется. Наши модераторы помогут причесать статью, если переживаете о качестве
- Лучшая часть effector
- Инструкция по тестированию
Пишите свои статьи в Сообществе, это крайне приветствуется. Наши модераторы помогут причесать статью, если переживаете о качестве
🔥18
Если не feature-sliced.design, то что?
Самой близкой альтернативой может быть разве что это: https://doka.guide/js/clean-architecture/
Самой близкой альтернативой может быть разве что это: https://doka.guide/js/clean-architecture/
Дока
Трёхслойная архитектура — JavaScript — Дока
Как поделить весь код приложения на три части так, чтобы добавлять новые фичи было быстрее, а править баги — легче
🔥10🤔3👎1😱1💩1
Media is too big
VIEW IN TELEGRAM
Рекомендую попробовать утилиту fzf для своих нужд в поиске файла.
То, что я показываю на видео это мгновенный поиск по всем файлам node_modules, а как мы помним там черная дыра.
В правой части можно отображать превью содержимого файла.
Но его также крайне удобно юзать для всяких кейсов вроде открытия файла в IDE или простая печать:
То, что я показываю на видео это мгновенный поиск по всем файлам node_modules, а как мы помним там черная дыра.
В правой части можно отображать превью содержимого файла.
Но его также крайне удобно юзать для всяких кейсов вроде открытия файла в IDE или простая печать:
cat $(fzf)
webstorm $(fzf)
pbcopy < $(fzf)🔥16
Пришло время проголосовать какой синтаксис для вложенных правил CSS выбирать.
Google устроил голосование
https://developer.chrome.com/blog/help-css-nesting/
Google устроил голосование
https://developer.chrome.com/blog/help-css-nesting/
Chrome for Developers
Help pick a syntax for CSS nesting | Blog | Chrome for Developers
Two competing syntaxes need your help in determining which should be championed through to a specification candidate.
👍7🔥3
Если хочется начать писать на effector ☄️, но нехватает какой-то стартовой точки, то я бы посоветовал начать со статьи usage with react.
В статье применено довольно много хороших практик, да еще и Typenoscript имеется.
https://effector.dev/docs/typenoscript/usage-with-effector-react
В статье применено довольно много хороших практик, да еще и Typenoscript имеется.
https://effector.dev/docs/typenoscript/usage-with-effector-react
🔥16❤9👍2😁1
