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
Development Tools In Scala
Search
Hiraq Citra M
May 27, 2014
Programming
1
78
Development Tools In Scala
Presentation about tools and frameworks in scala world
Hiraq Citra M
May 27, 2014
Tweet
Share
More Decks by Hiraq Citra M
See All by Hiraq Citra M
Functional Programming & Team Development
hiraq
0
200
Laravel 5 - Event & Queue
hiraq
0
3.6k
Golang The Hardway
hiraq
0
710
Introduction Repository, DDD And Unit Test
hiraq
0
1k
Git WorkFlow & Best Practice
hiraq
2
130
API - WEB SERVICE - BASIC
hiraq
2
110
TDD - Think First, Code Later, PHP Way
hiraq
5
170
Apache Solr & PHP - Introduction
hiraq
2
180
Other Decks in Programming
See All in Programming
AI時代の認知負荷との向き合い方
optfit
0
160
CSC307 Lecture 09
javiergs
PRO
1
830
Oxlint JS plugins
kazupon
1
930
CSC307 Lecture 05
javiergs
PRO
0
500
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
190
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
230
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
6
1.8k
16年目のピクシブ百科事典を支える最新の技術基盤 / The Modern Tech Stack Powering Pixiv Encyclopedia in its 16th Year
ahuglajbclajep
5
1k
Rust 製のコードエディタ “Zed” を使ってみた
nearme_tech
PRO
0
170
ぼくの開発環境2026
yuzneri
0
220
なぜSQLはAIぽく見えるのか/why does SQL look AI like
florets1
0
460
OSSとなったswift-buildで Xcodeのビルドを差し替えられるため 自分でXcodeを直せる時代になっている ダイアモンド問題編
yimajo
3
620
Featured
See All Featured
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
170
Balancing Empowerment & Direction
lara
5
890
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.9k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
340
My Coaching Mixtape
mlcsv
0
48
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
6.9k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
76
30 Presentation Tips
portentint
PRO
1
210
Documentation Writing (for coders)
carmenintech
77
5.3k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
Transcript
Development Tools In Scala Increase Programmer’s Productivity
Me https://facebook.com/hiraq https://twitter.com/_hiraq @_hiraq
Scala Programmer Levels A1 : Beginning Application Programmer A2 :
Intermediate Application Programmer A3 : Expert Application Programmer L1 : Junior Library Designer L2 : Senior Library Designer L3 : Expert Library Designer
Disclaimer 1. My Level -> A1 (Wannabe) 2. Research >
Coding
Why I Choose Scala ? 1. Twitter: From ruby to
scala (backend) 2. Foursquare: From php to scala (all) 3. Mindtalk : From python to scala from dynamic typing to static typing
Problem With Scala 1. Internet Connection 2. Compile 3. SABAR
Companies Using Scala 1. Twitter 2. Foursquare 3. Netflix 4.
Ebay 5. Tumblr 6. AirBnB 7. Mindtalk 8. …………...Apple?
Scala’s Frameworks 1. Lift 2. Play (hello world) 3. Scalatra
4. Finatra (proved) 5. Splay (toolkit)
Scala Web Server 1. Finagle (Twitter) -> Finatra 2. Socko
3. spray-can
Scala NoSQL Framework 1. Casbah (Mongodb) -> proved 2. ReactiveMongo
: Asynchronous Mongodb 3. Sandra : Apache cassandra & Scala 4. Scala-redis 5. Gizzard
Scala Unit Test 1. Scalatest -> proved 2. Scalacheck ->
property based unit test 3. Spec2 -> bdd
For Development 1. sbt (plugins: assembly / pack) 2. conscript
3. g8
SBT - (not so)Simple Build Tools 1. Scala 2. Java
3. c++
SBT - What’s for 1. Choose Scala Version 2. Library
dependency management 3. Compile & package
SBT - Plugins 1. Assembly - Fat jar (Finatra) 2.
Pack - compile, packaging + installing (support unix (linux) & windows), support versioning https://github.com/sbt/sbt-assembly https://github.com/xerial/sbt-pack
Conscript & g8 conscript : install & update g8 :
generate files & directories from templates published in github
g8 example template 1. fayimora/basic-scala-project : simple scala project +
scala test 2. pmandera/basic-scala-project : simple scala project + spec2 3. scalatra/scalatra-sbt : basic scalatra template
Installation - Conscript curl https://raw.githubusercontent.com/n8han/conscript/master/setup.sh | sh
Installation - g8 curl https://raw.githubusercontent.com/n8han/conscript/master/setup.sh | sh
Command line 1. g8 fayimora/basic-scala-project 2. sbt
Setup sbt pack packSettings packMain := Map("shorten" -> "api.hiraq. google.shortenurl.Shorten")
Demo - Google ShortenURL API 1. g8 -> fayimora/basic-scala-project 2.
Basic scala project 3. Scalatest 4. sbt pack https://github.com/hiraq-scala/google-shorten-url