Size: a a a

Clojure — русскоговорящее сообщество

2020 May 06

AL

Arseniy Lebedev in Clojure — русскоговорящее сообщество
Сделали под моим руководством два проекта на кложуре, один про открытые данные за безопасные дороги, другой что-то вроде каталога информационных систем с их оценкой
источник

AL

Arseniy Lebedev in Clojure — русскоговорящее сообщество
Второй по-моему так и помер, а первый живет
источник

AL

Arseniy Lebedev in Clojure — русскоговорящее сообщество
источник

AL

Arseniy Lebedev in Clojure — русскоговорящее сообщество
Там фронт был даже на reagent, но его выпилили как только я ушёл потому что тогда было сложновато делать SPA на CLJS с поддержкой SEO
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Arseniy Lebedev
В записи нет необходимости
If it's not on video - it didn't happen :)
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
В проекте A с версией 1.0 есть deps.edn:
{:deps
{foo/bar {:mvn/version "0.1"}}
...}

В проекте B есть deps.edn:
{:deps
{foo/bar {:mvn/version "0.2"}
{A {:mvn/version "1.0"}}}
...}

Какая версия foo/bar будет использоваться в B? 0.2? 0.1?
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
На практике получается 0.2 и это че-то раздражает. Так и должно быть?
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
:override-deps?
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
The2lb3oz4dr10½grOfHedgehogs
На практике получается 0.2 и это че-то раздражает. Так и должно быть?
да, а что раздражает?
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
Ходить искать какая из зависимостей продолжает исопльзовать старую версию
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
Oleg Roshchupkin
:override-deps?
Да, так поможет
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
The2lb3oz4dr10½grOfHedgehogs
Ходить искать какая из зависимостей продолжает исопльзовать старую версию
clj -Stree и clj -Strace в помошь
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
Спасибо
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
а кто-нибудь может объяснить, почему в clojurescript так странно реализован метод swap! и подобные?
https://github.com/clojure/clojurescript/blob/master/src/main/cljs/cljs/core.cljs#L4510-L4530

(defn swap!
 ([a f]
  (if (instance? Atom a)
    (reset! a (f (.-state a)))
    (-swap! a f))))

-swap! - это метод протокола ISwap. При этом Atom не реализует протокол ISwap.
Это такая оптимизация, чтобы google closure compiler инлайнил вызов?
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Mikhail Kuzmin
а кто-нибудь может объяснить, почему в clojurescript так странно реализован метод swap! и подобные?
https://github.com/clojure/clojurescript/blob/master/src/main/cljs/cljs/core.cljs#L4510-L4530

(defn swap!
 ([a f]
  (if (instance? Atom a)
    (reset! a (f (.-state a)))
    (-swap! a f))))

-swap! - это метод протокола ISwap. При этом Atom не реализует протокол ISwap.
Это такая оптимизация, чтобы google closure compiler инлайнил вызов?
видимо чтобы вотчеры в одном месте дергать
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Mikhail Kuzmin
а кто-нибудь может объяснить, почему в clojurescript так странно реализован метод swap! и подобные?
https://github.com/clojure/clojurescript/blob/master/src/main/cljs/cljs/core.cljs#L4510-L4530

(defn swap!
 ([a f]
  (if (instance? Atom a)
    (reset! a (f (.-state a)))
    (-swap! a f))))

-swap! - это метод протокола ISwap. При этом Atom не реализует протокол ISwap.
Это такая оптимизация, чтобы google closure compiler инлайнил вызов?
нифига он не инлайнит в advanced режиме.

(let [a (atom 0)]
 (swap! a inc)
 (js/console.log @a))


var $a_528$$=new $cljs$core$Atom$$;$cljs$core$swap_BANG_$$.$cljs$core$IFn$_invoke$arity$2$($a_528$$,function($x$jscomp$125$$){return $x$jscomp$125$$+1});console.log($cljs$core$_deref$$($a_528$$));

тут включен режим pseudo-names, чтобы имена были читаемые
источник
2020 May 07

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
The2lb3oz4dr10½grOfHedgehogs
Ходить искать какая из зависимостей продолжает исопльзовать старую версию
а что значит "продолжает использовать"?
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
Andrew Rudenko
а что значит "продолжает использовать"?
Оба проекта используют библиотеку. Один из этих проектов тоже библиотеку. В общую библиотеку был добавлен новый функционал, который в проекте-библиотеке не нужен, но нужен в конечном проекте. Приходится обновлять оба проекта
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
Либо override deps
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
а что значит "приходится"?
источник