This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-03-10
Channels
- # admin-announcements (2)
- # alda (16)
- # beginners (22)
- # boot (55)
- # cider (11)
- # cljs-dev (5)
- # cljsrn (7)
- # clojure (115)
- # clojure-art (1)
- # clojure-finland (3)
- # clojure-greece (18)
- # clojure-madison (2)
- # clojure-norway (2)
- # clojure-poland (50)
- # clojure-russia (122)
- # clojure-uk (9)
- # clojurescript (28)
- # core-async (7)
- # cursive (4)
- # data-science (4)
- # datomic (65)
- # devcards (3)
- # dirac (91)
- # editors (7)
- # emacs (9)
- # hoplon (1)
- # jobs (5)
- # jobs-discuss (10)
- # juxt (2)
- # keechma (7)
- # ldnclj (31)
- # leiningen (3)
- # off-topic (22)
- # om (129)
- # om-next (1)
- # onyx (6)
- # proton (15)
- # protorepl (2)
- # re-frame (49)
- # reagent (13)
- # remote-jobs (1)
- # ring-swagger (2)
- # yada (19)
@jedi: dawno temu słuchałem sporo post-rocków, trochę bardziej w kierunku "GY!BE" może niż "God is..."
Jak już mówimy o postrzeganiu rzeczywistości to ja się zapisuję do szkoły Kanta — tj. że nie możemy postrzegać rzeczywistości samej w sobie, tylko nasza świadomość zbudowana jest w pewien sposób który pozwala nam doświadczać świata empirycznie i na tej podstawie budować sobie jego jakiś fenomenologiczny obraz. I prawdy samej w sobie nie jesteśmy w stanie nigdy poznać, ale możemy budować sobie coraz lepsze teorie w jakiś sposób ją aproksymujące.
zrobiłem jedną apkę na componentach sierry i jest to fajowa opcja, ale odnoszę wrażenie, że jeśli by miała być naprawdę duża to szukałbym czegoś innego
u sierry jak wstaje ci system i gdzieś skopiesz inicjalizację to dostajesz np. mega gigantyczne error message
No ja właśnie mam taki problem, że nie umiem się zdecydować jakie stężenie componenta jest dobre
Przykładowo w mojej inżynierce zrobiłem coś takiego, że są komponenty domenowe udostępniające jakieś handlery i komponenty, nazwijmy to architekturalne, które ze swoich zależności filtrują te interesujące je po jakimś protokole i składają z nich np. jakiś dispatch function czy coś. Przykładowo
A inne komponenty udostępniają handlery — https://gitlab.com/jaen/thesis-code-new/blob/master/src/thesis/backend/components/logic/users.clj#L86-88
Zwłaszcza, że wtedy albo a) praktycznie każda funkcja musi dostawać interesujące ją komponenty jako argumenty, albo b) musisz je pisać w ciele defrecord
aby się domknąć nad polami.
Tylko się wtedy traci to automatyczne składanie systemu jak tylko dołożysz klocek. Chyba że to overengineering żeby coś takiego robić? Kojarzę że podobno niektórzy używają graph z prismaticowego plumbing do podobnych rzeczy, ale nie mam pojęcia jakby to mogło wyglądać w praktyce.
No ale to jednak jest jakaś heurystyka chyba — jeżeli trzymasz stan, to stwórz komponent. W przeciwnym wypadku nie. Tylko mam wrażenie, że enkapsulacja stanu to nie jedyny zysk z componenta — osobiście możliwość opisania systemu jako grafu zależności w jednym miejscu, z zależnościami i ko-zależnościami, opisania komponentu jako funkcji jego zależności i łatwiej podmiany takiego klocka, wydaje mi się równie przydatna. Całkiem możliwe że te rzeczy można też bez componenta osiągnąć i ograniczyć go tylko do stricte zarządzania stanem, ale nie jestem w tym momencie pewien jak by to można było dokładnie zrobić. Mount niby jest ciekawy, ale jakoś mu nie do końca ufam (ot choćby dlatego, że zależności są implicite w strukturze przestrzeni nazw i nie można mieć kilku instancji takiego komponentu), a nie miałem go okazji spróbować w czymś większym, żeby się przekonać czy słusznie czy nie. Podobnie bounce (https://github.com/jarohen/bounce) wydaje mi się ciekawy, ale też nie miałem okazji go w czymś większym spróbować.