Size: a a a

Programming Offtop

2020 April 13

ML

Mikhail Levchenko in Programming Offtop
Тут вопрос не совсем в tea, так то, а в синхронизации
источник

KD

Konstantin Dovnar in Programming Offtop
Mikhail Levchenko
А пользователи локальные?
Нет, через сеть сидят
источник

KD

Konstantin Dovnar in Programming Offtop
Mikhail Levchenko
Тут вопрос не совсем в tea, так то, а в синхронизации
Меня пока и реализация волнует. Подобные моменты вызывают тревогу и непонимание с вопросом как правильно
источник

ML

Mikhail Levchenko in Programming Offtop
Konstantin Dovnar
Меня пока и реализация волнует. Подобные моменты вызывают тревогу и непонимание с вопросом как правильно
Любое событие извне - мессадж
источник

ML

Mikhail Levchenko in Programming Offtop
Я бы по клику пользователя "всё ок" переходил бы в состояние "жду второго", если второй раньше, то переходил бы в состояние "жду первого"
источник

KD

Konstantin Dovnar in Programming Offtop
Mikhail Levchenko
Я бы по клику пользователя "всё ок" переходил бы в состояние "жду второго", если второй раньше, то переходил бы в состояние "жду первого"
А если их 10?
источник

ML

Mikhail Levchenko in Programming Offtop
Konstantin Dovnar
А если их 10?
Семафор знаешь?
источник

KD

Konstantin Dovnar in Programming Offtop
Mikhail Levchenko
Семафор знаешь?
Нет
источник

ML

Mikhail Levchenko in Programming Offtop
Ну тут либо каунтер игроков (что может взорваться, если кто то дважды подтвердит) либо сет из айдишников игроков. Как только число элементов в сете равно числу игроков – игра началась
источник

KD

Konstantin Dovnar in Programming Offtop
Mikhail Levchenko
Ну тут либо каунтер игроков (что может взорваться, если кто то дважды подтвердит) либо сет из айдишников игроков. Как только число элементов в сете равно числу игроков – игра началась
В общем, +\- второй вариант из моих 🤔
источник

СГ

Сергей Греков... in Programming Offtop
Konstantin Dovnar
Ещё один практический вопрос по tea-like архитектурам.

Если мне надо показать пользователям некое интро — размер которого зависит от входных данных. В моём кейсе — перечисление всего текста в виде титров. После этого надо перейти на другой стейт. Как это правильно реализовывать?

Это не user-input, потому что система сама должна понимать когда ей надо переключить стейт. Но этот экран показывается у нескольких пользователей разом, поэтому нужно как-то позаботиться о том, чтобы все пользователи увидели целиком первый стейт, перед переходом ко второму.

Если бы не второе условие, я бы сказал, что достаточно эффектом с таймером покрыть, но вот так вот даже не знаю.

И в целом, получается, что если завязываться на эффект, то UI будет получать время на отображение, а дальше пытаться успеть отобразить? 🤔

Есть ещё вариант сделать некий флаг от каждого пользователя — просмотрел он или нет, и лишь когда от всех пользователей прилетит экшн о том, что они досмотрели — переходить к следующему. 🤔
В TEA  как раз есть такая штука как subscription,  по сути это обсервабл, которые при эмите каких то данных плюется месседжом. Тот же таймер канонично через нее делать. Ну т.е. все события от окружающей среды, которые непосредственно от пользака не зависят оборачиваются в subscription
источник

KD

Konstantin Dovnar in Programming Offtop
Сергей Греков
В TEA  как раз есть такая штука как subscription,  по сути это обсервабл, которые при эмите каких то данных плюется месседжом. Тот же таймер канонично через нее делать. Ну т.е. все события от окружающей среды, которые непосредственно от пользака не зависят оборачиваются в subscription
Я так понимаю, это те же эффекты, но с другим названием? Или нет?
источник

СГ

Сергей Греков... in Programming Offtop
не совсем
источник

AN

Alexander Nozik in Programming Offtop
Чего-то я задолбался с реактом этим вашим. Есть у меня рендер с пропсами. на клик передаются туда разные объекты в качестве пропсов. А этот паразит неперерендеривает. Как он проверяет идентичность аргументов?
источник

AN

Alexander Nozik in Programming Offtop
А ютрэк внезапно заработал сильно быстрее
источник

ML

Mikhail Levchenko in Programming Offtop
Сергей Греков
не совсем
Вообще, я давно о них думал, и понял, что это StateHandler
источник

СГ

Сергей Греков... in Programming Offtop
Konstantin Dovnar
Я так понимаю, это те же эффекты, но с другим названием? Или нет?
Эффекты ты сам просишь выполнить через команды. Подписка сама выдает уже мессаджы. Ноги растут из сигналов в FRP, чем TEA изначально и была
источник

СГ

Сергей Греков... in Programming Offtop
Mikhail Levchenko
Вообще, я давно о них думал, и понял, что это StateHandler
что есть StateHandler?
источник

ML

Mikhail Levchenko in Programming Offtop
Т.к. программа генерирует два вида стримов – бихевор и сигнал, то sub это обработчик бихевора и cmd это обработчик сигнала
источник

ML

Mikhail Levchenko in Programming Offtop
Сергей Греков
что есть StateHandler?
Подписка формируется от стейта. В каком то смысле, sub это ещё один обработчик потока со стейтом, наравне с ui
источник