Enviar pesquisa
Carregar
ScaLa+Liftとか
•
4 gostaram
•
1,506 visualizações
Y
youku
Seguir
需要があるかわからないし、前回のスライドと共通部分多いけど一応。
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 21
Baixar agora
Baixar para ler offline
Recomendados
Backbone.js
Backbone.js
daisuke shimizu
⑲jQueryをおぼえよう!その5
⑲jQueryをおぼえよう!その5
Nishida Kansuke
まだDOM操作で消耗してるの?
まだDOM操作で消耗してるの?
IRI MO
Grid application テンプレートを紐解く
Grid application テンプレートを紐解く
Kazuhide Maruyama
Google Gears データベースの基礎
Google Gears データベースの基礎
webos-goodies
Ruby風Swift NSOperation編
Ruby風Swift NSOperation編
Hisakuni Fujimoto
本当にあった怖いJS
本当にあった怖いJS
Ten Tokoro
JavaScript/CSS 2015 Autumn
JavaScript/CSS 2015 Autumn
Koji Ishimoto
Recomendados
Backbone.js
Backbone.js
daisuke shimizu
⑲jQueryをおぼえよう!その5
⑲jQueryをおぼえよう!その5
Nishida Kansuke
まだDOM操作で消耗してるの?
まだDOM操作で消耗してるの?
IRI MO
Grid application テンプレートを紐解く
Grid application テンプレートを紐解く
Kazuhide Maruyama
Google Gears データベースの基礎
Google Gears データベースの基礎
webos-goodies
Ruby風Swift NSOperation編
Ruby風Swift NSOperation編
Hisakuni Fujimoto
本当にあった怖いJS
本当にあった怖いJS
Ten Tokoro
JavaScript/CSS 2015 Autumn
JavaScript/CSS 2015 Autumn
Koji Ishimoto
JavaScriptユーティリティライブラリの紹介
JavaScriptユーティリティライブラリの紹介
Yusuke Hirao
20110714 j queryベーシック
20110714 j queryベーシック
良太 増子
Try Webworkers
Try Webworkers
Hideaki Miyake
クライアントサイドjavascript簡単紹介
クライアントサイドjavascript簡単紹介
しくみ製作所
Grails-1.1を斬る!~Grails-1.1からのチーム開発~ in Tokyo
Grails-1.1を斬る!~Grails-1.1からのチーム開発~ in Tokyo
Tsuyoshi Yamamoto
Ll xcode
Ll xcode
Net Kanayan
jqで極めるシェル芸の話
jqで極めるシェル芸の話
Yoichi Toyota
What is doobie? - database access for scala -
What is doobie? - database access for scala -
chibochibo
React.jsでクライアントサイドなWebアプリ入門
React.jsでクライアントサイドなWebアプリ入門
spring_raining
Androidで使えるJSON-Javaライブラリ
Androidで使えるJSON-Javaライブラリ
Yukiya Nakagawa
メディア芸術基礎 II jQuery入門
メディア芸術基礎 II jQuery入門
Atsushi Tadokoro
Wb osaka 20120623
Wb osaka 20120623
Miho Ishida
G * magazine 1
G * magazine 1
Tsuyoshi Yamamoto
jQuery Performance Tips – jQueryにおける高速化 -
jQuery Performance Tips – jQueryにおける高速化 -
Hayato Mizuno
OSSから学ぶSwift実践テクニック
OSSから学ぶSwift実践テクニック
庸介 高橋
Knockout
Knockout
Kazuhiro Eguchi
モダンJavaScript環境構築一歩目
モダンJavaScript環境構築一歩目
大樹 小倉
Scala on Hadoop
Scala on Hadoop
Shinji Tanaka
WebGL and Three.js
WebGL and Three.js
yomotsu
Perl暦およそ10年(?)の僕がデータベースを使えるようになるまでの昔話
Perl暦およそ10年(?)の僕がデータベースを使えるようになるまでの昔話
azuma satoshi
scala+liftで遊ぼう
scala+liftで遊ぼう
youku
Jetpack Library 事始め
Jetpack Library 事始め
Tomohiro Kaizu
Mais conteúdo relacionado
Mais procurados
JavaScriptユーティリティライブラリの紹介
JavaScriptユーティリティライブラリの紹介
Yusuke Hirao
20110714 j queryベーシック
20110714 j queryベーシック
良太 増子
Try Webworkers
Try Webworkers
Hideaki Miyake
クライアントサイドjavascript簡単紹介
クライアントサイドjavascript簡単紹介
しくみ製作所
Grails-1.1を斬る!~Grails-1.1からのチーム開発~ in Tokyo
Grails-1.1を斬る!~Grails-1.1からのチーム開発~ in Tokyo
Tsuyoshi Yamamoto
Ll xcode
Ll xcode
Net Kanayan
jqで極めるシェル芸の話
jqで極めるシェル芸の話
Yoichi Toyota
What is doobie? - database access for scala -
What is doobie? - database access for scala -
chibochibo
React.jsでクライアントサイドなWebアプリ入門
React.jsでクライアントサイドなWebアプリ入門
spring_raining
Androidで使えるJSON-Javaライブラリ
Androidで使えるJSON-Javaライブラリ
Yukiya Nakagawa
メディア芸術基礎 II jQuery入門
メディア芸術基礎 II jQuery入門
Atsushi Tadokoro
Wb osaka 20120623
Wb osaka 20120623
Miho Ishida
G * magazine 1
G * magazine 1
Tsuyoshi Yamamoto
jQuery Performance Tips – jQueryにおける高速化 -
jQuery Performance Tips – jQueryにおける高速化 -
Hayato Mizuno
OSSから学ぶSwift実践テクニック
OSSから学ぶSwift実践テクニック
庸介 高橋
Knockout
Knockout
Kazuhiro Eguchi
モダンJavaScript環境構築一歩目
モダンJavaScript環境構築一歩目
大樹 小倉
Scala on Hadoop
Scala on Hadoop
Shinji Tanaka
WebGL and Three.js
WebGL and Three.js
yomotsu
Perl暦およそ10年(?)の僕がデータベースを使えるようになるまでの昔話
Perl暦およそ10年(?)の僕がデータベースを使えるようになるまでの昔話
azuma satoshi
Mais procurados
(20)
JavaScriptユーティリティライブラリの紹介
JavaScriptユーティリティライブラリの紹介
20110714 j queryベーシック
20110714 j queryベーシック
Try Webworkers
Try Webworkers
クライアントサイドjavascript簡単紹介
クライアントサイドjavascript簡単紹介
Grails-1.1を斬る!~Grails-1.1からのチーム開発~ in Tokyo
Grails-1.1を斬る!~Grails-1.1からのチーム開発~ in Tokyo
Ll xcode
Ll xcode
jqで極めるシェル芸の話
jqで極めるシェル芸の話
What is doobie? - database access for scala -
What is doobie? - database access for scala -
React.jsでクライアントサイドなWebアプリ入門
React.jsでクライアントサイドなWebアプリ入門
Androidで使えるJSON-Javaライブラリ
Androidで使えるJSON-Javaライブラリ
メディア芸術基礎 II jQuery入門
メディア芸術基礎 II jQuery入門
Wb osaka 20120623
Wb osaka 20120623
G * magazine 1
G * magazine 1
jQuery Performance Tips – jQueryにおける高速化 -
jQuery Performance Tips – jQueryにおける高速化 -
OSSから学ぶSwift実践テクニック
OSSから学ぶSwift実践テクニック
Knockout
Knockout
モダンJavaScript環境構築一歩目
モダンJavaScript環境構築一歩目
Scala on Hadoop
Scala on Hadoop
WebGL and Three.js
WebGL and Three.js
Perl暦およそ10年(?)の僕がデータベースを使えるようになるまでの昔話
Perl暦およそ10年(?)の僕がデータベースを使えるようになるまでの昔話
Semelhante a ScaLa+Liftとか
scala+liftで遊ぼう
scala+liftで遊ぼう
youku
Jetpack Library 事始め
Jetpack Library 事始め
Tomohiro Kaizu
[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2
Atsuo Yamasaki
Google App Engine for Java
Google App Engine for Java
Takuya Tsuchida
jQuery超入門編
jQuery超入門編
Yasuhito Yabe
CSS Nite in Matsuyama vol.1 - session 4
CSS Nite in Matsuyama vol.1 - session 4
arisu yano
Seasarプロジェクト徹底攻略
Seasarプロジェクト徹底攻略
takezoe
pi-15. カプセル化, MVCモデル, オブジェクトのマッピング
pi-15. カプセル化, MVCモデル, オブジェクトのマッピング
kunihikokaneko1
Html5 Web Applications
Html5 Web Applications
totty jp
⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2
Nishida Kansuke
Azure で Serverless 初心者向けタッチ&トライ
Azure で Serverless 初心者向けタッチ&トライ
Masanobu Sato
HTML5 on ASP.NET
HTML5 on ASP.NET
Fujio Kojima
Jqm20120210
Jqm20120210
cmtomoda
Tide - SmalltalkでSPA
Tide - SmalltalkでSPA
Masashi Umezawa
node+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作る
Kiyoshi SATOH
WordPress3.0 新デフォルトテーマ Twenty Ten 大解剖! ~秋バージョン~
WordPress3.0 新デフォルトテーマ Twenty Ten 大解剖! ~秋バージョン~
hokori matu
速くなければスマフォじゃない - インターンバージョン-
速くなければスマフォじゃない - インターンバージョン-
Kazunari Hara
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
Y Watanabe
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
Hiroaki Wakamatsu
クラウド時代の並列分散処理技術
クラウド時代の並列分散処理技術
Koichi Fujikawa
Semelhante a ScaLa+Liftとか
(20)
scala+liftで遊ぼう
scala+liftで遊ぼう
Jetpack Library 事始め
Jetpack Library 事始め
[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2
Google App Engine for Java
Google App Engine for Java
jQuery超入門編
jQuery超入門編
CSS Nite in Matsuyama vol.1 - session 4
CSS Nite in Matsuyama vol.1 - session 4
Seasarプロジェクト徹底攻略
Seasarプロジェクト徹底攻略
pi-15. カプセル化, MVCモデル, オブジェクトのマッピング
pi-15. カプセル化, MVCモデル, オブジェクトのマッピング
Html5 Web Applications
Html5 Web Applications
⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2
Azure で Serverless 初心者向けタッチ&トライ
Azure で Serverless 初心者向けタッチ&トライ
HTML5 on ASP.NET
HTML5 on ASP.NET
Jqm20120210
Jqm20120210
Tide - SmalltalkでSPA
Tide - SmalltalkでSPA
node+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作る
WordPress3.0 新デフォルトテーマ Twenty Ten 大解剖! ~秋バージョン~
WordPress3.0 新デフォルトテーマ Twenty Ten 大解剖! ~秋バージョン~
速くなければスマフォじゃない - インターンバージョン-
速くなければスマフォじゃない - インターンバージョン-
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
クラウド時代の並列分散処理技術
クラウド時代の並列分散処理技術
ScaLa+Liftとか
1.
よーく(@youku_s)
2.
HN:よーく(@youku_s) 新社会人初心者丸出しプログラマ 仕事で使っている(た)もの: VB.NET, Java 最近興味があるもの:
Scala, C++, HaskeLL, 離散数学, 幸せになるための方法全般, TRPG, etc…
3.
関数型+オブジェクト指向の静的型付け言語 Javaとの互換性がある
Twitterとかで使われてる 便利な機能がたくさん ◦ 型推論 ◦ パターンマッチ ◦ 高階関数+無名関数 ◦ immutableなコレクションの操作 ◦ Option/Either型(nuLL とか絶対おかしいよ!)
4.
初心者(僕のことです)的にうれしいところ ◦ 段階的にパラダイムや機能を導入できる柔軟性 ◦ とりあえず短く書ける 関数型脳欲しい(;ω;) Scalaちゃん可愛い! ◦ http://twitter.com/#!/scalachan ◦ 眼鏡掛けたい(褒め言葉)
5.
とりあえずこの本を読みましょう!
6.
フルスタックなWebフレームワーク ◦ foursquareとかSiemensで使われてるっぽい 特徴 ◦ Viewを前面に出したアーキテクチャ ◦ Function Mappingによるイベントの記述 formのsubmit処理 Ajaxの実行とか ◦ Cometのサポート ◦ 脆弱性への対応 ◦ 設定はScala/DSLで記述
7.
シンプルに書ける 他言語を同時に扱う量が減る
◦ XML ◦ JavaScript Scalaの強みを生かせる ◦ 並列処理との親和性 Comet、並列レンダリング… ◦ Javaと同等のパフォーマンス ◦ コンパイル時のチェック
8.
Requestとか
LiftFilter 主に作成する部分 View テンプレート 画面中のコンポーネントの レンダリング Boot.scala Snippet データアクセス Model
9.
ページを構成するコンポーネントの見た目 ◦ HTMLで記述 レンダリングロジックは直接記述しない ◦ 動的な部分はSnippetのメソッドへ分離 Snippetによるレンダリング適用位置の指定 ◦ タグのclass属性、接頭語lift:を用いたタグを使用 ◦ HTMLとして単体で見た目を確認できる
10.
<body class="lift:content_id=main"> <div
id="main"class="lift:surround?with=default;at=content"> <h2>Welcome to your project!</h2> <p> <span class="lift:HelloWorld.howdy"> <span id="time">Time goes here</span> </span> </p> lift:Snippetのクラス名.メソッド名 </div> </body>
11.
コンポーネントの動的な部分のレンダリング Scalaで記述
テンプレートのタグに処理を流し込む ◦ LiftではScalaのXMLリテラルとしてテンプレートを 扱い、Snippetを処理している ◦ なので、Snippetのメソッドの戻り値型はNodeSeq XMLノードのシーケンスの型
12.
Template(抜粋) <span class="lift:HelloWorld.howdy">
<span id="time">Time goes here</span> </span> id=“time”のタグの内 容を#>の右辺で置き Snippet 換えますヨ! class HelloWorld { def howdy = "#time *" #> "9:02pm" }
13.
Template(抜粋) <span class="lift:HelloWorld.howdy">
<span id="time">Time goes here</span> </span> Snippet class HelloWorld { def howdy = "#time *" #> “9:02pm” }
14.
Template(レンダリング後) <span class="lift:HelloWorld.howdy">
<span id="time">9:02pm</span> </span>
15.
イベントにGUIDを割り当てる ◦ RequestでGUIDを受け取ると、対応する関数オブ ジェクトがサーバ側で実行される ◦ JavaScriptを生成してテンプレートに注入する関数 オブジェクトを与えるとAjaxを記述できる GUIDはセッション固有
16.
object name extends
RequestVar(Full("")) def form = { "#txtbox *" #> SHtml.text(name.openOr(""), v => name(Full(v))) & "#submit *" #> SHtml.submit("Send", () => {println(name.openOr(""))}) }
17.
入力文字列を受け取り、 object name extends
RequestVar(Full("")) nameにセットする def form = { 無名関数 "#txtbox *" #> SHtml.text(name.openOr(""), v => name(Full(v))) & "#submit *" #> SHtml.submit("Send", () => {println(name.openOr(""))}) }
18.
object name extends
RequestVar(Full("")) nameの中身を取り出し、 def form = { コンソールに出力する 無名関数 "#txtbox *" #> SHtml.text(name.openOr(""), v => name(Full(v))) & "#submit *" #> SHtml.submit("Send", () => {println(name.openOr(""))}) }
19.
<form method="POST">
<div id="txtbox"> <input value="" name="F1213629648567AELZKU" type="text"> </div> <div id="submit"> <input type="submit" name="F1213629748568P2ZWC0" value="Send"> </div> </form>
20.
Scala実践プログラミング Scala+Liftによる実践Webアプリケーション
開発 ◦ http://codezine.jp/article/corner/322 Exploring Lift ◦ http://exploring.liftweb.net/ Lift Wiki ◦ http://www.assembla.com/wiki/show/liftweb/
21.
ご清聴ありがとうございました!
Baixar agora