Slide 1

Slide 1 text

Migrating to Clojure So much fn @janstepien

Slide 2

Slide 2 text

I work at

Slide 3

Slide 3 text

I work at

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

© Seph Swain 2008 flickr.com/photos/seph_swain/2735367665

Slide 6

Slide 6 text

(something new)

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

feature freeze! no

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

/colour-red /50-100-euro /jeans/esprit

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

↓ ╭───────────────────────╮ │ │ │ ╭───────╯ │ ruby on rails │ ↓ │ │ ╭─────────────╮ │ │ │ clojure │ ╰───────────────╯ ╰─────────────╯ ↓ ↓ ╭──────╮ ╭─────────────╮ │ db │ ← │ data acc. │ ╰──────╯ ╰─────────────╯

Slide 16

Slide 16 text

(cons )

Slide 17

Slide 17 text

a slide intentionally left blank

Slide 18

Slide 18 text

widgets the cornerstone

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

(map render widgets) ↓ (pmap render widgets)

Slide 21

Slide 21 text

templating worst nightmare

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

text
{:tag :div :attr {:id ”main”} :content [”text”]}

Slide 24

Slide 24 text

repl everywhere

Slide 25

Slide 25 text

tools to the rescue

Slide 26

Slide 26 text

before 54 machines

Slide 27

Slide 27 text

after 10 machines* * traffic grew twofold

Slide 28

Slide 28 text

mistakes we made a lot

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

hiring not as bad as it seems

Slide 31

Slide 31 text

future a lot to be done

Slide 32

Slide 32 text

summing it up it was a good idea

Slide 33

Slide 33 text

Migrating to Clojure So much fn [email protected] [email protected] @janstepien