Fork me on GitHub
#clojure-russia
<
2016-03-21
>
a.espolov14:03:52

докатился

a.espolov14:03:01

typescript + angular2

a.espolov14:03:23

typescript компилит ужасно долго простое приложение

a.espolov14:03:03

ищу работу

ssesutchenkov15:03:48

кто-нибудь пробовал https://github.com/juxt/bidi ?

a.espolov15:03:19

@ssesutchenkov: думаю многие пробовали, в чем вопрос?

ssesutchenkov15:03:37

есть какие-либо ньюансы в использовании по сравнению с Compojure / Compojure-api?

a.espolov15:03:57

очевидно что есть, так бы либа на свет не появилась)

a.espolov15:03:37

в compojure роутинг это код, в bidi роутинг это данные

a.espolov15:03:36

не проверял конечно, но гипотетически c bidi роуты можно вовремя работы приложения добавлять удалять

a.espolov15:03:44

с compojure такого не будет

ssesutchenkov15:03:58

это я из описания bidi увидел, потому и заинтересовался - некоторое время назад тут как раз это обсуждали, с упоминанием https://github.com/niquola/route-map и самописного на основе Pedestal

ssesutchenkov15:03:54

интересно было бы услышать впечатления типа "использовал для того-то, были такие-то грабли, преодолел теперь норм или выкинул и вместо сабжа юзаю то-то". Как то так ))

kronos_vano15:03:23

А чо, много роутов планируется?

ssesutchenkov15:03:56

пока не очень понятно, скорее десятки чем сотни

kronos_vano15:03:30

ну я к тому, что стоит ли заморачиваться

ssesutchenkov15:03:45

ага, я понял )) но я пока кроме компожуры не использовал ничего - вот думаю может зря...

a.espolov15:03:49

@ssesutchenkov: "вот думаю может зря..." - много свободного времени видать)

ssesutchenkov15:03:49

я часть времени стараюсь инвестировать в саморазвитие, расширение кругозора, затачивание пилы - "вот это вот все" )))

misha16:03:44

джентельмены, а напомните, как кошерно throttling в cljs делать, например "не показывать саджесты, пока чувак печатает, а показать после 200ms паузы". есть варианты js timeout, и core.asynс'ом. а как еще или как "лучше"?

delaguardo16:03:12

"как удобнее" )

misha16:03:31

js - мерзко, кор.асинк оверкил наверное

a.espolov16:03:24

js timeout пихнул туда cljs функцию

a.espolov16:03:31

и норм, не?

misha16:03:31

думаю

misha16:03:55

чутка подпилить под .cljc и должно сгодиться

rmuslimov17:03:33

а канселить предыдущий реквест если пользователь успел что-то еще ввести, - не будет хорошей идеей?

misha17:03:29

будет

misha17:03:55

но для начала надо глянуть, как реакт справится без кенсела (в моем случае запрос – в локальный словарь, а не на сервер куда-то)

misha17:03:34

может и без кенсела прокатить, но тротлить я бы всё же стал

misha17:03:31

@rmuslimov: это вроде дебаунсинг называется

misha17:03:41

(defn debounce
  ([f] (debounce f 1000))
  ([f timeout]
    (let [id (atom nil)]
      (fn [evt]
        (js/clearTimeout @id)
        (reset! id (js/setTimeout
                   (partial f evt)
                   timeout))))))

misha17:03:37

что, наверное, более подходящее для ситуации с саджестами к тексту в инпуте

andmed18:03:33

из koans:

andmed18:03:14

(defn is-even? [n]
    (if (= n 0)
          true 
           (not (is-even? (dec n)))))
(is-even? 1)
дает вместо false: #object[clojure.core$complement$fn__4611 0x14a7359"[email protected]"] что я делаю не так?

rmuslimov18:03:07

функция верная, но странная

rmuslimov18:03:18

попробуй репл перезапустить наверно

rmuslimov18:03:30

(is-even? 1) => false

andmed18:03:28

xmmm... перезапустил, все тоже. запускаю в той же директории. lein repl

andfadeev18:03:09

(complement empty?) ничего такого не делал?

andfadeev18:03:29

uberjar-ы не собирал?

andmed18:03:29

да, там все работает. а есть самотесты для репла? криво он стоит что-ли... но ни на что не жалуется, глючит избранно :face_with_rolling_eyes:

andfadeev18:03:36

может lein clean

andmed18:03:46

@andfadeev: дада делал сперва

andmed18:03:43

все, заработало. Спасибо!

andfadeev18:03:53

что помогло то?

andmed18:03:17

clean. просто перезапуск не помог. он стейты хранит где-то, что ли...

andrewboltachev19:03:42

Всем привет. У кого-нибудь есть опыт "чтения" кода Om Next? Я понял, что плохо в нём разбираюсь (хоть и пытаюсь делать на нём проекты) и решил осилить чтение кода. Но трудно понять некоторые места, например парсер.

andmed19:03:37

вот еще

(defn is-even-bigint? [n]
   (loop [n   n
          acc true]
     (if (= n 0)
       acc
       (recur (dec n) (not acc)))))
(is-even-bigint? 100003N)
дает :fill-in-the-blank ничегонепонимаю. решение взято уже копипастом с сайта, никаких бланков нет...

andmed19:03:01

trycli ругается java.lang.IllegalStateException: Attempting to call unbound fn: #'sandbox15512/is-even-bigint?

andmed19:03:27

:thinking_face:

artemyarulin19:03:18

@andrewboltachev: я тоже пытался и нефига не понял, а потом прочитал тесты - появилось хоть какое понимание

andrewboltachev19:03:53

хм, значит ТДД решает simple_smile

andrewboltachev19:03:01

спасибо, попытаюсь!

andmed20:03:08

@trybeee: Спасибо https://drive.google.com/file/d/0B1mVJBTGwKMtd2N3c3NqNlBUSWM/view?usp=sharing Сверил посимвольно, число скобочек пересчитал. У меня не работает. 🤕

rmuslimov20:03:17

@andmed а что ты делаешь, зачем такие сумасшедшие рекурсии?

rmuslimov20:03:36

по-моему проще привести аргумент к int и float, разделить обоих на 2 и посмотреть на результат

rmuslimov20:03:46

если =0 четное обратно нечетное

dmitryn21:03:25

@andmed: https://github.com/Raynes/tryclojure/issues/54 нужно почистить cookie или открыть в incognito чтобы сменить sandbox namespace

andmed21:03:13

@rmuslimov: а это с clojurekoans вроде задачки. И каково мне обидно, что скопипастенное оттуда решение не работает ни в локальном репле, ни на стороннем сайте....

andmed21:03:33

@trybeee: Спасибо. Возьму тактическую музыкальную паузу до завтра. Может карма сегодня не очень...

dmitryn21:03:35

решение работает, если загрузить его в новом ns на http://tryclj.com

andmed21:03:35

Допустим. Мне еще мой репл нужно в этом убедить будет

dmitryn21:03:33

можно еще тут попробовать. в cljs репле http://planck-repl.org/

artemyarulin21:03:52

вот кста из новеньких http://cljsfiddle.com