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
400
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
DomainException と Result 型で作る型安全なエラーハンドリング
karszawa
0
880
Coding Experience Cpp vs Csharp - meetup app osaka@9
harukasao
0
730
新しいPHP拡張モジュールインストール方法「PHP Installer for Extensions (PIE)」を使ってみよう!
cocoeyes02
0
330
Firebase Dynamic Linksの代替手段を自作する / Create your own Firebase Dynamic Links alternative
kubode
0
230
AI Coding Agent Enablement - エージェントを自走させよう
yukukotani
13
5.8k
PHPで書いたAPIをGoに書き換えてみた 〜パフォーマンス改善の可能性を探る実験レポート〜
koguuum
0
120
Devinのメモリ活用の学びを自社サービスにどう組み込むか?
itarutomy
0
2k
「影響が少ない」を自分の目でみてみる
o0h
PRO
2
960
PHPのガベージコレクションを深掘りしよう
rinchoku
0
260
サービスクラスのありがたみを発見したときの思い出 #phpcon_odawara
77web
4
620
Ruby's Line Breaks
yui_knk
2
460
PHP で学ぶ OAuth 入門
azuki
1
120
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
41
2.2k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.3k
Side Projects
sachag
452
42k
Building an army of robots
kneath
304
45k
Designing for humans not robots
tammielis
252
25k
Gamification - CAS2011
davidbonilla
81
5.2k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.6k
Java REST API Framework Comparison - PWX 2021
mraible
30
8.5k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
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