No Programming, No Life

プログラミング関連の話題や雑記

2009-01-01から1ヶ月間の記事一覧

Groovyのコレクションフレームワークで集合演算

ほんの断片ですが、メモとして。 (動作確認: Groovy Version: 1.5.7 JVM: 1.6.0_10) // #groupBy (指定条件でグルーピング) assert [ // ↓ ↓ 3と4でグルーピング [1, 2, 3, 4], [2, 2, 3, 4], [3, 5, 3, 4], [6, 3, 3, 4], ].groupBy{ it[2, 3] } == [[3, 4]…

指定した個数ごとに要素をまとめる

指定した個数(ここでは3つ)ごとに要素をまとめる処理が必要になったので、ひとまず書いてみた。 Groovy 色々書き方がありそうだけど、Groovyだと以下のように#injectを使って出来そう。 (動作確認: Groovy Version: 1.5.7 JVM: 1.6.0_10) def list = [1, 2, …

MarkupBuilderでHTML生成を試してみた

仕事でちょっとしたアンケートを集計しなきゃいけなくなった。 結果のレポートをHTMLで出力しといたら気が利くかな〜と考えてて、そんな時こそGroovyのMarkupBuilderだろ!って思ったので早速テスト。 (動作確認: Groovy Version: 1.7.2 JVM: 1.6.0_20) impo…

Re:Googleのありとあらゆる検索結果が「このサイトはコンピュータに損害を与える可能性があります」と判定される不具合発生中

2009-01-31〜2009-02-01の日付が変わるくらいの時間にかけて、Googleの検索結果に誤動作が発生しておりました。 >>詳しくはこことかここの辺で google.comでも同じ現象が起こっていたようなので、日本だけではなく世界規模。 復旧自体早かったんですが、今回…

Groovyでクロージャによって、渡す引数を変化させるメソッド

GroovyのMap#eachでは、渡すクロージャが取る引数の数によって受け取る内容が変わる。 (動作確認: Groovy Version: 1.5.7 JVM: 1.6.0_10) map#eachの例 def map = [a:1, b:2, c:3] // 引数1つの時はプロパティとして def list1 = [] map.each{ list1 << "${i…

equalsメソッドの雛形

自作クラスのequalsメソッドを書くときはこの雛形を使うと便利。 public boolean equals(Object obj) { if (this == obj) { return true; } if (obj instanceof T) { T other = (T) obj; if (!this.xxx.equals(other.xxx)) { return false; } if (yyy != oth…

Re[3]:ファイルの添え番号の桁を3桁に揃えるGroovyスクリプト

Re:ファイルの添え番号の桁を3桁に揃えるGroovyスクリプト - No Programming, No Life にて、私の書いたスクリプトを ゲンゾウ用ポストイット: Re:Re:ファイルの添え番号の桁を3桁に揃えるGroovyスクリプト にてゲンゾウさんがブラッシュアップしてくださっ…

livedoorのお天気APIをGroovyで使ってみた

livedoorがお天気APIを公開していたので、Groovyから使ってみた。 APIの詳細はここを参照。 以下のGroovyスクリプトを実行すると、名古屋の今日、明日、あさっての天気がお手軽に取得できます。 2009-01-25現在、なぜか温度は取れなかったので、今後対応する…

お題が採用されたみたい

わーい。 Server error

平成21年春のマスコットは掘北!

平成21年度春試験の広告ポスターには人気が出てきた堀北真希を採用してますね。 ITパスポート試験ってちょっと紹介用動画を見てみたけど、すべてのビジネスパーソ ンを対象とした試験なんですね。IPAの力の入れようが窺えます。人気にあやかって受験者数を増…

情報セキュリティスペシャリスト(SC) 午後の鉄則

テクニカルエンジニア 情報セキュリティ[午後]オリジナル問題集 2008年度版 (Shuwa Super Book Series)作者: 野崎高弘,平田豊出版社/メーカー: 秀和システム発売日: 2007/10メディア: 単行本 クリック: 19回この商品を含むブログ (25件) を見る で紹介され…

GroovyでメソッドをMethodClosureとして取得する

".&"を使って、引数が2つあるメソッド(二つ目はクロージャ)をMethodClosureとして取得して使いたいんだけどうまく行かない。 (動作確認: Groovy Version: 1.5.7 JVM: 1.6.0_10) うまくいかない例 def list = [1,2,3] def methodClosure(list, yield){ list.e…

Re:作業予定表から週単位で作業量を積み上げる

お題: Server error 投稿: Server error 考察 日付の範囲から週の範囲を作る部分とか、リストを縦表示するあたりが小慣れてないなぁ…。まだまだ修行が足りない。以下は日付の範囲から週の範囲を作る部分 /** 範囲を週の範囲に変換 */ def toWeekRange(dispRa…

Re:ファイルの添え番号の桁を3桁に揃えるGroovyスクリプト

ファイルの添え番号の桁を3桁に揃えるGroovyスクリプト - nemo_kazのメモ [Groovyライフ] で、ファイル名のリネームをやっていたので、#replaceAllで書いてみました。 ついでに数値の最大桁数を求めてソートもしてみました。 ファイル名を生成するところまで…

Re:コード中の文字の頻度分析

お題: Server error 投稿: Server error あえて、なるべくGroovyの標準機能を盛り込んで作成してみました。 利用したのは以下。 as, #unique(), #inject(){}, #sort(){}, #grep(){}, #each{}

GroovyのBooleanテストの評価

忘れそうなのでメモ。出典はGroovy イン・アクション(P130,131) Booleanテストで使われるルールの順番 実行時の真 判定される基準 Boolean 値がtrue Matcher マッチする Collection コレクションが空ではない Map マップが空ではない String, GString 文字列…

Re:IPv6アドレスの短縮

お題: Server error 投稿: Server error ネットワークは情報試験でちょこっとだけかじったので、ちょっとIPv6にも親近感が沸きます。 IPv4が枯渇するのも時間の問題ですし、今後、こういったコードが至るところで書かれることになるんでしょうか。 考察 投稿…

Re:改行を含むとGroovyの正規表現がうまく動かない

改行を含むとGroovyの正規表現がうまく動かない - プログラマ的京都生活 によると、複数行になったとたんにGroovyの正規表現がうまく動かなくなる模様。 ということで実際に試してみました。 (動作確認 Groovy Version: 1.5.7 JVM: 1.6.0_10) 実際に試してみ…

Groovyでuseキーワードを使ってExcelのOpen-Close処理を楽にする

ScriptomでExcelファイルの内容の読み込み - No Programming, No Lifeでid:re_shikajiroさんに ExcelのOpen-Closeも new File(){} みたいにクロージャで書けたらきれいでしょうねー。 というコメントをいただいたので、useキーワードの使い方の練習も兼ねて…

JavaでMapに複数のキーを指定する方法

当記事は、JavaでMapに複数のキーを指定する方法 | Think Twice に移管しました。

Javaで毎回完全に異なる乱数を取得する方法

こちらの記事はJavaで毎回完全に異なる乱数を取得する方法 | Think Twiceに移設しました。 >

Re:エレベータの制御(基本編)

お題: Server error 投稿: Server error エレベータシミュレーションは楽しいですね。 考察 今回投稿したコードの、待っている人がいる最上階を探すための // 待っている人がいる最上階を探す def nextList = [] elev.floors.tail()*.persons.eachWithIndex{…

Scriptomがうまく動かない

Scriptomを使おうかなと思ったんだけど、エラーが出てしまってどうもうまく動かない…。 ちなみに、うちのPCにはGroovy 1.5.7 Windows-Installer版を使ってインストールしてあるので*1、Scriptomは最初から入ってるはずなんだが…。 以下の%GROOVY_HOME%\suppl…

ScriptomでExcelファイルの内容の読み込み

Excelで作ったアンケートの集計に使いたかっただけなので、ひとまず値を読み取るだけのサンプルを作成してみた。 準備 セルA1〜A10に「○」という文字がいくつか記入されているExcelファイルを用意する。(例: test1.xls〜test3.xls) Groovyスクリプトをtest1.…

Groovyでクラスの拡張

Groovyでクラスを拡張する際は、Expando MetaClassを利用するみたい。ひとまず試しやすいStringと、何の脈絡もないけどMathクラスを拡張させてみた。(動作確認 Groovy Version: 1.5.7 JVM: 1.6.0_10) // Hello!の後にオリジナル文字列を出力 String.metaClas…

Re:指定されたフォルダ以下のゴミ掃除

お題: Server error 投稿: Server error これは、AntBuilderを使う絶好のチャンスかなと。 参考 www.ikepon.jp: AntBuilder www.ikepon.jp: AntBuilder(入れ子) deleteタスク - Deleteタスク(削除) - Apache Antの使い方

Groovyの範囲でin

ここを見ていたら、へぇ、こんな使い方もできるんだねっていう「in」の使い方を発見したのでメモ。 ソース (動作確認 Groovy Version: 1.5.7 JVM: 1.6.0_10) 参照 Server error

Re:道順を数える

お題: Server error 投稿: Server error Groovyで一番のり♪ Groovyの練習も兼ねてるんで、ソースを短くすることはあんまり考えてません。マップのキーにGStringを使う場合の注意点を踏まえて、XY#toCoordinate()のカンマ付き座標文字列は as String で返却し…