This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-09-26
Channels
- # aleph (3)
- # beginners (98)
- # boot (24)
- # cljs-dev (13)
- # cljsrn (16)
- # clojure (97)
- # clojure-dusseldorf (2)
- # clojure-italy (2)
- # clojure-losangeles (2)
- # clojure-russia (48)
- # clojure-spec (28)
- # clojure-uk (79)
- # clojurescript (79)
- # community-development (2)
- # cursive (4)
- # datomic (35)
- # duct (1)
- # events (1)
- # fulcro (43)
- # heroku (1)
- # jobs (1)
- # lein-figwheel (2)
- # luminus (1)
- # lumo (12)
- # nyc (1)
- # off-topic (6)
- # om (1)
- # pedestal (7)
- # portkey (9)
- # proton (1)
- # re-frame (45)
- # reagent (27)
- # rum (2)
- # shadow-cljs (78)
- # spacemacs (3)
- # specter (2)
- # testing (2)
- # vim (41)
Doubt: there is some how to do stateless websocket? Or websocket implies in a statefull/session?
@souenzzo websockets are stateful by nature
You might create an abstract layer to send/receive messages, but you can’t do that without changing state
@nooga we are working on a Kafka Streams implementation of CQRS. It’s almost an exact correlation, except where re-frame optimizes writes(simple events, complicated subscriptions) Kafka optimizes reads (views are updated at write time instead of read time)
So what I have here is a service that keeps track of state of each user and also state of entities the users access and it all happens in real time. User related events come through websockets and entity related events come from rabbitmq and there’s also an external database which keeps track of the current state of the world. What I would like to do is to translate user & entity related events into kind of internal event representation, queue everything up internally and just mutate/subscribe a huge atom while also offloading changes to the db just in case.
so we are using Kafka as our main storage, but it also works as a message broker. Seems like it would work pretty well for your use case.
React 16 is out
tho it is probably more of reagent concern
@nooga https://speakerdeck.com/bobbycalderwood/commander-better-distributed-applications-through-cqrs-event-sourcing-and-immutable-logs Note there is a video link on the above page Also see: https://github.com/greywolve/calderwood
We have stayed away from Event Sourcing on the server side (Kafka etc) ... looks great but it is more complex than we need. But we do use the idea of Commands and Queries between Client to the Server, rather than REST
thanks @mikethompson! I’ll have a look
@nooga. I've written up an FAQ - been asked this a bit over time https://github.com/Day8/re-frame/blob/master/docs/FAQs/FullStackReframe.md
Hello! Is anyone using re-frame plus bidi in a cljs application? I have a implementation question about routing
Thanks to @lxsameer we have a gitbook for re-frame: https://d8.gitbooks.io/re-frame/content/ !
@danielcompton cheers, it's just a basic setup yet but we have to improve it step by step
Anyone know the "correct" way to update the browser's window.location.href
when a click event is handled inside a re-frame event
what sort of practical limit is there on the size of the app-db
on, say, a desktop browser (eg. Chrome, Safari)?
50 MGs?
That was not a tested number
But if you look at how much memory each chrome tab uses
You can easily see 200+ MGs
Hm, ok. I'm doing a series of parallel coords plots and have about 75,000 lines of CSV for about 5mb uncompressed
trying to decide if that's in the app DB at all, or if it's just coming down from the server into re-frame land or bypassing and heading straight into D3.
I'd say solve it first with a small amount of data
Then test out different strategies
with the larger dataset
@rgm we have roughly that size XML data that we use in our app, parsed into Clojure data structures
Depends a bit on what you're doing with it, but a parsed CSV will probably be less memory intensive than what we're doing
oh cool... best case scenario is that I can get dynamic slicing-dicing on the client side so it sounds like my quantities aren't completely impractical.
If you're finding things are a bit slow, you can use re-frame-trace to track down where the time is being spent
Sorry for spam, but I am going to bump this again: Anyone know the "correct" way to update the browser's window.location.href
when a click event is handled inside a re-frame event?
goog.getObjectByName("window.location.href") and then manipulate it?
Just a suggestion
Sorry, maybe it is really js/window.location
Not at my computer 😊