Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Kazuhiro Sera
KEY, PPTX
5,018 views
プラガブル Play20 Scala
Play プラグインやその他モジュールの概要、 ScalikeJDBC の紹介と #akskscala の参加者募集について。
Read more
10
Save
Share
Embed
Embed presentation
Download
Download as KEY, PPTX
1
/ 33
2
/ 33
3
/ 33
4
/ 33
5
/ 33
6
/ 33
7
/ 33
8
/ 33
9
/ 33
10
/ 33
11
/ 33
12
/ 33
13
/ 33
14
/ 33
15
/ 33
16
/ 33
17
/ 33
18
/ 33
19
/ 33
20
/ 33
21
/ 33
22
/ 33
23
/ 33
24
/ 33
25
/ 33
26
/ 33
27
/ 33
28
/ 33
29
/ 33
30
/ 33
31
/ 33
32
/ 33
33
/ 33
More Related Content
KEY
Play勉強会 第3回
by
Daisuke Kasuya
PDF
Play framework 2.0のおすすめと1.2からのアップグレード
by
Kazuhiro Hara
KEY
Play2 translate 20120714
by
masahitojp
PDF
20120706-readablecode
by
Masanori Kado
PDF
Jenkins に XFD を追加してみると
by
Kiro Harada
PDF
Bot Framework v4 開発 Tips 2018-11
by
Atsushi Yokohama (BEACHSIDE)
PPTX
継続的インテグレーション3分クッキング
by
Takayuki Kondou
PDF
2014年を振り返る 今年の技術トレンドとDockerについて
by
Masahito Zembutsu
Play勉強会 第3回
by
Daisuke Kasuya
Play framework 2.0のおすすめと1.2からのアップグレード
by
Kazuhiro Hara
Play2 translate 20120714
by
masahitojp
20120706-readablecode
by
Masanori Kado
Jenkins に XFD を追加してみると
by
Kiro Harada
Bot Framework v4 開発 Tips 2018-11
by
Atsushi Yokohama (BEACHSIDE)
継続的インテグレーション3分クッキング
by
Takayuki Kondou
2014年を振り返る 今年の技術トレンドとDockerについて
by
Masahito Zembutsu
What's hot
PDF
Windows コンテナを AKS に追加する
by
Yuto Takei
PPTX
Jenkins と groovy
by
Kohsuke Kawaguchi
PDF
Niigata.pm #1
by
hayajo Imai
PDF
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
by
JustSystems Corporation
PDF
Java SE 9の紹介: モジュール・システムを中心に
by
Taku Miyakawa
PDF
Behatで行う、E2Eテスト入門
by
leverages_event
KEY
Bundler kanazawa.rb meetup #2 2012/09/19
by
Hitoshi Kurokawa
PDF
OpenJDK コミュニティに参加してみよう #jjug
by
Yuji Kubota
PDF
Jjug ccc 2016 spring i 5 javaデスクトッププログラムを云々
by
torutk
PPT
Jenkinsプラグイン開発
by
Takahisa Wada
PPT
Eclipse を使った java 開発 111126 杉浦
by
urasandesu
PDF
Introduction to Spock
by
Takahiro Sugiura
PDF
はじめての CircleCI
by
Yosuke Mizutani
PDF
Phpstudy44 Zend Frameworkが抱えている問題は多い。
by
sasezaki
PPTX
明日から始める Chef 入門 #bpstudy
by
Takeshi Komiya
PDF
Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4
by
Yusuke Yamamoto
PDF
Gradleどうでしょう
by
Takuma Watabiki
PDF
Arduino jenkins
by
Kiro Harada
PDF
WildFly Swarmではじめる「パーツとしてのJavaEE」
by
Hiroaki NAKADA
PDF
ゲーム開発プロセスカイゼン
by
光晶 上原
Windows コンテナを AKS に追加する
by
Yuto Takei
Jenkins と groovy
by
Kohsuke Kawaguchi
Niigata.pm #1
by
hayajo Imai
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
by
JustSystems Corporation
Java SE 9の紹介: モジュール・システムを中心に
by
Taku Miyakawa
Behatで行う、E2Eテスト入門
by
leverages_event
Bundler kanazawa.rb meetup #2 2012/09/19
by
Hitoshi Kurokawa
OpenJDK コミュニティに参加してみよう #jjug
by
Yuji Kubota
Jjug ccc 2016 spring i 5 javaデスクトッププログラムを云々
by
torutk
Jenkinsプラグイン開発
by
Takahisa Wada
Eclipse を使った java 開発 111126 杉浦
by
urasandesu
Introduction to Spock
by
Takahiro Sugiura
はじめての CircleCI
by
Yosuke Mizutani
Phpstudy44 Zend Frameworkが抱えている問題は多い。
by
sasezaki
明日から始める Chef 入門 #bpstudy
by
Takeshi Komiya
Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4
by
Yusuke Yamamoto
Gradleどうでしょう
by
Takuma Watabiki
Arduino jenkins
by
Kiro Harada
WildFly Swarmではじめる「パーツとしてのJavaEE」
by
Hiroaki NAKADA
ゲーム開発プロセスカイゼン
by
光晶 上原
Viewers also liked
KEY
About playdocja
by
yuichiro umezawa
PDF
Gradle a new Generation Build Tool
by
Shinya Mochida
PDF
History_of_waterfall_append
by
Shin Semiya
PDF
TDDBC 横浜 演習課題
by
Hiroyuki Ohnaka
PDF
TDD Boot Camp 東京 for C++ 課題
by
Takashi Imagire
ODP
ライフゲームでプログラミング
by
Shinya Miyazaki
PDF
夏サミ 2012 [B-2]エンタープライズ開発におけるコラボレーション - JIRAによる顧客と開発チームのつなぎ方
by
Yusuke Suzuki
PDF
ペアプロワークショップ
by
Yasui Tsutomu
PDF
coderetreat
by
Gabriele Lana
PDF
MongoDB Oplog入門
by
Takahiro Inoue
PDF
ソーシャルゲームにおけるAWS/MongoDB利用事例
by
Masakazu Matsushita
PPTX
Jenkins user conference 東京
by
Kohsuke Kawaguchi
About playdocja
by
yuichiro umezawa
Gradle a new Generation Build Tool
by
Shinya Mochida
History_of_waterfall_append
by
Shin Semiya
TDDBC 横浜 演習課題
by
Hiroyuki Ohnaka
TDD Boot Camp 東京 for C++ 課題
by
Takashi Imagire
ライフゲームでプログラミング
by
Shinya Miyazaki
夏サミ 2012 [B-2]エンタープライズ開発におけるコラボレーション - JIRAによる顧客と開発チームのつなぎ方
by
Yusuke Suzuki
ペアプロワークショップ
by
Yasui Tsutomu
coderetreat
by
Gabriele Lana
MongoDB Oplog入門
by
Takahiro Inoue
ソーシャルゲームにおけるAWS/MongoDB利用事例
by
Masakazu Matsushita
Jenkins user conference 東京
by
Kohsuke Kawaguchi
Similar to プラガブル Play20 Scala
PDF
Playbay Play 2.0 plugin イロハのイ
by
Kazuhiro Hara
PDF
sbtマルチプロジェクトビルドの使いどころ
by
Kazuhiro Hara
PDF
2014/12/13 第1回 Scala関西勉強会 play2-memcached supports Play 2.4 ~Play 2.4モジュールのつく...
by
佑介 九岡
PPT
play framework 勉強会 in 関西
by
Shinichi Kozake
PPTX
僕の鮮やかなるScala導入失敗事例
by
Yosuke Uchiyama
KEY
PlayFramework1.x基礎編
by
Asami Abe
PDF
Play2+Scala事始め
by
Asami Abe
PDF
MoteMote Compiler Plugin
by
yoshiaki iwanaga
KEY
Play with Playframework
by
Takafumi Yoshida
KEY
Dev love関西 forslideshare
by
Daisuke Kasuya
PDF
株式会社インタースペース 沖本様 登壇資料
by
leverages_event
PDF
Play framework 2.0のちょっとした紹介
by
Ryo RKTM
PDF
Play jjug2012spring
by
Takafumi Ikeda
Playbay Play 2.0 plugin イロハのイ
by
Kazuhiro Hara
sbtマルチプロジェクトビルドの使いどころ
by
Kazuhiro Hara
2014/12/13 第1回 Scala関西勉強会 play2-memcached supports Play 2.4 ~Play 2.4モジュールのつく...
by
佑介 九岡
play framework 勉強会 in 関西
by
Shinichi Kozake
僕の鮮やかなるScala導入失敗事例
by
Yosuke Uchiyama
PlayFramework1.x基礎編
by
Asami Abe
Play2+Scala事始め
by
Asami Abe
MoteMote Compiler Plugin
by
yoshiaki iwanaga
Play with Playframework
by
Takafumi Yoshida
Dev love関西 forslideshare
by
Daisuke Kasuya
株式会社インタースペース 沖本様 登壇資料
by
leverages_event
Play framework 2.0のちょっとした紹介
by
Ryo RKTM
Play jjug2012spring
by
Takafumi Ikeda
More from Kazuhiro Sera
PDF
All I learned while working on a Scala OSS project for over six years #ScalaM...
by
Kazuhiro Sera
PDF
Contributing to Scala OSS from East Asia #ScalaMatsuri
by
Kazuhiro Sera
PDF
Skinny Meetup Tokyo 2 日本語スライド
by
Kazuhiro Sera
PDF
Skinny 2 Update
by
Kazuhiro Sera
PDF
Seasar ユーザだったプログラマが目指す OSS の世界展開 #seasarcon
by
Kazuhiro Sera
PDF
Java エンジニアチームが始めやすい Scala コーディングスタイル #ichigayageek
by
Kazuhiro Sera
PDF
Future on Servlet #scala_ks
by
Kazuhiro Sera
PDF
Servlet と Future の関わり方 #scala_ks
by
Kazuhiro Sera
PDF
マイクロサービス運用の所感 #m3dev
by
Kazuhiro Sera
PDF
Scala が支える医療系ウェブサービス #jissenscala
by
Kazuhiro Sera
PDF
Scala on Rails #rakutentech
by
Kazuhiro Sera
PDF
Solid And Sustainable Development in Scala
by
Kazuhiro Sera
PDF
Beginning Scala with Skinny Framework #jjug_ccc
by
Kazuhiro Sera
PDF
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
by
Kazuhiro Sera
PDF
Skinny Framework 1.0.0
by
Kazuhiro Sera
PDF
Skinny Framework Progress Situation
by
Kazuhiro Sera
PDF
Skinny Framework 進捗どうですか? #fud_scala
by
Kazuhiro Sera
PDF
テストの運用について #m3dev
by
Kazuhiro Sera
PDF
めんどくさくない Scala #kwkni_scala
by
Kazuhiro Sera
PDF
歌舞伎座.tech 1 LT - ScalikeJDBC Async & Skinny Framework #kbkz_tech
by
Kazuhiro Sera
All I learned while working on a Scala OSS project for over six years #ScalaM...
by
Kazuhiro Sera
Contributing to Scala OSS from East Asia #ScalaMatsuri
by
Kazuhiro Sera
Skinny Meetup Tokyo 2 日本語スライド
by
Kazuhiro Sera
Skinny 2 Update
by
Kazuhiro Sera
Seasar ユーザだったプログラマが目指す OSS の世界展開 #seasarcon
by
Kazuhiro Sera
Java エンジニアチームが始めやすい Scala コーディングスタイル #ichigayageek
by
Kazuhiro Sera
Future on Servlet #scala_ks
by
Kazuhiro Sera
Servlet と Future の関わり方 #scala_ks
by
Kazuhiro Sera
マイクロサービス運用の所感 #m3dev
by
Kazuhiro Sera
Scala が支える医療系ウェブサービス #jissenscala
by
Kazuhiro Sera
Scala on Rails #rakutentech
by
Kazuhiro Sera
Solid And Sustainable Development in Scala
by
Kazuhiro Sera
Beginning Scala with Skinny Framework #jjug_ccc
by
Kazuhiro Sera
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
by
Kazuhiro Sera
Skinny Framework 1.0.0
by
Kazuhiro Sera
Skinny Framework Progress Situation
by
Kazuhiro Sera
Skinny Framework 進捗どうですか? #fud_scala
by
Kazuhiro Sera
テストの運用について #m3dev
by
Kazuhiro Sera
めんどくさくない Scala #kwkni_scala
by
Kazuhiro Sera
歌舞伎座.tech 1 LT - ScalikeJDBC Async & Skinny Framework #kbkz_tech
by
Kazuhiro Sera
プラガブル Play20 Scala
1.
プラガブル Play20 Scala
Kazuhiro Sera (@seratch)
2.
アジェンダ 軽く自己紹介 Play の拡張全般について ScalikeJDBC のご紹介 #akskscala
へのお誘い
3.
誰? Scala、Java がメインのプログラマ いろいろやっています #akskscala @赤坂(溜池山王) Play
は 1.0 出たときから
4.
質問
5.
質問 Play20 プラグイン作ったことがある 方はどれくらいいらっしゃいますか?
6.
質問 Play20 プラグイン作ったことがある 方はどれくらいいらっしゃいますか? と質問したものの、そもそもプラグイ ンの定義って明確なんだっけ・・?
7.
どうやらプラグインとは 明確な定義はされていないものの、どう やらPlay20 プラグインは 2
種類ある play.plugins に追加して使う Play ア プリのランタイム機能拡張 play コンソールを拡張するための sbt プラグイン
8.
イメージ図 モジュール プラグイン
プラグイン play.pluginsに追加 ではない形で (Play アプリ拡張) Play を 拡張するもの sbt プラグイン (play コンソール拡張)
9.
typesafehub/play-plugins dust
sbt プラグイン guice play.plugins inject play.plugins mailer play.plugins redis play.plugins sbtgoodies sbt プラグイン sbtlogger sbt プラグイン util (プラグインではない)
10.
Play アプリ拡張 (play.plugins)
11.
conf/play.plugins 公式 Wiki の説明参照 play.api.Plugin
という trait 拡張ポイントはコンストラクタと onStart/onStop/enabled のみ (2.0.2 時点)
12.
何ができるのか コンストラクタや onStart でアプリ内 共通で使うものを準備しておく 典型例:コネクションプールの初期化 実際プラグインにすべき要件は多くない
13.
早速つくってみよう app 直下に
MyPlugin.scala import play.api._ class MyPlugin(app: Application) extends Plugin { def onStart(): Unit = { println(“This is my first Play20 plugin!”) } }
14.
テストも書こう import org.specs2.mutable.Specification object MyPluginSpec
extends Specification { "MyPlugin" should { "be available" in { running(FakeApplication( additionalPlugins = Seq("MyPlugin"), additionalConfiguration = Map("key", "value"))) { // do something ...
15.
実際に使う conf/play.plugins に追加
読み込み順序の数値は昇順 Play 本体のプラグインの最後は GlobalPlugin (10000) 10001: MyPlugin
16.
拙作の例 ScalikeJDBC Play Plugin ScalikeJDBC
は SQL テンプレート ベースの DB アクセスライブラリ conf/application.conf の DB 設定を 読み取ってコネクションプールを初期化
17.
Tips
18.
Tips Plugin のコンストラクタや onStart、 onStop
は一度しか呼ばれない?
19.
Tips Plugin のコンストラクタや onStart、 onStop
は一度しか呼ばれない? Production 環境ならそうだけど・・
20.
Tips Plugin のコンストラクタや onStart、 onStop
は一度しか呼ばれない? Production 環境ならそうだけど・・ テストだと FakeApplication は大量 に生成されて、その度に呼ばれまくる (重たい処理はキャッシュするなど)
21.
Play コンソール拡張 (sbt プラグイン)
22.
sbt プラグイン play コンソールは
sbt のラッパーなの ですべての sbt プラグインが利用可能 play コンソールに機能を追加するには sbt プラグインを書く必要がある Scala に慣れてないとハードル高め
23.
拙作の例 ScalikeJDBC Mapper Generator 特に
Play20 専用ではないので Play プ ラグインとは表記していない play コンソールで「scalikejdbc-gen user」とやると user テーブルを元に app/models/User.scala 自動生成
24.
生成されたコード利用例 // app/models/User.scala val user:
Option[User] = User.find(123) val count: Long = User.countAll() DB localTx { implicit session => User.findBy(“group_id = {groupId}”, ‘groupId -> 234) foreach { user => user.copy(groupId = 345).save() } }
25.
プラグインではない Play
拡張
26.
プラグインではない拡張 Play の機能を拡張するのにプラグイン にとらわれる必要はない @gakuzzzz さんによる
play20-auth は Controller に mixin して使う Play20 を拡張、便利にするためにつく られたものは何でもモジュール?
27.
playmodules.net 有志の方が作ったサイト(非公式) 何かつくったらとりあえず登録してみる のもいいかも ただ、将来的には公式サイトにうまく集 約できる方がよさそう
28.
ScalikeJDBC のご紹介
29.
ScalikeJDBC SQL を知っていればすぐ使える コードをどこでもそのまま再利用可能 柔軟なトランザクション制御 複数のデータソースに同時アクセス 開発、サポートがとてもアクティブ
30.
あえて短所も・・ 他に比べてまだまだマイナー O/R マッパーではない 記述はあまり DRY
ではないのでコード の自動生成によってカバーしている Play20 については Typesafe Stack に SLICK(ScalaQuery)が入る予定
31.
試してみてください mapper-generator とセットでどうぞ レガシー DB
連携の業務実績あり もしバグがあったら光の速さで直します 日本語の情報も増やす予定です まずはこちらをご一読ください
32.
#akskscala へのお誘い
33.
Scala はじめませんか? akskscala.github.com 隔週で木曜 20:00∼赤坂(溜池山王) Play20
をやるなら Scala は必修です 次回は 7/26 zentasks をいじります
Editor's Notes
#2
\n
#3
\n
#4
\n
#5
\n
#6
\n
#7
\n
#8
\n
#9
\n
#10
\n
#11
\n
#12
\n
#13
\n
#14
\n
#15
\n
#16
\n
#17
\n
#18
\n
#19
\n
#20
\n
#21
\n
#22
\n
#23
\n
#24
\n
#25
\n
#26
\n
#27
\n
#28
\n
#29
\n
#30
\n
#31
\n
#32
\n
Download