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
74
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
180
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
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
AHC041解説
terryu16
0
590
“あなた” の開発を支援する AI エージェント Bedrock Engineer / introducing-bedrock-engineer
gawa
11
1.8k
GitHub Actions × RAGでコードレビューの検証の結果
sho_000
0
240
自分ひとりから始められる生産性向上の取り組み #でぃーぷらすオオサカ
irof
8
2.6k
ISUCON14公式反省会LT: 社内ISUCONの話
astj
PRO
0
180
一休.com のログイン体験を支える技術 〜Web Components x Vue.js 活用事例と最適化について〜
atsumim
0
110
昭和の職場からアジャイルの世界へ
kumagoro95
1
350
2,500万ユーザーを支えるSREチームの6年間のスクラムのカイゼン
honmarkhunt
6
5.1k
さいきょうのレイヤードアーキテクチャについて考えてみた
yahiru
3
730
CI改善もDatadogとともに
taumu
0
110
SRE、開発、QAが協業して挑んだリリースプロセス改革@SRE Kaigi 2025
nealle
3
4.1k
SwiftUI Viewの責務分離
elmetal
PRO
0
140
Featured
See All Featured
Embracing the Ebb and Flow
colly
84
4.6k
KATA
mclloyd
29
14k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
How to Think Like a Performance Engineer
csswizardry
22
1.3k
We Have a Design System, Now What?
morganepeng
51
7.4k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Visualization
eitanlees
146
15k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.4k
Why Our Code Smells
bkeepers
PRO
335
57k
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