what is play

87
Play! の紹介 @ikeike443 2011/10/08 第二回 Playframework 勉強会 In Tokyo 11108日土曜日

Upload: takafumi-ikeda

Post on 29-Oct-2014

32 views

Category:

Technology


1 download

DESCRIPTION

Playframework meetup in tokyo held at 08/Oct/2011

TRANSCRIPT

Page 1: What is play

Play の紹介ikeike443

20111008 第二回 Playframework 勉強会 In Tokyo

11年10月8日土曜日

自己紹介

11年10月8日土曜日

ikeike443

池田尚史(いけだたかふみ)

株式会社シャノン

Jenkinsプラグイン開発者

Playframework好き

11年10月8日土曜日

Play の紹介ikeike443

20111008 第二回 Playframework 勉強会 In Tokyo

11年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotospaulwhaleyphotography133897626

11年10月8日土曜日

Java を LL っぽく使う Web フレームワーク

Servlet コンテナAPI を一切使わない FW

XML 設定ファイルに一切触れなくて済む FW

非同期処理に長けた FW

なんか魔改造してるんでしょ的な FW

Play とは

11年10月8日土曜日

いろんな見方がありますが

11年10月8日土曜日

Play 自身はこう言っています

11年10月8日土曜日

Play フレームワークは Java エンタープライズエディション (Java EE) の規約と共にあることよりもW3C の World Wide Web アーキテクチャ に沿うことを優先します

11年10月8日土曜日

public class HelloServlet extends HttpServlet public void doGet (HttpServletRequest req HttpServletResponse res)

PrintWriter out = resgetWriter()

outprintln(Hello world) outclose()

ltweb-app xmlns=httpjavasuncomxmlnsj2ee version=24 xmlnsxsi=httpwwww3org2001XMLSchema-instance xsischemaLocation=httpjavasuncomdtdweb-app_2_3dtdgt ltservletgt ltservlet-namegthelloltservlet-namegt ltservlet-classgttestHelloServletltservlet-classgt ltservletgt

ltservlet-mappinggt ltservlet-namegthelloltservlet-namegt lturl-patterngthellolturl-patterngt ltservlet-mappinggtltweb-appgt

11年10月8日土曜日

public class HelloServlet extends HttpServlet public void doGet (HttpServletRequest req HttpServletResponse res)

PrintWriter out = resgetWriter()

outprintln(Hello world) outclose()

ltweb-app xmlns=httpjavasuncomxmlnsj2ee version=24 xmlnsxsi=httpwwww3org2001XMLSchema-instance xsischemaLocation=httpjavasuncomdtdweb-app_2_3dtdgt ltservletgt ltservlet-namegthelloltservlet-namegt ltservlet-classgttestHelloServletltservlet-classgt ltservletgt

ltservlet-mappinggt ltservlet-namegthelloltservlet-namegt lturl-patterngthellolturl-patterngt ltservlet-mappinggtltweb-appgt

こうじゃなく

11年10月8日土曜日

public class Hello extends Controller public static void index() render(ldquoHello worldrdquo)

11年10月8日土曜日

public class Hello extends Controller public static void index() render(ldquoHello worldrdquo)

こう書きたい

11年10月8日土曜日

鈍重な開発サイクル行き過ぎた抽象化多過ぎる環境設定と言った伝統的な Java web 開発の痛みを伴わない最高の Java プラットフォームを目指しているのが Play というフレームワーク

11年10月8日土曜日

開発時間が限りなくゼロに近いとき未来の開発に向けた抽象化に挑戦するのではなく速やかにアプリケーションの機能開発や試験に向けて集中するべきです

11年10月8日土曜日

開発時間が限りなくゼロに近いとき未来の開発に向けた抽象化に挑戦するのではなく速やかにアプリケーションの機能開発や試験に向けて集中するべきです

至言11年10月8日土曜日

百聞は一見にしかずライブコーディングします

11年10月8日土曜日

作るもの

簡単なDBアプリ

管理画面付き

RESTっぽいAPI付き

10分くらいで

11年10月8日土曜日

スタート

11年10月8日土曜日

どうでしたか

11年10月8日土曜日

Servlet はどこへXML 書かなったよねサーバ再起動してないよね

11年10月8日土曜日

これが Play

11年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosflotaz2471940678

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Servletを捨て素直なHTTPルーティングを実現

JPA も大幅に拡張しスキーマ変更も簡単に

再起動なしのノンストップ開発が可能

高い生産性

11年10月8日土曜日

素直なHTTPルーティング

複雑な XML の設定は必要ない

URL とクエリパラメータをそのままコントローラのクラス名メソッド名メソッド引数にバインドする

開発生産性はとても高くなる

FW 内部では Javassist を使った Byte code enhance が行われている

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

至言11年10月8日土曜日

シェアードナッシングPlayはステートレスなFW

PlayにはHttpSessionはない

Controllersessionの実体はただのCookie

セッション管理にはMemcachedを使うのがおすすめ

セッションレプリケーション なにそれ美味しいの

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

ヒドス11年10月8日土曜日

非同期 IO

11年10月8日土曜日

11年10月8日土曜日

Nettyによる非同期IOの実現

commons-javaflowのスレッド冬眠技術を利用しJavaで継続プログラミングを実装

WebSocketのサポートも

11年10月8日土曜日

public static void generatePDF(Long reportId) PromiseltInputStreamgt pdf = new ReportAsPDFJob(report)now() InputStream pdfStream = await(pdf) renderBinary(pdfStream)

public static void generateLargeCSV() CSVGenerator generator = new CSVGenerator() responsecontentType = textcsv while(generatorhasMoreData()) String someCsvData = await(generatornextDataChunk()) responsewriteChunk(someCsvData)

11年10月8日土曜日

IO部分はnodejsを凌駕するほどの速さ

レンダリングまで含めると Groovy

httpwwwsubbuorgblog201103nodejs-vs-play-for-front-end-apps

11年10月8日土曜日

関数型プログラミングのフレーバー

11年10月8日土曜日

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 2: What is play

自己紹介

11年10月8日土曜日

ikeike443

池田尚史(いけだたかふみ)

株式会社シャノン

Jenkinsプラグイン開発者

Playframework好き

11年10月8日土曜日

Play の紹介ikeike443

20111008 第二回 Playframework 勉強会 In Tokyo

11年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotospaulwhaleyphotography133897626

11年10月8日土曜日

Java を LL っぽく使う Web フレームワーク

Servlet コンテナAPI を一切使わない FW

XML 設定ファイルに一切触れなくて済む FW

非同期処理に長けた FW

なんか魔改造してるんでしょ的な FW

Play とは

11年10月8日土曜日

いろんな見方がありますが

11年10月8日土曜日

Play 自身はこう言っています

11年10月8日土曜日

Play フレームワークは Java エンタープライズエディション (Java EE) の規約と共にあることよりもW3C の World Wide Web アーキテクチャ に沿うことを優先します

11年10月8日土曜日

public class HelloServlet extends HttpServlet public void doGet (HttpServletRequest req HttpServletResponse res)

PrintWriter out = resgetWriter()

outprintln(Hello world) outclose()

ltweb-app xmlns=httpjavasuncomxmlnsj2ee version=24 xmlnsxsi=httpwwww3org2001XMLSchema-instance xsischemaLocation=httpjavasuncomdtdweb-app_2_3dtdgt ltservletgt ltservlet-namegthelloltservlet-namegt ltservlet-classgttestHelloServletltservlet-classgt ltservletgt

ltservlet-mappinggt ltservlet-namegthelloltservlet-namegt lturl-patterngthellolturl-patterngt ltservlet-mappinggtltweb-appgt

11年10月8日土曜日

public class HelloServlet extends HttpServlet public void doGet (HttpServletRequest req HttpServletResponse res)

PrintWriter out = resgetWriter()

outprintln(Hello world) outclose()

ltweb-app xmlns=httpjavasuncomxmlnsj2ee version=24 xmlnsxsi=httpwwww3org2001XMLSchema-instance xsischemaLocation=httpjavasuncomdtdweb-app_2_3dtdgt ltservletgt ltservlet-namegthelloltservlet-namegt ltservlet-classgttestHelloServletltservlet-classgt ltservletgt

ltservlet-mappinggt ltservlet-namegthelloltservlet-namegt lturl-patterngthellolturl-patterngt ltservlet-mappinggtltweb-appgt

こうじゃなく

11年10月8日土曜日

public class Hello extends Controller public static void index() render(ldquoHello worldrdquo)

11年10月8日土曜日

public class Hello extends Controller public static void index() render(ldquoHello worldrdquo)

こう書きたい

11年10月8日土曜日

鈍重な開発サイクル行き過ぎた抽象化多過ぎる環境設定と言った伝統的な Java web 開発の痛みを伴わない最高の Java プラットフォームを目指しているのが Play というフレームワーク

11年10月8日土曜日

開発時間が限りなくゼロに近いとき未来の開発に向けた抽象化に挑戦するのではなく速やかにアプリケーションの機能開発や試験に向けて集中するべきです

11年10月8日土曜日

開発時間が限りなくゼロに近いとき未来の開発に向けた抽象化に挑戦するのではなく速やかにアプリケーションの機能開発や試験に向けて集中するべきです

至言11年10月8日土曜日

百聞は一見にしかずライブコーディングします

11年10月8日土曜日

作るもの

簡単なDBアプリ

管理画面付き

RESTっぽいAPI付き

10分くらいで

11年10月8日土曜日

スタート

11年10月8日土曜日

どうでしたか

11年10月8日土曜日

Servlet はどこへXML 書かなったよねサーバ再起動してないよね

11年10月8日土曜日

これが Play

11年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosflotaz2471940678

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Servletを捨て素直なHTTPルーティングを実現

JPA も大幅に拡張しスキーマ変更も簡単に

再起動なしのノンストップ開発が可能

高い生産性

11年10月8日土曜日

素直なHTTPルーティング

複雑な XML の設定は必要ない

URL とクエリパラメータをそのままコントローラのクラス名メソッド名メソッド引数にバインドする

開発生産性はとても高くなる

FW 内部では Javassist を使った Byte code enhance が行われている

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

至言11年10月8日土曜日

シェアードナッシングPlayはステートレスなFW

PlayにはHttpSessionはない

Controllersessionの実体はただのCookie

セッション管理にはMemcachedを使うのがおすすめ

セッションレプリケーション なにそれ美味しいの

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

ヒドス11年10月8日土曜日

非同期 IO

11年10月8日土曜日

11年10月8日土曜日

Nettyによる非同期IOの実現

commons-javaflowのスレッド冬眠技術を利用しJavaで継続プログラミングを実装

WebSocketのサポートも

11年10月8日土曜日

public static void generatePDF(Long reportId) PromiseltInputStreamgt pdf = new ReportAsPDFJob(report)now() InputStream pdfStream = await(pdf) renderBinary(pdfStream)

public static void generateLargeCSV() CSVGenerator generator = new CSVGenerator() responsecontentType = textcsv while(generatorhasMoreData()) String someCsvData = await(generatornextDataChunk()) responsewriteChunk(someCsvData)

11年10月8日土曜日

IO部分はnodejsを凌駕するほどの速さ

レンダリングまで含めると Groovy

httpwwwsubbuorgblog201103nodejs-vs-play-for-front-end-apps

11年10月8日土曜日

関数型プログラミングのフレーバー

11年10月8日土曜日

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 3: What is play

ikeike443

池田尚史(いけだたかふみ)

株式会社シャノン

Jenkinsプラグイン開発者

Playframework好き

11年10月8日土曜日

Play の紹介ikeike443

20111008 第二回 Playframework 勉強会 In Tokyo

11年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotospaulwhaleyphotography133897626

11年10月8日土曜日

Java を LL っぽく使う Web フレームワーク

Servlet コンテナAPI を一切使わない FW

XML 設定ファイルに一切触れなくて済む FW

非同期処理に長けた FW

なんか魔改造してるんでしょ的な FW

Play とは

11年10月8日土曜日

いろんな見方がありますが

11年10月8日土曜日

Play 自身はこう言っています

11年10月8日土曜日

Play フレームワークは Java エンタープライズエディション (Java EE) の規約と共にあることよりもW3C の World Wide Web アーキテクチャ に沿うことを優先します

11年10月8日土曜日

public class HelloServlet extends HttpServlet public void doGet (HttpServletRequest req HttpServletResponse res)

PrintWriter out = resgetWriter()

outprintln(Hello world) outclose()

ltweb-app xmlns=httpjavasuncomxmlnsj2ee version=24 xmlnsxsi=httpwwww3org2001XMLSchema-instance xsischemaLocation=httpjavasuncomdtdweb-app_2_3dtdgt ltservletgt ltservlet-namegthelloltservlet-namegt ltservlet-classgttestHelloServletltservlet-classgt ltservletgt

ltservlet-mappinggt ltservlet-namegthelloltservlet-namegt lturl-patterngthellolturl-patterngt ltservlet-mappinggtltweb-appgt

11年10月8日土曜日

public class HelloServlet extends HttpServlet public void doGet (HttpServletRequest req HttpServletResponse res)

PrintWriter out = resgetWriter()

outprintln(Hello world) outclose()

ltweb-app xmlns=httpjavasuncomxmlnsj2ee version=24 xmlnsxsi=httpwwww3org2001XMLSchema-instance xsischemaLocation=httpjavasuncomdtdweb-app_2_3dtdgt ltservletgt ltservlet-namegthelloltservlet-namegt ltservlet-classgttestHelloServletltservlet-classgt ltservletgt

ltservlet-mappinggt ltservlet-namegthelloltservlet-namegt lturl-patterngthellolturl-patterngt ltservlet-mappinggtltweb-appgt

こうじゃなく

11年10月8日土曜日

public class Hello extends Controller public static void index() render(ldquoHello worldrdquo)

11年10月8日土曜日

public class Hello extends Controller public static void index() render(ldquoHello worldrdquo)

こう書きたい

11年10月8日土曜日

鈍重な開発サイクル行き過ぎた抽象化多過ぎる環境設定と言った伝統的な Java web 開発の痛みを伴わない最高の Java プラットフォームを目指しているのが Play というフレームワーク

11年10月8日土曜日

開発時間が限りなくゼロに近いとき未来の開発に向けた抽象化に挑戦するのではなく速やかにアプリケーションの機能開発や試験に向けて集中するべきです

11年10月8日土曜日

開発時間が限りなくゼロに近いとき未来の開発に向けた抽象化に挑戦するのではなく速やかにアプリケーションの機能開発や試験に向けて集中するべきです

至言11年10月8日土曜日

百聞は一見にしかずライブコーディングします

11年10月8日土曜日

作るもの

簡単なDBアプリ

管理画面付き

RESTっぽいAPI付き

10分くらいで

11年10月8日土曜日

スタート

11年10月8日土曜日

どうでしたか

11年10月8日土曜日

Servlet はどこへXML 書かなったよねサーバ再起動してないよね

11年10月8日土曜日

これが Play

11年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosflotaz2471940678

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Servletを捨て素直なHTTPルーティングを実現

JPA も大幅に拡張しスキーマ変更も簡単に

再起動なしのノンストップ開発が可能

高い生産性

11年10月8日土曜日

素直なHTTPルーティング

複雑な XML の設定は必要ない

URL とクエリパラメータをそのままコントローラのクラス名メソッド名メソッド引数にバインドする

開発生産性はとても高くなる

FW 内部では Javassist を使った Byte code enhance が行われている

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

至言11年10月8日土曜日

シェアードナッシングPlayはステートレスなFW

PlayにはHttpSessionはない

Controllersessionの実体はただのCookie

セッション管理にはMemcachedを使うのがおすすめ

セッションレプリケーション なにそれ美味しいの

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

ヒドス11年10月8日土曜日

非同期 IO

11年10月8日土曜日

11年10月8日土曜日

Nettyによる非同期IOの実現

commons-javaflowのスレッド冬眠技術を利用しJavaで継続プログラミングを実装

WebSocketのサポートも

11年10月8日土曜日

public static void generatePDF(Long reportId) PromiseltInputStreamgt pdf = new ReportAsPDFJob(report)now() InputStream pdfStream = await(pdf) renderBinary(pdfStream)

public static void generateLargeCSV() CSVGenerator generator = new CSVGenerator() responsecontentType = textcsv while(generatorhasMoreData()) String someCsvData = await(generatornextDataChunk()) responsewriteChunk(someCsvData)

11年10月8日土曜日

IO部分はnodejsを凌駕するほどの速さ

レンダリングまで含めると Groovy

httpwwwsubbuorgblog201103nodejs-vs-play-for-front-end-apps

11年10月8日土曜日

関数型プログラミングのフレーバー

11年10月8日土曜日

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 4: What is play

Play の紹介ikeike443

20111008 第二回 Playframework 勉強会 In Tokyo

11年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotospaulwhaleyphotography133897626

11年10月8日土曜日

Java を LL っぽく使う Web フレームワーク

Servlet コンテナAPI を一切使わない FW

XML 設定ファイルに一切触れなくて済む FW

非同期処理に長けた FW

なんか魔改造してるんでしょ的な FW

Play とは

11年10月8日土曜日

いろんな見方がありますが

11年10月8日土曜日

Play 自身はこう言っています

11年10月8日土曜日

Play フレームワークは Java エンタープライズエディション (Java EE) の規約と共にあることよりもW3C の World Wide Web アーキテクチャ に沿うことを優先します

11年10月8日土曜日

public class HelloServlet extends HttpServlet public void doGet (HttpServletRequest req HttpServletResponse res)

PrintWriter out = resgetWriter()

outprintln(Hello world) outclose()

ltweb-app xmlns=httpjavasuncomxmlnsj2ee version=24 xmlnsxsi=httpwwww3org2001XMLSchema-instance xsischemaLocation=httpjavasuncomdtdweb-app_2_3dtdgt ltservletgt ltservlet-namegthelloltservlet-namegt ltservlet-classgttestHelloServletltservlet-classgt ltservletgt

ltservlet-mappinggt ltservlet-namegthelloltservlet-namegt lturl-patterngthellolturl-patterngt ltservlet-mappinggtltweb-appgt

11年10月8日土曜日

public class HelloServlet extends HttpServlet public void doGet (HttpServletRequest req HttpServletResponse res)

PrintWriter out = resgetWriter()

outprintln(Hello world) outclose()

ltweb-app xmlns=httpjavasuncomxmlnsj2ee version=24 xmlnsxsi=httpwwww3org2001XMLSchema-instance xsischemaLocation=httpjavasuncomdtdweb-app_2_3dtdgt ltservletgt ltservlet-namegthelloltservlet-namegt ltservlet-classgttestHelloServletltservlet-classgt ltservletgt

ltservlet-mappinggt ltservlet-namegthelloltservlet-namegt lturl-patterngthellolturl-patterngt ltservlet-mappinggtltweb-appgt

こうじゃなく

11年10月8日土曜日

public class Hello extends Controller public static void index() render(ldquoHello worldrdquo)

11年10月8日土曜日

public class Hello extends Controller public static void index() render(ldquoHello worldrdquo)

こう書きたい

11年10月8日土曜日

鈍重な開発サイクル行き過ぎた抽象化多過ぎる環境設定と言った伝統的な Java web 開発の痛みを伴わない最高の Java プラットフォームを目指しているのが Play というフレームワーク

11年10月8日土曜日

開発時間が限りなくゼロに近いとき未来の開発に向けた抽象化に挑戦するのではなく速やかにアプリケーションの機能開発や試験に向けて集中するべきです

11年10月8日土曜日

開発時間が限りなくゼロに近いとき未来の開発に向けた抽象化に挑戦するのではなく速やかにアプリケーションの機能開発や試験に向けて集中するべきです

至言11年10月8日土曜日

百聞は一見にしかずライブコーディングします

11年10月8日土曜日

作るもの

簡単なDBアプリ

管理画面付き

RESTっぽいAPI付き

10分くらいで

11年10月8日土曜日

スタート

11年10月8日土曜日

どうでしたか

11年10月8日土曜日

Servlet はどこへXML 書かなったよねサーバ再起動してないよね

11年10月8日土曜日

これが Play

11年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosflotaz2471940678

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Servletを捨て素直なHTTPルーティングを実現

JPA も大幅に拡張しスキーマ変更も簡単に

再起動なしのノンストップ開発が可能

高い生産性

11年10月8日土曜日

素直なHTTPルーティング

複雑な XML の設定は必要ない

URL とクエリパラメータをそのままコントローラのクラス名メソッド名メソッド引数にバインドする

開発生産性はとても高くなる

FW 内部では Javassist を使った Byte code enhance が行われている

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

至言11年10月8日土曜日

シェアードナッシングPlayはステートレスなFW

PlayにはHttpSessionはない

Controllersessionの実体はただのCookie

セッション管理にはMemcachedを使うのがおすすめ

セッションレプリケーション なにそれ美味しいの

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

ヒドス11年10月8日土曜日

非同期 IO

11年10月8日土曜日

11年10月8日土曜日

Nettyによる非同期IOの実現

commons-javaflowのスレッド冬眠技術を利用しJavaで継続プログラミングを実装

WebSocketのサポートも

11年10月8日土曜日

public static void generatePDF(Long reportId) PromiseltInputStreamgt pdf = new ReportAsPDFJob(report)now() InputStream pdfStream = await(pdf) renderBinary(pdfStream)

public static void generateLargeCSV() CSVGenerator generator = new CSVGenerator() responsecontentType = textcsv while(generatorhasMoreData()) String someCsvData = await(generatornextDataChunk()) responsewriteChunk(someCsvData)

11年10月8日土曜日

IO部分はnodejsを凌駕するほどの速さ

レンダリングまで含めると Groovy

httpwwwsubbuorgblog201103nodejs-vs-play-for-front-end-apps

11年10月8日土曜日

関数型プログラミングのフレーバー

11年10月8日土曜日

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 5: What is play

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotospaulwhaleyphotography133897626

11年10月8日土曜日

Java を LL っぽく使う Web フレームワーク

Servlet コンテナAPI を一切使わない FW

XML 設定ファイルに一切触れなくて済む FW

非同期処理に長けた FW

なんか魔改造してるんでしょ的な FW

Play とは

11年10月8日土曜日

いろんな見方がありますが

11年10月8日土曜日

Play 自身はこう言っています

11年10月8日土曜日

Play フレームワークは Java エンタープライズエディション (Java EE) の規約と共にあることよりもW3C の World Wide Web アーキテクチャ に沿うことを優先します

11年10月8日土曜日

public class HelloServlet extends HttpServlet public void doGet (HttpServletRequest req HttpServletResponse res)

PrintWriter out = resgetWriter()

outprintln(Hello world) outclose()

ltweb-app xmlns=httpjavasuncomxmlnsj2ee version=24 xmlnsxsi=httpwwww3org2001XMLSchema-instance xsischemaLocation=httpjavasuncomdtdweb-app_2_3dtdgt ltservletgt ltservlet-namegthelloltservlet-namegt ltservlet-classgttestHelloServletltservlet-classgt ltservletgt

ltservlet-mappinggt ltservlet-namegthelloltservlet-namegt lturl-patterngthellolturl-patterngt ltservlet-mappinggtltweb-appgt

11年10月8日土曜日

public class HelloServlet extends HttpServlet public void doGet (HttpServletRequest req HttpServletResponse res)

PrintWriter out = resgetWriter()

outprintln(Hello world) outclose()

ltweb-app xmlns=httpjavasuncomxmlnsj2ee version=24 xmlnsxsi=httpwwww3org2001XMLSchema-instance xsischemaLocation=httpjavasuncomdtdweb-app_2_3dtdgt ltservletgt ltservlet-namegthelloltservlet-namegt ltservlet-classgttestHelloServletltservlet-classgt ltservletgt

ltservlet-mappinggt ltservlet-namegthelloltservlet-namegt lturl-patterngthellolturl-patterngt ltservlet-mappinggtltweb-appgt

こうじゃなく

11年10月8日土曜日

public class Hello extends Controller public static void index() render(ldquoHello worldrdquo)

11年10月8日土曜日

public class Hello extends Controller public static void index() render(ldquoHello worldrdquo)

こう書きたい

11年10月8日土曜日

鈍重な開発サイクル行き過ぎた抽象化多過ぎる環境設定と言った伝統的な Java web 開発の痛みを伴わない最高の Java プラットフォームを目指しているのが Play というフレームワーク

11年10月8日土曜日

開発時間が限りなくゼロに近いとき未来の開発に向けた抽象化に挑戦するのではなく速やかにアプリケーションの機能開発や試験に向けて集中するべきです

11年10月8日土曜日

開発時間が限りなくゼロに近いとき未来の開発に向けた抽象化に挑戦するのではなく速やかにアプリケーションの機能開発や試験に向けて集中するべきです

至言11年10月8日土曜日

百聞は一見にしかずライブコーディングします

11年10月8日土曜日

作るもの

簡単なDBアプリ

管理画面付き

RESTっぽいAPI付き

10分くらいで

11年10月8日土曜日

スタート

11年10月8日土曜日

どうでしたか

11年10月8日土曜日

Servlet はどこへXML 書かなったよねサーバ再起動してないよね

11年10月8日土曜日

これが Play

11年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosflotaz2471940678

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Servletを捨て素直なHTTPルーティングを実現

JPA も大幅に拡張しスキーマ変更も簡単に

再起動なしのノンストップ開発が可能

高い生産性

11年10月8日土曜日

素直なHTTPルーティング

複雑な XML の設定は必要ない

URL とクエリパラメータをそのままコントローラのクラス名メソッド名メソッド引数にバインドする

開発生産性はとても高くなる

FW 内部では Javassist を使った Byte code enhance が行われている

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

至言11年10月8日土曜日

シェアードナッシングPlayはステートレスなFW

PlayにはHttpSessionはない

Controllersessionの実体はただのCookie

セッション管理にはMemcachedを使うのがおすすめ

セッションレプリケーション なにそれ美味しいの

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

ヒドス11年10月8日土曜日

非同期 IO

11年10月8日土曜日

11年10月8日土曜日

Nettyによる非同期IOの実現

commons-javaflowのスレッド冬眠技術を利用しJavaで継続プログラミングを実装

WebSocketのサポートも

11年10月8日土曜日

public static void generatePDF(Long reportId) PromiseltInputStreamgt pdf = new ReportAsPDFJob(report)now() InputStream pdfStream = await(pdf) renderBinary(pdfStream)

public static void generateLargeCSV() CSVGenerator generator = new CSVGenerator() responsecontentType = textcsv while(generatorhasMoreData()) String someCsvData = await(generatornextDataChunk()) responsewriteChunk(someCsvData)

11年10月8日土曜日

IO部分はnodejsを凌駕するほどの速さ

レンダリングまで含めると Groovy

httpwwwsubbuorgblog201103nodejs-vs-play-for-front-end-apps

11年10月8日土曜日

関数型プログラミングのフレーバー

11年10月8日土曜日

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 6: What is play

Java を LL っぽく使う Web フレームワーク

Servlet コンテナAPI を一切使わない FW

XML 設定ファイルに一切触れなくて済む FW

非同期処理に長けた FW

なんか魔改造してるんでしょ的な FW

Play とは

11年10月8日土曜日

いろんな見方がありますが

11年10月8日土曜日

Play 自身はこう言っています

11年10月8日土曜日

Play フレームワークは Java エンタープライズエディション (Java EE) の規約と共にあることよりもW3C の World Wide Web アーキテクチャ に沿うことを優先します

11年10月8日土曜日

public class HelloServlet extends HttpServlet public void doGet (HttpServletRequest req HttpServletResponse res)

PrintWriter out = resgetWriter()

outprintln(Hello world) outclose()

ltweb-app xmlns=httpjavasuncomxmlnsj2ee version=24 xmlnsxsi=httpwwww3org2001XMLSchema-instance xsischemaLocation=httpjavasuncomdtdweb-app_2_3dtdgt ltservletgt ltservlet-namegthelloltservlet-namegt ltservlet-classgttestHelloServletltservlet-classgt ltservletgt

ltservlet-mappinggt ltservlet-namegthelloltservlet-namegt lturl-patterngthellolturl-patterngt ltservlet-mappinggtltweb-appgt

11年10月8日土曜日

public class HelloServlet extends HttpServlet public void doGet (HttpServletRequest req HttpServletResponse res)

PrintWriter out = resgetWriter()

outprintln(Hello world) outclose()

ltweb-app xmlns=httpjavasuncomxmlnsj2ee version=24 xmlnsxsi=httpwwww3org2001XMLSchema-instance xsischemaLocation=httpjavasuncomdtdweb-app_2_3dtdgt ltservletgt ltservlet-namegthelloltservlet-namegt ltservlet-classgttestHelloServletltservlet-classgt ltservletgt

ltservlet-mappinggt ltservlet-namegthelloltservlet-namegt lturl-patterngthellolturl-patterngt ltservlet-mappinggtltweb-appgt

こうじゃなく

11年10月8日土曜日

public class Hello extends Controller public static void index() render(ldquoHello worldrdquo)

11年10月8日土曜日

public class Hello extends Controller public static void index() render(ldquoHello worldrdquo)

こう書きたい

11年10月8日土曜日

鈍重な開発サイクル行き過ぎた抽象化多過ぎる環境設定と言った伝統的な Java web 開発の痛みを伴わない最高の Java プラットフォームを目指しているのが Play というフレームワーク

11年10月8日土曜日

開発時間が限りなくゼロに近いとき未来の開発に向けた抽象化に挑戦するのではなく速やかにアプリケーションの機能開発や試験に向けて集中するべきです

11年10月8日土曜日

開発時間が限りなくゼロに近いとき未来の開発に向けた抽象化に挑戦するのではなく速やかにアプリケーションの機能開発や試験に向けて集中するべきです

至言11年10月8日土曜日

百聞は一見にしかずライブコーディングします

11年10月8日土曜日

作るもの

簡単なDBアプリ

管理画面付き

RESTっぽいAPI付き

10分くらいで

11年10月8日土曜日

スタート

11年10月8日土曜日

どうでしたか

11年10月8日土曜日

Servlet はどこへXML 書かなったよねサーバ再起動してないよね

11年10月8日土曜日

これが Play

11年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosflotaz2471940678

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Servletを捨て素直なHTTPルーティングを実現

JPA も大幅に拡張しスキーマ変更も簡単に

再起動なしのノンストップ開発が可能

高い生産性

11年10月8日土曜日

素直なHTTPルーティング

複雑な XML の設定は必要ない

URL とクエリパラメータをそのままコントローラのクラス名メソッド名メソッド引数にバインドする

開発生産性はとても高くなる

FW 内部では Javassist を使った Byte code enhance が行われている

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

至言11年10月8日土曜日

シェアードナッシングPlayはステートレスなFW

PlayにはHttpSessionはない

Controllersessionの実体はただのCookie

セッション管理にはMemcachedを使うのがおすすめ

セッションレプリケーション なにそれ美味しいの

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

ヒドス11年10月8日土曜日

非同期 IO

11年10月8日土曜日

11年10月8日土曜日

Nettyによる非同期IOの実現

commons-javaflowのスレッド冬眠技術を利用しJavaで継続プログラミングを実装

WebSocketのサポートも

11年10月8日土曜日

public static void generatePDF(Long reportId) PromiseltInputStreamgt pdf = new ReportAsPDFJob(report)now() InputStream pdfStream = await(pdf) renderBinary(pdfStream)

public static void generateLargeCSV() CSVGenerator generator = new CSVGenerator() responsecontentType = textcsv while(generatorhasMoreData()) String someCsvData = await(generatornextDataChunk()) responsewriteChunk(someCsvData)

11年10月8日土曜日

IO部分はnodejsを凌駕するほどの速さ

レンダリングまで含めると Groovy

httpwwwsubbuorgblog201103nodejs-vs-play-for-front-end-apps

11年10月8日土曜日

関数型プログラミングのフレーバー

11年10月8日土曜日

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 7: What is play

いろんな見方がありますが

11年10月8日土曜日

Play 自身はこう言っています

11年10月8日土曜日

Play フレームワークは Java エンタープライズエディション (Java EE) の規約と共にあることよりもW3C の World Wide Web アーキテクチャ に沿うことを優先します

11年10月8日土曜日

public class HelloServlet extends HttpServlet public void doGet (HttpServletRequest req HttpServletResponse res)

PrintWriter out = resgetWriter()

outprintln(Hello world) outclose()

ltweb-app xmlns=httpjavasuncomxmlnsj2ee version=24 xmlnsxsi=httpwwww3org2001XMLSchema-instance xsischemaLocation=httpjavasuncomdtdweb-app_2_3dtdgt ltservletgt ltservlet-namegthelloltservlet-namegt ltservlet-classgttestHelloServletltservlet-classgt ltservletgt

ltservlet-mappinggt ltservlet-namegthelloltservlet-namegt lturl-patterngthellolturl-patterngt ltservlet-mappinggtltweb-appgt

11年10月8日土曜日

public class HelloServlet extends HttpServlet public void doGet (HttpServletRequest req HttpServletResponse res)

PrintWriter out = resgetWriter()

outprintln(Hello world) outclose()

ltweb-app xmlns=httpjavasuncomxmlnsj2ee version=24 xmlnsxsi=httpwwww3org2001XMLSchema-instance xsischemaLocation=httpjavasuncomdtdweb-app_2_3dtdgt ltservletgt ltservlet-namegthelloltservlet-namegt ltservlet-classgttestHelloServletltservlet-classgt ltservletgt

ltservlet-mappinggt ltservlet-namegthelloltservlet-namegt lturl-patterngthellolturl-patterngt ltservlet-mappinggtltweb-appgt

こうじゃなく

11年10月8日土曜日

public class Hello extends Controller public static void index() render(ldquoHello worldrdquo)

11年10月8日土曜日

public class Hello extends Controller public static void index() render(ldquoHello worldrdquo)

こう書きたい

11年10月8日土曜日

鈍重な開発サイクル行き過ぎた抽象化多過ぎる環境設定と言った伝統的な Java web 開発の痛みを伴わない最高の Java プラットフォームを目指しているのが Play というフレームワーク

11年10月8日土曜日

開発時間が限りなくゼロに近いとき未来の開発に向けた抽象化に挑戦するのではなく速やかにアプリケーションの機能開発や試験に向けて集中するべきです

11年10月8日土曜日

開発時間が限りなくゼロに近いとき未来の開発に向けた抽象化に挑戦するのではなく速やかにアプリケーションの機能開発や試験に向けて集中するべきです

至言11年10月8日土曜日

百聞は一見にしかずライブコーディングします

11年10月8日土曜日

作るもの

簡単なDBアプリ

管理画面付き

RESTっぽいAPI付き

10分くらいで

11年10月8日土曜日

スタート

11年10月8日土曜日

どうでしたか

11年10月8日土曜日

Servlet はどこへXML 書かなったよねサーバ再起動してないよね

11年10月8日土曜日

これが Play

11年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosflotaz2471940678

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Servletを捨て素直なHTTPルーティングを実現

JPA も大幅に拡張しスキーマ変更も簡単に

再起動なしのノンストップ開発が可能

高い生産性

11年10月8日土曜日

素直なHTTPルーティング

複雑な XML の設定は必要ない

URL とクエリパラメータをそのままコントローラのクラス名メソッド名メソッド引数にバインドする

開発生産性はとても高くなる

FW 内部では Javassist を使った Byte code enhance が行われている

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

至言11年10月8日土曜日

シェアードナッシングPlayはステートレスなFW

PlayにはHttpSessionはない

Controllersessionの実体はただのCookie

セッション管理にはMemcachedを使うのがおすすめ

セッションレプリケーション なにそれ美味しいの

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

ヒドス11年10月8日土曜日

非同期 IO

11年10月8日土曜日

11年10月8日土曜日

Nettyによる非同期IOの実現

commons-javaflowのスレッド冬眠技術を利用しJavaで継続プログラミングを実装

WebSocketのサポートも

11年10月8日土曜日

public static void generatePDF(Long reportId) PromiseltInputStreamgt pdf = new ReportAsPDFJob(report)now() InputStream pdfStream = await(pdf) renderBinary(pdfStream)

public static void generateLargeCSV() CSVGenerator generator = new CSVGenerator() responsecontentType = textcsv while(generatorhasMoreData()) String someCsvData = await(generatornextDataChunk()) responsewriteChunk(someCsvData)

11年10月8日土曜日

IO部分はnodejsを凌駕するほどの速さ

レンダリングまで含めると Groovy

httpwwwsubbuorgblog201103nodejs-vs-play-for-front-end-apps

11年10月8日土曜日

関数型プログラミングのフレーバー

11年10月8日土曜日

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 8: What is play

Play 自身はこう言っています

11年10月8日土曜日

Play フレームワークは Java エンタープライズエディション (Java EE) の規約と共にあることよりもW3C の World Wide Web アーキテクチャ に沿うことを優先します

11年10月8日土曜日

public class HelloServlet extends HttpServlet public void doGet (HttpServletRequest req HttpServletResponse res)

PrintWriter out = resgetWriter()

outprintln(Hello world) outclose()

ltweb-app xmlns=httpjavasuncomxmlnsj2ee version=24 xmlnsxsi=httpwwww3org2001XMLSchema-instance xsischemaLocation=httpjavasuncomdtdweb-app_2_3dtdgt ltservletgt ltservlet-namegthelloltservlet-namegt ltservlet-classgttestHelloServletltservlet-classgt ltservletgt

ltservlet-mappinggt ltservlet-namegthelloltservlet-namegt lturl-patterngthellolturl-patterngt ltservlet-mappinggtltweb-appgt

11年10月8日土曜日

public class HelloServlet extends HttpServlet public void doGet (HttpServletRequest req HttpServletResponse res)

PrintWriter out = resgetWriter()

outprintln(Hello world) outclose()

ltweb-app xmlns=httpjavasuncomxmlnsj2ee version=24 xmlnsxsi=httpwwww3org2001XMLSchema-instance xsischemaLocation=httpjavasuncomdtdweb-app_2_3dtdgt ltservletgt ltservlet-namegthelloltservlet-namegt ltservlet-classgttestHelloServletltservlet-classgt ltservletgt

ltservlet-mappinggt ltservlet-namegthelloltservlet-namegt lturl-patterngthellolturl-patterngt ltservlet-mappinggtltweb-appgt

こうじゃなく

11年10月8日土曜日

public class Hello extends Controller public static void index() render(ldquoHello worldrdquo)

11年10月8日土曜日

public class Hello extends Controller public static void index() render(ldquoHello worldrdquo)

こう書きたい

11年10月8日土曜日

鈍重な開発サイクル行き過ぎた抽象化多過ぎる環境設定と言った伝統的な Java web 開発の痛みを伴わない最高の Java プラットフォームを目指しているのが Play というフレームワーク

11年10月8日土曜日

開発時間が限りなくゼロに近いとき未来の開発に向けた抽象化に挑戦するのではなく速やかにアプリケーションの機能開発や試験に向けて集中するべきです

11年10月8日土曜日

開発時間が限りなくゼロに近いとき未来の開発に向けた抽象化に挑戦するのではなく速やかにアプリケーションの機能開発や試験に向けて集中するべきです

至言11年10月8日土曜日

百聞は一見にしかずライブコーディングします

11年10月8日土曜日

作るもの

簡単なDBアプリ

管理画面付き

RESTっぽいAPI付き

10分くらいで

11年10月8日土曜日

スタート

11年10月8日土曜日

どうでしたか

11年10月8日土曜日

Servlet はどこへXML 書かなったよねサーバ再起動してないよね

11年10月8日土曜日

これが Play

11年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosflotaz2471940678

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Servletを捨て素直なHTTPルーティングを実現

JPA も大幅に拡張しスキーマ変更も簡単に

再起動なしのノンストップ開発が可能

高い生産性

11年10月8日土曜日

素直なHTTPルーティング

複雑な XML の設定は必要ない

URL とクエリパラメータをそのままコントローラのクラス名メソッド名メソッド引数にバインドする

開発生産性はとても高くなる

FW 内部では Javassist を使った Byte code enhance が行われている

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

至言11年10月8日土曜日

シェアードナッシングPlayはステートレスなFW

PlayにはHttpSessionはない

Controllersessionの実体はただのCookie

セッション管理にはMemcachedを使うのがおすすめ

セッションレプリケーション なにそれ美味しいの

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

ヒドス11年10月8日土曜日

非同期 IO

11年10月8日土曜日

11年10月8日土曜日

Nettyによる非同期IOの実現

commons-javaflowのスレッド冬眠技術を利用しJavaで継続プログラミングを実装

WebSocketのサポートも

11年10月8日土曜日

public static void generatePDF(Long reportId) PromiseltInputStreamgt pdf = new ReportAsPDFJob(report)now() InputStream pdfStream = await(pdf) renderBinary(pdfStream)

public static void generateLargeCSV() CSVGenerator generator = new CSVGenerator() responsecontentType = textcsv while(generatorhasMoreData()) String someCsvData = await(generatornextDataChunk()) responsewriteChunk(someCsvData)

11年10月8日土曜日

IO部分はnodejsを凌駕するほどの速さ

レンダリングまで含めると Groovy

httpwwwsubbuorgblog201103nodejs-vs-play-for-front-end-apps

11年10月8日土曜日

関数型プログラミングのフレーバー

11年10月8日土曜日

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 9: What is play

Play フレームワークは Java エンタープライズエディション (Java EE) の規約と共にあることよりもW3C の World Wide Web アーキテクチャ に沿うことを優先します

11年10月8日土曜日

public class HelloServlet extends HttpServlet public void doGet (HttpServletRequest req HttpServletResponse res)

PrintWriter out = resgetWriter()

outprintln(Hello world) outclose()

ltweb-app xmlns=httpjavasuncomxmlnsj2ee version=24 xmlnsxsi=httpwwww3org2001XMLSchema-instance xsischemaLocation=httpjavasuncomdtdweb-app_2_3dtdgt ltservletgt ltservlet-namegthelloltservlet-namegt ltservlet-classgttestHelloServletltservlet-classgt ltservletgt

ltservlet-mappinggt ltservlet-namegthelloltservlet-namegt lturl-patterngthellolturl-patterngt ltservlet-mappinggtltweb-appgt

11年10月8日土曜日

public class HelloServlet extends HttpServlet public void doGet (HttpServletRequest req HttpServletResponse res)

PrintWriter out = resgetWriter()

outprintln(Hello world) outclose()

ltweb-app xmlns=httpjavasuncomxmlnsj2ee version=24 xmlnsxsi=httpwwww3org2001XMLSchema-instance xsischemaLocation=httpjavasuncomdtdweb-app_2_3dtdgt ltservletgt ltservlet-namegthelloltservlet-namegt ltservlet-classgttestHelloServletltservlet-classgt ltservletgt

ltservlet-mappinggt ltservlet-namegthelloltservlet-namegt lturl-patterngthellolturl-patterngt ltservlet-mappinggtltweb-appgt

こうじゃなく

11年10月8日土曜日

public class Hello extends Controller public static void index() render(ldquoHello worldrdquo)

11年10月8日土曜日

public class Hello extends Controller public static void index() render(ldquoHello worldrdquo)

こう書きたい

11年10月8日土曜日

鈍重な開発サイクル行き過ぎた抽象化多過ぎる環境設定と言った伝統的な Java web 開発の痛みを伴わない最高の Java プラットフォームを目指しているのが Play というフレームワーク

11年10月8日土曜日

開発時間が限りなくゼロに近いとき未来の開発に向けた抽象化に挑戦するのではなく速やかにアプリケーションの機能開発や試験に向けて集中するべきです

11年10月8日土曜日

開発時間が限りなくゼロに近いとき未来の開発に向けた抽象化に挑戦するのではなく速やかにアプリケーションの機能開発や試験に向けて集中するべきです

至言11年10月8日土曜日

百聞は一見にしかずライブコーディングします

11年10月8日土曜日

作るもの

簡単なDBアプリ

管理画面付き

RESTっぽいAPI付き

10分くらいで

11年10月8日土曜日

スタート

11年10月8日土曜日

どうでしたか

11年10月8日土曜日

Servlet はどこへXML 書かなったよねサーバ再起動してないよね

11年10月8日土曜日

これが Play

11年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosflotaz2471940678

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Servletを捨て素直なHTTPルーティングを実現

JPA も大幅に拡張しスキーマ変更も簡単に

再起動なしのノンストップ開発が可能

高い生産性

11年10月8日土曜日

素直なHTTPルーティング

複雑な XML の設定は必要ない

URL とクエリパラメータをそのままコントローラのクラス名メソッド名メソッド引数にバインドする

開発生産性はとても高くなる

FW 内部では Javassist を使った Byte code enhance が行われている

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

至言11年10月8日土曜日

シェアードナッシングPlayはステートレスなFW

PlayにはHttpSessionはない

Controllersessionの実体はただのCookie

セッション管理にはMemcachedを使うのがおすすめ

セッションレプリケーション なにそれ美味しいの

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

ヒドス11年10月8日土曜日

非同期 IO

11年10月8日土曜日

11年10月8日土曜日

Nettyによる非同期IOの実現

commons-javaflowのスレッド冬眠技術を利用しJavaで継続プログラミングを実装

WebSocketのサポートも

11年10月8日土曜日

public static void generatePDF(Long reportId) PromiseltInputStreamgt pdf = new ReportAsPDFJob(report)now() InputStream pdfStream = await(pdf) renderBinary(pdfStream)

public static void generateLargeCSV() CSVGenerator generator = new CSVGenerator() responsecontentType = textcsv while(generatorhasMoreData()) String someCsvData = await(generatornextDataChunk()) responsewriteChunk(someCsvData)

11年10月8日土曜日

IO部分はnodejsを凌駕するほどの速さ

レンダリングまで含めると Groovy

httpwwwsubbuorgblog201103nodejs-vs-play-for-front-end-apps

11年10月8日土曜日

関数型プログラミングのフレーバー

11年10月8日土曜日

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 10: What is play

public class HelloServlet extends HttpServlet public void doGet (HttpServletRequest req HttpServletResponse res)

PrintWriter out = resgetWriter()

outprintln(Hello world) outclose()

ltweb-app xmlns=httpjavasuncomxmlnsj2ee version=24 xmlnsxsi=httpwwww3org2001XMLSchema-instance xsischemaLocation=httpjavasuncomdtdweb-app_2_3dtdgt ltservletgt ltservlet-namegthelloltservlet-namegt ltservlet-classgttestHelloServletltservlet-classgt ltservletgt

ltservlet-mappinggt ltservlet-namegthelloltservlet-namegt lturl-patterngthellolturl-patterngt ltservlet-mappinggtltweb-appgt

11年10月8日土曜日

public class HelloServlet extends HttpServlet public void doGet (HttpServletRequest req HttpServletResponse res)

PrintWriter out = resgetWriter()

outprintln(Hello world) outclose()

ltweb-app xmlns=httpjavasuncomxmlnsj2ee version=24 xmlnsxsi=httpwwww3org2001XMLSchema-instance xsischemaLocation=httpjavasuncomdtdweb-app_2_3dtdgt ltservletgt ltservlet-namegthelloltservlet-namegt ltservlet-classgttestHelloServletltservlet-classgt ltservletgt

ltservlet-mappinggt ltservlet-namegthelloltservlet-namegt lturl-patterngthellolturl-patterngt ltservlet-mappinggtltweb-appgt

こうじゃなく

11年10月8日土曜日

public class Hello extends Controller public static void index() render(ldquoHello worldrdquo)

11年10月8日土曜日

public class Hello extends Controller public static void index() render(ldquoHello worldrdquo)

こう書きたい

11年10月8日土曜日

鈍重な開発サイクル行き過ぎた抽象化多過ぎる環境設定と言った伝統的な Java web 開発の痛みを伴わない最高の Java プラットフォームを目指しているのが Play というフレームワーク

11年10月8日土曜日

開発時間が限りなくゼロに近いとき未来の開発に向けた抽象化に挑戦するのではなく速やかにアプリケーションの機能開発や試験に向けて集中するべきです

11年10月8日土曜日

開発時間が限りなくゼロに近いとき未来の開発に向けた抽象化に挑戦するのではなく速やかにアプリケーションの機能開発や試験に向けて集中するべきです

至言11年10月8日土曜日

百聞は一見にしかずライブコーディングします

11年10月8日土曜日

作るもの

簡単なDBアプリ

管理画面付き

RESTっぽいAPI付き

10分くらいで

11年10月8日土曜日

スタート

11年10月8日土曜日

どうでしたか

11年10月8日土曜日

Servlet はどこへXML 書かなったよねサーバ再起動してないよね

11年10月8日土曜日

これが Play

11年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosflotaz2471940678

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Servletを捨て素直なHTTPルーティングを実現

JPA も大幅に拡張しスキーマ変更も簡単に

再起動なしのノンストップ開発が可能

高い生産性

11年10月8日土曜日

素直なHTTPルーティング

複雑な XML の設定は必要ない

URL とクエリパラメータをそのままコントローラのクラス名メソッド名メソッド引数にバインドする

開発生産性はとても高くなる

FW 内部では Javassist を使った Byte code enhance が行われている

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

至言11年10月8日土曜日

シェアードナッシングPlayはステートレスなFW

PlayにはHttpSessionはない

Controllersessionの実体はただのCookie

セッション管理にはMemcachedを使うのがおすすめ

セッションレプリケーション なにそれ美味しいの

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

ヒドス11年10月8日土曜日

非同期 IO

11年10月8日土曜日

11年10月8日土曜日

Nettyによる非同期IOの実現

commons-javaflowのスレッド冬眠技術を利用しJavaで継続プログラミングを実装

WebSocketのサポートも

11年10月8日土曜日

public static void generatePDF(Long reportId) PromiseltInputStreamgt pdf = new ReportAsPDFJob(report)now() InputStream pdfStream = await(pdf) renderBinary(pdfStream)

public static void generateLargeCSV() CSVGenerator generator = new CSVGenerator() responsecontentType = textcsv while(generatorhasMoreData()) String someCsvData = await(generatornextDataChunk()) responsewriteChunk(someCsvData)

11年10月8日土曜日

IO部分はnodejsを凌駕するほどの速さ

レンダリングまで含めると Groovy

httpwwwsubbuorgblog201103nodejs-vs-play-for-front-end-apps

11年10月8日土曜日

関数型プログラミングのフレーバー

11年10月8日土曜日

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 11: What is play

public class HelloServlet extends HttpServlet public void doGet (HttpServletRequest req HttpServletResponse res)

PrintWriter out = resgetWriter()

outprintln(Hello world) outclose()

ltweb-app xmlns=httpjavasuncomxmlnsj2ee version=24 xmlnsxsi=httpwwww3org2001XMLSchema-instance xsischemaLocation=httpjavasuncomdtdweb-app_2_3dtdgt ltservletgt ltservlet-namegthelloltservlet-namegt ltservlet-classgttestHelloServletltservlet-classgt ltservletgt

ltservlet-mappinggt ltservlet-namegthelloltservlet-namegt lturl-patterngthellolturl-patterngt ltservlet-mappinggtltweb-appgt

こうじゃなく

11年10月8日土曜日

public class Hello extends Controller public static void index() render(ldquoHello worldrdquo)

11年10月8日土曜日

public class Hello extends Controller public static void index() render(ldquoHello worldrdquo)

こう書きたい

11年10月8日土曜日

鈍重な開発サイクル行き過ぎた抽象化多過ぎる環境設定と言った伝統的な Java web 開発の痛みを伴わない最高の Java プラットフォームを目指しているのが Play というフレームワーク

11年10月8日土曜日

開発時間が限りなくゼロに近いとき未来の開発に向けた抽象化に挑戦するのではなく速やかにアプリケーションの機能開発や試験に向けて集中するべきです

11年10月8日土曜日

開発時間が限りなくゼロに近いとき未来の開発に向けた抽象化に挑戦するのではなく速やかにアプリケーションの機能開発や試験に向けて集中するべきです

至言11年10月8日土曜日

百聞は一見にしかずライブコーディングします

11年10月8日土曜日

作るもの

簡単なDBアプリ

管理画面付き

RESTっぽいAPI付き

10分くらいで

11年10月8日土曜日

スタート

11年10月8日土曜日

どうでしたか

11年10月8日土曜日

Servlet はどこへXML 書かなったよねサーバ再起動してないよね

11年10月8日土曜日

これが Play

11年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosflotaz2471940678

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Servletを捨て素直なHTTPルーティングを実現

JPA も大幅に拡張しスキーマ変更も簡単に

再起動なしのノンストップ開発が可能

高い生産性

11年10月8日土曜日

素直なHTTPルーティング

複雑な XML の設定は必要ない

URL とクエリパラメータをそのままコントローラのクラス名メソッド名メソッド引数にバインドする

開発生産性はとても高くなる

FW 内部では Javassist を使った Byte code enhance が行われている

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

至言11年10月8日土曜日

シェアードナッシングPlayはステートレスなFW

PlayにはHttpSessionはない

Controllersessionの実体はただのCookie

セッション管理にはMemcachedを使うのがおすすめ

セッションレプリケーション なにそれ美味しいの

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

ヒドス11年10月8日土曜日

非同期 IO

11年10月8日土曜日

11年10月8日土曜日

Nettyによる非同期IOの実現

commons-javaflowのスレッド冬眠技術を利用しJavaで継続プログラミングを実装

WebSocketのサポートも

11年10月8日土曜日

public static void generatePDF(Long reportId) PromiseltInputStreamgt pdf = new ReportAsPDFJob(report)now() InputStream pdfStream = await(pdf) renderBinary(pdfStream)

public static void generateLargeCSV() CSVGenerator generator = new CSVGenerator() responsecontentType = textcsv while(generatorhasMoreData()) String someCsvData = await(generatornextDataChunk()) responsewriteChunk(someCsvData)

11年10月8日土曜日

IO部分はnodejsを凌駕するほどの速さ

レンダリングまで含めると Groovy

httpwwwsubbuorgblog201103nodejs-vs-play-for-front-end-apps

11年10月8日土曜日

関数型プログラミングのフレーバー

11年10月8日土曜日

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 12: What is play

public class Hello extends Controller public static void index() render(ldquoHello worldrdquo)

11年10月8日土曜日

public class Hello extends Controller public static void index() render(ldquoHello worldrdquo)

こう書きたい

11年10月8日土曜日

鈍重な開発サイクル行き過ぎた抽象化多過ぎる環境設定と言った伝統的な Java web 開発の痛みを伴わない最高の Java プラットフォームを目指しているのが Play というフレームワーク

11年10月8日土曜日

開発時間が限りなくゼロに近いとき未来の開発に向けた抽象化に挑戦するのではなく速やかにアプリケーションの機能開発や試験に向けて集中するべきです

11年10月8日土曜日

開発時間が限りなくゼロに近いとき未来の開発に向けた抽象化に挑戦するのではなく速やかにアプリケーションの機能開発や試験に向けて集中するべきです

至言11年10月8日土曜日

百聞は一見にしかずライブコーディングします

11年10月8日土曜日

作るもの

簡単なDBアプリ

管理画面付き

RESTっぽいAPI付き

10分くらいで

11年10月8日土曜日

スタート

11年10月8日土曜日

どうでしたか

11年10月8日土曜日

Servlet はどこへXML 書かなったよねサーバ再起動してないよね

11年10月8日土曜日

これが Play

11年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosflotaz2471940678

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Servletを捨て素直なHTTPルーティングを実現

JPA も大幅に拡張しスキーマ変更も簡単に

再起動なしのノンストップ開発が可能

高い生産性

11年10月8日土曜日

素直なHTTPルーティング

複雑な XML の設定は必要ない

URL とクエリパラメータをそのままコントローラのクラス名メソッド名メソッド引数にバインドする

開発生産性はとても高くなる

FW 内部では Javassist を使った Byte code enhance が行われている

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

至言11年10月8日土曜日

シェアードナッシングPlayはステートレスなFW

PlayにはHttpSessionはない

Controllersessionの実体はただのCookie

セッション管理にはMemcachedを使うのがおすすめ

セッションレプリケーション なにそれ美味しいの

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

ヒドス11年10月8日土曜日

非同期 IO

11年10月8日土曜日

11年10月8日土曜日

Nettyによる非同期IOの実現

commons-javaflowのスレッド冬眠技術を利用しJavaで継続プログラミングを実装

WebSocketのサポートも

11年10月8日土曜日

public static void generatePDF(Long reportId) PromiseltInputStreamgt pdf = new ReportAsPDFJob(report)now() InputStream pdfStream = await(pdf) renderBinary(pdfStream)

public static void generateLargeCSV() CSVGenerator generator = new CSVGenerator() responsecontentType = textcsv while(generatorhasMoreData()) String someCsvData = await(generatornextDataChunk()) responsewriteChunk(someCsvData)

11年10月8日土曜日

IO部分はnodejsを凌駕するほどの速さ

レンダリングまで含めると Groovy

httpwwwsubbuorgblog201103nodejs-vs-play-for-front-end-apps

11年10月8日土曜日

関数型プログラミングのフレーバー

11年10月8日土曜日

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 13: What is play

public class Hello extends Controller public static void index() render(ldquoHello worldrdquo)

こう書きたい

11年10月8日土曜日

鈍重な開発サイクル行き過ぎた抽象化多過ぎる環境設定と言った伝統的な Java web 開発の痛みを伴わない最高の Java プラットフォームを目指しているのが Play というフレームワーク

11年10月8日土曜日

開発時間が限りなくゼロに近いとき未来の開発に向けた抽象化に挑戦するのではなく速やかにアプリケーションの機能開発や試験に向けて集中するべきです

11年10月8日土曜日

開発時間が限りなくゼロに近いとき未来の開発に向けた抽象化に挑戦するのではなく速やかにアプリケーションの機能開発や試験に向けて集中するべきです

至言11年10月8日土曜日

百聞は一見にしかずライブコーディングします

11年10月8日土曜日

作るもの

簡単なDBアプリ

管理画面付き

RESTっぽいAPI付き

10分くらいで

11年10月8日土曜日

スタート

11年10月8日土曜日

どうでしたか

11年10月8日土曜日

Servlet はどこへXML 書かなったよねサーバ再起動してないよね

11年10月8日土曜日

これが Play

11年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosflotaz2471940678

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Servletを捨て素直なHTTPルーティングを実現

JPA も大幅に拡張しスキーマ変更も簡単に

再起動なしのノンストップ開発が可能

高い生産性

11年10月8日土曜日

素直なHTTPルーティング

複雑な XML の設定は必要ない

URL とクエリパラメータをそのままコントローラのクラス名メソッド名メソッド引数にバインドする

開発生産性はとても高くなる

FW 内部では Javassist を使った Byte code enhance が行われている

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

至言11年10月8日土曜日

シェアードナッシングPlayはステートレスなFW

PlayにはHttpSessionはない

Controllersessionの実体はただのCookie

セッション管理にはMemcachedを使うのがおすすめ

セッションレプリケーション なにそれ美味しいの

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

ヒドス11年10月8日土曜日

非同期 IO

11年10月8日土曜日

11年10月8日土曜日

Nettyによる非同期IOの実現

commons-javaflowのスレッド冬眠技術を利用しJavaで継続プログラミングを実装

WebSocketのサポートも

11年10月8日土曜日

public static void generatePDF(Long reportId) PromiseltInputStreamgt pdf = new ReportAsPDFJob(report)now() InputStream pdfStream = await(pdf) renderBinary(pdfStream)

public static void generateLargeCSV() CSVGenerator generator = new CSVGenerator() responsecontentType = textcsv while(generatorhasMoreData()) String someCsvData = await(generatornextDataChunk()) responsewriteChunk(someCsvData)

11年10月8日土曜日

IO部分はnodejsを凌駕するほどの速さ

レンダリングまで含めると Groovy

httpwwwsubbuorgblog201103nodejs-vs-play-for-front-end-apps

11年10月8日土曜日

関数型プログラミングのフレーバー

11年10月8日土曜日

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 14: What is play

鈍重な開発サイクル行き過ぎた抽象化多過ぎる環境設定と言った伝統的な Java web 開発の痛みを伴わない最高の Java プラットフォームを目指しているのが Play というフレームワーク

11年10月8日土曜日

開発時間が限りなくゼロに近いとき未来の開発に向けた抽象化に挑戦するのではなく速やかにアプリケーションの機能開発や試験に向けて集中するべきです

11年10月8日土曜日

開発時間が限りなくゼロに近いとき未来の開発に向けた抽象化に挑戦するのではなく速やかにアプリケーションの機能開発や試験に向けて集中するべきです

至言11年10月8日土曜日

百聞は一見にしかずライブコーディングします

11年10月8日土曜日

作るもの

簡単なDBアプリ

管理画面付き

RESTっぽいAPI付き

10分くらいで

11年10月8日土曜日

スタート

11年10月8日土曜日

どうでしたか

11年10月8日土曜日

Servlet はどこへXML 書かなったよねサーバ再起動してないよね

11年10月8日土曜日

これが Play

11年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosflotaz2471940678

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Servletを捨て素直なHTTPルーティングを実現

JPA も大幅に拡張しスキーマ変更も簡単に

再起動なしのノンストップ開発が可能

高い生産性

11年10月8日土曜日

素直なHTTPルーティング

複雑な XML の設定は必要ない

URL とクエリパラメータをそのままコントローラのクラス名メソッド名メソッド引数にバインドする

開発生産性はとても高くなる

FW 内部では Javassist を使った Byte code enhance が行われている

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

至言11年10月8日土曜日

シェアードナッシングPlayはステートレスなFW

PlayにはHttpSessionはない

Controllersessionの実体はただのCookie

セッション管理にはMemcachedを使うのがおすすめ

セッションレプリケーション なにそれ美味しいの

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

ヒドス11年10月8日土曜日

非同期 IO

11年10月8日土曜日

11年10月8日土曜日

Nettyによる非同期IOの実現

commons-javaflowのスレッド冬眠技術を利用しJavaで継続プログラミングを実装

WebSocketのサポートも

11年10月8日土曜日

public static void generatePDF(Long reportId) PromiseltInputStreamgt pdf = new ReportAsPDFJob(report)now() InputStream pdfStream = await(pdf) renderBinary(pdfStream)

public static void generateLargeCSV() CSVGenerator generator = new CSVGenerator() responsecontentType = textcsv while(generatorhasMoreData()) String someCsvData = await(generatornextDataChunk()) responsewriteChunk(someCsvData)

11年10月8日土曜日

IO部分はnodejsを凌駕するほどの速さ

レンダリングまで含めると Groovy

httpwwwsubbuorgblog201103nodejs-vs-play-for-front-end-apps

11年10月8日土曜日

関数型プログラミングのフレーバー

11年10月8日土曜日

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 15: What is play

開発時間が限りなくゼロに近いとき未来の開発に向けた抽象化に挑戦するのではなく速やかにアプリケーションの機能開発や試験に向けて集中するべきです

11年10月8日土曜日

開発時間が限りなくゼロに近いとき未来の開発に向けた抽象化に挑戦するのではなく速やかにアプリケーションの機能開発や試験に向けて集中するべきです

至言11年10月8日土曜日

百聞は一見にしかずライブコーディングします

11年10月8日土曜日

作るもの

簡単なDBアプリ

管理画面付き

RESTっぽいAPI付き

10分くらいで

11年10月8日土曜日

スタート

11年10月8日土曜日

どうでしたか

11年10月8日土曜日

Servlet はどこへXML 書かなったよねサーバ再起動してないよね

11年10月8日土曜日

これが Play

11年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosflotaz2471940678

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Servletを捨て素直なHTTPルーティングを実現

JPA も大幅に拡張しスキーマ変更も簡単に

再起動なしのノンストップ開発が可能

高い生産性

11年10月8日土曜日

素直なHTTPルーティング

複雑な XML の設定は必要ない

URL とクエリパラメータをそのままコントローラのクラス名メソッド名メソッド引数にバインドする

開発生産性はとても高くなる

FW 内部では Javassist を使った Byte code enhance が行われている

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

至言11年10月8日土曜日

シェアードナッシングPlayはステートレスなFW

PlayにはHttpSessionはない

Controllersessionの実体はただのCookie

セッション管理にはMemcachedを使うのがおすすめ

セッションレプリケーション なにそれ美味しいの

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

ヒドス11年10月8日土曜日

非同期 IO

11年10月8日土曜日

11年10月8日土曜日

Nettyによる非同期IOの実現

commons-javaflowのスレッド冬眠技術を利用しJavaで継続プログラミングを実装

WebSocketのサポートも

11年10月8日土曜日

public static void generatePDF(Long reportId) PromiseltInputStreamgt pdf = new ReportAsPDFJob(report)now() InputStream pdfStream = await(pdf) renderBinary(pdfStream)

public static void generateLargeCSV() CSVGenerator generator = new CSVGenerator() responsecontentType = textcsv while(generatorhasMoreData()) String someCsvData = await(generatornextDataChunk()) responsewriteChunk(someCsvData)

11年10月8日土曜日

IO部分はnodejsを凌駕するほどの速さ

レンダリングまで含めると Groovy

httpwwwsubbuorgblog201103nodejs-vs-play-for-front-end-apps

11年10月8日土曜日

関数型プログラミングのフレーバー

11年10月8日土曜日

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 16: What is play

開発時間が限りなくゼロに近いとき未来の開発に向けた抽象化に挑戦するのではなく速やかにアプリケーションの機能開発や試験に向けて集中するべきです

至言11年10月8日土曜日

百聞は一見にしかずライブコーディングします

11年10月8日土曜日

作るもの

簡単なDBアプリ

管理画面付き

RESTっぽいAPI付き

10分くらいで

11年10月8日土曜日

スタート

11年10月8日土曜日

どうでしたか

11年10月8日土曜日

Servlet はどこへXML 書かなったよねサーバ再起動してないよね

11年10月8日土曜日

これが Play

11年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosflotaz2471940678

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Servletを捨て素直なHTTPルーティングを実現

JPA も大幅に拡張しスキーマ変更も簡単に

再起動なしのノンストップ開発が可能

高い生産性

11年10月8日土曜日

素直なHTTPルーティング

複雑な XML の設定は必要ない

URL とクエリパラメータをそのままコントローラのクラス名メソッド名メソッド引数にバインドする

開発生産性はとても高くなる

FW 内部では Javassist を使った Byte code enhance が行われている

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

至言11年10月8日土曜日

シェアードナッシングPlayはステートレスなFW

PlayにはHttpSessionはない

Controllersessionの実体はただのCookie

セッション管理にはMemcachedを使うのがおすすめ

セッションレプリケーション なにそれ美味しいの

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

ヒドス11年10月8日土曜日

非同期 IO

11年10月8日土曜日

11年10月8日土曜日

Nettyによる非同期IOの実現

commons-javaflowのスレッド冬眠技術を利用しJavaで継続プログラミングを実装

WebSocketのサポートも

11年10月8日土曜日

public static void generatePDF(Long reportId) PromiseltInputStreamgt pdf = new ReportAsPDFJob(report)now() InputStream pdfStream = await(pdf) renderBinary(pdfStream)

public static void generateLargeCSV() CSVGenerator generator = new CSVGenerator() responsecontentType = textcsv while(generatorhasMoreData()) String someCsvData = await(generatornextDataChunk()) responsewriteChunk(someCsvData)

11年10月8日土曜日

IO部分はnodejsを凌駕するほどの速さ

レンダリングまで含めると Groovy

httpwwwsubbuorgblog201103nodejs-vs-play-for-front-end-apps

11年10月8日土曜日

関数型プログラミングのフレーバー

11年10月8日土曜日

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 17: What is play

百聞は一見にしかずライブコーディングします

11年10月8日土曜日

作るもの

簡単なDBアプリ

管理画面付き

RESTっぽいAPI付き

10分くらいで

11年10月8日土曜日

スタート

11年10月8日土曜日

どうでしたか

11年10月8日土曜日

Servlet はどこへXML 書かなったよねサーバ再起動してないよね

11年10月8日土曜日

これが Play

11年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosflotaz2471940678

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Servletを捨て素直なHTTPルーティングを実現

JPA も大幅に拡張しスキーマ変更も簡単に

再起動なしのノンストップ開発が可能

高い生産性

11年10月8日土曜日

素直なHTTPルーティング

複雑な XML の設定は必要ない

URL とクエリパラメータをそのままコントローラのクラス名メソッド名メソッド引数にバインドする

開発生産性はとても高くなる

FW 内部では Javassist を使った Byte code enhance が行われている

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

至言11年10月8日土曜日

シェアードナッシングPlayはステートレスなFW

PlayにはHttpSessionはない

Controllersessionの実体はただのCookie

セッション管理にはMemcachedを使うのがおすすめ

セッションレプリケーション なにそれ美味しいの

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

ヒドス11年10月8日土曜日

非同期 IO

11年10月8日土曜日

11年10月8日土曜日

Nettyによる非同期IOの実現

commons-javaflowのスレッド冬眠技術を利用しJavaで継続プログラミングを実装

WebSocketのサポートも

11年10月8日土曜日

public static void generatePDF(Long reportId) PromiseltInputStreamgt pdf = new ReportAsPDFJob(report)now() InputStream pdfStream = await(pdf) renderBinary(pdfStream)

public static void generateLargeCSV() CSVGenerator generator = new CSVGenerator() responsecontentType = textcsv while(generatorhasMoreData()) String someCsvData = await(generatornextDataChunk()) responsewriteChunk(someCsvData)

11年10月8日土曜日

IO部分はnodejsを凌駕するほどの速さ

レンダリングまで含めると Groovy

httpwwwsubbuorgblog201103nodejs-vs-play-for-front-end-apps

11年10月8日土曜日

関数型プログラミングのフレーバー

11年10月8日土曜日

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 18: What is play

作るもの

簡単なDBアプリ

管理画面付き

RESTっぽいAPI付き

10分くらいで

11年10月8日土曜日

スタート

11年10月8日土曜日

どうでしたか

11年10月8日土曜日

Servlet はどこへXML 書かなったよねサーバ再起動してないよね

11年10月8日土曜日

これが Play

11年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosflotaz2471940678

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Servletを捨て素直なHTTPルーティングを実現

JPA も大幅に拡張しスキーマ変更も簡単に

再起動なしのノンストップ開発が可能

高い生産性

11年10月8日土曜日

素直なHTTPルーティング

複雑な XML の設定は必要ない

URL とクエリパラメータをそのままコントローラのクラス名メソッド名メソッド引数にバインドする

開発生産性はとても高くなる

FW 内部では Javassist を使った Byte code enhance が行われている

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

至言11年10月8日土曜日

シェアードナッシングPlayはステートレスなFW

PlayにはHttpSessionはない

Controllersessionの実体はただのCookie

セッション管理にはMemcachedを使うのがおすすめ

セッションレプリケーション なにそれ美味しいの

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

ヒドス11年10月8日土曜日

非同期 IO

11年10月8日土曜日

11年10月8日土曜日

Nettyによる非同期IOの実現

commons-javaflowのスレッド冬眠技術を利用しJavaで継続プログラミングを実装

WebSocketのサポートも

11年10月8日土曜日

public static void generatePDF(Long reportId) PromiseltInputStreamgt pdf = new ReportAsPDFJob(report)now() InputStream pdfStream = await(pdf) renderBinary(pdfStream)

public static void generateLargeCSV() CSVGenerator generator = new CSVGenerator() responsecontentType = textcsv while(generatorhasMoreData()) String someCsvData = await(generatornextDataChunk()) responsewriteChunk(someCsvData)

11年10月8日土曜日

IO部分はnodejsを凌駕するほどの速さ

レンダリングまで含めると Groovy

httpwwwsubbuorgblog201103nodejs-vs-play-for-front-end-apps

11年10月8日土曜日

関数型プログラミングのフレーバー

11年10月8日土曜日

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 19: What is play

スタート

11年10月8日土曜日

どうでしたか

11年10月8日土曜日

Servlet はどこへXML 書かなったよねサーバ再起動してないよね

11年10月8日土曜日

これが Play

11年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosflotaz2471940678

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Servletを捨て素直なHTTPルーティングを実現

JPA も大幅に拡張しスキーマ変更も簡単に

再起動なしのノンストップ開発が可能

高い生産性

11年10月8日土曜日

素直なHTTPルーティング

複雑な XML の設定は必要ない

URL とクエリパラメータをそのままコントローラのクラス名メソッド名メソッド引数にバインドする

開発生産性はとても高くなる

FW 内部では Javassist を使った Byte code enhance が行われている

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

至言11年10月8日土曜日

シェアードナッシングPlayはステートレスなFW

PlayにはHttpSessionはない

Controllersessionの実体はただのCookie

セッション管理にはMemcachedを使うのがおすすめ

セッションレプリケーション なにそれ美味しいの

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

ヒドス11年10月8日土曜日

非同期 IO

11年10月8日土曜日

11年10月8日土曜日

Nettyによる非同期IOの実現

commons-javaflowのスレッド冬眠技術を利用しJavaで継続プログラミングを実装

WebSocketのサポートも

11年10月8日土曜日

public static void generatePDF(Long reportId) PromiseltInputStreamgt pdf = new ReportAsPDFJob(report)now() InputStream pdfStream = await(pdf) renderBinary(pdfStream)

public static void generateLargeCSV() CSVGenerator generator = new CSVGenerator() responsecontentType = textcsv while(generatorhasMoreData()) String someCsvData = await(generatornextDataChunk()) responsewriteChunk(someCsvData)

11年10月8日土曜日

IO部分はnodejsを凌駕するほどの速さ

レンダリングまで含めると Groovy

httpwwwsubbuorgblog201103nodejs-vs-play-for-front-end-apps

11年10月8日土曜日

関数型プログラミングのフレーバー

11年10月8日土曜日

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 20: What is play

どうでしたか

11年10月8日土曜日

Servlet はどこへXML 書かなったよねサーバ再起動してないよね

11年10月8日土曜日

これが Play

11年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosflotaz2471940678

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Servletを捨て素直なHTTPルーティングを実現

JPA も大幅に拡張しスキーマ変更も簡単に

再起動なしのノンストップ開発が可能

高い生産性

11年10月8日土曜日

素直なHTTPルーティング

複雑な XML の設定は必要ない

URL とクエリパラメータをそのままコントローラのクラス名メソッド名メソッド引数にバインドする

開発生産性はとても高くなる

FW 内部では Javassist を使った Byte code enhance が行われている

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

至言11年10月8日土曜日

シェアードナッシングPlayはステートレスなFW

PlayにはHttpSessionはない

Controllersessionの実体はただのCookie

セッション管理にはMemcachedを使うのがおすすめ

セッションレプリケーション なにそれ美味しいの

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

ヒドス11年10月8日土曜日

非同期 IO

11年10月8日土曜日

11年10月8日土曜日

Nettyによる非同期IOの実現

commons-javaflowのスレッド冬眠技術を利用しJavaで継続プログラミングを実装

WebSocketのサポートも

11年10月8日土曜日

public static void generatePDF(Long reportId) PromiseltInputStreamgt pdf = new ReportAsPDFJob(report)now() InputStream pdfStream = await(pdf) renderBinary(pdfStream)

public static void generateLargeCSV() CSVGenerator generator = new CSVGenerator() responsecontentType = textcsv while(generatorhasMoreData()) String someCsvData = await(generatornextDataChunk()) responsewriteChunk(someCsvData)

11年10月8日土曜日

IO部分はnodejsを凌駕するほどの速さ

レンダリングまで含めると Groovy

httpwwwsubbuorgblog201103nodejs-vs-play-for-front-end-apps

11年10月8日土曜日

関数型プログラミングのフレーバー

11年10月8日土曜日

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 21: What is play

Servlet はどこへXML 書かなったよねサーバ再起動してないよね

11年10月8日土曜日

これが Play

11年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosflotaz2471940678

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Servletを捨て素直なHTTPルーティングを実現

JPA も大幅に拡張しスキーマ変更も簡単に

再起動なしのノンストップ開発が可能

高い生産性

11年10月8日土曜日

素直なHTTPルーティング

複雑な XML の設定は必要ない

URL とクエリパラメータをそのままコントローラのクラス名メソッド名メソッド引数にバインドする

開発生産性はとても高くなる

FW 内部では Javassist を使った Byte code enhance が行われている

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

至言11年10月8日土曜日

シェアードナッシングPlayはステートレスなFW

PlayにはHttpSessionはない

Controllersessionの実体はただのCookie

セッション管理にはMemcachedを使うのがおすすめ

セッションレプリケーション なにそれ美味しいの

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

ヒドス11年10月8日土曜日

非同期 IO

11年10月8日土曜日

11年10月8日土曜日

Nettyによる非同期IOの実現

commons-javaflowのスレッド冬眠技術を利用しJavaで継続プログラミングを実装

WebSocketのサポートも

11年10月8日土曜日

public static void generatePDF(Long reportId) PromiseltInputStreamgt pdf = new ReportAsPDFJob(report)now() InputStream pdfStream = await(pdf) renderBinary(pdfStream)

public static void generateLargeCSV() CSVGenerator generator = new CSVGenerator() responsecontentType = textcsv while(generatorhasMoreData()) String someCsvData = await(generatornextDataChunk()) responsewriteChunk(someCsvData)

11年10月8日土曜日

IO部分はnodejsを凌駕するほどの速さ

レンダリングまで含めると Groovy

httpwwwsubbuorgblog201103nodejs-vs-play-for-front-end-apps

11年10月8日土曜日

関数型プログラミングのフレーバー

11年10月8日土曜日

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 22: What is play

これが Play

11年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosflotaz2471940678

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Servletを捨て素直なHTTPルーティングを実現

JPA も大幅に拡張しスキーマ変更も簡単に

再起動なしのノンストップ開発が可能

高い生産性

11年10月8日土曜日

素直なHTTPルーティング

複雑な XML の設定は必要ない

URL とクエリパラメータをそのままコントローラのクラス名メソッド名メソッド引数にバインドする

開発生産性はとても高くなる

FW 内部では Javassist を使った Byte code enhance が行われている

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

至言11年10月8日土曜日

シェアードナッシングPlayはステートレスなFW

PlayにはHttpSessionはない

Controllersessionの実体はただのCookie

セッション管理にはMemcachedを使うのがおすすめ

セッションレプリケーション なにそれ美味しいの

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

ヒドス11年10月8日土曜日

非同期 IO

11年10月8日土曜日

11年10月8日土曜日

Nettyによる非同期IOの実現

commons-javaflowのスレッド冬眠技術を利用しJavaで継続プログラミングを実装

WebSocketのサポートも

11年10月8日土曜日

public static void generatePDF(Long reportId) PromiseltInputStreamgt pdf = new ReportAsPDFJob(report)now() InputStream pdfStream = await(pdf) renderBinary(pdfStream)

public static void generateLargeCSV() CSVGenerator generator = new CSVGenerator() responsecontentType = textcsv while(generatorhasMoreData()) String someCsvData = await(generatornextDataChunk()) responsewriteChunk(someCsvData)

11年10月8日土曜日

IO部分はnodejsを凌駕するほどの速さ

レンダリングまで含めると Groovy

httpwwwsubbuorgblog201103nodejs-vs-play-for-front-end-apps

11年10月8日土曜日

関数型プログラミングのフレーバー

11年10月8日土曜日

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 23: What is play

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosflotaz2471940678

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Servletを捨て素直なHTTPルーティングを実現

JPA も大幅に拡張しスキーマ変更も簡単に

再起動なしのノンストップ開発が可能

高い生産性

11年10月8日土曜日

素直なHTTPルーティング

複雑な XML の設定は必要ない

URL とクエリパラメータをそのままコントローラのクラス名メソッド名メソッド引数にバインドする

開発生産性はとても高くなる

FW 内部では Javassist を使った Byte code enhance が行われている

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

至言11年10月8日土曜日

シェアードナッシングPlayはステートレスなFW

PlayにはHttpSessionはない

Controllersessionの実体はただのCookie

セッション管理にはMemcachedを使うのがおすすめ

セッションレプリケーション なにそれ美味しいの

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

ヒドス11年10月8日土曜日

非同期 IO

11年10月8日土曜日

11年10月8日土曜日

Nettyによる非同期IOの実現

commons-javaflowのスレッド冬眠技術を利用しJavaで継続プログラミングを実装

WebSocketのサポートも

11年10月8日土曜日

public static void generatePDF(Long reportId) PromiseltInputStreamgt pdf = new ReportAsPDFJob(report)now() InputStream pdfStream = await(pdf) renderBinary(pdfStream)

public static void generateLargeCSV() CSVGenerator generator = new CSVGenerator() responsecontentType = textcsv while(generatorhasMoreData()) String someCsvData = await(generatornextDataChunk()) responsewriteChunk(someCsvData)

11年10月8日土曜日

IO部分はnodejsを凌駕するほどの速さ

レンダリングまで含めると Groovy

httpwwwsubbuorgblog201103nodejs-vs-play-for-front-end-apps

11年10月8日土曜日

関数型プログラミングのフレーバー

11年10月8日土曜日

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 24: What is play

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Servletを捨て素直なHTTPルーティングを実現

JPA も大幅に拡張しスキーマ変更も簡単に

再起動なしのノンストップ開発が可能

高い生産性

11年10月8日土曜日

素直なHTTPルーティング

複雑な XML の設定は必要ない

URL とクエリパラメータをそのままコントローラのクラス名メソッド名メソッド引数にバインドする

開発生産性はとても高くなる

FW 内部では Javassist を使った Byte code enhance が行われている

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

至言11年10月8日土曜日

シェアードナッシングPlayはステートレスなFW

PlayにはHttpSessionはない

Controllersessionの実体はただのCookie

セッション管理にはMemcachedを使うのがおすすめ

セッションレプリケーション なにそれ美味しいの

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

ヒドス11年10月8日土曜日

非同期 IO

11年10月8日土曜日

11年10月8日土曜日

Nettyによる非同期IOの実現

commons-javaflowのスレッド冬眠技術を利用しJavaで継続プログラミングを実装

WebSocketのサポートも

11年10月8日土曜日

public static void generatePDF(Long reportId) PromiseltInputStreamgt pdf = new ReportAsPDFJob(report)now() InputStream pdfStream = await(pdf) renderBinary(pdfStream)

public static void generateLargeCSV() CSVGenerator generator = new CSVGenerator() responsecontentType = textcsv while(generatorhasMoreData()) String someCsvData = await(generatornextDataChunk()) responsewriteChunk(someCsvData)

11年10月8日土曜日

IO部分はnodejsを凌駕するほどの速さ

レンダリングまで含めると Groovy

httpwwwsubbuorgblog201103nodejs-vs-play-for-front-end-apps

11年10月8日土曜日

関数型プログラミングのフレーバー

11年10月8日土曜日

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 25: What is play

Servletを捨て素直なHTTPルーティングを実現

JPA も大幅に拡張しスキーマ変更も簡単に

再起動なしのノンストップ開発が可能

高い生産性

11年10月8日土曜日

素直なHTTPルーティング

複雑な XML の設定は必要ない

URL とクエリパラメータをそのままコントローラのクラス名メソッド名メソッド引数にバインドする

開発生産性はとても高くなる

FW 内部では Javassist を使った Byte code enhance が行われている

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

至言11年10月8日土曜日

シェアードナッシングPlayはステートレスなFW

PlayにはHttpSessionはない

Controllersessionの実体はただのCookie

セッション管理にはMemcachedを使うのがおすすめ

セッションレプリケーション なにそれ美味しいの

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

ヒドス11年10月8日土曜日

非同期 IO

11年10月8日土曜日

11年10月8日土曜日

Nettyによる非同期IOの実現

commons-javaflowのスレッド冬眠技術を利用しJavaで継続プログラミングを実装

WebSocketのサポートも

11年10月8日土曜日

public static void generatePDF(Long reportId) PromiseltInputStreamgt pdf = new ReportAsPDFJob(report)now() InputStream pdfStream = await(pdf) renderBinary(pdfStream)

public static void generateLargeCSV() CSVGenerator generator = new CSVGenerator() responsecontentType = textcsv while(generatorhasMoreData()) String someCsvData = await(generatornextDataChunk()) responsewriteChunk(someCsvData)

11年10月8日土曜日

IO部分はnodejsを凌駕するほどの速さ

レンダリングまで含めると Groovy

httpwwwsubbuorgblog201103nodejs-vs-play-for-front-end-apps

11年10月8日土曜日

関数型プログラミングのフレーバー

11年10月8日土曜日

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 26: What is play

素直なHTTPルーティング

複雑な XML の設定は必要ない

URL とクエリパラメータをそのままコントローラのクラス名メソッド名メソッド引数にバインドする

開発生産性はとても高くなる

FW 内部では Javassist を使った Byte code enhance が行われている

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

至言11年10月8日土曜日

シェアードナッシングPlayはステートレスなFW

PlayにはHttpSessionはない

Controllersessionの実体はただのCookie

セッション管理にはMemcachedを使うのがおすすめ

セッションレプリケーション なにそれ美味しいの

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

ヒドス11年10月8日土曜日

非同期 IO

11年10月8日土曜日

11年10月8日土曜日

Nettyによる非同期IOの実現

commons-javaflowのスレッド冬眠技術を利用しJavaで継続プログラミングを実装

WebSocketのサポートも

11年10月8日土曜日

public static void generatePDF(Long reportId) PromiseltInputStreamgt pdf = new ReportAsPDFJob(report)now() InputStream pdfStream = await(pdf) renderBinary(pdfStream)

public static void generateLargeCSV() CSVGenerator generator = new CSVGenerator() responsecontentType = textcsv while(generatorhasMoreData()) String someCsvData = await(generatornextDataChunk()) responsewriteChunk(someCsvData)

11年10月8日土曜日

IO部分はnodejsを凌駕するほどの速さ

レンダリングまで含めると Groovy

httpwwwsubbuorgblog201103nodejs-vs-play-for-front-end-apps

11年10月8日土曜日

関数型プログラミングのフレーバー

11年10月8日土曜日

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 27: What is play

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

11年10月8日土曜日

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

至言11年10月8日土曜日

シェアードナッシングPlayはステートレスなFW

PlayにはHttpSessionはない

Controllersessionの実体はただのCookie

セッション管理にはMemcachedを使うのがおすすめ

セッションレプリケーション なにそれ美味しいの

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

ヒドス11年10月8日土曜日

非同期 IO

11年10月8日土曜日

11年10月8日土曜日

Nettyによる非同期IOの実現

commons-javaflowのスレッド冬眠技術を利用しJavaで継続プログラミングを実装

WebSocketのサポートも

11年10月8日土曜日

public static void generatePDF(Long reportId) PromiseltInputStreamgt pdf = new ReportAsPDFJob(report)now() InputStream pdfStream = await(pdf) renderBinary(pdfStream)

public static void generateLargeCSV() CSVGenerator generator = new CSVGenerator() responsecontentType = textcsv while(generatorhasMoreData()) String someCsvData = await(generatornextDataChunk()) responsewriteChunk(someCsvData)

11年10月8日土曜日

IO部分はnodejsを凌駕するほどの速さ

レンダリングまで含めると Groovy

httpwwwsubbuorgblog201103nodejs-vs-play-for-front-end-apps

11年10月8日土曜日

関数型プログラミングのフレーバー

11年10月8日土曜日

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 28: What is play

素直なHTTPルーティングもしあなたが Servlet API や Strtus のような Java の Web フレームワークを使っているならばHTTP プロトコルを Java の奇妙な API やコンセプトで抽象化したビューを使ってきたことになります

Web アプリケーションフレームワークは HTTP とそのコンセプトに対して完全かつ容易なアクセス手段を提供すべきですこれが Play とその他の Java web フレームワークの根本的な違いです

至言11年10月8日土曜日

シェアードナッシングPlayはステートレスなFW

PlayにはHttpSessionはない

Controllersessionの実体はただのCookie

セッション管理にはMemcachedを使うのがおすすめ

セッションレプリケーション なにそれ美味しいの

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

ヒドス11年10月8日土曜日

非同期 IO

11年10月8日土曜日

11年10月8日土曜日

Nettyによる非同期IOの実現

commons-javaflowのスレッド冬眠技術を利用しJavaで継続プログラミングを実装

WebSocketのサポートも

11年10月8日土曜日

public static void generatePDF(Long reportId) PromiseltInputStreamgt pdf = new ReportAsPDFJob(report)now() InputStream pdfStream = await(pdf) renderBinary(pdfStream)

public static void generateLargeCSV() CSVGenerator generator = new CSVGenerator() responsecontentType = textcsv while(generatorhasMoreData()) String someCsvData = await(generatornextDataChunk()) responsewriteChunk(someCsvData)

11年10月8日土曜日

IO部分はnodejsを凌駕するほどの速さ

レンダリングまで含めると Groovy

httpwwwsubbuorgblog201103nodejs-vs-play-for-front-end-apps

11年10月8日土曜日

関数型プログラミングのフレーバー

11年10月8日土曜日

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 29: What is play

シェアードナッシングPlayはステートレスなFW

PlayにはHttpSessionはない

Controllersessionの実体はただのCookie

セッション管理にはMemcachedを使うのがおすすめ

セッションレプリケーション なにそれ美味しいの

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

ヒドス11年10月8日土曜日

非同期 IO

11年10月8日土曜日

11年10月8日土曜日

Nettyによる非同期IOの実現

commons-javaflowのスレッド冬眠技術を利用しJavaで継続プログラミングを実装

WebSocketのサポートも

11年10月8日土曜日

public static void generatePDF(Long reportId) PromiseltInputStreamgt pdf = new ReportAsPDFJob(report)now() InputStream pdfStream = await(pdf) renderBinary(pdfStream)

public static void generateLargeCSV() CSVGenerator generator = new CSVGenerator() responsecontentType = textcsv while(generatorhasMoreData()) String someCsvData = await(generatornextDataChunk()) responsewriteChunk(someCsvData)

11年10月8日土曜日

IO部分はnodejsを凌駕するほどの速さ

レンダリングまで含めると Groovy

httpwwwsubbuorgblog201103nodejs-vs-play-for-front-end-apps

11年10月8日土曜日

関数型プログラミングのフレーバー

11年10月8日土曜日

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 30: What is play

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

11年10月8日土曜日

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

ヒドス11年10月8日土曜日

非同期 IO

11年10月8日土曜日

11年10月8日土曜日

Nettyによる非同期IOの実現

commons-javaflowのスレッド冬眠技術を利用しJavaで継続プログラミングを実装

WebSocketのサポートも

11年10月8日土曜日

public static void generatePDF(Long reportId) PromiseltInputStreamgt pdf = new ReportAsPDFJob(report)now() InputStream pdfStream = await(pdf) renderBinary(pdfStream)

public static void generateLargeCSV() CSVGenerator generator = new CSVGenerator() responsecontentType = textcsv while(generatorhasMoreData()) String someCsvData = await(generatornextDataChunk()) responsewriteChunk(someCsvData)

11年10月8日土曜日

IO部分はnodejsを凌駕するほどの速さ

レンダリングまで含めると Groovy

httpwwwsubbuorgblog201103nodejs-vs-play-for-front-end-apps

11年10月8日土曜日

関数型プログラミングのフレーバー

11年10月8日土曜日

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 31: What is play

シェアードナッシングステートフルでコンポーネントベースの Java Web フレームワークは自動的にページの状態を保持するのを容易にしますが他に多くの問題をもたらします ユーザがふたつ目のウィンドウを開いたら何が起こるでしょうブラウザの戻るボタンを押したら

Share Nothing アーキテクチャはPHP に始まりRuby on Rails や Django など数多くの Web フレームワークで奨励されていますブラウザがどんどん強力になっていくにつれて今や Ajax やオフラインストレージを使ってクライアントサイドで状態保持の問題を解決することが容易になっています

もう Web に紛い物の状態を再構築するために HTTP モデルをハックする必要はありません

ヒドス11年10月8日土曜日

非同期 IO

11年10月8日土曜日

11年10月8日土曜日

Nettyによる非同期IOの実現

commons-javaflowのスレッド冬眠技術を利用しJavaで継続プログラミングを実装

WebSocketのサポートも

11年10月8日土曜日

public static void generatePDF(Long reportId) PromiseltInputStreamgt pdf = new ReportAsPDFJob(report)now() InputStream pdfStream = await(pdf) renderBinary(pdfStream)

public static void generateLargeCSV() CSVGenerator generator = new CSVGenerator() responsecontentType = textcsv while(generatorhasMoreData()) String someCsvData = await(generatornextDataChunk()) responsewriteChunk(someCsvData)

11年10月8日土曜日

IO部分はnodejsを凌駕するほどの速さ

レンダリングまで含めると Groovy

httpwwwsubbuorgblog201103nodejs-vs-play-for-front-end-apps

11年10月8日土曜日

関数型プログラミングのフレーバー

11年10月8日土曜日

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 32: What is play

非同期 IO

11年10月8日土曜日

11年10月8日土曜日

Nettyによる非同期IOの実現

commons-javaflowのスレッド冬眠技術を利用しJavaで継続プログラミングを実装

WebSocketのサポートも

11年10月8日土曜日

public static void generatePDF(Long reportId) PromiseltInputStreamgt pdf = new ReportAsPDFJob(report)now() InputStream pdfStream = await(pdf) renderBinary(pdfStream)

public static void generateLargeCSV() CSVGenerator generator = new CSVGenerator() responsecontentType = textcsv while(generatorhasMoreData()) String someCsvData = await(generatornextDataChunk()) responsewriteChunk(someCsvData)

11年10月8日土曜日

IO部分はnodejsを凌駕するほどの速さ

レンダリングまで含めると Groovy

httpwwwsubbuorgblog201103nodejs-vs-play-for-front-end-apps

11年10月8日土曜日

関数型プログラミングのフレーバー

11年10月8日土曜日

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 33: What is play

11年10月8日土曜日

Nettyによる非同期IOの実現

commons-javaflowのスレッド冬眠技術を利用しJavaで継続プログラミングを実装

WebSocketのサポートも

11年10月8日土曜日

public static void generatePDF(Long reportId) PromiseltInputStreamgt pdf = new ReportAsPDFJob(report)now() InputStream pdfStream = await(pdf) renderBinary(pdfStream)

public static void generateLargeCSV() CSVGenerator generator = new CSVGenerator() responsecontentType = textcsv while(generatorhasMoreData()) String someCsvData = await(generatornextDataChunk()) responsewriteChunk(someCsvData)

11年10月8日土曜日

IO部分はnodejsを凌駕するほどの速さ

レンダリングまで含めると Groovy

httpwwwsubbuorgblog201103nodejs-vs-play-for-front-end-apps

11年10月8日土曜日

関数型プログラミングのフレーバー

11年10月8日土曜日

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 34: What is play

Nettyによる非同期IOの実現

commons-javaflowのスレッド冬眠技術を利用しJavaで継続プログラミングを実装

WebSocketのサポートも

11年10月8日土曜日

public static void generatePDF(Long reportId) PromiseltInputStreamgt pdf = new ReportAsPDFJob(report)now() InputStream pdfStream = await(pdf) renderBinary(pdfStream)

public static void generateLargeCSV() CSVGenerator generator = new CSVGenerator() responsecontentType = textcsv while(generatorhasMoreData()) String someCsvData = await(generatornextDataChunk()) responsewriteChunk(someCsvData)

11年10月8日土曜日

IO部分はnodejsを凌駕するほどの速さ

レンダリングまで含めると Groovy

httpwwwsubbuorgblog201103nodejs-vs-play-for-front-end-apps

11年10月8日土曜日

関数型プログラミングのフレーバー

11年10月8日土曜日

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 35: What is play

public static void generatePDF(Long reportId) PromiseltInputStreamgt pdf = new ReportAsPDFJob(report)now() InputStream pdfStream = await(pdf) renderBinary(pdfStream)

public static void generateLargeCSV() CSVGenerator generator = new CSVGenerator() responsecontentType = textcsv while(generatorhasMoreData()) String someCsvData = await(generatornextDataChunk()) responsewriteChunk(someCsvData)

11年10月8日土曜日

IO部分はnodejsを凌駕するほどの速さ

レンダリングまで含めると Groovy

httpwwwsubbuorgblog201103nodejs-vs-play-for-front-end-apps

11年10月8日土曜日

関数型プログラミングのフレーバー

11年10月8日土曜日

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 36: What is play

IO部分はnodejsを凌駕するほどの速さ

レンダリングまで含めると Groovy

httpwwwsubbuorgblog201103nodejs-vs-play-for-front-end-apps

11年10月8日土曜日

関数型プログラミングのフレーバー

11年10月8日土曜日

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 37: What is play

関数型プログラミングのフレーバー

11年10月8日土曜日

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 38: What is play

全ては playlibF パッケージに

継続プログラミングモデルの実現

コールバックの実装

パターンマッチングの実装

11年10月8日土曜日

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 39: What is play

public class AsyncTest extends Controller public static void gotchas() paramsput(foo bar) renderArgsput(foo bar) final String foo = bar FPromiseltWSHttpResponsegt remoteCall1 = WSurl(httpsomedata1)getAsync() FPromiseltWSHttpResponsegt remoteCall2 = WSurl(httpsomedata2)getAsync() FPromiseltWSHttpResponsegt remoteCall3 = WSurl(httpsomedata3)getAsync() FPromiseltListltWSHttpResponsegtgt promises = FPromisewaitAll(remoteCall1 remoteCall2 remoteCall3) await(promises new FActionltListltWSHttpResponsegtgt() request suspended here public void invoke(ListltWSHttpResponsegt httpResponses) Systemoutprintln(paramsget(foo)) Systemoutprintln(renderArgsget(foo)) Systemoutprintln(foo) render(httpResponses) ) Systemoutprintln(End) never called

コールバックの実装例

11年10月8日土曜日

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 40: What is play

public static void echo() while(inboundisOpen()) WebSocketEvent e = await(inboundnextEvent()) for(String quit TextFrameand(Equals(quit))match(e)) outboundsend(Bye) disconnect() for(String msg TextFramematch(e)) outboundsend(Echo s frametextData) for(WebSocketClose closed SocketClosedmatch(e)) Loggerinfo(Socket closed)

パターンマッチングの実装例

11年10月8日土曜日

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 41: What is play

現実主義者でもある

11年10月8日土曜日

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 42: What is play

JavaEEを捨て去った

hellipなんて言うけど現実それじゃ使いどころなくね

そんな疑問が出るのも当然です

11年10月8日土曜日

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 43: What is play

war を生成することも出来ます

代表的なコンテナであれば対応しています

Warサポート

11年10月8日土曜日

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 44: What is play

11年10月8日土曜日

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 45: What is play

高い生産性

素直なHTTPルーティング

シェアードナッシングアーキテクチャ

非同期IOの実現

関数型プログラミングのフレーバー

現実主義者でもある

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 46: What is play

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosdbrekke276119940

11年10月8日土曜日

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 47: What is play

誰が使っているのか

11年10月8日土曜日

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 48: What is play

11年10月8日土曜日

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 49: What is play

TypeSafe

11年10月8日土曜日

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 50: What is play

コーポレイトサイト構築にhttpstwittercomjbonerstatus69394808044654593

11年10月8日土曜日

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 51: What is play

11年10月8日土曜日

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 52: What is play

Digg

11年10月8日土曜日

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 53: What is play

社内ツールとしてhttpaboutdiggcomblogawacs

11年10月8日土曜日

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 54: What is play

11年10月8日土曜日

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 55: What is play

gurdiancouk

11年10月8日土曜日

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 56: What is play

サービス構築にhttpwwwinfoqcomarticlesguardian_scala

11年10月8日土曜日

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 57: What is play

11年10月8日土曜日

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 58: What is play

Klout

11年10月8日土曜日

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 59: What is play

11年10月8日土曜日

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 60: What is play

一部コンポーネントに Play+Scala 採用(中の人 _feripera 曰く)

11年10月8日土曜日

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 61: What is play

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 62: What is play

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 63: What is play

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

11年10月8日土曜日

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 64: What is play

Accenture (US)

Verizon

Fannie Mae

Freddie Mac

Foreclosurecom

その他 _felipera 曰く

Accenture Verizon Fannie Mae Freddie Mac Foreclosurecom Other places I deployed Play at

Play Scala RabbitMQ ElasticSearch Hadoop HBase Oozie Flume etc are all part of Klouts stack

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 65: What is play

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotoslwr168151244

11年10月8日土曜日

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 66: What is play

特徴的なプラグインScala

Akka

MongoDB Morphia

Redis

SASS SCSS

Coffeescript

Elastic Search (lucene)

VHost

各種 PaaS

11年10月8日土曜日

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 67: What is play

Scala Akka

言わずと知れたScalaプラグイン

最近Playを知った人が関心をもつのはこれ

Akkaのサンプルプログラムもあるよ(Akka supportプラグイン)

11年10月8日土曜日

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 68: What is play

MongoDB Redis

KVSとして人気のMongoDB Redisのプラグインもあるよ

MongoDBに関してはMorphiaプラグインもあり

11年10月8日土曜日

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 69: What is play

SASS SCSS

CSSの拡張言語であるSASS SCSSのプラグイン

Play上でSASSが書けるようになる

11年10月8日土曜日

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 70: What is play

CoffeeScript

ベターJavascriptとして人気のアレのプラグイン

コンパイルするとJavascriptになるアレ

Rails31からデフォルトになったアレ

11年10月8日土曜日

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 71: What is play

Elastic Search (lucene)

luceneをベースにした全文検索プラグイン

ちなみに他にもSimple searchというluceneベースの全文検索プラグインがある

11年10月8日土曜日

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 72: What is play

VHost

PlayにVirtual Hostの機能をもたせるプラグイン

マルチテナント型のSaaSアプリを作ったりするときに便利かもしれない

11年10月8日土曜日

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 73: What is play

Play に触れてみよう Play の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosjim_rafferty_uk365164119

11年10月8日土曜日

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 74: What is play

レンタルサーバ等を借りて自分で構築

PaaS を利用する

選択肢は大きく2つ

11年10月8日土曜日

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 75: What is play

Unix Linux MacOSX Windows で動作

JDK5 以上 + Python26 以上

(Win の場合は JDK のみで OK)

自分で構築

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 76: What is play

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 77: What is play

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaS

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 78: What is play

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 79: What is play

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

11年10月8日土曜日

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 80: What is play

HerokuPlayAppsnetCloudbeesCloudfoundry

Google AppEngine

DotCloud

Amazon Beanstalk

PaaSネイティブサポート

warとしてのサポート

プラグインあり

11年10月8日土曜日

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 81: What is play

どうPlay っていい感じだよね

ここまでが1xの話なので一旦総括する

httpwwwflickrcomphotosfunkimag539799534911年10月8日土曜日

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 82: What is play

Play に触れてみようPlay の特徴誰が使っているのか特徴的なプラグインデプロイの選択肢Play20とは

httpwwwflickrcomphotosalphadesigner3833696256

11年10月8日土曜日

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 83: What is play

11年10月8日土曜日

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 84: What is play

Scalaのネイティブサポート

SBTの導入(Pythonの廃止)

テンプレートエンジンもScala(Groovyの廃止)

Akkaの導入

11年10月8日土曜日

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 85: What is play

まだまだPreviewでわからないことが多い

今後の勉強会でフォローしていきたい

11年10月8日土曜日

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 86: What is play

この後もhellip今日は Play について語らいましょう

11年10月8日土曜日

ご清聴ありがとうございました

11年10月8日土曜日

Page 87: What is play

ご清聴ありがとうございました

11年10月8日土曜日