Ночью не мог уснуть из-за очистки дорог от снега и записал выпуск подкаста «Под куполом» о человеческом сознании.
https://anchor.fm/under-a-dome/episodes/ep-eqgr9l
Подкаст появился на Apple Podcasts и Google Podcasts.
https://anchor.fm/under-a-dome/episodes/ep-eqgr9l
Подкаст появился на Apple Podcasts и Google Podcasts.
Spotify for Creators
Каждую ночь мы умираем by Под куполом
Рассуждаю об идее сознания, существует ли, можно ли оцифровать, как доказать, что мир не появился в прошлый четверг.
Комментарии
Комментарии
Сова пишет…
Ночью не мог уснуть из-за очистки дорог от снега и записал выпуск подкаста «Под куполом» о человеческом сознании. https://anchor.fm/under-a-dome/episodes/ep-eqgr9l Подкаст появился на Apple Podcasts и Google Podcasts.
Яндекс.Музыка таки опубликовала тоже
https://music.yandex.ru/album/13932760
https://music.yandex.ru/album/13932760
Яндекс Музыка
Под куполом
Сугубо субъективный взгляд на вещи в формате ночных посиделок • Подкаст • 94 подписчика
Хочу напомнить, что со мной всегда можно созвониться и получить консультацию по моим профильным темам: фронтенд, архитектура, React, Effector и миграция на новые технологии.
На данный момент мне удобнее всего получать оплату через ВК, но есть и другие варианты, о которых можем поговорить в ЛС.
Ссылка на ВК
Ссылка на BuyMeACoffee
На данный момент мне удобнее всего получать оплату через ВК, но есть и другие варианты, о которых можем поговорить в ЛС.
Ссылка на ВК
Ссылка на BuyMeACoffee
ВКонтакте
«Сова вещает»
Здесь выкладываю свои мысли об устройстве мира, статьи о разработке Frontend, подкаст о программировании и помогаю компаниям и разработчикам решать сложные задачи.
Я ужа достаточно давно исследую архитектуру современного фронтенда, мне интересно с каким эмодзи у вас ассоциируется идея и подход feature-slices?
Голосование в чате
Голосование в чате
Крутая статья погружающая в Rust.
Рекомендую всем, кто давно хотел изучить новый язык, но боялся.
https://fasterthanli.me/articles/a-half-hour-to-learn-rust
Рекомендую всем, кто давно хотел изучить новый язык, но боялся.
https://fasterthanli.me/articles/a-half-hour-to-learn-rust
fasterthanli.me
A half-hour to learn Rust
In order to increase fluency in a programming language, one has to read a lot of it.
But how can you read a lot of it if you don’t know what it means?
In this article, instead of focusing on one or...
But how can you read a lot of it if you don’t know what it means?
In this article, instead of focusing on one or...
Давненько не писал сюда, а сейчас появился существенный повод.
Я уже давно рассказываю об архитектуре frontend-приложений и стараюсь явно показывать свои ошибки и опыт.
Весь этот опыт вылился в подход FeatureSlices, который на данный момент уже претерпел два серьезных изменения. Подход преследует простые цели — стандартизация структуры frontend-приложений. Конечно же, я не один работал над подобным подходом, как и ребята из команды feature-driven. Не так давно мы начали объединять усилия и опыт в одну общую команду и единый подход.
7 марта в 13:00 МСК прошёл первый публичный созвон-стрим, на котором мы постарались обсудить три основные темы:
1. Выбрать финальное название(главный кандидат сейчас — feature-sliced) и подобрать домен
2. Выяснить, что есть feature и entity в рамках методологии
3. Определить roadmap по ближайшим действиям
https://youtu.be/RQBslp8dngA
Я уже давно рассказываю об архитектуре frontend-приложений и стараюсь явно показывать свои ошибки и опыт.
Весь этот опыт вылился в подход FeatureSlices, который на данный момент уже претерпел два серьезных изменения. Подход преследует простые цели — стандартизация структуры frontend-приложений. Конечно же, я не один работал над подобным подходом, как и ребята из команды feature-driven. Не так давно мы начали объединять усилия и опыт в одну общую команду и единый подход.
7 марта в 13:00 МСК прошёл первый публичный созвон-стрим, на котором мы постарались обсудить три основные темы:
1. Выбрать финальное название(главный кандидат сейчас — feature-sliced) и подобрать домен
2. Выяснить, что есть feature и entity в рамках методологии
3. Определить roadmap по ближайшим действиям
https://youtu.be/RQBslp8dngA
YouTube
[feature-sliced] #1 — Committee Setup
На этой трансляции собрались первые члены основной команды feature-sliced, чтобы установить первые правила и определиться куда движется методология.
В рамках методологии feature-sliced я накатал небольшой текст.
Почитайте и напишите свой взгляд на ситуациях, может быть я что-то не учёл.
https://github.com/feature-sliced/wiki/discussions/43
Почитайте и напишите свой взгляд на ситуациях, может быть я что-то не учёл.
https://github.com/feature-sliced/wiki/discussions/43
GitHub
[ARCHIVED] Стимуляция к четкой формулировке задач · feature-sliced/documentation · Discussion #43
Дискуссия закрыта, см. выводы по #74 Из обсуждения в чате, я сделал вывод, что методология должна вынуждать разработчика четко сформулировать задачу которая решается фичами. Зачем? Во время разрабо...
Forwarded from Сова
В вашем проекте есть monorepo? Может быть вы вынуждены разделять свой код на пакеты, потому что поддерживаете сразу несколько платформ?
Anonymous Poll
46%
Да, у меня yarn workspaces или lerna, или другой способ организации
41%
Нет
13%
Не знаю
Сова пишет…
Attribute-Based Access Control А мы тут изобретаем ABAC, для передачи с сервера на клиент и двусторонней валидации данных. Почему не готовое решение? Большинство готовых решений монструозны и реализованы на XML. Нам требуется простая, но в то же время мощная…
Уже несколько недель думаю как назвать библиотеку для проверки прав в стиле ABAC.
Все самые интересные названия заняты, вот какое-то мучение. Сейчас пришла в голову идея: npmjs.com/can-you
Достаточно хорошо описывает цель: проверка прав?
Все самые интересные названия заняты, вот какое-то мучение. Сейчас пришла в голову идея: npmjs.com/can-you
Достаточно хорошо описывает цель: проверка прав?
Как я именую всё в приложении.
Когда читаю код, я хочу понимать намерения автора, что он хотел выразить кодом.
Если я вижу функцию employeeStatusChange, я хочу четко понимать её назначение “сменить статус сотрудника” или же “узнать в каком состоянии находится процесс изменения сотрудника”.
Если коротко, то использую подход:
Namespace + HighContext + LowContext + Action
Примеры выше можно показать так (namespace отсутствует):
employeeStatusChange
employee — high context, в контексте чего выполняется действие
status — low context, нечто принадлежащее родительскому контексту
change — action, что делаем с этим
То есть изменяем статус сотрудника.
А вот пример с выяснением текущего статуса процесса изменения сотрудника, может выглядеть так employeeChangeStatus:
employee — high context, всё так же работаем с сотрудником
change — low context, но здесь уже указываем что работаем с сущностью change принадлежащей сотруднику
status — action, выступает как глагол
Таким образом, можно четко обозначить назначение функции, не добавляя дополнительных слов. Получается коротко и понятно, при условии, что конвенцию понимают все в команде.
А вот как быть БЕЗ конвенции? Как отличить эти функции не превращая имя в месиво вроде readStatusOfEmployeeChanging, которое не отсортировать по имени, потому что тогда сгруппируются все функции начинающиеся с read*, вместо группирования по сущности employee.
P.S.
Если переложить этот подход на точечную нотацию, получится вполне себе вменяемая объектная модель:
employeeChangeStatus -> employee.change.status()
А вот readStatusOfEmployeeChanging уже не перекладывается без полной смены порядка слов, что не очень приятно. Ну и важные слова employee и change теряются в середине и конце названия.
Когда читаю код, я хочу понимать намерения автора, что он хотел выразить кодом.
Если я вижу функцию employeeStatusChange, я хочу четко понимать её назначение “сменить статус сотрудника” или же “узнать в каком состоянии находится процесс изменения сотрудника”.
Если коротко, то использую подход:
Namespace + HighContext + LowContext + Action
Примеры выше можно показать так (namespace отсутствует):
employeeStatusChange
employee — high context, в контексте чего выполняется действие
status — low context, нечто принадлежащее родительскому контексту
change — action, что делаем с этим
То есть изменяем статус сотрудника.
А вот пример с выяснением текущего статуса процесса изменения сотрудника, может выглядеть так employeeChangeStatus:
employee — high context, всё так же работаем с сотрудником
change — low context, но здесь уже указываем что работаем с сущностью change принадлежащей сотруднику
status — action, выступает как глагол
Таким образом, можно четко обозначить назначение функции, не добавляя дополнительных слов. Получается коротко и понятно, при условии, что конвенцию понимают все в команде.
А вот как быть БЕЗ конвенции? Как отличить эти функции не превращая имя в месиво вроде readStatusOfEmployeeChanging, которое не отсортировать по имени, потому что тогда сгруппируются все функции начинающиеся с read*, вместо группирования по сущности employee.
P.S.
Если переложить этот подход на точечную нотацию, получится вполне себе вменяемая объектная модель:
employeeChangeStatus -> employee.change.status()
А вот readStatusOfEmployeeChanging уже не перекладывается без полной смены порядка слов, что не очень приятно. Ну и важные слова employee и change теряются в середине и конце названия.
Буквально на днях записал коротенький выпуск «Под куполом» про компоненты-монстры во время проектирования ui-lib.
https://anchor.fm/under-a-dome/episodes/--er9ulu
https://podcasts.apple.com/ru/podcast/%D0%BF%D0%BE%D0%B4-%D0%BA%D1%83%D0%BF%D0%BE%D0%BB%D0%BE%D0%BC/id1553479345?l=en&i=1000514308069
https://music.yandex.com/album/13932760/track/79817578
https://anchor.fm/under-a-dome/episodes/--er9ulu
https://podcasts.apple.com/ru/podcast/%D0%BF%D0%BE%D0%B4-%D0%BA%D1%83%D0%BF%D0%BE%D0%BB%D0%BE%D0%BC/id1553479345?l=en&i=1000514308069
https://music.yandex.com/album/13932760/track/79817578
Spotify for Podcasters
Компоненты-монстры by Под куполом
Как перестать создавать огромные компоненты и не пытаться дробить их на слишком маленькие части.
Комментарии
Комментарии
У нас тут спор!
Что значит слово tier по вашему мнению? Не гуглить, чисто отсебятину накидайте.
Что значит слово tier по вашему мнению? Не гуглить, чисто отсебятину накидайте.
Forwarded from Effector news (Сергей Сова)
YouTube
effector meetup 2
Ссылка на чат в Телеграм:
https://t.me/joinchat/NM5fCJRw5Cw0YjYy
В современной frontend-разработке мы сталкиваемся с задачами уменьшения зависимостей между модулями и наглядного описания их внутренних и внешних связей, желая снизить количество ошибок и упростить…
https://t.me/joinchat/NM5fCJRw5Cw0YjYy
В современной frontend-разработке мы сталкиваемся с задачами уменьшения зависимостей между модулями и наглядного описания их внутренних и внешних связей, желая снизить количество ошибок и упростить…
Давненько не проводили TalkStream.
Вот всё, что было https://www.youtube.com/playlist?list=PLRXfqpDVC48YBxB71dx1YRKixd1_6AjmV
Интересен такой формат, стоит продолжать?
Вот всё, что было https://www.youtube.com/playlist?list=PLRXfqpDVC48YBxB71dx1YRKixd1_6AjmV
Интересен такой формат, стоит продолжать?
YouTube
TalkStream - YouTube
Forwarded from Kitekat
Сова пишет…
Сейчас реализовал наивную версию match для effector/reflect. Метод выбирает компонент из cases соответствующий значению в сторе source, во время рендера привязывает сторы и ивенты к нему. Оказалось, что похожим образом можно реализовать декларативную замену…
О! JWT should not be your default for sessions
Отправьте в реакт чат, может перестанут новичкам советовать
https://evertpot.com/jwt-is-a-bad-default/
Отправьте в реакт чат, может перестанут новичкам советовать
https://evertpot.com/jwt-is-a-bad-default/
Evertpot
JWT should not be your default for sessions
Forwarded from 🍰 Feature-Sliced Design (core-team)
Всем привет!
Прошло достаточно много времени, но теперь мы готовы представить вам v2.0-beta версию методологии!
Мы постарались изложить здесь:
- Get-started материалы
- Фундаментальные концепции
- Гайды и примеры по применению (включая миграцию с v1)
- Справочный материал по абстракциям
- Общее видение дальнейшего развития методологии
Материал копился и обсуждался достаточно долго, поэтому нам очень важно получить от вас фидбек по текущей версии!
- Можете делиться впечатлениями и замечаниями здесь в чате, в ишьюсах или в дискуссиях (или даже в пулл-реквестах)
- Сейчас для нас крайне важно собрать максимум ваших пожеланий, кейсов, реальных проблем с практики - чтобы обработать их со стороны методологии
- Работа над методологией еще в процессе, многое может поменяться, но фундамент под полноценный релиз v2 - кладется именно сейчас (потому нам так важен объемный и содержательный фидбек)
https://feature-sliced.design/
🍰 Release Notes
Прошло достаточно много времени, но теперь мы готовы представить вам v2.0-beta версию методологии!
Мы постарались изложить здесь:
- Get-started материалы
- Фундаментальные концепции
- Гайды и примеры по применению (включая миграцию с v1)
- Справочный материал по абстракциям
- Общее видение дальнейшего развития методологии
Материал копился и обсуждался достаточно долго, поэтому нам очень важно получить от вас фидбек по текущей версии!
- Можете делиться впечатлениями и замечаниями здесь в чате, в ишьюсах или в дискуссиях (или даже в пулл-реквестах)
- Сейчас для нас крайне важно собрать максимум ваших пожеланий, кейсов, реальных проблем с практики - чтобы обработать их со стороны методологии
- Работа над методологией еще в процессе, многое может поменяться, но фундамент под полноценный релиз v2 - кладется именно сейчас (потому нам так важен объемный и содержательный фидбек)
https://feature-sliced.design/
🍰 Release Notes