Morn!
God morgen!
morn!
Morn!
Mathias og jeg stirret på en bug i dag. Etter over to timer kom vi fram til at det sikkert var Replicant sin feil. Var det Replicant sin feil? Ånei. Det var (1) at rekkefølgen i sets ikke er garantert, og at (2) rekkefølgen (via hash-funksjonen) er forskjellig på JVM Clojure og Clojurescript! One of those days.
Klassiskt 🙂
Du har en annan implementationsdetalj som kan bita dig, och det är maps där du itererar på nycklar. Med väldigt få nycklar så är det en PersistentArrayMap, där det är en array som ligger under. Över en viss gräns (väldigt låg gräns), så blir det en PersistentHashMap där ordningen på nycklarna kan bli olika beroende på storleken på din hashmap
Det är ju också lite som att göra en select i SQL och inte ange ordningen. I postgres så får du då tillbaka i ordningen det blev inlagt om jag minns rätt. Gör du sedan en import från en db till en annan, så kan den ordningen ändras
jepp! Først gjør vi antagelser. Så blir vi forvirret 🙈
Jeg har kastet bort mye tid på feil antakelser i feilsituasjoner 😄
Hva blir output av dette:
user> (def a (transient {}))
;; => #'user/a
user> (doseq [i (range 10)] (assoc! a i :a ) (println (count a)))
Og hvorfor
du skal vel ikke bruke transients sånn? transienten skal vel oppdateres og sendes videre underveis i loopen, før man kjører persistent! på den til slutt?
Helt riktig, men det «virker» opp til åtte :)
Haha, sant!
I Postgres er rekkefølgen per definisjon udefinert. Den avhenger av når du sist oppdaterte radene, og hvilke indekser som blir brukt. Skal faktisk snakke litt om det og rekkefølge på elementer under Kodemakers åpne fagdag i dag 😄
Det er lett å gjøre antakelser om slike ting som rekkefølge basert på observasjon. Lærdommen, etter min erfaring, er alltid å lese dokumentasjonen.
Forrige uke hadde vi en nedtrekksmeny for kommuner og fylker. Hver gang du huket av en kommune, så flyttet alle kommunene seg rundt. Fylkene hadde vi sortert før visning, da. (Dette var mens vi holdt på å lage og teste komponenten, så det var ikke noe brukerne så.
Morn!
Morn!
Morn!
morn
Morn!
Morn