Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Migrating to Clojure. So much fn.
Search
Jan Stępień
February 27, 2014
Programming
1
390
Migrating to Clojure. So much fn.
Slides from a talk I delivered on 27.02.2014 at Lambda Days in Kraków, Poland.
Jan Stępień
February 27, 2014
Tweet
Share
More Decks by Jan Stępień
See All by Jan Stępień
graalvm-jug-bb
jan
1
200
That Looks Oddly Familiar
jan
0
390
Native Clojure
jan
0
220
Native Clojure with GraalVM
jan
0
740
Compiling a lisp into a lisp using a lisp
jan
0
150
Mutation testing in continuous delivery pipelines
jan
0
170
Self-contained systems: an introduction
jan
0
180
Let's just test that real quick
jan
1
400
Combating spam, or how I befriended the Killer Rabbit of Caerbannog
jan
0
280
Other Decks in Programming
See All in Programming
List とは何か? / PHPerKaigi 2025
meihei3
0
560
複数ドメインに散らばってしまった画像…! 運用中のPHPアプリに後からCDNを導入する…!
suguruooki
0
440
JavaOne 2025: Advancing Java Profiling
jbachorik
1
320
아직도 SOLID 를 '글'로만 알고 계신가요?
sh1mj1
0
360
SLI/SLOの設定を進めるその前に アラート品質の改善に取り組んだ話
tanden
2
740
小さく段階的リリースすることで深夜メンテを回避する
mkmk884
2
130
Agentic Applications with Symfony
el_stoffel
1
120
RCPと宣言型ポリシーについてのお話し
kokitamura
2
150
PHPのガベージコレクションを深掘りしよう
rinchoku
0
250
The Evolution of Enterprise Java with Jakarta EE 11 and Beyond
ivargrimstad
0
1.1k
신입 안드로이드 개발자의 AI 스타트업 생존기 (+ Native C++ Code를 Android에서 사용해보기)
dygames
0
510
CRE Meetup!ユーザー信頼性を支えるエンジニアリング実践例の発表資料です
tmnb
0
420
Featured
See All Featured
The Invisible Side of Design
smashingmag
299
50k
Docker and Python
trallard
44
3.3k
Making Projects Easy
brettharned
116
6.1k
Facilitating Awesome Meetings
lara
53
6.3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
320
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.5k
Become a Pro
speakerdeck
PRO
27
5.2k
4 Signs Your Business is Dying
shpigford
183
22k
Transcript
Migrating to Clojure So much fn @janstepien
I work at
I work at
None
© Seph Swain 2008 flickr.com/photos/seph_swain/2735367665
(something new)
© Seph Swain 2008 flickr.com/photos/seph_swain/2741483308
None
feature freeze! no
↓ ╭────────────╮ │ http proxy │ ╰────────────╯ ↓ ↓ ╭───────────────╮
╭─────────────╮ │ ruby on rails │ ← │ widgets! │ ╰───────────────╯ ╰─────────────╯ ↓ ╭──────╮ │ db │ ╰──────╯
↓ ╭────────────╮ │ http proxy │ ╰────────────╯ ↓ ↓ ╭───────────────╮
╭─────────────╮ │ ruby on rails │ │ widgets! │ ╰───────────────╯ ╰─────────────╯ ↓ ↓ ╭──────╮ ╭─────────────╮ │ db │ ← │ data acc. │ ╰──────╯ ╰─────────────╯
↓ ╭───────────────────────╮ │ │ │ ╭───────╯ │ ruby on rails
│ ↓ │ │ ╭─────────────╮ │ │ │ widgets! │ ╰───────────────╯ ╰─────────────╯ ↓ ↓ ╭──────╮ ╭─────────────╮ │ db │ ← │ data acc. │ ╰──────╯ ╰─────────────╯
/colour-red /50-100-euro /jeans/esprit
↓ ╭───────────────────────╮ │ │ │ ╭───────╯ │ ruby on rails
│ ↓ │ │ ╭─────────────╮ │ │ │ widgets! │ ╰───────────────╯ ╰─────────────╯ ↓ ↓ ╭──────╮ ╭─────────────╮ │ db │ ← │ data acc. │ ╰──────╯ ╰─────────────╯
↓ ╭───────────────────────╮ │ │ │ ╭───────╯ │ ruby on rails
│ ↓ │ │ ╭─────────────╮ │ │ │ clojure │ ╰───────────────╯ ╰─────────────╯ ↓ ↓ ╭──────╮ ╭─────────────╮ │ db │ ← │ data acc. │ ╰──────╯ ╰─────────────╯
(cons )
a slide intentionally left blank
widgets the cornerstone
{:fetch (fn [env] (get-data-for env)) :view (fn [fetched-data] (render fetched-data))}
(map render widgets) ↓ (pmap render widgets)
templating worst nightmare
© omefrans 2010 flickr.com/photos/omefrans/4238610113
<div id=”main”> text </div> {:tag :div :attr {:id ”main”} :content
[”text”]}
repl everywhere
tools to the rescue
before 54 machines
after 10 machines* * traffic grew twofold
mistakes we made a lot
(my {:yet :another} (somewhat [:helpful]) (dsl!))
hiring not as bad as it seems
future a lot to be done
summing it up it was a good idea
Migrating to Clojure So much fn jan.stepien@stylefruits.de jan@stepien.cc @janstepien