2014年6月 Groovyist/G*のあれやこれや

f:id:orangeclover:20140701050524p:plain

GroovyとSwiftは似てるとか、GR8Conf Europe 2014でGroovyのAndroidサポートが発表されたり、
G*ワークショップZ も50人ぐらい集まったり、なにかと盛況だった6月。



blog

Windows環境でのGroovy/Grails開発を幸せにする!?GVMクローンposh-gvmを使ってみる #yokohamagroovy - Qiita
ジニ不純度の算出 - Groovy, Scala , Java 8, Frege - なんとなくな Developer のメモ
groovyあれこれ: JGraphXで画像アイコンを表示する
groovyあれこれ: SwingBuilderでスプリットペインを使用する
posh-gvmでWindowsにSpringBootをインストールして試してみたら楽ちんすぎて #yokohamagroovy - Qiita
groovyあれこれ: JGraphXで図形をツリー型に自動配置する
groovyあれこれ: SwingBuilderでチェックボックスメニューアイテムを使用する
Pleasing Software: GroovyFX 0.4.0 Released
Apple's Swift programming language inspired by Groovy -- Guillaume Laforge's Blog
[Android][Gradle] ライブラリプロジェクトのJaCoCoでのカバレッジ計測 | memorandum
[Grails]アプリケーションにTwitterでのログイン機能を実装する - Qiita
[Grails]データバインディング(日付編) - Qiita
[Grails]データバインディング(エラー制御編) - Qiita
[Grails]コマンドオブジェクトとバリデーション(ついでにエラーメッセージ with i18N) - Qiita
[Grails]ユニーク制約(複数のキーで) - Qiita
groovyでAndroidアプリを開発 - Qiita
[Swift] Swiftのoptional valueの便利さ /「?」と「!」でより堅牢なコードへ - Qiita
groovyあれこれ: SwingBuilderでデスクトップペインを使用する
http://hotchemi.hateblo.jp/entry/2014/06/05/081330
http://rejasupotaro.github.io/2014/06/05/49.html
RESTClientを使ってREST APIをGroovyテストする - Qiita
groovyあれこれ: JGraphXでサークル型に図形を自動配置する
http://qiita.com/jfsso/items/0ac573670bb08a8b34ba
Groovyのちょっとしたこと「try{return func1()}finally{return func2()}の挙動」 - Qiita
https://speakerd.s3.amazonaws.com/presentations/e8e58fc0cdee0131f20616308848c4b8/Groovy_on_Android.pdf
groovyあれこれ: JGraphXで文字列を半透明にする
Gradle で JavaFX をコンパイルできるようにする - Qiita
Android Studio 0.6.0 で Groovy on Android - bati11 の 日記
【解決済み】MacのGGTS(Grails)がJava8入れたらエラー吐くようになった問題 - White Box技術部
groovyあれこれ: SwingBuilderでフレームウインドウの背景色を設定する
Andoroid Studioで外部ライブラリを使う メモ - Qiita
groovyあれこれ: JGraphXでswimlaneを表示する
groovyあれこれ: MapDBでテンポラリDBを作成してkey-valueの設定と取得をする
http://hotchemi.hateblo.jp/entry/2014/06/08/192136
groovyあれこれ: SwingBuilderでグリッドレイアウトを使用する
Groovy on Androidで簡単なアプリを作ってみる - Qiita
AndroidアプリのgradleビルドでbuildTypeごとにいろいろ変えてみた - Qiita
Windowsにcurlが無い?いいえ、Invoke-RestMethodがあります。GrailsアプリへのPOSTリクエストを試す - Qiita
groovyあれこれ: JGraphXで図形を編集不可能にする
GitHub Kaigiからの~Grails 2.3系にまつわるSpockやJUnitの話 - White Box技術部
ant taskを使ってnative2asciiを実行メモ - tomoTaka’s blog
Gradle Plugin を 0.11.+ にアップデートしたらやること - Qiita
groovyあれこれ: SwingBuilderでテキストフィールド・テキストエリアを編集不可にする
http://stormcat.hatenablog.com/entry/2014/06/09/103000
TypeScript と eclipse と Gradle と私 - よしなしごと
groovyあれこれ: JGraphXで図形のテキストを編集不可にする
WebSites で、Java + gradle + git を使う — Kyrt Blog
GitHub - IBM/japan-technology: IBM Related Japanese technical documents - Code Patterns, Learning Path, Tutorials, etc.
http://ameblo.jp/tech-cz/entry-11874509881.html
http://blog.orekyuu.net/2014/06/103/
#JGGUG でGradle SSH Pluginについて話しました - GeekFactory
JMeter で Groovy スクリプトを使ってみる - えんどーめも
Gradleでherokuアプリケーションを作成する - mike-neckのブログ
Bitbucket | The Git solution for professional teams
Groovyのtraitを使い倒す! - uehaj's blog
Gradle+Androidプラグイン(0.7以降)でNDKプロジェクトをビルドする - やらなイカ?
HugeDomains.com
groovyあれこれ: SwingBuilderでフレームウインドウを最大化する
Gradleでのプロキシ設定 - Qiita
groovyあれこれ: JGraphXで図形を回転させる
groovyあれこれ: SwingBuilderでツリーにイメージを表示する
groovyあれこれ: MapDBでインメモリDBを作成してkey-valueの設定と取得をする
groovyあれこれ: JGraphXで入れ子図形の親を折り畳めないようにする
最近のJava関係イベントの個人的なまとめと感想 - Splash of waters - 2nd. Season
AndroidStudio0.6.1とGroovy2.4-beta-1で、とりあえずGroovyでAndroidアプリを作ってみた。 - Qiita
groovyあれこれ: SwingBuilderでツリーの背景色を設定する
Grails 2.4.1 と Grails 2.3.10 バグフィックスリリース!! - leftovers...
groovyあれこれ: JGraphXでクリックを判定する
groovyあれこれ: SwingBuilderでテーブルのヘッダー並び替えをできなくする
[Grails]namespaceの使い方 - Qiita
groovyあれこれ: JGraphXでズームイン・ズームアウトする
いつの間にやら変わっていたSpring STS Update site - Qiita
http://engineer.typemag.jp/article/report-2bhack
Java Gradle プロジェクトの作成方法 - Qiita
温帯気候: 雑録:$2014/06/16 GroovyFX を少し弄ってみる

インテグレーションテストを実行するためのbuild.gradleの記述法 - mike-neckのブログ
[Grails]Asset-Pipelineプラグインのメモ - Qiita
groovyあれこれ: JGraphXで図形選択時の色を設定する
1.05. Android のビルドについて(Gradle) · mixi-inc/AndroidTraining Wiki · GitHub
groovyあれこれ: SwingBuilderでコンボボックスに画像を表示する
「プログラムでシダを描画する」をGroovyでやってみた - Qiita
groovyあれこれ: JGraphXでリサイズ時の色を設定する
Gradleをmacにインストールした際のメモ - Qiita
Build Variants について - LIFULL Creators Blog
Groovy on Android, 技術詳細 - Qiita
groovyあれこれ: SwingBuilderでコンボボックスのデフォルトの色を設定する
groovyあれこれ: JGraphXで図形を半透明で表示する
android_on_groovy
[Grails]SpringSecurityCore2とGrails2.4で発生する起動時のエラー対処 - Qiita
Grails 2.4.2 と Grails 2.3.11 バグフィックスリリース!! - leftovers...
Windows 厨でも gvm したい ~Cygwin 編~ - 倭マン's BLOG
[Groovy]16進数同士の計算 - Qiita
[Groovy]文字とUnicodeの相互変換 - Qiita
2014年6月26日 - 倭マン's BLOG
groovyあれこれ: SwingBuilderでコンボボックスに画像とラベルを表示する
@android:style/Theme.Material.Light.DarkActionBar requires API level 21 - Qiita
Error:compileSdkVersion android-L requires compiling with JDK 7 - Qiita
Gradleでマルチプロジェクト - Qiita
groovyあれこれ: JGraphXで線を選択した時の色を設定する
groovyあれこれ: SwingBuilderでテーブルヘッダーのデフォルトの色を設定する
実行環境付きクラウドIDEのCodebox.IOでGVM、Groovy、SpringBoot、Grailsを動かしてみた #yokohamagroovy - Qiita
Android Studio 0.8.1でのsupport-v4関連トラブル - Qiita
groovyあれこれ: JGraphXでマウスオーバー時の色を設定する
2014-06-30
http://blog.oogatta.com/entry/2014/06/27/024953
2014-06-28
Groovy で Apache Spark を使用 - なんとなくな Developer のメモ
groovyで強引にblog更新pingを送ってみる

今週のGrails 2014-22,23
今週のGrails 2014-24
今週のGrails 2014-25

Tweet






















































































































































































Q






































Q&A






























リンク切れやおかしなリンク、漏れがあったら、教えてください。


コメント、トラックバックはてブTwitter @orange_clover宛 で、お願いします。



G*エコシステムの代表例

コミュニティ

イベント・勉強会

「わいわいGroovy ~ 教えてG*小ネタ大会 - JGGUG G*ワークショップZ Jun 2014」に参加してきた #jggug

f:id:orangeclover:20140621085611p:plain

わいわいGroovy ~ 教えてG*小ネタ大会 - JGGUG G*ワークショップZ Jun 2014 2014-06-20(金)19:00 - 21:00に参加してきました。
JGGUG G*ワークショップZに参加するのが1年数カ月ぶり。
会場が品川グランドセントラルタワーになってから初めてでした。

50人ぐらいでいつもよりもだいぶ多めです。Groovy on Androidの影響ですかね?
JGGUG G*ワークショップZ に参加したのが、初めての人が10~15ぐらい、2、3回めの人が3、4人。
あまりGroovyを書けていない人も多く、Groovyの初心者向けのワークショップが要望されてました。



[twitter:@tyama] 「最近のGrails 3分でわかるGrails

  • Grails 2.4は3.0への通過点
  • Grails3
  • これからの人はGrailsは3が出てからさわってください
  • 2.4、3.0を見すえつつ、2.3系の最新で開発すればよい
  • 2.3→2.4→3.0はスムーズに移行できるはず
  • ちなみに、Gradleは、Grailsのビルドでgantだと依存管理がメンドウという飲み会の話から生まれた
    • でも、GrailsのビルドはまだGradleにはなっていない・・・
  • あとは、今回はマジメに書いたので以下を読んで!
  • 今週のGrailsもよろしく




[twitter:@nobeans] 「Dash/ZealでGroovyJDKを使う話」

    • ブログの記事を書いた人が参加してたので
    • 開発者である @nobeans さんがGroovyServ使えばいいよと
    • Groovy 1.0X sがGroovyServで0.0X.sぐらいに
      • これね、HelloWorldが十数秒かかるようなおっそーーーーーいPCだと非常にありがたいんだよね。
    • GroovyServ
  • Groovy JDKを絞り込み検索できるドキュメントビューアの紹介
  • Dash
    • http://kapeli.com/dash
    • まずはMacの紹介
    • 参加者の8割ぐらいMac
    • Groovy JDKのドキュメント(index-all.html)の時点で、クラス情報などが落ちてたので、最初はうまくいかなかった
    • Groovy JDKのドキュメントへpull req
    • DashでGroovyJDKがまともに見れるようになったのは @nobeans のおかげ
    • gdk:"をキーワードに設定すると便利
    • これでmgdk each(調べたいメソッドなど検索ワード)で、横断的に調べられる





Dash/Zealがどんなものかは以下を見るとわかるかな




[twitter:@grimrose] 「Grainの紹介」

f:id:orangeclover:20140621085632p:plain





markdownで書いて、gradleでビルド、デプロイするOctopress的なもの



[twitter:@int128] 「Gradle SSH Pluginの紹介」

  • SIerによくある、手順書を見ながら手動、秘伝のTeraTermマクロを撲滅するため
  • いろんなツールあるけど、統一してGradleにからやりたいよね
  • WebサーバにWARをデプロイ
apply plugin: 'war' 
apply plugin: 'ssh'                                    //プラグインを適用
remotes {
    webServer {                                        //Webサーバを定義
        host = '192.168.1.101'
        user = 'jenkins'  
    } 
}
task deploy(type: SshTask, dependsOn: war) {            //warタスクの後にdeployタスクを実行
    session(remotes.webServer) {
        put war.archivePath, '/webapps'                 //WARファイルを配置し、Tomcatサービスを再起動
        execute 'sudo service tomcat restart'
    }
}
  • ネットワーク機器の設定を取得
task backupConfig(type: SshTask) {
    session(remotes.switch01) {
        file('config.txt').withWriter { writer ->
            shell {
                interaction {
                    when(partial: ~/.*>/) {                           //プロンプトが出現したらコマンドを入力
                        standardInput << 'terminal length 0\n'
                        standardInput << 'enable\n'
                        
                        when(partial: /Password: /) {
                            standardInput << enablePassword << '\n'   //パスワードを入力
                            
                            when(partial: ~/.*#/) {
                                standardInput << 'show run\n'         //show runコマンドを入力
                                
                                when(partial: ~/.*[#>]/) {
                                    standardInput << 'exit\n'         //プロンプトが出現したらexitコマンドを入力
                                }
                                when(line: _) { line -> writer << line << '\n' }  //プロンプト以外の標準出力をファイルに保存
                            }
                        }
                        ・
                        ・
                        ・
  • テストコードはGroovy、Spock
  • sshのテストでApache MINA sshdを使用してる





Gradle SSH Pluginをオフラインで利用する(Fabricぽいことしたい)




[twitter:@toby55kij] 「GroovyでJSON、2014年版」




[twitter:@kiy0taka] 「GroovyFX 0.4ぐらい #mini4wd」

  • Swift(とGroovyが似てる)、Groovy on Androidが注目を浴びてる頃、こっそりとGroovyFX 0.4リリース
  • GroovyFX 0.4はJavaFX 8対応
    • JavaFX 8で動かせられるだけで、新しいAPIには対応していない
    • でも、JavaFX 8のクラスとかそれなりに使える
  • ボールが箱に落ちるはずが、箱がせり上がるデモ
    • この辺のカメラの向き(?)を @skrb に聞きたかったんですが・・・





[twitter:@literalice] 「Gradleの何か」

  • ホスト環境に、IntelliJ IDEA、Gradle Watch Plugin
  • Vagrantの仮想環境に、tomcat
  • nfsで共有
  • IntelliJ IDEAでソースを修正したら、Gradle Watch Pluginが検知して、ビルドして、仮想環境へデプロイ
  • @bluepapa32 作のGradle Watch Plugin を使用
  • HelloWorldレベルなら全く問題ない
  • プロダクトレベルだと、たまに、ログが無限ループ(?)したり、困ったことにやってる
    • 誰か助けて




[twitter:@RyotaMurohoshi] 「Unity開発、Android開発で使った小人さんスクリプトの紹介」

  • UnityでC#からJavaを呼び出す部分が面倒なので、自動生成するするスクリプトを作ってみようとした
  • でも、java.langにパッケージ追加できないなどの制約にはやってうまくできず
    • GroovyというよりJavaのスキル不足が・・・
    • 時間が・・・
  • 誰か助けて
    • jarから解析するのは厳しいかも
    • Java のbyte コードに型の情報は残ってる残ってないから、AST変換した方が楽かも




JGGUG総会

  • 秋に札幌でG*ワークショップz
  • どんなことをJGGUG、G*ワークショップzに期待しますか?
    • 初心者、入門的なGroovy言語自体のワークショップ

JGGUGメンバ登録はこちらからどうぞ



[twitter:@kyon_mm] 「Gradleのプラグイン開発を便利にするもの」

  • 参加者への質問 以下の2択
    • Gradleを使ったことがない
    • Gradleを使って便利になっている
  • Gradle はJDK8にまだ対応していない
  • plugin がバラバラになってて一括管理されていない
  • この2つの課題はGradle 2.Xで対応されるはず
    • 先生、選択肢がおかしいです
  • REPLがないのは、Gradle Groovysh pluginを使えば、効率的に書けるよ
    • Groovyshは、補完が効くようになってるので
    • なんのAPIがあるかなと、ドキュメントを見なくても補完ができる
  • (マシンが遅くてなかなか起動せず)「どうてもよくて」とデモ打ち切り
  • markdownでコメントをかける
  • レビューの時に便利
  • f:id:orangeclover:20140621085652p:plain
  • f:id:orangeclover:20140621085707p:plain

デモは日本語コメントだったけど、スクリーンショットを撮らなかったので公式のから。






Groovy 2.2 で強化された groovysh


今Gradleのpluginを探そうとするとSearch Gradle PluginsGradle Plugins ここらへん



[twitter:@uehaj] 「Groovyのtraitを使い倒す!」



LTじゃなくていつものガチなやつだ。

  • Groovyのtrait
    • ×多重継承が可能なクラス
    • ○実装を持てるインターフェース
      • 状態も持てる(Java8のDefault Methodとは違う)
    • 多重継承に付随する「ダイヤモンド継承」問題を解決





時間切れにつき、次回以降に持ち越し。

  • @touchez_du_bois 「Vert.xの何か」
  • @mkawax 「G*Magazineについて」
  • @_y_u_ 「posh-gvmの紹介」