SlideShare a Scribd company logo
とりあえず 
使えるSBT @Kuchitama 
関西Scalaビギナーズ 2014/09/20 
ver 1.0
自己紹介 
• @Kuchitama(国平清貴) • FuRyu株式会社 • 勉強会 • Kyoto.clj (Clojure) 
• ScalaMatsuriスタッフ 
• 関西ソーシャルゲーム勉強会
対象者 
•REPLが使える人 
•ちょっと実践的なScalaプログラミン 
グがしたくなった人 
•Scala学習中の人
イメージ 
Scalaなんとなくわかってきたし、 
PlayでWebアプリ作ってみたい 
とりあえず、ちょっとしたワンランナー 
書いてみたい 
REPLに飽きたので、ちょっと実践的 
なプロジェクトやってみたい
SBT
sbt 
•Simple(?????) 
• 最近本家でもSimpleの表記が消えた 
•Scalaのデファクトスタンダードな 
Build Tool
0.13.5 or later 
•ver.1に向けての準備段階 
•こないだ0.13.6がでた
.sbt or .scala 
•基本は.sbtに 
•複雑な処理は.scalaに 
• 再利用できそうならpluginに
目的 
•sbtで最低限押さえておきたい使い方を 
まとめる 
•あんまり踏み込まない 
•あくまでScalaを使うために必要な部 
分のみを抽出
やること 
•プロジェクト作成(activator) 
•依存ライブラリの取得 
•sbtプラグインの追加 
•基本コマンドの利用
プロジェクト作成
Typesafe Activator 
•sbt-np pluginいらず 
•scala, java, playの雛形生成 
•プロジェクトテンプレートの取得 
•play2.3から標準仕様 
•(sbt/play) + new ぐらいの印象 
https://typesafe.com/activator
Typesafe Activator 
•activator コマンド 
•IDE対応
デモ
新規プロジェクト作成 
activator new
activator new 
http://youtu.be/-C_ICX8Df0c
やっぱIDEがいい 
activator ui
activator ui 
http://youtu.be/QB__3dfFNYU
IDE 
http://youtu.be/wRXm6HvSGCU
基本の設定
基本の設定 
•(キー) (メソッド) (Setting[s]) 
•メソッド 
• := キーに対してSettingを更新 
• += キーにSettingを追加 
• ++= キーにSettingを複数追加
基本の設定 
build.sbt 
name := """scalakb_sample""" 
! 
version := "1.0" 
! 
scalaVersion := "2.11.1" 
! 
// Change this to another test framework if you prefer 
libraryDependencies += "org.scalatest" %% "scalatest" % "2.1.6" % “test" 
! 
// Uncomment to use Akka 
//libraryDependencies += "com.typesafe.akka" % "akka-actor_2.11" % "2.3.3" 
!
依存ライブラリの 
取得
依存ライブラリの取得 
•% と %% 
•コンフィギュレーション 
ライブラリ依存性 
http://www.scala-sbt.org/0.13/tutorial/ja/Library-Dependencies.html
% と %% 
•マネージド依存性 
• <-> アンマネージド依存性 
•sbt(の内部のivy)に依存性を管理して 
もらう
% と %% 
•% 
• Scalaのバージョンを指定して依存を解決 
• Javaのライブラリを使いたいときはこっち 
• groupId % artifactId % revision •%% 
• Scalaのバージョンを自動で追加して依存を 
解決 • groupId %% artifactId % revision
デモ
依存ライブラリを 
追加してみる 
build.sbt 
name := """scalakb_sample""" 
! 
version := "1.0" 
! 
scalaVersion := "2.11.1" 
! 
// Change this to another test framework if you prefer 
libraryDependencies ++= Seq( 
“org.scalatest" %% "scalatest" % "2.1.6" % “test”, 
"joda-time" % "joda-time" % “2.4”, 
"com.github.scopt" %% "scopt" % “3.2.0") 
! 
…
依存ライブラリを 
追加してみる 
http://youtu.be/j9xLQDM58cc
コンフィギュレーション 
•groupID % artifactID % revision 
% configuration 
•testとかcompileとか 
• 使う時だけ依存解決できる
コンフィギュレーション 
build.sbt 
name := """scalakb_sample""" 
! 
version := "1.0" 
! 
scalaVersion := "2.11.1" 
! 
// Change this to another test framework if you prefer 
libraryDependencies += "org.scalatest" %% "scalatest" % "2.1.6" % “test" 
! 
// Uncomment to use Akka 
//libraryDependencies += "com.typesafe.akka" % "akka-actor_2.11" % "2.3.3" 
!
基本タスクの利用
基本タスクの利用 
•test - テストの実行 
•run - プロジェクト実行 
•compile - コンパイル 
•package - jar化
基本タスクの利用 
http://youtu.be/U7e31Ezg2H8
まとめ 
•activatorで簡単にプロジェクト作成 
•依存ライブラリの取得は % or %% 
•基本のsbtタスクは覚えやすい
Enjoy.Scala!!

More Related Content

What's hot (20)

PDF
実践Akka
Huy Do
 
PDF
並行処理初心者のためのAkka入門
Yoshimura Soichiro
 
PDF
Akka-Streams in Production
Kazunobu Raita
 
PDF
【LT】 怖くない恐怖のScala.js
Yuto Suzuki
 
PPTX
Java使いにとっての関数
amkt922
 
PDF
プログラミング言語のパラダイムシフト(ダイジェスト)ーScalaから見る関数型と並列性時代の幕開けー
TanUkkii
 
PDF
頑張りすぎないScala
takezoe
 
PDF
ScalaにまつわるNewsな話
Yosuke Mizutani
 
PPTX
元インフラエンジニアが
Scalaを触ってつまづいたところ。
takako onoue
 
PPTX
Akkaの翻訳みんなでやろう Let's translate akka doc
賢太郎 前多
 
KEY
Scalaはじめました!
Asami Abe
 
PDF
1周遅れのScala入学 #nds41
Kazumune Katagiri
 
PDF
【ScalaMatsuri2016】関西のScalaコミュニティ紹介
Asami Abe
 
PDF
Scala Warrior and type-safe front-end development with Scala.js
takezoe
 
PPTX
iOSエンジニアのためのScala入門
Masaya Dake
 
PDF
Akkaとは。アクターモデル とは。
Kenjiro Kubota
 
PDF
進撃のSbt
Yuto Suzuki
 
PDF
The state of sbt 0.13, sbt server, and sbt 1.0 (ScalaMatsuri ver)
Eugene Yokota
 
PDF
Scala警察のすすめ
takezoe
 
実践Akka
Huy Do
 
並行処理初心者のためのAkka入門
Yoshimura Soichiro
 
Akka-Streams in Production
Kazunobu Raita
 
【LT】 怖くない恐怖のScala.js
Yuto Suzuki
 
Java使いにとっての関数
amkt922
 
プログラミング言語のパラダイムシフト(ダイジェスト)ーScalaから見る関数型と並列性時代の幕開けー
TanUkkii
 
頑張りすぎないScala
takezoe
 
ScalaにまつわるNewsな話
Yosuke Mizutani
 
元インフラエンジニアが
Scalaを触ってつまづいたところ。
takako onoue
 
Akkaの翻訳みんなでやろう Let's translate akka doc
賢太郎 前多
 
Scalaはじめました!
Asami Abe
 
1周遅れのScala入学 #nds41
Kazumune Katagiri
 
【ScalaMatsuri2016】関西のScalaコミュニティ紹介
Asami Abe
 
Scala Warrior and type-safe front-end development with Scala.js
takezoe
 
iOSエンジニアのためのScala入門
Masaya Dake
 
Akkaとは。アクターモデル とは。
Kenjiro Kubota
 
進撃のSbt
Yuto Suzuki
 
The state of sbt 0.13, sbt server, and sbt 1.0 (ScalaMatsuri ver)
Eugene Yokota
 
Scala警察のすすめ
takezoe
 

Similar to とりあえず使えるSBT (20)

PDF
scala-kaigi1-sbt
Kenji Yoshida
 
PDF
sbt, past and future / sbt, 傾向と対策
scalaconfjp
 
PDF
Scala勉強会_2014_11_18
Shuya Tsukamoto
 
PDF
Scala超入門 - 2014/12/13 Scala関西勉強会
Asami Abe
 
PDF
fanscala1 3 sbt
Toshiki Shinozaki
 
PDF
Scalaでのプログラム開発
Kota Mizushima
 
PDF
sbtマルチプロジェクトビルドの使いどころ
Kazuhiro Hara
 
PDF
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
shoma h
 
PDF
MoteMote Compiler Plugin
yoshiaki iwanaga
 
PDF
ScalaでAndroidアプリ開発
papamitra
 
PDF
Scalaの現状と課題
Kota Mizushima
 
PDF
めんどくさくない Scala #kwkni_scala
Kazuhiro Sera
 
PDF
Scalaを触ってみた
Nemoto Yusuke
 
PPTX
僕の鮮やかなるScala導入失敗事例
Yosuke Uchiyama
 
PPTX
Scala.jsはじめました!
K Kinzal
 
PDF
Scala.jsプロジェクト作成まで
Tomohiro Suwa
 
PDF
ATN No.2 Scala事始め
AdvancedTechNight
 
PPTX
Scalaコーディングの準備
Yusuke Arakaki
 
PDF
新宿Scala座2014 3月号スライド
cosmo0920
 
PDF
Javascript as an Embedded DSL - Expression Problemの解法例
Yasuyuki Maeda
 
scala-kaigi1-sbt
Kenji Yoshida
 
sbt, past and future / sbt, 傾向と対策
scalaconfjp
 
Scala勉強会_2014_11_18
Shuya Tsukamoto
 
Scala超入門 - 2014/12/13 Scala関西勉強会
Asami Abe
 
fanscala1 3 sbt
Toshiki Shinozaki
 
Scalaでのプログラム開発
Kota Mizushima
 
sbtマルチプロジェクトビルドの使いどころ
Kazuhiro Hara
 
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
shoma h
 
MoteMote Compiler Plugin
yoshiaki iwanaga
 
ScalaでAndroidアプリ開発
papamitra
 
Scalaの現状と課題
Kota Mizushima
 
めんどくさくない Scala #kwkni_scala
Kazuhiro Sera
 
Scalaを触ってみた
Nemoto Yusuke
 
僕の鮮やかなるScala導入失敗事例
Yosuke Uchiyama
 
Scala.jsはじめました!
K Kinzal
 
Scala.jsプロジェクト作成まで
Tomohiro Suwa
 
ATN No.2 Scala事始め
AdvancedTechNight
 
Scalaコーディングの準備
Yusuke Arakaki
 
新宿Scala座2014 3月号スライド
cosmo0920
 
Javascript as an Embedded DSL - Expression Problemの解法例
Yasuyuki Maeda
 
Ad

More from Kiyotaka Kunihira (20)

PDF
Mackerel Day#2 チェック監視が救う!!エンジニア0カンパニー
Kiyotaka Kunihira
 
PPTX
着任したエンジニアをスムーズにテイクオフさせる道具だて
Kiyotaka Kunihira
 
PDF
React native実践談
Kiyotaka Kunihira
 
PDF
ガチのスタートアップがScalaを採用した結果(公開版) #scala_ks
Kiyotaka Kunihira
 
PDF
ここが変だよRuby/RoR #rubykansai
Kiyotaka Kunihira
 
PDF
時をかける開発 #devtool_night
Kiyotaka Kunihira
 
PDF
DevLove関西 - ShareWisの文化を支えるエンジニアリング
Kiyotaka Kunihira
 
PDF
スタートアップとScala
Kiyotaka Kunihira
 
PDF
オリジナル社内ツールの末路
Kiyotaka Kunihira
 
PDF
GitBucketPlugin@2014忘年度会
Kiyotaka Kunihira
 
PDF
アジャイルな新婚旅行
Kiyotaka Kunihira
 
PDF
もがいているエンジニア集まれ~今度こそ英語をモノにしよう~
Kiyotaka Kunihira
 
PDF
Scala開発チームの挑戦-技術編-@DevLove2014
Kiyotaka Kunihira
 
PDF
気が狂わないサーバ増設x10
Kiyotaka Kunihira
 
PDF
GitBucketで社内OSSしませんか?
Kiyotaka Kunihira
 
PDF
仕事のゲーム化でやる気モードに変える
Kiyotaka Kunihira
 
PDF
プログラマが 引っ越しで気をつける 3つのこと
Kiyotaka Kunihira
 
PDF
Ec2 automation framework
Kiyotaka Kunihira
 
PDF
Chefとかプロビジョニングまわり
Kiyotaka Kunihira
 
PDF
忘年会駆動2012
Kiyotaka Kunihira
 
Mackerel Day#2 チェック監視が救う!!エンジニア0カンパニー
Kiyotaka Kunihira
 
着任したエンジニアをスムーズにテイクオフさせる道具だて
Kiyotaka Kunihira
 
React native実践談
Kiyotaka Kunihira
 
ガチのスタートアップがScalaを採用した結果(公開版) #scala_ks
Kiyotaka Kunihira
 
ここが変だよRuby/RoR #rubykansai
Kiyotaka Kunihira
 
時をかける開発 #devtool_night
Kiyotaka Kunihira
 
DevLove関西 - ShareWisの文化を支えるエンジニアリング
Kiyotaka Kunihira
 
スタートアップとScala
Kiyotaka Kunihira
 
オリジナル社内ツールの末路
Kiyotaka Kunihira
 
GitBucketPlugin@2014忘年度会
Kiyotaka Kunihira
 
アジャイルな新婚旅行
Kiyotaka Kunihira
 
もがいているエンジニア集まれ~今度こそ英語をモノにしよう~
Kiyotaka Kunihira
 
Scala開発チームの挑戦-技術編-@DevLove2014
Kiyotaka Kunihira
 
気が狂わないサーバ増設x10
Kiyotaka Kunihira
 
GitBucketで社内OSSしませんか?
Kiyotaka Kunihira
 
仕事のゲーム化でやる気モードに変える
Kiyotaka Kunihira
 
プログラマが 引っ越しで気をつける 3つのこと
Kiyotaka Kunihira
 
Ec2 automation framework
Kiyotaka Kunihira
 
Chefとかプロビジョニングまわり
Kiyotaka Kunihira
 
忘年会駆動2012
Kiyotaka Kunihira
 
Ad

Recently uploaded (13)

PPTX
新卒・中途採用者向け採用ピッチ資料2025年7月版(20250702).pptx
Official74
 
PPTX
オープンソース界隈の利用者や技術者から見たオープンソースEDAとは? What is open source EDA from the perspecti...
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
 
PDF
第3回デジタル理学療法学会のシンポジウム「デジタル理学療法の組織活用:教育・管理・研究を繋ぐ新たな地平」での話題提供
Matsushita Laboratory
 
PDF
go tool と Minimal Version Selection アルゴリズム
Keisuke Ishigami
 
PDF
第3回デジタル理学療法研究会学術大会シンポジウム「デジタル理学療法の組織活用:教育・管理・研究を繋ぐ新たな地平」の講演資料.
Matsushita Laboratory
 
PDF
マルチAIエージェントの産業界での実践に向けたオープンソース活動の展望 - Japan Regional User Group (RUG) Meet-Up
Kosaku Kimura
 
PDF
API認可を支えるKeycloakの基本と設計の考え方 ~ OAuth/OIDCによるAPI保護のベストプラクティス ~
Hitachi, Ltd. OSS Solution Center.
 
PDF
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2025_報告会資料_渡辺さ...
IGDA Japan SIG-Audio
 
PDF
漁船に搭載されている電子装備と漁法について_VRC海洋学研究会_海のLT会発表資料
Yuuitirou528 default
 
PDF
AIツールを使った研究の効率化 Improving Research Efficiency with AI Tools
Tohoku University
 
PDF
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2024_報告会資料_増野さ...
IGDA Japan SIG-Audio
 
PDF
安尾 萌, 森野 穣, 松下 光範. 災害情報収集におけるSNSのメディア特性に関する一検討, 人工知能学会第30回インタラクティブ情報アクセスと可視化マ...
Matsushita Laboratory
 
PDF
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
 
新卒・中途採用者向け採用ピッチ資料2025年7月版(20250702).pptx
Official74
 
オープンソース界隈の利用者や技術者から見たオープンソースEDAとは? What is open source EDA from the perspecti...
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
 
第3回デジタル理学療法学会のシンポジウム「デジタル理学療法の組織活用:教育・管理・研究を繋ぐ新たな地平」での話題提供
Matsushita Laboratory
 
go tool と Minimal Version Selection アルゴリズム
Keisuke Ishigami
 
第3回デジタル理学療法研究会学術大会シンポジウム「デジタル理学療法の組織活用:教育・管理・研究を繋ぐ新たな地平」の講演資料.
Matsushita Laboratory
 
マルチAIエージェントの産業界での実践に向けたオープンソース活動の展望 - Japan Regional User Group (RUG) Meet-Up
Kosaku Kimura
 
API認可を支えるKeycloakの基本と設計の考え方 ~ OAuth/OIDCによるAPI保護のベストプラクティス ~
Hitachi, Ltd. OSS Solution Center.
 
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2025_報告会資料_渡辺さ...
IGDA Japan SIG-Audio
 
漁船に搭載されている電子装備と漁法について_VRC海洋学研究会_海のLT会発表資料
Yuuitirou528 default
 
AIツールを使った研究の効率化 Improving Research Efficiency with AI Tools
Tohoku University
 
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2024_報告会資料_増野さ...
IGDA Japan SIG-Audio
 
安尾 萌, 森野 穣, 松下 光範. 災害情報収集におけるSNSのメディア特性に関する一検討, 人工知能学会第30回インタラクティブ情報アクセスと可視化マ...
Matsushita Laboratory
 
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
 

とりあえず使えるSBT