clojure-russia

Работа и релокейт: #jobs-rus | #clojure-russia-offtop Телеграм-чат https://t.me/clojure_ru
achikin 2017-11-17T10:38:14.000080Z

Прочитать Clojure for brave and true https://www.braveclojure.com/ Сделать все задачки с 4clojure http://www.4clojure.com/ Опционально прочитать Web Development with Clojure Дмитрия Сотникова https://pragprog.com/book/dswdcloj2/web-development-with-clojure-second-edition Очень не помешает посмотреть толки Ричарда Хикки https://changelog.com/posts/rich-hickeys-greatest-hits

achikin 2017-11-17T16:18:50.000626Z

Провожу сейчас инспекцию фронтэнд-кода, пришел к выводу, что re-frame - это зло. Если людям давать возможность срезать угол, положив стейт в базу - они так и будут делать к месту и не к месту. В итоге у нас половина компонентов прибита гвоздями к app-db и их невозможно переиспользовать. Пример из сегодняшнего: есть форма, данные формы хранятся в базе, есть эвент, который делает валидацию формы, никаких параметров не принимает, идет сам ищет форму в базе, валидирует и туда же рядом в базу кладет результаты валидации. Из-за этого переиспользовать ее затруднительно.

achikin 2017-11-17T16:21:23.000674Z

Можно было то же самое сделать, сложив стейт в атом внутри hiccup компонента формы и повесив на этот атом watcher в котором производилась бы валидация и генерация сообщений об ошибках, которые складывались бы в другой атом внутри формы, но увы.

achikin 2017-11-17T16:24:10.000617Z

А случилось так потому, что взяли люминус, где уже re-frame был прикручен изначально, кинулись изучать re-frame и стали все делать через базу, вместо того чтобы побольше внимания уделить возможностям Reagent. А вновь приходящие бойцы смотрели уже существующий код и делали так же как там.

achikin 2017-11-17T16:25:02.000219Z

Вообщем смысл этого ранта в том, что прежде чем тащить в проект красивый блестящий re-frame - подумайте нельзя ли того же достичь реагентом и заранее ограничьте то, что будет класться в базу.

2017-11-17T16:26:05.000484Z

ИМХО, проблема в недостаточном опыте работы с технологией и понимании архитектурных подходов

2017-11-17T16:26:32.000343Z

то же самое и в JS происходит

achikin 2017-11-17T16:35:12.000022Z

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

misha 2017-11-17T19:09:10.000413Z

вы бы колхоз и без рефрейма нахачили бы. на глобальных атомах вместо базы, например.

achikin 2017-11-17T20:55:44.000245Z

В большинстве мест - скорее всего да. А какие подводные камни у такого решения?

rustam.gilaztdinov 2017-11-17T22:27:48.000147Z

Кажись, фронтэнд обречён, если даже clojurescript не помогает :troll: