Сова пишет…
Я уже давно хочу провести небольшой стрим, как я учусь юзать новый для меня инструмент. На этот раз, я хочу впервые заюзать 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
Forwarded from melikhov.dev
Тут в комментах Владимир процитировал Фаулера, а я заметил в цитате старую проблему с пониманием S из SOLID. Забавно, как долго Мартин пытается объяснить, что имел ввиду совсем другое, и как столь же долго практически вся индустрия отказывается принять изначальную трактовку и идёт по более простому пути. Обратимся к Мартину:
===============
«Из всех принципов SOLID наиболее трудно понимаемым является принцип единственной ответственности (Single Responsibility Principle, SRP). Это, вероятно, обусловлено выбором названия, недостаточно точно соответствующего сути. Услышав это название, многие программисты решают: оно означает, что каждый модуль должен отвечать за что-то одно.
Самое интересное, что такой принцип действительно существует. Он гласит: функция должна делать что-то одно и только одно. Этот принцип мы используем, когда делим большие функции на меньшие, то есть на более низком уровне. Но он не является одним из принципов SOLID — это не принцип единственной ответственности.
Традиционно принцип единственной ответственности описывался так:
Модуль должен иметь одну и только одну причину для изменения.
…
Фактически принцип можно перефразировать так:
Модуль должен отвечать за одного и только за одного пользователя или заинтересованное лицо.
…
Окончательная версия принципа единственной ответственности выглядит так:
Модуль должен отвечать за одного и только за одного актора»
Чистая архитектура. Искусство разработки программного обеспечения
Мартин Р.
===============
Почему так случилось и почему изначальная трактовка важна? Для меня весь SOLID это прежде всего архитектурные принципы. Мы задаём границы, описываем правила их пересечения, направление движения данных и контракты. На этом уровне восприятия нас не волнует размер и сложность функций и классов, мы проектируем систему. И в контексте архитектуры системы S (в изначальном понимании Мартина) — очень важно.
===============
«Из всех принципов SOLID наиболее трудно понимаемым является принцип единственной ответственности (Single Responsibility Principle, SRP). Это, вероятно, обусловлено выбором названия, недостаточно точно соответствующего сути. Услышав это название, многие программисты решают: оно означает, что каждый модуль должен отвечать за что-то одно.
Самое интересное, что такой принцип действительно существует. Он гласит: функция должна делать что-то одно и только одно. Этот принцип мы используем, когда делим большие функции на меньшие, то есть на более низком уровне. Но он не является одним из принципов SOLID — это не принцип единственной ответственности.
Традиционно принцип единственной ответственности описывался так:
Модуль должен иметь одну и только одну причину для изменения.
…
Фактически принцип можно перефразировать так:
Модуль должен отвечать за одного и только за одного пользователя или заинтересованное лицо.
…
Окончательная версия принципа единственной ответственности выглядит так:
Модуль должен отвечать за одного и только за одного актора»
Чистая архитектура. Искусство разработки программного обеспечения
Мартин Р.
===============
Почему так случилось и почему изначальная трактовка важна? Для меня весь SOLID это прежде всего архитектурные принципы. Мы задаём границы, описываем правила их пересечения, направление движения данных и контракты. На этом уровне восприятия нас не волнует размер и сложность функций и классов, мы проектируем систему. И в контексте архитектуры системы S (в изначальном понимании Мартина) — очень важно.
👍3🔥3🤔3👎1
Forwarded from Effector news (Sova 31.2℃)
Конкурс!
Мы разыгрываем два билета на Summer Merge 2022!
Ниже будет описание конференции, а сейчас я расскажу как бесплатно получить билет.
Чтобы получить билет нужно написать статью об effector☄️ или законтрибьютить в репозитории.
Подойдут платформы dev.to, medium, community.effector.dev и другие популярные. Если статья для вас это слишком сложно, а отдохнуть на Волге всё же хочется, спешу обрадовать, подойдет любой приятно написанный текст об effector и его преимуществах. Размер не так важен)
Также можно отправить PullRequest с новыми тестами, исправлениями или фичами в любой из репозиториев github.com/effector. Подобрать подходящие issue можно по лейблу good first issue.
Core-команда effector выберет 2 лучшие работы и вручит билеты!
Чтобы поучаствовать нужно выполнить условие выше, отправить ссылку на свою работу ответом на этот пост в канале Effector News до 20 августа!
———
Антиконференция Summer Merge 2022 - та самая летняя айти-тусовка, где соберутся все, чтобы вырваться из рабочей рутины, поболтать со старыми друзьями и как следует проводить лето ☀️
Вас ждет отдых в формате палаточного лагеря, где вы сможете максимально насладиться летней природой, принять участие в спортивных, водных и во множестве других активностях, а также спеть свои любимые песни у костра в хорошей компании💥
Если вы тоже устали от офиса и мечтаете отвлечься хотя бы на пару дней, тогда встречаемся 26-28 августа в эко-парке «Русский берег» 😉
Мы разыгрываем два билета на Summer Merge 2022!
Ниже будет описание конференции, а сейчас я расскажу как бесплатно получить билет.
Чтобы получить билет нужно написать статью об effector☄️ или законтрибьютить в репозитории.
Подойдут платформы dev.to, medium, community.effector.dev и другие популярные. Если статья для вас это слишком сложно, а отдохнуть на Волге всё же хочется, спешу обрадовать, подойдет любой приятно написанный текст об effector и его преимуществах. Размер не так важен)
Также можно отправить PullRequest с новыми тестами, исправлениями или фичами в любой из репозиториев github.com/effector. Подобрать подходящие issue можно по лейблу good first issue.
Core-команда effector выберет 2 лучшие работы и вручит билеты!
Чтобы поучаствовать нужно выполнить условие выше, отправить ссылку на свою работу ответом на этот пост в канале Effector News до 20 августа!
———
Антиконференция Summer Merge 2022 - та самая летняя айти-тусовка, где соберутся все, чтобы вырваться из рабочей рутины, поболтать со старыми друзьями и как следует проводить лето ☀️
Вас ждет отдых в формате палаточного лагеря, где вы сможете максимально насладиться летней природой, принять участие в спортивных, водных и во множестве других активностях, а также спеть свои любимые песни у костра в хорошей компании💥
Если вы тоже устали от офиса и мечтаете отвлечься хотя бы на пару дней, тогда встречаемся 26-28 августа в эко-парке «Русский берег» 😉
👏2
Давненько я не рассылал невероятно полезную подборку.
На мое удивление, я взахлеб читал каждую статью.
Очень не хотелось отправлять ссылки, которые я сам не прочел. Не уверен, правда, что запомнил каждую, поэтому еще буду возвращаться и перечитывать.
https://news.sova.dev/issues/18-1201069
На мое удивление, я взахлеб читал каждую статью.
Очень не хотелось отправлять ссылки, которые я сам не прочел. Не уверен, правда, что запомнил каждую, поэтому еще буду возвращаться и перечитывать.
https://news.sova.dev/issues/18-1201069
🔥14❤4🌭1
