This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-02-01
Channels
- # aatree (1)
- # admin-announcements (11)
- # beginners (77)
- # boot (73)
- # braid-chat (29)
- # cbus (3)
- # clara (3)
- # cljs-dev (16)
- # cljsjs (2)
- # cljsrn (68)
- # clojure (149)
- # clojure-austin (1)
- # clojure-czech (2)
- # clojure-miami (8)
- # clojure-poland (28)
- # clojure-russia (165)
- # clojure-ukraine (1)
- # clojurebridge (3)
- # clojurescript (64)
- # community-development (1)
- # core-async (27)
- # core-matrix (2)
- # cursive (38)
- # data-science (2)
- # datavis (4)
- # datomic (3)
- # dirac (78)
- # emacs (10)
- # events (1)
- # funcool (6)
- # hoplon (25)
- # immutant (2)
- # jobs (3)
- # ldnclj (34)
- # luminus (4)
- # mount (23)
- # off-topic (26)
- # om (121)
- # onyx (320)
- # other-lisps (1)
- # proton (13)
- # re-frame (33)
- # yada (3)
@misha: Ага, спасибо. Ну значит как и думал - у ом-некст есть просто несколько фишек (idents) которые как раз делают структуру данных плоскими, по типу:
{:cur-user [:person/by-id 22]
:person/by-id {:22 {:name “John” :age 22}}}
Ну ок, после всех разговоров я понял что ом-некст state object пересекается с datascript очень сильно, смысла брать нет, всем спасибо@artemyarulin: на сколько я понял, если использовать датаскрипт с ом-некстом, то "отваливаются" омовы запросы (либо из них самому парсить аргументы в read-методах) и нормализация, о которых ты, видимо, и написал
@misha: Ага, именно так - мне в ом канале сказали что лучше счас пока этим не заниматься, многое отваливается и приходиться переделывать. Ну и да, другой язык запросов совсем. Хотя один чувак написал что он начал с датаскрипт, потом через месяц откатился на ом и в итоге потратил часик на переписание всех запросов, т.е. оно там не омг совсем другое, можно переехать в будущем
я сам отложил ом-некст до времен, пока там утресется всё, и станет проще датаскрипт прикручивать, либо пока ром не заработает для реакт нейтива ; )
> ром не заработает для реакт нейтива чо за ром? Слышал тут пару раз, и почему он так важен?
аа, еще один враппер над реактом, ясно
с учетом того, что реагент "портировали" на реакт нейтив достаточно просто, думаю, что с ромом не должно быть особых проблем, просто нужно, что бы кто-то сделал ; )
ну ом-некст это не просто враппер над реактом, это еще и relay/graphQL штуки
да ну, заменить om/dom на что-нить свое делов на час
ну рилей - это всё круто and all, но у меня на бэкэнде датомик, так что я как-нибудь без релея справлюсь
ааа, тру, тада не надо
у меня просто мобайл - для меня возможность смержить 10 запросов в один прям маст хев
ну если на бэкэнде датомик, а на фронтэнде - датаскрипт, так и получается: реквестишь пулл-паттерном всё, что надо, и в дамки
это да, но чота я не готов еще датомик тащить на бек, хз пока
ну там да, нужно потратиться на осознание и деплой и может миграцию. я сейчас могу себе позволить, потому сразу за него взялся. если ресурсы/сроки жмут - ом может быть подходящей migration strategy ; )
а с rum тоже можно сделать компоненты которые хранят запрос какие данным им нужны?
query я имею ввиду
аля relay
>ну и да, там заменить, тут заменить
останусь пока при оме, тем более он уже работает на мобайл
если познал ом - переходить пока что смысла мало наверное. но я не познал, и траффик на #C06DT2YSY канале меня настораживает при всём количестве "официальных" туториалов, документации и сторонних примеров
ну онож все еще альфа всеж, да и доки я бы не сказал прям что идеальны. Хотя и Девид конечно пишет, эм, не тривиально я бы сказал
@linuccio: Ну эм, если коротко то да, если чуть более детально то it depends
Приложенька банальная вроде как. Несколько кнопок, экранов, общение с сервером по POST. Я просто никогда не делал еще их)
Несколько кнопок экрано и общение с сервером я рекомендовал бы пойти в сторону питона или руби)
А хотдеплой? Ведь это первый эксперимент, хотелось бы иметь возможность быстро править баги.
zero-time деплой есть на любых языках. накройняк green/blue деплой
или как он там
брр, питон и руби не модные уже
@artemyarulin: Почему? Кажется, сейчас clojure как питон лет 10 назад.
дело в том, что рельсы как раз хороши для раз-раз и в продакшн, особенно когда приложение несложное. А в кложе ты будешь долго разбираься, какие либы принести, а как закончишь, окажется, что ты уже почему-то все написал и как-то делать нечего
ээ, вы чо тут отгоривариваете чувака) Бери кложуру, все нормально там!
ну я тупой, я вообще полгода всякую мелочь писал типа курсачей в институте, прежде чем на работу притащил. Сам язык простой, заставить мозг думать иначе сложно
ааа, ты про него еще все?
т.е. ты хочешь приложения для веба или мобайл?
дак реакт нейтив он для создания нативных приложения для мобильных. Если хочешь веб то это обычный реакт
мобаил, в вебе будет что-то похожее, но там я в общем уже пробовал, понимаю что к чему
Точка отправления тогда для тебя https://github.com/drapanjanas/re-natal
Это если конкретно, если хочешь посмотреть все варианты то http://cljsrn.org
канальчик в слаке #C0E1SN0NM
https://clojars.org/err тыц-тыц, смотрите, я разработчик библиотек :)
ридми на 5 баллов, сразу понятно что про котов
@rm: А ты прям реально все на монадах пишешь? прям хаскель со скобочками?
я просто думал тоже заюзать cats, но как-то не идеоматично для кложуры
ну получается да, у меня все обернуто в эти either. Ну неидиоматично, но эти офигительные throw и catch вообще какие-то бесчеловечные
be9, держи вот пока https://www.niwi.nz/2015/03/08/error-handling/
https://github.com/s-mage/err я написал ридми
@rm:
(defn serialize [data]
(if (failed? data)
{:status 400 :result "error" :cause @data}
data))
чота как-то общая либа для работы с ошибками не должна наверно такое делать"it should do only one thing and do it good”(c)
ок, поставил звездочку тогда 😄
а чо, у кложурочки и кложурСкрипт нету общего функционала для работа с датами?
https://github.com/andrewmcveigh/cljs-time вот такое есть
@delaguardo: Угу спасибо, получается надо тащить clj-time, cljs-time, эх
да и помнить что API не во всем идентичен
совсем печаль
особенно в том что касается форматирования
ну емае
а также, sic, mutable date object (((
нафег, тогда оставлю строкой пока
так же какое-то время назад решил
Ну в cljs есть ещё https://closure-library.googlecode.com/git-history/docs/class_goog_date_DateTime.html, её cljs-time и оборачивает
я просто счас cljc пишу, писать враппер с goog.dateTime и c java.text.SimpleDateFormat ну совсем не охота счас
нет поленюсь. Тут вот 256 человек счас сидят, вдруг кому скушно будет и он напишет это за меня
ну вариант ага, но пока строка сойдет, что может быть лучше чем четкая и конкретная дата в UI "2016-02-01T16:10:35.0000Z"
Я вот не пойму (не спец в clojure), есть же огромные кучи от Java, там что нет ни чего внятного для дат?
дак есть конечно, вопрос то в том как мне универсальный код написать для Clojure И для ClojureScript
я правильно понимаю, что в отношении дат, есть разночтения между Java и JavaScript? И в этом проблема?
ага, именно так, сложности нет, но влом
Посмотрел слегка, есть ощущение что надо как то прилепиться к goog.i18n.DateTimeFormat со стороны CLJS
http://dev.clojure.org/display/design/Reader+Conditionals одуплялка называется reader conditionals
он был некоторое время заброшен, а сейчас сообщество его откопало и вроде как-то улучшает даже. Я пробовал 10 минут и вернулся в вим, потому что мне в нем привычно, а во всем другом нет
идея это которая курсив?
ну прям уж не кучу
а хотя если честно не знаю сколько, соточку?
а точно, я все еще на 30 умножаю по старой привычке
а кто-нить может объяснить в итоге чо там такого то? Нолен кста зараза с емакса ушел и юзает курсив нынче, предатель
в курсиве? да ниче особого, просто подсветка кода, навигация рефакторинг все дела, взаимодействие с реплом
а там кста дебаггер сделали?
я читал что в cider его прилипили, но все лень было попробовать
ах, целый вечер сегодня парсил xml зипперами, прям радость и бабочки:
(defn message [node]
{:subject (xml1-> node :Subject text)
:id (xml1-> node :ItemId (attr :Id))
:change-key (xml1-> node :ItemId (attr :ChangeKey))
:attachments? (xml1-> node :HasAttachments t-bool)
:received (xml1-> node :DateTimeSent text)
:size (xml1-> node :Size t-int)
:from (-> (xml1-> node :From :Mailbox) mailbox)
:read? (xml1-> node :IsRead t-bool)
:body (xml1-> node :Body text)})
(defn find-item-response [node]
(let [root-folder (xml1-> node :FindItemResponse :ResponseMessages :FindItemResponseMessage :RootFolder)]
{:messages (map message (xml-> root-folder :Items :Message))
:more? (= "false" (xml1-> root-folder (attr :IncludesLastItemInRange)))}))
конечно, это решается посредством .ext-файлов, но писать такие файлы для каждого JS-плагина — так себе развлечение
.ext файлы это которые externs? Ну в принципе они нужны в любом случае если хочешь использовать advanced compilation