Migrating to Clojure. So much fn.

Migrating to Clojure. So much fn.

Slides from a talk I delivered on 27.02.2014 at Lambda Days in Kraków, Poland.

Ae7a42fb716793697b1d222f3cc753b8?s=128

Jan Stępień

February 27, 2014
Tweet

Transcript

  1. Migrating to Clojure So much fn @janstepien

  2. I work at

  3. I work at

  4. None
  5. © Seph Swain 2008 flickr.com/photos/seph_swain/2735367665

  6. (something new)

  7. © Seph Swain 2008 flickr.com/photos/seph_swain/2741483308

  8. None
  9. feature freeze! no

  10. ↓ ╭────────────╮ │ http proxy │ ╰────────────╯ ↓ ↓ ╭───────────────╮

    ╭─────────────╮ │ ruby on rails │ ← │ widgets! │ ╰───────────────╯ ╰─────────────╯ ↓ ╭──────╮ │ db │ ╰──────╯
  11. ↓ ╭────────────╮ │ http proxy │ ╰────────────╯ ↓ ↓ ╭───────────────╮

    ╭─────────────╮ │ ruby on rails │ │ widgets! │ ╰───────────────╯ ╰─────────────╯ ↓ ↓ ╭──────╮ ╭─────────────╮ │ db │ ← │ data acc. │ ╰──────╯ ╰─────────────╯
  12. ↓ ╭───────────────────────╮ │ │ │ ╭───────╯ │ ruby on rails

    │ ↓ │ │ ╭─────────────╮ │ │ │ widgets! │ ╰───────────────╯ ╰─────────────╯ ↓ ↓ ╭──────╮ ╭─────────────╮ │ db │ ← │ data acc. │ ╰──────╯ ╰─────────────╯
  13. /colour-red /50-100-euro /jeans/esprit

  14. ↓ ╭───────────────────────╮ │ │ │ ╭───────╯ │ ruby on rails

    │ ↓ │ │ ╭─────────────╮ │ │ │ widgets! │ ╰───────────────╯ ╰─────────────╯ ↓ ↓ ╭──────╮ ╭─────────────╮ │ db │ ← │ data acc. │ ╰──────╯ ╰─────────────╯
  15. ↓ ╭───────────────────────╮ │ │ │ ╭───────╯ │ ruby on rails

    │ ↓ │ │ ╭─────────────╮ │ │ │ clojure │ ╰───────────────╯ ╰─────────────╯ ↓ ↓ ╭──────╮ ╭─────────────╮ │ db │ ← │ data acc. │ ╰──────╯ ╰─────────────╯
  16. (cons )

  17. a slide intentionally left blank

  18. widgets the cornerstone

  19. {:fetch (fn [env] (get-data-for env)) :view (fn [fetched-data] (render fetched-data))}

  20. (map render widgets) ↓ (pmap render widgets)

  21. templating worst nightmare

  22. © omefrans 2010 flickr.com/photos/omefrans/4238610113

  23. <div id=”main”> text </div> {:tag :div :attr {:id ”main”} :content

    [”text”]}
  24. repl everywhere

  25. tools to the rescue

  26. before 54 machines

  27. after 10 machines* * traffic grew twofold

  28. mistakes we made a lot

  29. (my {:yet :another} (somewhat [:helpful]) (dsl!))

  30. hiring not as bad as it seems

  31. future a lot to be done

  32. summing it up it was a good idea

  33. Migrating to Clojure So much fn jan.stepien@stylefruits.de jan@stepien.cc @janstepien