This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-02-06
Channels
- # aleph (2)
- # aws (3)
- # bangalore-clj (3)
- # beginners (119)
- # boot (263)
- # cider (13)
- # cljs-dev (16)
- # clojars (2)
- # clojure (114)
- # clojure-austin (1)
- # clojure-chicago (1)
- # clojure-finland (1)
- # clojure-france (24)
- # clojure-italy (6)
- # clojure-russia (28)
- # clojure-serbia (7)
- # clojure-spain (1)
- # clojure-spec (89)
- # clojure-uk (139)
- # clojurescript (216)
- # community-development (3)
- # core-async (135)
- # css (2)
- # cursive (31)
- # datomic (44)
- # emacs (15)
- # hoplon (2)
- # jobs (3)
- # lein-figwheel (14)
- # leiningen (2)
- # lumo (21)
- # off-topic (16)
- # om (7)
- # om-next (1)
- # onyx (53)
- # perun (9)
- # planck (15)
- # portland-or (29)
- # protorepl (2)
- # re-frame (32)
- # reagent (8)
- # ring-swagger (22)
- # rum (51)
- # spacemacs (4)
- # untangled (2)
Цвет такой коричнево-серый, потому что цвета перемешиваются при создании новой клетки
@kgofhedgehogs цвет классный! Просто это про размножение бактерий в септике.
Возможно вопрос уже поднимался выше много раз, и я всё проспал. Суть вопроса: как организовать автоматическое подключение плагинов? Например есть у меня вебапп, и я хочу просто добавляя файлики в директорию регестрировать какие-то сущности. Например компоненты, ресурсы, маршруты в роутере. В первый раз решил это так: сделал модуль с атомами и функциями ( которые в эти атомы кладут ). Приходится всё равно реквайрить эти компоненты куда надо, чтобы дернуть вызов функции которая кладет. Можно конечно еще и автоматически реквайрить из директории, но это уже совсем. Потом я подумал, что всё это ересь и Rails. И надо просто из каждого модуля вызывать функцию, которая возвращает всё, что нужно зарегестрировать, и собирать это в мэп. Никакой магии, всё руками, и никто никуда не мутирует. То есть в общем-то я пришел к адекватному решению, но какой-то осадочек нерешенности остался. Может кто-то тоже над этим размышлял? Вот еще есть такая статья на тему ( нашел там свой солюшн с атомами ) https://yogthos.net/posts/2015-01-15-A-Plugin-System-in-Clojure.html
какая разница, где выписывать явно? вопрос только, сколько раз ты повторяешь себя, выписывая явно то, что ты уже повторил своим избыточным заявлением сказанного:
0. файл создан = уже заявление сделано программистом. (как случалось порой в рельсовом ассет пайплайне)
1. в самом файле: (rum.core/defc ..)
однозначно видно, какой неймспейс реквайрить, кто бы что ни говорил.
2. вдобавок выписывать в топе файла (как в кложе)
3. вдобавок устраивать депенденси инжекшн ад, притащенный из джавы, как в component
Как можно убрать эти внешние круглые скобки?
({{:x 0, :y 0} [255 0 0], {:x 0, :y 1} [0 255 0]})
first?
А больше никак?
Ну ладно. First так first
ну можно last еще) это ж не скобки просто - это лист в котором у тебя мапа
Ну понятно. Но постоянно, когда колелкцию пропускаю через мап, получается эта же коллекция, но в листе. Не оч удобно
mapv|filterv в помощь
@kgofhedgehogs а графику чем рисуешь?
@alexander_mihailov quil. Сохраняю с помощью gil
Можно ли заставить этот код производить вычисления мультипроцессорно/многопоточно? Прогарамма занимает 1гб озу и очень долго обрабатывает массивы, а cpu жрет всего на 14%, хотелось бы выжать по-больше производительности
@kgofhedgehogs можно попробовать использовать reducers (https://clojure.org/reference/reducers), только for
придется переписать в map
чтобы можно было использовать r/map
и r/filter
Так, сейчас гляну. Спасибо
Нет же простого способа преобразовать фор в map?
вот так переделал на редьюсеры. В find-neighbors один мап при замене на r/map выкидывает экзепшн. Не понимаю почему, но оставил пока так
Сейчас проверю, повысилась ли производительность
Озу занимает меньше на 100 мб, но это не значительно, может быть, совпадение. cpu 17% Хоть, на глаз чуть-чуть быстрее, но не сильно помогло
надо пониать, на каком объеме это начинает давать прирост. fork/join - недешевые операции
Сейчас сделаю
Я ведь верно, что into {}
можно заменить r/reduce conj
? А то, что-то не работает...
Без r/ работает