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
72
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
170
Laravel 5 - Event & Queue
hiraq
0
3.6k
Golang The Hardway
hiraq
0
700
Introduction Repository, DDD And Unit Test
hiraq
0
1k
Git WorkFlow & Best Practice
hiraq
2
120
API - WEB SERVICE - BASIC
hiraq
2
110
TDD - Think First, Code Later, PHP Way
hiraq
5
170
Apache Solr & PHP - Introduction
hiraq
2
170
Other Decks in Programming
See All in Programming
盆栽転じて家具となる / Bonsai and Furnitures
aereal
0
2.1k
BEエンジニアがFEの業務をできるようになるまでにやったこと
yoshida_ryushin
0
240
DMMオンラインサロンアプリのSwift化
hayatan
0
220
Vue.jsでiOSアプリを作る方法
hal_spidernight
0
110
Fixstars高速化コンテスト2024準優勝解法
eijirou
0
190
chibiccをCILに移植した結果 (NGK2025S版)
kekyo
PRO
0
170
月刊 競技プログラミングをお仕事に役立てるには
terryu16
1
1.2k
“あなた” の開発を支援する AI エージェント Bedrock Engineer / introducing-bedrock-engineer
gawa
9
990
QA環境で誰でも自由自在に現在時刻を操って検証できるようにした話
kalibora
1
150
Lookerは可視化だけじゃない。UIコンポーネントもあるんだ!
ymd65536
1
130
どうして手を動かすよりもチーム内のコードレビューを優先するべきなのか
okashoi
3
930
HTML/CSS超絶浅い説明
yuki0329
0
200
Featured
See All Featured
Producing Creativity
orderedlist
PRO
343
39k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Thoughts on Productivity
jonyablonski
68
4.4k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Optimizing for Happiness
mojombo
376
70k
Statistics for Hackers
jakevdp
797
220k
BBQ
matthewcrist
85
9.4k
Speed Design
sergeychernyshev
25
750
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
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