$30 off During Our Annual Pro Sale. View Details »
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
77
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
190
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
手が足りない!兼業データエンジニアに必要だったアーキテクチャと立ち回り
zinkosuke
0
660
Why Kotlin? 電子カルテを Kotlin で開発する理由 / Why Kotlin? at Henry
agatan
2
7.1k
tparseでgo testの出力を見やすくする
utgwkk
2
210
WebRTC と Rust と8K 60fps
tnoho
2
2k
Microservices Platforms: When Team Topologies Meets Microservices Patterns
cer
PRO
1
1k
S3 VectorsとStrands Agentsを利用したAgentic RAGシステムの構築
tosuri13
6
310
宅宅自以為的浪漫:跟 AI 一起為自己辦的研討會寫一個售票系統
eddie
0
500
AIコーディングエージェント(NotebookLM)
kondai24
0
180
Building AI Agents with TypeScript #TSKaigiHokuriku
izumin5210
6
1.3k
20 years of Symfony, what's next?
fabpot
2
350
從冷知識到漏洞,你不懂的 Web,駭客懂 - Huli @ WebConf Taiwan 2025
aszx87410
2
2.5k
ローターアクトEクラブ アメリカンナイト:川端 柚菜 氏(Japan O.K. ローターアクトEクラブ 会長):2720 Japan O.K. ロータリーEクラブ2025年12月1日卓話
2720japanoke
0
730
Featured
See All Featured
Building Adaptive Systems
keathley
44
2.9k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
A Modern Web Designer's Workflow
chriscoyier
698
190k
KATA
mclloyd
PRO
32
15k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Designing for Performance
lara
610
69k
Building Applications with DynamoDB
mza
96
6.8k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
RailsConf 2023
tenderlove
30
1.3k
How GitHub (no longer) Works
holman
316
140k
Code Review Best Practice
trishagee
74
19k
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