Если хочется начать писать на 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
Переход на atomic-router был выполнен в рамках планового апгрейда стека в cardbox.
Было весьма занимательно решать кучу несостыковок react 16->18 по вечерам.
Остались еще мелкие недоработки, которые будут исправлены мелкими ПРами.
Все завелось и работает довольно быстро, хоть это и без сложной верстки.
routing logic в замерах это запуск логики страниц, а не только резолвинг роутов.
Было весьма занимательно решать кучу несостыковок react 16->18 по вечерам.
Остались еще мелкие недоработки, которые будут исправлены мелкими ПРами.
Все завелось и работает довольно быстро, хоть это и без сложной верстки.
routing logic в замерах это запуск логики страниц, а не только резолвинг роутов.
🔥13👍3
Только что узнал о существовании нативного парсера XML/HTML в браузерах.
Всем доброго дня!
Всем доброго дня!
👍23🔥14🤡7😱2👎1
Please open Telegram to view this post
VIEW IN TELEGRAM
🏆25🤮15🍌8🤯7❤🔥4
Через 30 минут буду стримить!
Как работает wasmer.io: попробую собрать на нем простую систему плагинов для Rust проекта.
Как работает wasmer.io: попробую собрать на нем простую систему плагинов для Rust проекта.
👍7🔥2
Media is too big
VIEW IN TELEGRAM
Всем пришедшим на стрим спасибо 🧡
0. Описываю цели
1. Настраиваю wasmer
2. Учусь грузить wasm модули и вызывать функции
3. Разбираюсь как скомпилировать wasm модуль из Rust-кода
4. Осознаю, что String и прочие объекты передавать в wasm не так просто
5. Продумываю план, как можно реализовать хотелку
0. Описываю цели
1. Настраиваю wasmer
2. Учусь грузить wasm модули и вызывать функции
3. Разбираюсь как скомпилировать wasm модуль из Rust-кода
4. Осознаю, что String и прочие объекты передавать в wasm не так просто
5. Продумываю план, как можно реализовать хотелку
❤🔥12👍3😁2
Сова пишет…
Личные консультации по effector, react и FSD! За почти 10 лет коммерческого опыта в веб-разработке, я насобирал внушительный опыт в разных технологиях. Хотя специализируюсь я в React + Effector, готов помочь решить очень разнообразные задачи и ответить на…
Из интересных кейсов консультаций, которыми я занимаюсь.
Как-то раз общался с начинающим разработчиком. Парень очень хотел построить план развития личных скиллов. Я считаю, что начинашкам очень нужны индексные знания — что вообще бывает, как примерно оно устроено и как это загуглить.
Ведь если представить себе мир глазами новичка, то о существовании git почти невозможно догадаться без опыта. Гораздо легче просто скопировать директорию с исходниками. И так почти все инструменты в нашей сфере.
На встречах мы разобрали направления, которые интересны человеку, я составил простой план, что нужно изучить и какие примеры решить, чтобы закрепить знания. В подобных случаях я всегда даю практические задачи, которые решают насущные проблемы обучаемого.
Конечно, сначала необходимо обнаружить проблему, которую впоследствии будем решать с помощью кода. Но в дальнейшем открывается понимание кода как средство реализации продукта.
Я считаю, что это невероятно полезно для каждого разработчика, не только начинающего.
Как-то раз общался с начинающим разработчиком. Парень очень хотел построить план развития личных скиллов. Я считаю, что начинашкам очень нужны индексные знания — что вообще бывает, как примерно оно устроено и как это загуглить.
Ведь если представить себе мир глазами новичка, то о существовании git почти невозможно догадаться без опыта. Гораздо легче просто скопировать директорию с исходниками. И так почти все инструменты в нашей сфере.
На встречах мы разобрали направления, которые интересны человеку, я составил простой план, что нужно изучить и какие примеры решить, чтобы закрепить знания. В подобных случаях я всегда даю практические задачи, которые решают насущные проблемы обучаемого.
Конечно, сначала необходимо обнаружить проблему, которую впоследствии будем решать с помощью кода. Но в дальнейшем открывается понимание кода как средство реализации продукта.
Я считаю, что это невероятно полезно для каждого разработчика, не только начинающего.
❤25💯7👍1