20140329_kyon_kao_wedding_LT_Groovy

1,815 views
1,709 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,815
On SlideShare
0
From Embeds
0
Number of Embeds
1,024
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

20140329_kyon_kao_wedding_LT_Groovy

  1. 1. 2014.3.29 須江信洋(@nobusue) http://d.hatena.ne.jp/nobusue https://www.facebook.com/nobuhiro.sue きょんくん&かおりちゃん 結婚おめでとうLT大会 in Tokyo 『Groovy(G*)による SIer閉鎖空間サバイバル術』
  2. 2. まずは、 ご結婚 おめでとうございます!!! (from JGGUG一同) 2
  3. 3. 自己紹介  須江 信洋(すえ のぶひろ)  Twitter: @nobusue  https://www.facebook.com/nobuhiro.sue  約10年ほどJavaEE関連の仕事をしてます  2013年10月よりフリーランス(個人事業主)  最近興味を持っているもの  Vert.x / Storm / Camel / ElasticSearch  Vagrant / Docker / Ansible / Serverspec  もちろんGroovy / Gradle / Grails 3 Gradle本 (執筆中)
  4. 4. JGGUGって?  Japan Grails/Groovy User Group  2009年発足  Grails/GroovyなどのGroovyエコシステム(G*)に関 するコミュニティ  前身は2006年から活動していたGrailsコミュニティ  こわくない  毎月第3金曜日にG*ワークショップを開催  参加型(ハンズオンなど)  告知・申し込みはこちら  http://jggug.doorkeeper.jp/ 4 http://www.jggug.org/
  5. 5. きょんくんとJGGUG  何度も登壇いただいてます!  最近だと、、、 5 いつも刺激的な発表をありがとうございます。 今後ともよろしくお願い申し上げます。 (JGGUG一同)
  6. 6. ここから本題  [Q]Groovyって役に立つの?  [A]知らなくても生きていけますが、 知っていると快適に生きていけるかも  例えばこんなとき  JavaのクラスやJVMの挙動を手っ取り早く調べたい  JUnitのテストケースを簡潔に書きたい  Antのビルドスクリプトが複雑すぎて手がつけられな い  Jenkinsをちょちょっとハックしたい  JDK以外禁止の環境で生き延びたい 6
  7. 7. とあるSIerの現場  インターネット接続制限厳しい  当然ながらProxyでアクセス制限  SlideShare禁止  Dropbox/Google groups禁止  GitHub禁止  使えるツールの制限厳しい  Ruby入ってない(あっても1.8.7)  Python古い  Gemとか自由に取ってこれない  仮想マシン禁止(というか32bit Windows…) 7
  8. 8. インストールレスでGroovy  JDKさえインストールされていれば、 以下の方法でGroovyが使えます  Groovyのバイナリを落としてくる  展開して embeddable/groovy-all-x.x.x.jar を 取り出す  ターゲット環境で以下を実行  java –jar groovy-all-x.x.x.jar hoge.groovy  java –jar groovy-all-x.x.x.jar –e “println ‘Hello groovy’” 8
  9. 9. 実話 その1  とあるシステム間の疎通確認のため、対向側 のサーバーの指定ポートに接続できるか確認 したい  間にFirewallがあるので、対向側でnetstat で確認するだけではダメ  最近のLinuxはtelnet入ってない・・・  以下で解決  java –jar groovy-all.jar –e "new Socket(‘x.x.x.x’, 9443)“  接続できない場合、ConnectException が出る 9
  10. 10. 実話 その2  アプリケーションが使っているOSSの名称と バージョンをリストアップしてお客さんに報告し なければならなくなった  ビルドは当然Antで、JARはSubversionに直 接コミットされている・・・  そんなプロジェクトが十数個 10
  11. 11. こんなの作りました 11 def rootDir = new File(args[0]) rootDir.eachFileRecurse { file -> if( file.name =~ /.*¥.jar$/ { def jar = new JarFile(file) def manifest = jar.manifest def att = manifest?.mainAttributes println “[File] ${file.absolutePath}” println “Title: ${att?.getValue(‘Implementation-Title’)}” println “Version: ${att?.getValue(‘Implementation-Version’)}” println }
  12. 12. というわけで  Groovy(G*)に興味が湧いてきた方は ぜひG*ワークショップにお越しください  告知・申し込みはこちら  http://jggug.doorkeeper.jp/  次回はApache Camel+Groovyの予定  お仕事も承っております  ご相談は @nobusue まで 12
  13. 13. ありがとうございました 13 https://www.facebook.com/orehiji

×