functional web development with git(hub), heroku and clojure

47
Functional web development with Git(Hub), Heroku and Clojure Jacek Laskowski Poznań, Polska, 13.05.2013 @JacekLaskowski blog.japila.pl

Upload: jacek-laskowski

Post on 17-Jan-2015

3.669 views

Category:

Technology


1 download

DESCRIPTION

Presentation from Atmosphere Conference in Poznan, Poland.

TRANSCRIPT

Page 1: Functional web development with Git(Hub), Heroku and Clojure

Functional web development with Git(Hub),

Heroku and Clojure

Jacek Laskowski

Poznań, Polska, 13.05.2013

@JacekLaskowskiblog.japila.pl

Page 2: Functional web development with Git(Hub), Heroku and Clojure

Don’t forget a picture

Page 3: Functional web development with Git(Hub), Heroku and Clojure

Don’t forget a picture

Smile, please :-)

Page 4: Functional web development with Git(Hub), Heroku and Clojure

The Goal

Share a platform to develop your skills and have your work

available to the public

Page 5: Functional web development with Git(Hub), Heroku and Clojure

PLAYGROUND• GitHub

• Collaboration, review, and code management Platform

• Heroku• Cloud Application Platform

• Clojure• Functional Programming Language

Page 6: Functional web development with Git(Hub), Heroku and Clojure

Learnin’ andhaVin’ FUN!

Page 7: Functional web development with Git(Hub), Heroku and Clojure

Learnin’ andhaVin’ FUN!

Always!

Page 8: Functional web development with Git(Hub), Heroku and Clojure

Learnin’ andhaVin’ FUN!

Always!http://www.flickr.com/photos/lauraprevost83/

Page 9: Functional web development with Git(Hub), Heroku and Clojure

GitHub

Page 10: Functional web development with Git(Hub), Heroku and Clojure

My GitHub

Page 11: Functional web development with Git(Hub), Heroku and Clojure

My GitHub

Page 12: Functional web development with Git(Hub), Heroku and Clojure

My GitHub

Page 13: Functional web development with Git(Hub), Heroku and Clojure

My GitHub

Page 14: Functional web development with Git(Hub), Heroku and Clojure

My GitHub

Page 15: Functional web development with Git(Hub), Heroku and Clojure

My GitHub

Page 16: Functional web development with Git(Hub), Heroku and Clojure

How to GitHub

Page 17: Functional web development with Git(Hub), Heroku and Clojure

GitHub :: Watched Repositories

Page 18: Functional web development with Git(Hub), Heroku and Clojure

GitHub :: Notifications

Page 19: Functional web development with Git(Hub), Heroku and Clojure

GitHub :: Project page

Page 20: Functional web development with Git(Hub), Heroku and Clojure

GitHub :: Project Graphs

Page 21: Functional web development with Git(Hub), Heroku and Clojure

GitHub :: Project Contributions

Page 22: Functional web development with Git(Hub), Heroku and Clojure

Heroku

Page 23: Functional web development with Git(Hub), Heroku and Clojure

Heroku Dashboard

Page 24: Functional web development with Git(Hub), Heroku and Clojure

Heroku :: Librarian-Clojure

Page 25: Functional web development with Git(Hub), Heroku and Clojure

Heroku :: Project Activity

Page 26: Functional web development with Git(Hub), Heroku and Clojure

• Functional Programming Language• Pure functions...wherever

possible• Immutable data structures• Expressions

Clojure

Page 27: Functional web development with Git(Hub), Heroku and Clojure

Why Clojure (1)

Page 28: Functional web development with Git(Hub), Heroku and Clojure

• “Learn a new language every year” @PragProg

Why Clojure (1)

Page 29: Functional web development with Git(Hub), Heroku and Clojure

• “Learn a new language every year” @PragProg

• New (idioms)

Why Clojure (1)

Page 30: Functional web development with Git(Hub), Heroku and Clojure

• “Learn a new language every year” @PragProg

• New (idioms)• (Perhaps) cool

Why Clojure (1)

Page 31: Functional web development with Git(Hub), Heroku and Clojure

• “Learn a new language every year” @PragProg

• New (idioms)• (Perhaps) cool• Fresh (undoubtedly)

Why Clojure (1)

Page 32: Functional web development with Git(Hub), Heroku and Clojure

• “Learn a new language every year” @PragProg

• New (idioms)• (Perhaps) cool• Fresh (undoubtedly)• Java interop available

Why Clojure (1)

Page 33: Functional web development with Git(Hub), Heroku and Clojure

• “Learn a new language every year” @PragProg

• New (idioms)• (Perhaps) cool• Fresh (undoubtedly)• Java interop available• More?!

Why Clojure (1)

Page 34: Functional web development with Git(Hub), Heroku and Clojure

Why Clojure (2)

http://www.flickr.com/photos/karmaowl/

Page 35: Functional web development with Git(Hub), Heroku and Clojure

Why Clojure (2)

http://www.flickr.com/photos/karmaowl/

Page 36: Functional web development with Git(Hub), Heroku and Clojure

Why Clojure (2)

http://www.flickr.com/photos/karmaowl/

Page 37: Functional web development with Git(Hub), Heroku and Clojure

Functional web development

Page 38: Functional web development with Git(Hub), Heroku and Clojure

• Request = a map

Functional web development

Page 39: Functional web development with Git(Hub), Heroku and Clojure

• Request = a map• Request processing = a

function manipulating the map

Functional web development

Page 40: Functional web development with Git(Hub), Heroku and Clojure

“Functional” request

Page 41: Functional web development with Git(Hub), Heroku and Clojure

“Functional” request

http://localhost:8090/

Page 42: Functional web development with Git(Hub), Heroku and Clojure

“Functional” response

Page 43: Functional web development with Git(Hub), Heroku and Clojure

“Functional” response

Page 44: Functional web development with Git(Hub), Heroku and Clojure

“Functional” response

Page 45: Functional web development with Git(Hub), Heroku and Clojure

Functional Librarian-Clojure

Page 47: Functional web development with Git(Hub), Heroku and Clojure

QuestionS?

Jacek Laskowski

Poznań, Polska, 13.05.2013

@JacekLaskowskiblog.japila.pl