Skinny framework勉強会
-
Upload
yusuke-arakaki -
Category
Technology
-
view
1.427 -
download
2
description
Transcript of Skinny framework勉強会
![Page 1: Skinny framework勉強会](https://reader033.fdocuments.net/reader033/viewer/2022052413/559c469a1a28ab8f218b472e/html5/thumbnails/1.jpg)
{
Skinny Framework勉強会
導入&炎のController編
Arakaki Yusuke
1
![Page 2: Skinny framework勉強会](https://reader033.fdocuments.net/reader033/viewer/2022052413/559c469a1a28ab8f218b472e/html5/thumbnails/2.jpg)
!Skinnyの概要!環境の準備!Controller
アジェンダ
2
![Page 3: Skinny framework勉強会](https://reader033.fdocuments.net/reader033/viewer/2022052413/559c469a1a28ab8f218b472e/html5/thumbnails/3.jpg)
ControllerオンリーのWEB Applicationが構築できること
GOAL
3
![Page 4: Skinny framework勉強会](https://reader033.fdocuments.net/reader033/viewer/2022052413/559c469a1a28ab8f218b472e/html5/thumbnails/4.jpg)
!ScalatraとScalikeJDBCを土台としたフルスタックなMVC WEBアプリケーションフレームワーク
!Scala on Rails をコンセプトに開発されている
Skinnyってなによ
4
![Page 6: Skinny framework勉強会](https://reader033.fdocuments.net/reader033/viewer/2022052413/559c469a1a28ab8f218b472e/html5/thumbnails/6.jpg)
環境構築
6
![Page 7: Skinny framework勉強会](https://reader033.fdocuments.net/reader033/viewer/2022052413/559c469a1a28ab8f218b472e/html5/thumbnails/7.jpg)
!Skinny-blank-app.zipを直接ダウンロード(今回)
!Yeomanからプロジェクトを構築!SBTで自分でプロジェクトを構築
導入方法は3つ
https://github.com/seratch/skinny-framework#try-skinny-now
7
![Page 8: Skinny framework勉強会](https://reader033.fdocuments.net/reader033/viewer/2022052413/559c469a1a28ab8f218b472e/html5/thumbnails/8.jpg)
wget https://github.com/seratch/skinny-framework/releases/download/0.9.12/skinny-blank-app.zip
unzip skinny-blank-app.zip
cd skinny-blank-app
./skinny run
Skinny-blank-app.zipから構築
Windowsの方は skinny.batと置き換えて見て下さい
8
![Page 9: Skinny framework勉強会](https://reader033.fdocuments.net/reader033/viewer/2022052413/559c469a1a28ab8f218b472e/html5/thumbnails/9.jpg)
超簡単
9
![Page 10: Skinny framework勉強会](https://reader033.fdocuments.net/reader033/viewer/2022052413/559c469a1a28ab8f218b472e/html5/thumbnails/10.jpg)
run : will run Skinny app for local developmentclean : will clear target directoryupdate : will update depscript_exitenciesconsole : will run sbt consolecompile : will compile all the classesdb:migrate : will migrate databasestest : will run all the teststest-only : will run the specified testpackage : will create *.war file to deploypublish : will publish *.war file to repository
Skinnyコマンド
10
![Page 11: Skinny framework勉強会](https://reader033.fdocuments.net/reader033/viewer/2022052413/559c469a1a28ab8f218b472e/html5/thumbnails/11.jpg)
Controller
11
![Page 12: Skinny framework勉強会](https://reader033.fdocuments.net/reader033/viewer/2022052413/559c469a1a28ab8f218b472e/html5/thumbnails/12.jpg)
Controller
SkinnyControllerをextendsして、Actionとなるメソッドを定義
controller/RootController.scala
12
![Page 13: Skinny framework勉強会](https://reader033.fdocuments.net/reader033/viewer/2022052413/559c469a1a28ab8f218b472e/html5/thumbnails/13.jpg)
Controller
Routesをmixinしてルーティングを定義Action名のSymbolも渡します
Routingは下記が参考になりますhttp://www.scalatra.org/2.2/guides/http/routes.html
controller/Controllers.scala
13
![Page 14: Skinny framework勉強会](https://reader033.fdocuments.net/reader033/viewer/2022052413/559c469a1a28ab8f218b472e/html5/thumbnails/14.jpg)
Controller
ScalatraBootstrapにてマウントします
ScalatraBootstrap.scala
14
![Page 15: Skinny framework勉強会](https://reader033.fdocuments.net/reader033/viewer/2022052413/559c469a1a28ab8f218b472e/html5/thumbnails/15.jpg)
Named parameterscontroller/Controllers.scala controller/RootController.scala
パラメータとして受け取れます
15
![Page 16: Skinny framework勉強会](https://reader033.fdocuments.net/reader033/viewer/2022052413/559c469a1a28ab8f218b472e/html5/thumbnails/16.jpg)
Wildcardscontroller/Controllers.scala controller/RootController.scala
ワイルドカードを使用した場合、* 部分をmultiParams(“splat”)で受け取れます。
16
![Page 17: Skinny framework勉強会](https://reader033.fdocuments.net/reader033/viewer/2022052413/559c469a1a28ab8f218b472e/html5/thumbnails/17.jpg)
Conditionscontroller/RootController.scala
Routingに条件を付与することができます。(Booleanを渡すだけでOK)
17
![Page 18: Skinny framework勉強会](https://reader033.fdocuments.net/reader033/viewer/2022052413/559c469a1a28ab8f218b472e/html5/thumbnails/18.jpg)
parameterscontroller/Controllers.scala
18
![Page 19: Skinny framework勉強会](https://reader033.fdocuments.net/reader033/viewer/2022052413/559c469a1a28ab8f218b472e/html5/thumbnails/19.jpg)
Filterscontroller/RootController.scala
SymbolはRouting定義時に定義しましたね(P13)
19
![Page 20: Skinny framework勉強会](https://reader033.fdocuments.net/reader033/viewer/2022052413/559c469a1a28ab8f218b472e/html5/thumbnails/20.jpg)
Redirectcontroller/RootController.scala
20
![Page 21: Skinny framework勉強会](https://reader033.fdocuments.net/reader033/viewer/2022052413/559c469a1a28ab8f218b472e/html5/thumbnails/21.jpg)
Haltingcontroller/RootController.scala
21
![Page 22: Skinny framework勉強会](https://reader033.fdocuments.net/reader033/viewer/2022052413/559c469a1a28ab8f218b472e/html5/thumbnails/22.jpg)
Not Foundcontroller/RootController.scala
22
![Page 23: Skinny framework勉強会](https://reader033.fdocuments.net/reader033/viewer/2022052413/559c469a1a28ab8f218b472e/html5/thumbnails/23.jpg)
おわり
23