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.
  • New to... (hash-map :new "to clojure" :need "assistance")
    • R... Dennis Roberts
      • ... (hash-map :new "to clojure" :need "assistance")
        • ... Christopher Small
    • R... Matching Socks
    • R... Sean Corfield
      • ... (hash-map :new "to clojure" :need "assistance")
    • R... simon lomax
      • ... (hash-map :new "to clojure" :need "assistance")
    • R... Gregg Reynolds
    • R... Gregg Reynolds
      • ... (hash-map :new "to clojure" :need "assistance")
        • ... Gregg Reynolds

Reply via email to