Morn
Morn!
dagens arkeologiske bemerkning: clojure.set har antageligvis tidligere hett bare set ("single segment namespace"). Ellers er det vanskelig å forklare hvorfor clojure.set har en rich-comment med en linje som ikke funker:
https://github.com/clojure/clojure/blob/6a4ba6aedc8575768b2fff6d9c9c7e6503a0a93a/src/clj/clojure/set.clj#L163
Forklaringa er sannsynligvis at fila levde på toppnivå som set.clj inni et prosjekt utenfor clojure-repoet. Kommentaren har vært der helt siden namespace ble lagt til repoet: https://github.com/clojure/clojure/commit/d59defe9
Jeg får en god, varm følelse når jeg tenker på Clojure som sideprosjektet til rich 🤗
Ser ut som det var pre 1.0, og jeg kan ikke huske at Clojure har navngitt clojure.set som noe annet tidligere.
Morn!
Morn!
Kult. I dag lærte jeg at en kan bruke https://clojuredocs.org/clojure.core/in-ns for å bruke samme navnerom på tvers av filer og i andre navnerom. Frem til nå trodde jeg en måtte ha 1:1 korrespondanse mellom filer og navnerom (som antagelig er best i de fleste tilfeller).
Du kan også bruke ns:
(ns chaos)
(def khaos {})
(ns athens)
(def athene {})
(ns clojurians)
(def leif {})
(comment
chaos/khaos
;; => {}
athens/athene
;; => {}
clojurians/leif
;; => {}
)Clojure leser navnerom med readeren. Om det er én lang fil eller mange filer spiller ingen rolle!
Men dersom du vil at clojure.core/require skal funke, må filene finnes på classpath der de forventes 🙂
Morn!
mårn
Morn!
Morn!
Morn! ☕
Morn!
God morn!
Jeg vet at dette ikke er Datomic og greier, men https://www.infoq.com/articles/wonders-of-postgres-logical-decoding-messages/ ligner jo veldig litt på muligheten Datomic har til å legge på vilkårlig data på transaksjonen. Noen som har erfaring med å bruke dette? Ja, jeg vet at det ikke er first class og alt det der, men det kan funke for et use case hos oss.
vi bruker en tabell til dette i dag, altså det artikkelen beskriver som the outbox pattern. Egentlig ikke til microservices, bare services, vi integrerer med en haug tredjepartsgreier
personlig liker jeg jo å kunne querie og se på historikk og slenge inn metadata og alt sånt i en tabell, WAL-en blir vel litt mere black box her
Har ikke prøvd å sende egne meldinger der, men jeg så også den artikkelen ifm. https://clojurians.slack.com/archives/C06MAR553/p1761809201645639. Og Muutos har vi tatt i bruk eksperimentelt for å synke noe greier for spesielle kombinasjoner av old/new, fungerer så langt kjempebra og perfekt timing.
Og morn. Og duverden som jeg gleder meg til Clojure Lunch!