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
410
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
210
That Looks Oddly Familiar
jan
0
410
Native Clojure
jan
0
240
Native Clojure with GraalVM
jan
0
760
Compiling a lisp into a lisp using a lisp
jan
0
160
Mutation testing in continuous delivery pipelines
jan
0
190
Self-contained systems: an introduction
jan
0
200
Let's just test that real quick
jan
1
420
Combating spam, or how I befriended the Killer Rabbit of Caerbannog
jan
0
290
Other Decks in Programming
See All in Programming
#QiitaBash TDDで(自分の)開発がどう変わったか
ryosukedtomita
1
350
SwiftでMCPサーバーを作ろう!
giginet
PRO
2
220
PHPUnitの限界をPlaywrightで補完するテストアプローチ
yuzneri
0
380
MCPで実現できる、Webサービス利用体験について
syumai
7
2.4k
PHPカンファレンス関西2025 基調講演
sugimotokei
6
1.1k
AIに安心して任せるためにTypeScriptで一意な型を作ろう
arfes0e2b3c
0
330
マイコンでもRustのtestがしたい その2/KernelVM Tokyo 18
tnishinaga
0
160
令和最新版手のひらコンピュータ
koba789
7
3.3k
AI Ramen Fight
yusukebe
0
130
SQLアンチパターン第2版 データベースプログラミングで陥りがちな失敗とその対策 / Intro to SQL Antipatterns 2nd
twada
PRO
37
11k
一人でAIプロダクトを作るための工夫 〜技術選定・開発プロセス編〜 / I want AI to work harder
rkaga
4
430
Gemini CLIの"強み"を知る! Gemini CLIとClaude Codeを比較してみた!
kotahisafuru
3
920
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
Gamification - CAS2011
davidbonilla
81
5.4k
Git: the NoSQL Database
bkeepers
PRO
431
65k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Unsuck your backbone
ammeep
671
58k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Statistics for Hackers
jakevdp
799
220k
Designing for humans not robots
tammielis
253
25k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
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
[email protected]
[email protected]
@janstepien