Hi Dennis, Thanks very much for getting back to me - this sounds really good. I've had a look at sqlkorma seems simple enough to get started working with.
Once again, thanks very much most appreciated. On Tuesday, January 10, 2017 at 12:05:48 AM UTC, Dennis Roberts wrote: > > From what you've described, it seems as though it would be easy to build > the server side of this application in Clojure. > > I found Clojure to be very easy to pick up. I won't say that the first few > applications that I wrote in Clojure were great Clojure code, but it was > easy for me to move from Java to Clojure. > > Ring is a good start. You might also want to check into some libraries > built on top of Ring such as https://github.com/weavejester/compojure > and https://github.com/metosin/compojure-api. We've found compojure-api > to be extremely handy. > > I haven't played with any AWS clients in Clojure, so I'm afraid I can't > answer that question. > > Clojure does integrate well with relational databases in general. We're > using PostgreSQL, but any database that has a JDBC driver available should > be easy to use. You may want to check into some of the Clojure libraries > that provide DSLs for generating SQL statements. I've tried > http://sqlkorma.com/ and https://github.com/jkk/honeysql, and I've had > fairly good luck with both of them. > > Dennis > > On Monday, January 9, 2017 at 4:06:30 PM UTC-7, (hash-map :new "to > clojure" :need "assistance") wrote: >> >> Hi all! >> >> So, I'm new to Clojure! I'm coming in from a Java background and am >> currently working on a project that has prompted me to have a look at >> whether Clojure would be useful. >> I have started by going through the "Brave Clojure" website and working >> through the exercises and what I've seen has at many times just made me >> smile at the (at least so far) intuitiveness, simplicity and power of the >> language. My use case is this: >> >> A real time (sealed bid) auctioning system. We have a maximum number of >> bids (example 100) that's set by the owner of the product. Our clients then >> bid on the product. Once a bid is made, it's committed to a database and >> the counter increments. The next bid is processed, and so on. Once the >> maximum number of bids is reached, bidding stops. This auctioning system is >> for a mobile application however the main code for the real time system >> sits on a web server. The mobile app is a very thin client so simply makes >> a call to the app server via an API which then processes that request (and >> returns the result). >> >> Requests are processed in order - so we're following a "first come first >> serve" approach. If at any time a request is due to be processed and the >> counter hits 100, all requests should gracefully "fail" and be blocked from >> bidding. Now this is obviously possible in Java, albeit with a lot more >> code and thinking about the different ways to make everything thread-safe, >> etc. This is a completely new project so there's no restriction on >> languages to be used, etc. PS: We're all Java developers. >> >> I was really attracted to Clojure because of a) the JVM b) the fact that >> it seems to be able to handle concurrency effortlessly c) our API needs to >> scale and so we want to ensure that we can handle the 100K+ connections >> easily when the project reaches that stage. Obviously this is more to do >> with the hardware, but the way we build the API is a definite factor. >> Finally, there seems to be less verbose codebases on Clojure and it might >> help to keep our overall codebase light and readable! >> >> My questions therefore are these: >> >> With the time we have (around 1 month for this stage), is this something >> we can easily build in Clojure? >> Is the movement from Java to Clojure easy for someone completely new to >> Clojure? >> Are the libraries that we might use for this - I had a look at Ring >> briefly robust for our use case? >> Does Clojure have good support for using AWS for example? (You can call >> Java from Clojure so I guess this wouldn't really be an issue.) >> Does it interface well with MySQL? >> >> I'd be very grateful if someone could point me in the right direction on >> this - like I said, really really like what I'm seeing of Clojure but just >> want to be sure from the community before I recommend this as an action to >> take! >> >> (hash-map :many "thanks") >> >> -- 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.