Size: a a a

Clojure — русскоговорящее сообщество

2019 May 24

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
какая самая сложная проблема в разработке stateful front-end applications?
источник

АГ

Алесь Гузик in Clojure — русскоговорящее сообщество
как сделать так чтобы стейта было меньше
источник

АГ

Алесь Гузик in Clojure — русскоговорящее сообщество
вообще мне нравится подход когда для взаимодействия с моим веб-приложением я могу открыть cljs repl и просто вызывая функции в неймспейсах делать всё что может делать пользователь. в таком случае то как всё выглядит/рендерится просто отражает состояние приложения
источник

АГ

Алесь Гузик in Clojure — русскоговорящее сообщество
делать фронтенд как если бы фронтенда не было, как если бы это было консольное приложение
источник

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
Да, это круто, и локальный Стейт помогает в этом ?
источник

АГ

Алесь Гузик in Clojure — русскоговорящее сообщество
выделение незначимого в локальный стейт ок. в моём примере было бы (users/update-by-id! 42 :birthday (date "1990-09-01")), которое меняло бы глобальный стейт. Календарь во фронтенде рендерился бы со значением из этого глобального стейта в параметрах. Остальные части календаря, которые специфичны для графического интерфейса были бы его локальным стейтом.
источник

АГ

Алесь Гузик in Clojure — русскоговорящее сообщество
в локальном, потому что скорее всего не сильно имеет смысл что-то типа (profile-page/change-calendar-month ?? inc). но если в контексте приложения всё-таки имеет, то тогда это уже в глобальный стейт.
источник

Anton Žyliuk in Clojure — русскоговорящее сообщество
Anton Chikin
Да и на него можно повесить вотчер:))))
😄 круто
источник

MG

Mikhail Gusarov in Clojure — русскоговорящее сообщество
Какая депрессивная книжка про DDD+F#, начиная с того места, где собственно начинают писать на F#. "So there you go. In about 25 lines of code, we have defined a pretty useful set of types already", а я читаю "в 25 строках кода вы уже определили 8 специальных типов, на значениях которых не работает ни одна операция из стандартной библиотеки"
источник

AK

Anton Karpov in Clojure — русскоговорящее сообщество
Это на первый взгляд. На второй можно прочитать "вы определили свою область на которые извне домена невозможно повлиять"
источник

MG

Mikhail Gusarov in Clojure — русскоговорящее сообщество
Но зачем?
источник

MG

Mikhail Gusarov in Clojure — русскоговорящее сообщество
"Невозможно повлиять извне" - это же защита от ужаса программирования с мутабельными данными "не дай $DEITY кто-то придёт и испортит мои бесценные данные, давайте-ка вокруг них заборчик поставим".
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Алесь Гузик
у браузера есть компоненты типа календаря или селекта. пока ты выбор не сделал ты не видишь никакого стейта. мне кажется к своим компонентам стоит подходить так же, потому что иначе есть риск сильно усложнить пространство состояний приложения for no good reason.
Это да пока тебе не надо выбирать определенные даты
источник

АГ

Алесь Гузик in Clojure — русскоговорящее сообщество
Anton Chikin
Это да пока тебе не надо выбирать определенные даты
В чем проблема с [calendar {:selected-date "2019-05-24" :selectable-dates #{"1980-01-01" "2019-05-24"}]?
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Алесь Гузик
В чем проблема с [calendar {:selected-date "2019-05-24" :selectable-dates #{"1980-01-01" "2019-05-24"}]?
В том что такую апи надо будет добавить
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
И ещё кучу апи под разные кейсы
источник

АГ

Алесь Гузик in Clojure — русскоговорящее сообщество
м?
источник

АГ

Алесь Гузик in Clojure — русскоговорящее сообщество
мне кажется это аргумент из серии "давайте делать функции для конкретных типов данных, а не работающие для любых коллекций/данных"
источник

АГ

Алесь Гузик in Clojure — русскоговорящее сообщество
хотя может быть я неправильно понял
источник

АГ

Алесь Гузик in Clojure — русскоговорящее сообщество
как бы у вас выглядел календарь с выбором допустимых дат?
источник