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
Scala at journi
Search
Christian Papauschek
October 28, 2014
Programming
1
200
Scala at journi
Review of using Scala and Play Framework for 2 years at journi.
Christian Papauschek
October 28, 2014
Tweet
Share
Other Decks in Programming
See All in Programming
PHP8.3の機能を振り返る / Review of PHP 8.3 features
seike460
PRO
1
110
MetricKitで予期せぬ終了を検知する話 / Detect unexpected termination with MetricKit
nekowen
1
190
Micro Frontends for Java Microservices - Devnexus 2024
mraible
PRO
0
490
Rubyでたのしむクリエイティブコーディング/Enjoy Creative coding with Ruby
chobishiba
1
180
What We Can Learn From OSS
inouehi
0
420
検証も兼ねて個人開発でHonoとかと向き合った話
hanetsuki
1
910
FigmaとPHPで作る1ミリたりとも表示崩れしない最強の帳票印刷ソリューション
ttskch
43
19k
Scalable Customer Journey Orchestration (CJO)
lewuathe
0
300
Fragment Composition of GraphQL
quramy
7
960
TCAとKMPを用いた新規動画配信アプリ 「ABEMA Live」の設計
tomu28
1
100
GitHub Copilotのススメ
marcy731
1
200
使ってみよう Azure AI Document Intelligence
kosmosebi
2
310
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
25
5.8k
Principles of Awesome APIs and How to Build Them.
keavy
121
16k
How to train your dragon (web standard)
notwaldorf
73
5.2k
Fantastic passwords and where to find them - at NoRuKo
philnash
37
2.5k
How STYLIGHT went responsive
nonsquared
92
4.8k
Building an army of robots
kneath
300
41k
Done Done
chrislema
178
15k
A Tale of Four Properties
chriscoyier
151
22k
Visualization
eitanlees
136
14k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
Designing the Hi-DPI Web
ddemaree
276
33k
GraphQLとの向き合い方2022年版
quramy
32
12k
Transcript
A travel journaling app & web platform at Christian @papauschek
Challenges Web & Mobile platform 15000 users, 800 daily active
users Real time (push-)notifications Storing lots of pictures (GBs / day) Handling Apple featurings …
Scala libraries we use • Play Framework 2.3 • Slick
2.1 • Akka (for “cronjobs”)
(Java libraries we use ;-) • ImgScalr • Amazon S3
Library • Twitter4J • LogEntries (Cloud logging) • Metadata extractor (EXIF) Started replacing them with Play-WS
Our experience • We love Scala. • We love Play
Framework 2. • We have a love / hate relationship with Slick 2.
• Having type-safe db access is great. • Having generated
SQL in combination with ancient query optimizers is not so great. • Had to write SQL manually in some cases :(
(intermission) Be careful when picking your database!
Framework 2 • Very stable • Very performant (something else
will be slow :D) • Team-friendly • Akka in the backend opens up possibilities • Exciting future (ScalaJS + Play2, anyone?)
Project structure 4 project modules web mobile common tools JS/HTML
JSON API everything and the kitchen sink command-line helpers
Where to run a Play 2 app? • Huge performance
differences (SSD!) • Huge price differences • We evaluated AWS / DigitalOcean / Linode / Hetzner
Server Monitoring • Find issues before they become real problems.
• Is Facebook down, or your app?
Uptime so far (includes 2 Apple featurings)
Thank you, Play Framework! ~148ms response time
Thanks! Got questions?