I'd like to add Aleph to the Luminus template and I was wondering if there's an equivalent of dev mode available for other servers where it watches for changes in source and reloads them. I did a cursory look but didn't spot anything like a -dev option.
On Friday, April 17, 2015 at 5:06:30 PM UTC-4, Zach Tellman wrote: > > Hey all, > > In preparation for Clojure/West, I'm formally releasing the latest Aleph > and the libraries that surround it. Aleph 0.4.0 has been running in > production at Factual for half a year now, and across a variety of services > is handling at peak 600k HTTP requests/sec (spread across 15-20 machines). > > Since the landscape of Clojure HTTP servers is pretty crowded these days, > it's worth taking some time to explain how Aleph differs. To be clear, > most Clojure deployments likely use Jetty, and should continue to do so. > However, Aleph has some unique properties: > > * It uses the Netty library, which is a high-performance and very > battle-tested network layer for the JVM > * It is the only HTTP server that has *ubiquitous* asynchronous streams > wherever data can be received or sent (all other libraries can only > represent streaming requests using InputStreams, or like http-kit don't > support streaming HTTP requests at all) > * It is the only server that has a WebSocket implementation with any > support for per-connection backpressure. I won't make this post even > longer by going into why this is important, but this will be a central > theme of my talk at Clojure/West next week if you're interested in hearing > more. > * It uses consistent abstractions to represent network connections over a > variety of protocols, which makes it straightforward to use the same > application logic for all of them. > > Again, none of these points mean you should immediately drop whatever > you're using and move over to Aleph instead. However, I do feel it > represents the only (current) good option for using core.async or a similar > stream abstraction to represent network data, which is an idea a number of > people seem to be playing with lately. Some examples of this can be found > at http://ideolalia.com/aleph/literate.html. > > A full list of the libraries: > > aleph - https://github.com/ztellman/aleph - uses the excellent Netty > library to expose HTTP, TCP, and UDP using a consistent asynchronous stream > representation. > > manifold - https://github.com/ztellman/manifold - an unopinionated stream > representation designed to cleanly interoperate with other stream > representations (Clojure's seqs, core.async channels, Java's > BlockingQueues, and others). This is the base stream representation for > all network sources and sinks in Aleph. > > dirigiste - https://github.com/ztellman/dirigiste - a pure-Java library > that provides instrumented, dynamically sized thread and object pools. > This is used for thread pools in Aleph's HTTP server, and for connection > pools in Aleph's HTTP client. > > byte-streams - https://github.com/ztellman/byte-streams - a means of > translating any byte representation into another. Want to turn a > core.async channel that emits byte-arrays into an InputStream, or maybe the > other way around? Look no further. The library's conversion mechanism is > extensible, which is used in Aleph to make Netty's custom byte > representations interoperable with more familiar representations. > > byte-transforms - https://github.com/ztellman/byte-transforms - a > curated collection of byte compression, hashing, and encoding mechanisms, > which can work on anything byte-streams can convert. > > While all these libraries are used in concert to create Aleph, I've been > very careful to make sure any of them can be used by themselves. If anyone > has questions about them, the best place to get my attention is the Aleph > mailing list: https://groups.google.com/forum/#!forum/aleph-lib. > > I will be mentioning some of these libraries at my upcoming Clojure/West > talk (http://clojurewest.org/speakers#ztellman), but I've also set aside > an Unsession for specifically discussing these libraries: > https://github.com/clojurewest/clojurewest2015/wiki/Unsessions. If > you're interested, please add your name to the list. > > Zach > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.