Your SlideShare is downloading. ×
GroovyServ concept, how to use and outline.
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

GroovyServ concept, how to use and outline.

2,205

Published on

about groovyserv

about groovyserv

Published in: Technology, Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,205
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
12
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. GroovyServ 高速起動Groovy JGGUG スペシャルG*ワークショップ 2010/7/24 NTTソフトウェア株式会社 上原潤二2010年7月27日火曜日
  • 2. 自己紹介 上原潤二 NTTソフトウェア株式会社 JGGUG運営員 ブログ「Grな日々」 「Grails徹底入門」2章執筆 kobo(工房)プロジェクト groovyserv, kobo-commons, String#tr() 目的: 日本発のGroovyへの貢献2010年7月27日火曜日
  • 3. 目次 概要編 使ってみよう編 GroovyServって何? インストール 起動が速いと何がうれしいの? 使い方 どのぐらい速い?(Win,Mac) groovyclient GroovyServ構成図 groovyserver 通常のGroovy実行 デモ スクリプト開発 その他編 効果が薄い用途 制約について セキュリティについて ロードマップ まとめ2010年7月27日火曜日
  • 4. GroovyServ 高速起動Groovy <概要編>2010年7月27日火曜日
  • 5. GroovyServって何? スクリプト起動速度が爆速に! (x10 ∼20) Groovy処理系を常駐起動(groovyserver) Groovyスクリプト実行は、処理を groovyserverに移譲する小さなCプログラム で行う(groovyclient) groovyserver-client間はsocket通信2010年7月27日火曜日
  • 6. 起動が速いと何がうれしいの? dankogai氏曰く そんなわけで、現存の言語では最も美人な Scala な のだが、Scala の最大の特長である「Java上で動 く」というのは、最大の欠点でもある。(中略)最も それを強く感じるのは、Scalaをスクリプトとして 使ったときだろう。 たとえば、上の Hello, World! のサンプルは、今時の パソコンでも実行に一秒を要する。Java VMを立ち 起動0.27秒じゃ 上げ、Scala環境を初期化するのにそれだけかかるの 遅いyo!! だ。(中略) コンパイルした場合でも、0.27秒。ワン ライナーを書くのにも最適な Scala なのに(後略) http://blog.livedoor.jp/dankogai/archives/51275491.html2010年7月27日火曜日
  • 7. どのぐらい速い?(Win編) groovy -e println hello world 実行時間(sec) 比率 normal groovy 3.041 1.0 Installer版groovy 1.262 2.4 groovyclient(C版) 0.155 19.6 groovyclient(Ruby版) 0.193 15.8 •Groovy 1.7.3, GroovyServ 0.4-SNAPSHOT, WinXP SP3,Core2Duo 2GHz,JDK1 •timeコマンドでreal時間を計測。10回実行した平均。2010年7月27日火曜日
  • 8. どのぐらい速い?(Mac編) groovy -e println hello world 実行時間(sec) 比率 normal groovy 1.112 1.0 Mac Ports版groovy(1.7.2) 0.321 3.5 groovyclient(C版) 0.031 35.8 groovyclient(Ruby版) 0.041 27.1 •Groovy 1.7.3, GroovyServ 0.4-SNAPSHOT, MacOSX 10.6.3, MacBook Core2duo 2.53GHz, JDK1.6.0u20 •timeコマンドでreal時間を計測。10回実行した平均。2010年7月27日火曜日
  • 9. GroovyServ構成図 Shell Environment User Groovy Srcipt C LA SS cm PA System.in TH d. System.out lin en e v SYstem.err ar gs Ctrl-C groovyclient TCP/IP groovyserver i n s td de t st d o u rr JavaVM st exit status File System Authentication Cookie File2010年7月27日火曜日
  • 10. 通常のGroovy実行 User Groovy Shell Environment Srcipt C LA System.in SS cm PA System.out TH d. SYstem.err lin en e v ar gs Ctrl-C groovy i n s td de t st d o u JavaVM rr st exit status File System2010年7月27日火曜日
  • 11. スクリプト開発 Groovyは本来、PerlやRubyにも拮抗しうる 強力なスクリプト言語 ワンライナー フィルタ、パイプ コンパイル不要 でも、レスポンス悪いとやる気が出ない トライ&エラーを繰り返すため そこで、GroovyServですよ2010年7月27日火曜日
  • 12. 効果が薄い用途 サーバ開発 起動が頻繁ではない GUIアプリケーション 起動が頻繁ではない CUIアプリでシェルのように起動して操作するもの 起動が頻繁ではない cronで定期的に起動 起動レスポンスが重要ではない2010年7月27日火曜日
  • 13. GroovyServ 高速起動Groovy <使ってみよう編>2010年7月27日火曜日
  • 14. インストール http://kobo.github.com/groovyserv 展開したフォルダのbinにPATHを通す HOMEを設定する(0.3まで) GROOVY_HOMEを確認 好みにより、aliasを設定 (DOS窓ではdoskeyで設定可)2010年7月27日火曜日
  • 15. 使い方 コマンド、2つ。 groovyclient groovyserver2010年7月27日火曜日
  • 16. groovyclient groovyコマンドの代わり 初回起動時にgroovyserverがバックグラウ ンド起動 引数・オプションはgroovyserverにそのま ま渡される エイリアス/マクロ定義が便利 alias groovy=groovyclient (U*IX,cygwin) doskey groovy=groovyclient (windows)2010年7月27日火曜日
  • 17. groovyserver groovyserv本体 使い方 groovyserver 明示的な起動 groovyserver -r groovyserver -k 再起動 停止 } win/非cygwin で利用不可 groovyserver -v 詳細ログ ログ出力先: /.groovy/groovyserv/groovyserver.log2010年7月27日火曜日
  • 18. デモ2010年7月27日火曜日
  • 19. GroovyServ 高速起動Groovy <その他編>2010年7月27日火曜日
  • 20. 制約について CWD問題 異なるカレントディレクトリを持 つような複数スクリプトを同時に は実行できない 非cygwin版では-r,-kが利用できない Permgen問題2010年7月27日火曜日
  • 21. セキュリティについて 何もしないと何でも外部から実行でき てしまうため防御が必要 秘密のcookieファイルによる認証 ファイルシステムベース localhostからの接続のみに制限 どうしても分散実行したい場合、今のと ころssh port forwarding + NFSで。2010年7月27日火曜日
  • 22. ロードマップ Groovyserv 0.4リリース…8/4 多くのbugfix、win設定簡易化 将来希望 Native Installerに組み込んだ上で Windows Installer版で提供 groovy --with-groovyserv2010年7月27日火曜日
  • 23. まとめ groovyservをよろしく 是非お試しください バグ報告大歓迎です2010年7月27日火曜日

×