This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2015-09-28
Channels
- # admin-announcements (1)
- # announcements (1)
- # beginners (17)
- # boot (29)
- # cider (8)
- # clojure (87)
- # clojure-czech (2)
- # clojure-nl (2)
- # clojure-russia (108)
- # clojurebridge (9)
- # clojurescript (34)
- # cursive (5)
- # datascript (15)
- # devcards (14)
- # editors (6)
- # hoplon (121)
- # jobs (7)
- # ldnclj (22)
- # onyx (2)
- # re-frame (31)
- # reagent (43)
- # testing (2)
Вот в руби я могу сделать вот так: λ → (1..10).to_a.first(20) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] А в кложе нет: cljs.user=> (def x [1 2 3]) #'cljs.user/x cljs.user=> (subvec x 0 20) #object[Error Error: Index out of bounds] обязательно приседать и каждый раз проверять размер вектора или есть более простой путь?
у меня вопрос. Есть приложение (в моей голове), ей приходят некоторые события, оно их складывает в БД и пушит подключенным клиентам. События бывают всякие-разные и хочется их совать в какую-то нереляционную БД. Насколько подойдет для этого датомик и насколько хорошо/эффективно работает его бесплатная версия?
зависит от того как много и как часто приложение будет писать в базу
насколько я понимаю datomic круто работает на чтение, а вот с записью могут быть проблемы
When is Datomic not a good fit?
Datomic is not a good fit if you need unlimited write scalability, or have data with a high update churn rate (e.g. counters). And, at present, Datomic does not have support for BLOBs.
можно, только аккуратно с дефолтными настройками, может дефолтными ansible или chef быть настроена на 24 часов хранение, хотя изначально она с самого начала задумывалась хранить все, лог всего происходящего такой, с начала времен
А у меня тож есть прикольный вопрос. У меня есть апи для cljs приложения, написано на clj. И есть приложение на питоне, там всякая бизнес-логика и всë такое. Мы решили, что переписывать всë на кложуре сходу прям ваще нереально, и потому основная мысль - сделать канал actions в кафке, и туда пушить экшены, которые должны пройти бизнес-логику. Но тут есть проблема - как отвечать? В идеале вообще это кложурное апи должно ответить нормально в cljs на этот запрос, а не "когда-нибудь потом прийди и спроси". Но не приходит в голову, как бы это сделать
@suhinini: а он это и оформил в роман потом. http://shop.oreilly.com/product/0636920034339.do хорошая книга!
ага, за раз можно прочитать. но классная. я правда не знаю, может быть все, что есть в этом посте, есть и в ней, и может быть не стоит тратить $25 на нее
@asolovyov: а мот тогда без кафки? она сразу же асинхронность добавляет
если очень хочется поизвращаться, можно каждому action в кафке давать uuid и аппом clj раз в секунду по какой-нить апишки от питон бизнес логики запрашивать батчами подготовленные ответы
@konukhov: не, в книжке больше, я еë на распродаже купил чуть дешевле и в принципе не пожалел, она норм
видели, кстати – залили видео со strangeloop ‘15. я вообще думал, что там Майкл Дрогалис будет про рассказывать, что за год появилось и тд, а его что-то там нет.
https://www.youtube.com/playlist?list=PLcGKfGEEONaCIl5eU53uPBnRJ9rbIH32R&spfreload=10
я пока только про стримы и про транзакции посмотрел. сегодня буду Мартца (или как его по-русски написать) и Хаумана смотреть как раз.
@dottedmag: не, это типа training session'ы у них так называются
а, ну там только воркшоп по ониксу был. я почему-то думал, что у него ток будет. http://thestrangeloop.com/2015/beginning-onyx---distributed-computation-in-clojure.html
"a masterless, cloud scale, fault tolerant, high performance distributed computation system"
@dottedmag: замена storm/samza/etc, для которого ты 1 раз пишешь код, а оно и для стримов, и для ивентов работает
Ну вот у меня стоят на столе два компьютера. Это тоже distributed computation system?
кстати, сегодня электронные книжки в два раза дешевле, так что за 60 страниц нужно платить 13 долларов, а не 26 :)
@dottedmag: короч есть у тебя система вычисления всякого дерьма
и в простом случае ты бы просто написал какую-то штуку, которая слушает кафку, скажем, и пишет в базу
поэтому ты делаешь так, чтоб она могла быть запущена на двух компах, как-то хендлила всë, чтоб не было конфликтов, и всë такое
ну вот onyx - это система, которая хендлит за тебя, а ты пишешь только функции, которые делают реальную работу
@asolovyov: Ты не думал стать техписателем? :)
@dottedmag: ну разве шо за много денег, а так практика показывает, что за это обычно мало платют
@dottedmag: я немного страдаю лаконичностью, особенно с большими текстами, так денег не заработаешь
простите, у меня снова глупый вопрос. Я пришел к выводу, что мне будет удобно на клиенте держать датаскрипт и во вьюхи выбирать данные запросами туда. Как объяснить реагенту, когда у меня эта самая датаскрипт-база поменялась? В атом ее запихать?
проблема - если ты везде зависеть от атома с базой, то при еë изменении будут везде происходить запросы в неë, это всë синхронно и интерфейс тупо фризится
в моëм случае, такое происходило при 10-15 разных (иногда - относительно сложных) запросах и базе размером в 500 datom'ов
что я сделал - написал макрос, который создаëт новый атом (ячейку в моëм случае, ратом в случае с реагентом), который обновляется только если в базе меняется что-то интересное
коллбек, который определяет интересность, даëшь ты, потому что автоматически парсить запрос и решать, что интересно, а что нет - тяжело
@rm: ага, если будет грустно, то спрашивай, а то сча нет времени нормально оформить и выложить
@asolovyov: хорошо, спасибо!