Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Migrating to Clojure. So much fn.
Search
Jan Stępień
February 27, 2014
Programming
480
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
More Decks by Jan Stępień
See All by Jan Stępień
graalvm-jug-bb
jan
1
260
That Looks Oddly Familiar
jan
0
500
Native Clojure
jan
0
290
Native Clojure with GraalVM
jan
0
820
Compiling a lisp into a lisp using a lisp
jan
0
200
Mutation testing in continuous delivery pipelines
jan
0
230
Self-contained systems: an introduction
jan
0
280
Let's just test that real quick
jan
1
480
Combating spam, or how I befriended the Killer Rabbit of Caerbannog
jan
0
340
Other Decks in Programming
See All in Programming
Jetpack Compose メカニズム
skydoves
0
450
GKE で Pod の見方を変えたら、スケールアウト時の挙動を真に捉えられた話
stkk
0
130
The Rails Doctrine Decade
koic
2
170
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
360
スマート反転とウェブアクセシビリティ
camiha
0
210
Java 27新機能 / Java 27 new features
kishida
2
150
速習iPhone Duo対応
yuukiw00w
1
660
一人だけ、Kiroが静止する日
hideg
0
120
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
2k
選挙速報を多くのユーザーへ 届ける Live Activities 設計
hamayokokuririn
0
150
仕様駆動開発による爆速プロダクト開発 / Bakusoku Spec Driven Development
kobakei
0
120
WebMCP Challenge に星空観察アプリで参加した話
okajun35
0
180
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.8k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
The Limits of Empathy - UXLibs8
cassininazir
1
680
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Evolving SEO for Evolving Search Engines
ryanjones
0
300
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
330
Why Our Code Smells
bkeepers
PRO
340
58k
Speed Design
sergeychernyshev
33
2.1k
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