This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-08-26
Channels
- # admin-announcements (1)
- # beginners (12)
- # cider (2)
- # cljs-dev (6)
- # cljsrn (4)
- # clojure (123)
- # clojure-austin (10)
- # clojure-brasil (1)
- # clojure-canada (21)
- # clojure-conj (5)
- # clojure-dev (8)
- # clojure-gamedev (42)
- # clojure-russia (121)
- # clojure-sanfrancisco (2)
- # clojure-spec (25)
- # clojure-uk (36)
- # clojurescript (195)
- # clojutre (3)
- # cursive (43)
- # datomic (6)
- # defnpodcast (2)
- # dirac (14)
- # emacs (2)
- # ethereum (2)
- # events (2)
- # funcool (6)
- # hoplon (76)
- # jobs (1)
- # kekkonen (9)
- # lein-figwheel (1)
- # leiningen (4)
- # mount (6)
- # off-topic (5)
- # om (2)
- # onyx (91)
- # pedestal (2)
- # protorepl (14)
- # re-frame (22)
- # reagent (20)
- # rethinkdb (1)
- # ring (2)
- # schema (3)
- # sfcljs (3)
- # spacemacs (15)
- # specter (12)
- # testing (1)
- # yada (63)
@artemyarulin: у тебя есть ник на Хабре?
эм, неа, нету
хм, своеобразно
user=> (clojure.string/replace "asd" "" "1")
“1a1s1d1”
хотя по ходу из жвм ноги растут, кложура не особо причем https://github.com/clojure/clojure/blob/722e023ea00b27a47b11afc29fa7fe0a282696f4/src/clj/clojure/string.clj#L101-L108
@artemyarulin: прикольно, напиши сюда: https://clojuredocs.org/clojure.string/replace
да вишь по ходу оно везде странно себя ведет
питон "abc".replace("","1”) -> ‘1a1b1c1'
ruby "abc".sub!("","1”) -> “1abc"
тоже возвращает "1a1b1c1"
@artemyarulin sub меняет первое вхождение
тебе нужен gsub
аа, подвели знания руби да)
а дак и в жс вроде тоже этот снипет первое вхождение заменит нет?
(.replace "abca" "a" "1”) => “1abca” так что тока первое ага. По ходу “1a1b1c” канонично 🙂
"abc".replace((new RegExp("", "g")), "1")
the same with js
//g у меня не завелось
ну тогда ок, я просто не в курсе значит был)
всем спасибо)
Просто отличная по формату статья - план погружения в Om.Next https://juxt.pro/blog/posts/course-notes-2.html @andre @romul @chort409 давайте замутим перевод! 🙂
я как то разбирался с core.async, по этим болгарским заметкам ) https://github.com/fmi/clojure-lectures/blob/e9aead137a25f3b01ba7b14d8949fe1e63b222e7/lectures/14-core-async.lecture
а я так понял, что мне core.async не пригодится в om.next 🙂 но с удовольствием почитал бы твою статью - сравнение core.async с go-рутинами
@seryh: как материал для статьи https://juxt.pro/blog/posts/course-notes.html
я core.async в бою уже как год использую кстате. обработка от ~70 GSP/глонасс устройств с машинок
котаны! похоже, это будет первая статья про Om.Next на русском языке помогайте с переводом, пажаласта! https://github.com/comerc/How_to_build_an_Om_Next_Remote/blob/master/article.md
видимо я погорячился, что core.async не нужен в om.next https://github.com/comerc/How_to_build_an_Om_Next_Remote/blob/master/article.md#coreasync-on-the-front-end это @artemyarulin сбивает прицел 🙂
там маленький кусочек на нем несвязанный с основным бизнесом
но если придет чувак туда с кложей вай нот
вот бы перевести всё это богатство https://habrahabr.ru/post/194032/
нашёл! https://github.com/matthiasn/talk-transcripts/blob/master/Hickey_Rich/SimpleMadeEasy.md
надо подключать Рахима . он любит такие вещи переводить, и делает это достаточно неплохо
Как вы разошлись с переводами - может реально вам отдельную комнату сделать? Накидаете туда интеграций со всякими гитхабами чтоб пулл реквесты не пропускать с правками, а тут в шапке канала сделать линку на новый канал?
@andre вот это тоже Рахим сделал, видимо https://www.youtube.com/watch?v=r0TWL5L7RE0
@comerc Что думаешь про отдельную комнату?
Не знаю кто тут админ, но может в шапку добавит кто ссылку на новый канал Обсуждения переводов <#C259XLPRD|clojure-russia-offtop>
@andmed перевод статей про кложуру и мир рядом с ним ага. Ребята тут уже перевели и запостили https://habrahabr.ru/post/308228/ и вот должны скоро выложить https://circleci.com/blog/rewriting-your-test-suite-in-clojure-in-24-hours/
оффтоп слишком громко сказано да. Просто обсуждения статей идет порою бурное, но не всем присутствующим это может быть интересно, поэтому я предложил вынести в отдельный канал
@artemyarulin: если не ошибаюсь ты нашел решение для выполнения ajax запросов пачкой с ожиданием ответа на все запросы, что что вроде promise'ов
ну она чисто с промисами, про хттп она ничего не знает
у меня свои врапперы есть на коллбеках https://github.com/artemyarulin/koh/blob/master/http/transport_client.cljs и на ними уже обертка промеса на 10 строк https://github.com/artemyarulin/koh/blob/master/http/http_p.cljc ну а дальше уже сможешь сам делать как в доке
(let [p (p/all [(http “")
(http “")])]
(p/then p (fn [[result1 result2]] …)
т.е. можешь тоже самое сделать по быстрому для своего кейса, там все кристально просто)
@andre: Рахим ответил > Да, тоже очень люблю это выступление (и почти все остальные доклады Рича Хикки), и эту штуку хочется перевести, но ух, большой и сложный, конечно. Надеюсь, когда-нибудь дойдут руки, тут прям несколько дней понадобится.
Подскажите, уважаемые! Если у вас есть последовательность сообщений, которые надо обрабатывать через определенное количество миллисекунд, то что бы вы посоветовали?
допустим у меня есть 10 сообщений, первое хочется отправить прямо сейчас, второе через 100 мс, третье через 500 мс и т.д.
ну и прикол в том, что может случиться неоторое событие, из-за котрого третье сообщение надо будет отправить реньше/позже
Думается мне, что должено быть что-то готовое для этого, типа вот такого - http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/DelayQueue.html
с core.async кажется вполне удобно можно сделать. передавать вектор с очередью в виде
[{:delay 300 :post <obj>} ...]
и обрабатывать с Thread/sleepправда кто то тут рассказывал что каналы в core.async лучше не блокировать, так как закончится зарезервированный тредпул
можно взять препорский twarc
юзаю cljs-http на бекенде включенны cors запросы дергаю авторизацию приходит ответ с куками, но при последующих запросах они не используются
@dottedmag: с фронта
@niwinz: привет. Использую promesa, вот пример (let [p (p/all [(do-some-io) (do-some-other-io)])] (p/then p (fn [[result1 result2]] (do-something-with-results result1 result2)))) Так все понятно как это работает, но как быть если в (do-some-io) и (do-some-other-io) передается call-back который и возвращает результат?
@a.espolov you should define a new function that promisify the other that expects callback