groovy
お題 正規表現を分割して記述する コード assert "aaaccc" =~ /(?:aaa)|(?:bbb)/ assert "bbbccc" =~ /(?:aaa)|(?:bbb)/ assert !("cccddd" =~ /(?:aaa)|(?:bbb)/) re1 = /aaa/ re2 = /bbb/ m1 = ("aaaccc" =~ "${re1}|${re2}") assert m1.find() == true as…
お題 文字列が複数の正規表現のすべてにマッチするか調べる コード /*「あ」を含むか? */ assert "めぐりあい" =~/あ/ /*「あ」と「い」を両方含むか?*/ assert "めぐりあい" =~/(?=.*?あ).*?い/ assert "いあいあ" =~/(?=.*?あ).*?い/ assert !("IA-64" =…
お題 正規表現のメタ文字をエスケープする コード import java.util.regex.Pattern; assert Pattern.quote("*.txt") == /\Q*.txt\E/ assert Pattern.quote("what?") == /\Qwhat?\E/ assert Pattern.quote("[a-z]") == /\Q[a-z]\E/ assert Pattern.quote("*{a…
お題 文字列が正規表現として正しいかどうかを調べる。 コード import java.util.regex.Pattern def validRegexp(pattern){ try { Pattern.compile(pattern) true } catch (e) { false } } assert validRegexp("aaa*") == true assert validRegexp("*.") == …
お題 文字列から16進数テキストのMD5ダイジェストを作成する コード //ref http://www.techscore.com/tech/Java/JavaSE/Utility/10-2/ import java.security.MessageDigest java.security.MessageDigest.metaClass.hexDigest { target -> delegate.update(ta…
お題 「Password:」という文字列の後から行末までを「*」に変える コード def hidePassword(str){ str.replaceAll(/(Password:)(.*)/) {all, s1, s2 -> s1 + '*'*s2.size() } } result = hidePassword("Password:あいうえおabcdeかきくけこfghij") assert re…
東アジアの文字幅/East Asian Width というものが定められていて、 JavaだとEclipseでICU4Jを使うと判別できるらしい。 お題 文字列を最大n桁に切り詰める コード @Grab('com.ibm.icu:icu4j:50.1') import com.ibm.icu.lang.UCharacter import com.ibm.icu.l…
お題 文字列を最大n桁に切り詰める Ruby レシピだと、「全角文字幅=半角文字×2と仮定して」とあったので、同じ条件で。 コード if (GroovySystem.getVersion() < "2.0") { println "Groovy 2.0 以上が必要" System.exit(1) } def takeNcols(str, n){ result …
G*ワークショップ「Vert.x+JavaOne+Groovy2.0なG*」が開催されました。 yokohama.groovyは順調に隔週で開催さてるようです。 Gradleを始めた人が増えた2012年10月のまとめです。 画像処理についてあれこれ: groovyで手書き風タイル模様を描画するそもそも、J…
第3回社内LT大会に見た顕在化した失望と一握の希望 勉強会でも殆ど聞かないGroovyの勉強会あります! どこで情報収集すればいいかわからない? ここにカレンダーが! JGGUG イベントカレンダー告知が足りない? 勉強会カレンダーにも載ってるし、 こくちーず…
Programming Languages Influence Network によると、Groovyは、Java、Objective-C、Perl、Python、Ruby、Samlltalk、に影響を受けたようだ。 あた、JGGUGが福岡に初進出した9月 2012/09/01 G*ワークショップ in 福岡 #jggug togetter G*Workshop in 福岡(Gr…
素数のときだけ"JOJO!"って出力するプログラム まとめ職人の場合 まとめだけというのもなんなんで、Groovyで。 お題 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id))…
今月も盛りだくさん。 G*ワークショップ、Gradleトーキョー、Gradle名古屋、夏サミでのブース、tddbc in action、Jenkinsカンファレンスなど7月も盛りだくさんでした。 SpringSource Tools Suite(STS)でGroovy,Grails開発(準備) - かまたま日記2#griffon プ…
window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…
「ねーねーGroovy逆引きレシピって何色?」だと!? @masanobuimai さんより ネタにマジレスですんません。レシピ本はすでにありますよ(念のため。 http://pragprog.com/book/sdgrvr/groovy-recipes レシピ本ってあったんだ。 Groovy Recipes: Greasing the…
window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…
今回は、 @shinyaa31 さんが裏番組の『リーダブルコード − 忘れてもいいコードを書こう。』に参加してきた #devlove に行ってたので、超一流のレポート職人がいない ><。 こちらも負けずに、“暑かった”ので、その様子をまとめてみた。 G*ワークショップ「…
TDDB大阪でSpockが大人気に。 Griffon 1.0、Gradle 1.0、Groovy 2.0とリリースラッシュ。 Literal Ice: PaaSでGrailsならCloudBeesがイイ2012-06-01 - Grな日々(uehajの日記)画像処理についてあれこれ: groovyで画像をアーモンド形に切り取る画像処理につい…
僕が参加する勉強会はこくちーずが多め、日本鼻メガの会がZussarといった感じだった。 日本鼻メガネの会 4時限目は、Doorkeeperでやんの。 Doorkeeperは、Facebookと関連付けるか、独自のアカウントになるので、Twitterアカウントが取れない ><。 入力項目…
window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…
window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…
tweetimag.es 取得URL http://img.tweetimag.es/i/{username}_m http://img.tweetimag.es/i/{username}_n http://img.tweetimag.es/i/{username}_b http://img.tweetimag.es/i/{username}_o 例 1行で取得するGroovyスクリプト new File("orange_clover.png")…
こくちーずから申込者のアイコンをダウンロードし、座席表用のアカウントつき画像を作成する座席表職人のためのGroovyスクリプト ATNDから申込者のアイコンをダウンロードし、座席表用のアカウントつき画像を作成する座席表職人のためのGroovyスクリプト Zus…
こくちーずから申込者のアイコンをダウンロードし、座席表用のアカウントつき画像を作成する座席表職人のためのGroovyスクリプト ATNDから申込者のアイコンをダウンロードし、座席表用のアカウントつき画像を作成する座席表職人のためのGroovyスクリプト こ…
5月は久しぶりのJGGUGの第21回 G*ワークショップがあった。 募集枠は増員を繰り返して75まで増えた。 GradleでEnclosedのテストが二回実行されるんだ - 日々常々実装時の型と評価後の型 - コードの恵み静的スカフォールド ≪ awe9{ owner.call() } - コードの…
ATND から参加者の Twitter アイコン画像をダウンロードする Ruby スクリプト 当然カウンターで、Groovy版を書かないとね。 ポイント ATNDはAPIがある 出欠確認API レスポンスは、XML形式 xml.events.event.users.user こんな形式でアクセスできる。 コード …
こくちーずから申込者のアイコンをダウンロードし、座席表用のアカウントつき画像を作成する座席表職人のためのGroovyスクリプトの画像をダウンロードする処理。 def url = new URL("http://img.tweetimag.es/i/orange_clover_n") def file = new File("oran…
金環日食があった5/21(月)にSunを食ったOracleに行った。 第21回 G*ワークショップ #jggugに参加するためにだ。オレンジの人です。 70人と、普段の倍以上の参加申し込み。 Griffon、Gradle、Grailsと豪華なラインナップ。 @yusukeyの本格的なUst と@shinyaa3…
Evernoteのデータ管理はSQLite の続き、Groovyで扱う方法。例、Evernoteから、201204のノートブックから、G*のタグがついているノート名とURLをはてな形式で一覧化する。 こんな感じになる。 2012年04月 Groovyist/G*のあれやこれや 参考 Groovyでデータベー…
訂正 ひぃー、内容が3月のものだったので、書き換え。。。 groovyあれこれ: grailsとjQuery Mobileでdynamic scaffoldingのcreate画面を変更するXP一日体験ワークショップに参加+α - pocketberserkerの爆走Gradle a new Generation Build Toolgroovyあれこれ…