Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
簡単!Groovy入門
2014/06/29
西区プログラム勉強会
李充根
発表の流れ
• きっかけ
• Groovyとは?
• Hello world
• 基本的な文法
• フルスタックフレームワークGrails
2014/6/29 第9回福岡市西区プログラム勉強会 2
きっかけ
• 仕事でWEB開発することがないので趣味でやろう
• スクリプト系の言語を勉強したい
• PythonやRubyを勉強したことあるけどどうもなれない
• 最近関数型とかはやってるけど(Haskell、Scala、…)
– いきなり関...
Groovyとは?
• JVM上で動作する動的言語
• Java的な文法で記述できるスクリプト言語
• Rubyの影響を多大に受けており、その他Smalltalkなども影
響している
• Gradle設定を記述するのに使用する
• 最近Andr...
Groovyの特徴
• Java(っぽい文法)でスクリプトかける
• コンパイル不要(.classにコンパイルすることもできる)
• Javaで不便だった部分を使いやすく
– Java8になり改善された部分も
• 今バージョン2.3
• 今年中...
Hello world
• 何はともあれプログラムの基本「Hello world」
• 動的スクリプト言語なのでクラス宣言なしでも動かすことがで
きる
• もう少し丁寧に書くと
println “Hello world”1
class Hell...
基本的な文法
• 変数宣言
– 動的型付けの場合はObject型として扱われる
• List、Map
int hoge = 1
String fuga = “fugafuga”
def piyo = “piyopiyo”
1
2
3
動的型付け...
基本的な文法
• for、for in
– for文はJavaと同様
– クロージャを使って下記のようにも記述できる
for(i in 1..3){
println i
}
1
2
3
(1..3).each { println it }1
2...
基本的な文法
• クロージャ
– Groovyはクロージャをサポートしてる
– sortなども簡単
def clos = { a, b ->
println “$a + $b = ${a+b}” }
clos(1, 2)
1
2
3
def l...
基本的な文法
• その他
– returnの省略可
• 最後に実行した文が戻り値になる
– 文字列比較が==で可能
– switch文で文字列、Rangeを使用可能
– アクセッサの自動生成
• クラスメソッドにはgetXxx、setXxxでア...
フルスタックフレームワークGrails
• Grails?
– Ruby on Railsを参考にしたGroovy用の
WEBアプリケーションフレームワーク
– RoRと同じように「設定より規約」を重視した作り
– MVCパターンに従って開発で...
Grailsの特徴
• JSPのGrails版GSPを使うことでViewを完結に記述すること
ができ、デザインとコードを分離できる
• 標準で軽量DBも付属しているためテスト環境構築も簡単
• Groovyで開発できるため、Javaとの親和性が...
ちょっとだけGrails入門
• 新規Grailsアプリの作成
• コントローラの作成
– helloControllerというクラスが作成される
• コントローラに記述されたメソッド名と同名のGSPファイルを
作成することでコントローラが呼び...
Grails入門
• 基本的にコマンドで新しいファイルを作成した時点で基本的
な記述がされている
• Model(ドメインクラス)を作成した時点で自動で
CREATE TABLEしてくれる
• サンプル作成
2014/6/29 第9回福岡市西区...
まとめ
• Groovy
– Java的で使いやすい!
– Javaで痒かったところに手が届く(Java8で改善されたもの
もあるけど)
– 日本語資料少ない
– Fukuoka.groovyたちあげたいな
• Grails
– 便利・簡単・速...
ご清聴ありがとうございました
2014/6/29 第9回福岡市西区プログラム勉強会 16
Prochain SlideShare
Chargement dans…5
×

簡単!Groovy入門

第9回福岡市西区プログラム勉強会発表資料

  • Soyez le premier à commenter

簡単!Groovy入門

  1. 1. 簡単!Groovy入門 2014/06/29 西区プログラム勉強会 李充根
  2. 2. 発表の流れ • きっかけ • Groovyとは? • Hello world • 基本的な文法 • フルスタックフレームワークGrails 2014/6/29 第9回福岡市西区プログラム勉強会 2
  3. 3. きっかけ • 仕事でWEB開発することがないので趣味でやろう • スクリプト系の言語を勉強したい • PythonやRubyを勉強したことあるけどどうもなれない • 最近関数型とかはやってるけど(Haskell、Scala、…) – いきなり関数型のパラダイムに入るのは怖い • JVMで動く言語って面白そう(Scala、Clojure) • せっかくなので今使えるJavaに似た言語 =Groovy 2014/6/29 第9回福岡市西区プログラム勉強会 3
  4. 4. Groovyとは? • JVM上で動作する動的言語 • Java的な文法で記述できるスクリプト言語 • Rubyの影響を多大に受けており、その他Smalltalkなども影 響している • Gradle設定を記述するのに使用する • 最近Androidで動くようになったのでSwiftとの対比で 注目されるかも? • 一言で言うとJavaをスクリプトにした言語 ≠JavaScript 2014/6/29 第9回福岡市西区プログラム勉強会 4
  5. 5. Groovyの特徴 • Java(っぽい文法)でスクリプトかける • コンパイル不要(.classにコンパイルすることもできる) • Javaで不便だった部分を使いやすく – Java8になり改善された部分も • 今バージョン2.3 • 今年中に3.0 betaリリース予定 – Java8対応 – ラムダ式、streamAPI、Date Time API対応 – (クロージャとラムダ式どうなるんだろう) 2014/6/29 第9回福岡市西区プログラム勉強会 5
  6. 6. Hello world • 何はともあれプログラムの基本「Hello world」 • 動的スクリプト言語なのでクラス宣言なしでも動かすことがで きる • もう少し丁寧に書くと println “Hello world”1 class Hello{ static final main(String... args){ println “Hello world” } } 1 2 3 4 5 Groovyはデフォルトでpublic ;は不要(入れてもよい) 2014/6/29 第9回福岡市西区プログラム勉強会 6
  7. 7. 基本的な文法 • 変数宣言 – 動的型付けの場合はObject型として扱われる • List、Map int hoge = 1 String fuga = “fugafuga” def piyo = “piyopiyo” 1 2 3 動的型付け def list1 = [1, 2, 3] def list2 = (1..3) def map = [id:1, name: “ligun”] 1 2 3 2014/6/29 第9回福岡市西区プログラム勉強会 7
  8. 8. 基本的な文法 • for、for in – for文はJavaと同様 – クロージャを使って下記のようにも記述できる for(i in 1..3){ println i } 1 2 3 (1..3).each { println it }1 2014/6/29 第9回福岡市西区プログラム勉強会 8
  9. 9. 基本的な文法 • クロージャ – Groovyはクロージャをサポートしてる – sortなども簡単 def clos = { a, b -> println “$a + $b = ${a+b}” } clos(1, 2) 1 2 3 def list = [[id:1,name:"fukuoka"], [id:2,name:"oita"], [id:3,name:"saga"], [id:4,name:"kumamoto"], [id:5,name:"miyazaki"]] def sortList = list.sort {it.name} println sortList 1 2 3 4 5 6 7 8 { it -> it.name } 1 + 2 = 3 2014/6/29 第9回福岡市西区プログラム勉強会 9
  10. 10. 基本的な文法 • その他 – returnの省略可 • 最後に実行した文が戻り値になる – 文字列比較が==で可能 – switch文で文字列、Rangeを使用可能 – アクセッサの自動生成 • クラスメソッドにはgetXxx、setXxxでアクセス可能 2014/6/29 第9回福岡市西区プログラム勉強会 10
  11. 11. フルスタックフレームワークGrails • Grails? – Ruby on Railsを参考にしたGroovy用の WEBアプリケーションフレームワーク – RoRと同じように「設定より規約」を重視した作り – MVCパターンに従って開発できる – warファアイルにデプロイすることで簡単に サーブレットコンテナで起動することができる 2014/6/29 第9回福岡市西区プログラム勉強会 11
  12. 12. Grailsの特徴 • JSPのGrails版GSPを使うことでViewを完結に記述すること ができ、デザインとコードを分離できる • 標準で軽量DBも付属しているためテスト環境構築も簡単 • Groovyで開発できるため、Javaとの親和性が高く様々なライ ブラリを使用できる • プラグインを導入することで様々な機能を追加できる – ログイン認証など 2014/6/29 第9回福岡市西区プログラム勉強会 12
  13. 13. ちょっとだけGrails入門 • 新規Grailsアプリの作成 • コントローラの作成 – helloControllerというクラスが作成される • コントローラに記述されたメソッド名と同名のGSPファイルを 作成することでコントローラが呼び出された時遷移する • モデルの作成 2014/6/29 第9回福岡市西区プログラム勉強会 13 grails create-app helloapp1 grails create-controller hello1 grails create-domain-class helloapp.Hello1
  14. 14. Grails入門 • 基本的にコマンドで新しいファイルを作成した時点で基本的 な記述がされている • Model(ドメインクラス)を作成した時点で自動で CREATE TABLEしてくれる • サンプル作成 2014/6/29 第9回福岡市西区プログラム勉強会 14
  15. 15. まとめ • Groovy – Java的で使いやすい! – Javaで痒かったところに手が届く(Java8で改善されたもの もあるけど) – 日本語資料少ない – Fukuoka.groovyたちあげたいな • Grails – 便利・簡単・速い – XMLの記述が不要なので楽 – やっぱり日本語資料少ない 2014/6/29 第9回福岡市西区プログラム勉強会 15
  16. 16. ご清聴ありがとうございました 2014/6/29 第9回福岡市西区プログラム勉強会 16

    Soyez le premier à commenter

    Identifiez-vous pour voir les commentaires

  • hashimotoms

    Jun. 30, 2014
  • takahirosatou5686

    Oct. 11, 2014
  • ssuser29ee76

    Jan. 26, 2015
  • takutoinoue54

    May. 18, 2015
  • MuneakiShimazaki

    May. 22, 2017
  • nobuyukimohri

    Apr. 21, 2020

第9回福岡市西区プログラム勉強会発表資料

Vues

Nombre de vues

4 271

Sur Slideshare

0

À partir des intégrations

0

Nombre d'intégrations

37

Actions

Téléchargements

20

Partages

0

Commentaires

0

Mentions J'aime

6

×