Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Going Full Monty with full.monty

Going Full Monty with full.monty

Denver Clojure meetup, September 10, 2015

Kārlis Lauva

September 10, 2015
Tweet

More Decks by Kārlis Lauva

Other Decks in Programming

Transcript

  1. Going full monty
    with full.monty
    Kārlis Lauva
    FullContact, 2015

    View Slide

  2. FullContact?

    View Slide

  3. Your friendly
    neighborhood contact
    management company

    View Slide

  4. Clojure @ FullContact
    ● Used for HTTP microservices
    ● Open sourced parts under full.monty
    ● Extensive use of core.async

    View Slide

  5. full.monty?

    View Slide

  6. View Slide

  7. Our humble app stack
    ● DropWizard for Clojure µservices
    ● Opinionated
    ● Glue for battle-tested libraries
    ● Keep it simple, reasonably smart Clojure
    developer

    View Slide

  8. What's in the box?
    ● http-kit for HTTP (via full.http)
    ● cheshire for JSON (via full.json)
    ● core.async (via full.async)
    ● Riemann for metrics (via full.metrics)
    ...and more!

    View Slide

  9. Structure

    View Slide

  10. full.core
    ● config management (YAML files)
    ● logging management
    ● development helpers

    View Slide

  11. full.async
    ● Makes working with core.async nice
    ● Error handling methods
    ● Tools 'n helpers

    View Slide

  12. full.http
    ● http-kit with compojure routing
    ● async route handlers
    ● async HTTP requests

    View Slide

  13. Demo!
    Demo!

    View Slide

  14. and now for something completely different

    View Slide

  15. We're hiring!

    View Slide

  16. Thanks!
    Kārlis Lauva
    @skazhy
    2015

    View Slide