Fork me on GitHub
#clojure-russia
<
2017-03-20
>
artemyarulin05:03:19

дак дерни сам себя при старте приложения чо @leov

seryh06:03:09

jvm аргументы при запуске не помогут? типа там -server передать.

dottedmag08:03:09

Странно, что 40 секунд. Что там делается?

dottedmag08:03:17

Ленивые списки разворачиваются? 🙂

rkosenko09:03:26

@seryh та вроде -server по умолчанию на 64-хбитных платформах. А 64-хбитные платформы вроде нынче почти везде. @leov наверно, надо попрофилировать чего там происходит. У нас вот приложение на aleph - никакого прогрева не требуется, хотя оно и не такое тяжелое.

andre10:03:19

тут тоже было .но я не смотрел

andre10:03:08

вообще фидбека очень мало, я ее пилю в свободное время для себя больше, фиг знает пользуется ей кто вообще, тут народ как -то не очень отзывается 🙂

seryh12:03:21

re-frisk незаменимая и реально продающая штука для презентаций - показать возможности re-frame. а как тут уже обсуждали для наших небольших pet проектов всем хватает println для менеджмента стейта.

maxp13:03:28

@leov а что за приложение-то? Возможно оно там перекомпиляется где-то внутри. А может вообще что-нибудь вроде днс-таймаута случается 🙂 Так вроде ничего особо прогревать обычно не надо.

y.khmelevskii14:03:14

@mkaschenko а что это за рассылка Pure Functional?

y.khmelevskii14:03:56

спасибо!

dragoncube17:03:21

@andre я пытался несколько раз начать пользоваться, но из-за проблем с форматированием и фолдингом (мы используем namespaced ключи и они получаются очень длинные) получается очень неудобно

sebastjan.pereyro18:03:29

обязательно массив должен быть?

kishanov18:03:34

а почему не передавать вместе с new-item’ом индекс и делать update-in [:items index] ?

just.sultanov18:03:59

> обязательно массив должен быть?

just.sultanov18:03:04

не обязательно

kishanov18:03:11

(def app-state (atom {:items {1 {:name "item 1"}
                              2 {:name "item 2"}
                              3 {:name "item 3"}}}))


(defn get-item [id]
  (get-in @app-state [:items id]))


(defn create-item [name]
  (let [new-id (->> @app-state
                    :items
                    (keys)
                    (apply max)
                    (inc))]

    (swap! app-state assoc-in [:items new-id]
           {:name name})))



(defn update-item [id name]
  (swap! app-state update-in [:items id :name] name))


(defn remove-item [id]
  (swap! app-state update-in [:items] dissoc id))

kishanov18:03:16

наколеночная версия с мапой

just.sultanov18:03:46

@kishanov а если :items это будет неупорядоченный сет? проиндексировать map-indexed?

just.sultanov18:03:39

или id будут например uuid?

kishanov18:03:57

ну либо менедж айдишники руками, либо добавь ключик в сам item типа :index и потом по нему sort-by делай

andre18:03:58

@dragoncube в последнем релизе должно быть получше.я поправил фолдинг

andre18:03:59

Плюс можно фильтр сделать с маппингом ключей

ilshad19:03:01

извиняюсь за оффтоп, кто-то будет в Амстердаме на клож митапе в субботу? можно поразвиртуализироваться...

dragoncube19:03:33

@andre ок, посмотрю еще раз

misha19:03:39

@just.sultanov ключи мапы items - айди твоих айтемов, и там пофиг что за айди, были бы уникальные

{:items {:foo {:id :foo, :name 'item 1'}}

just.sultanov19:03:18

@misha спасибо! я уже так и сделал

dottedmag22:03:52

@ilshad Как будешь на митапе где-нибудь в районе Рима -- можно и подумать 🙂

ilshad22:03:22

@dottedmag из Рима послезавтра уезжаю :(