「Groovyスクリプト100本斬り」回顧編
2010年のJGGUG合宿で、
企画Groovy: 「Groovyスクリプト100本斬り」
お題(公募中!)を事前に100個用意しておき、みんなでスクリプトを書きまくります。
詳細はこちら:http://www.jggug.org/Home/ibento-shiryoushuu/g100pon.pdf
というのがあったのですが(良い企画でしたね!)、結果がGoogle Docsでしか公開されておらず、HTMLの記事になってると良いかと思い再掲します。
番号 | お題 | 提案者(Twitter ID) | 回答者(Twitter ID) | 回答へのリンク(GistのURL) | |
---|---|---|---|---|---|
1 | HelloWorld(Java完全互換版) | kazuchika | kazuchika | http://gist.github.com/618307 | |
2 | リスト操作(基礎編:CRUD系操作とイテレーション) | kazuchika | Kentaro_Arai | http://gist.github.com/619102 | |
3 | リスト操作(上級編) | kazuchika | |||
4 | マップ操作(基礎編:CRUD系操作とイテレーション) | kazuchika | Kentaro_Arai | http://gist.github.com/619116 | |
5 | マップ操作(上級編) | kazuchika | |||
6 | 範囲(Range)操作(基礎編:CRUD系操作とイテレーション) | kazuchika | Kentaro_Arai | http://gist.github.com/619233 | |
7 | 範囲(Range)操作(上級編) | kazuchika | |||
8 | Groovy Ustream API | nemo_kaz | ikikko | http://gist.github.com/619452 | |
9 | Jakarta POI のGroovyサンプル | nemo_kaz | nobeans | http://gist.github.com/619324, http://gist.github.com/619325 | |
10 | Google Calendar API の Calendar ObjectのGroovy Wrapperサンプル | nemo_kaz | |||
11 | Twitter: stream APIを有効活用したサンプル | nemo_kaz | |||
12 | Twitter: OAuthの認証サンプル | nemo_kaz | tomoakioshima | http://gist.github.com/619818 | |
13 | gmailからメールを受信する | kompiro | nbqx | http://gist.github.com/619274 | |
14 | twitterにつぶやく | kompiro | kazuchika | http://gist.github.com/619087 | |
15 | Markdownの実装 | kompiro | tomoakioshima | http://gist.github.com/619068 | |
16 | wikiの実装 | kompiro | |||
17 | テンプレートエンジンの実装 | kompiro | |||
18 | 単位変換 | kompiro | kijuky | https://gist.github.com/1145165 | |
19 | 為替情報の取得 | kompiro | nemo_kaz | http://gist.github.com/619226 | |
20 | topコマンドの実装 | kompiro | nemo_kaz | https://gist.github.com/711401 | |
21 | 正規表現:ファイルの拡張子を置換する | masanobuimai | tomoakioshima | http://gist.github.com/619042 | |
22 | 正規表現:FQCNからクラス名を抜出す | masanobuimai | masanobuimai | http://gist.github.com/621826 | |
23 | ディレクトリを走査して特定のファイルを抽出 | masanobuimai | tomoakioshima | http://gist.github.com/619059 | |
24 | grep | masanobuimai | masanobuimai | http://gist.github.com/621842 | |
25 | tail -f | masanobuimai | kazuchika | http://gist.github.com/619953 | |
26 | 文字列を分割してListに変換 | masanobuimai | nobusue | http://gist.github.com/619000 | |
27 | ファイル名の一括置換 | masanobuimai | masanobuimai | http://gist.github.com/619348 | |
28 | ファイル内の特定の文字列を一括置換 | masanobuimai | masanobuimai | http://gist.github.com/619303 | |
29 | growlみたいなの(あんのか?) | masanobuimai | nobusue | http://gist.github.com/619816 | |
30 | ファイルのコピー | masanobuimai | kazuchika | http://gist.github.com/619010 | |
31 | アプリケーションランチャ(quicksilverみたいやつ) | nbqx | |||
32 | 文字コード判定 | nbqx, kanemu | kanemu | http://gist.github.com/619125 | |
33 | 掲示板 | kanemu | kiy0taka | http://gist.github.com/713740 | |
34 | メール送信 | kazuchika | |||
35 | インライン要素を含むXMLの処理 | kanemu | |||
36 | ファイルをドラッグ&ドロップできるウィンドウ | kanemu | masanobuimai | http://gist.github.com/619202 | |
37 | GDKのコマンドラインビューア | nobeans | uehaj | http://gist.github.com/619360 | |
38 | (定期的な)メールチェッカ(POP) | nobeans | |||
39 | JSONの読み書き。Grails無しで | toby55kij | kanemu | http://gist.github.com/619030 | |
40 | XMLの読み書きを色んな方法で | toby55kij | nobusue | http://gist.github.com/619066 | |
41 | スクリプトを実行するスクリプト | toby55kij | nbqx | http://gist.github.com/619331 | |
42 | お手軽JMXビューア | bikisuke | nobusue | http://gist.github.com/619284 | |
43 | zip圧縮・解凍 | bikisuke | tomoakioshima | http://gist.github.com/619011 | |
44 | DBとテーブル名を引数に実行すると、標準入力から読み取ったCSV/TSVデータを指定したテーブルにinsertするスクリプト | uehaj | nobusue | http://gist.github.com/619054 | |
45 | 日時の演算処理。例えば「現在時刻の3日と4時間後を求める」「特定の時刻間の時間数を求める」 | nobusue | kazuchika | http://gist.github.com/619359 | |
46 | wc コマンド | touchez_du_bois | kiy0taka | http://gist.github.com/619085 | |
47 | クイックソート | touchez_du_bois | fumokmm | http://gist.github.com/211632 | |
48 | find コマンド | touchez_du_bois | |||
49 | 閏年 | touchez_du_bois | nobusue | http://gist.github.com/619200 | |
50 | 回帰分析 | touchez_du_bois | nobusue | http://gist.github.com/619868 | |
51 | KVSの操作(保存、取得) | kimukou_26 | nobusue | http://gist.github.com/619988 | |
52 | XMLDB(existが一番簡単かな?)の操作 | kimukou_26 | kimukou_26 | http://gist.github.com/622392 | |
53 | いろいろな型変換(toメソッド、キャスト、as) | kazuchika | toby55kij | http://gist.github.com/619996 | |
54 | duck typing | kazuchika | kazuchika | http://gist.github.com/619806 | |
55 | マルチメソッド(動的ディスパッチ) | kazuchika | fumokmm | http://gist.github.com/619899 | |
56 | 数値型(Javaとの相違点など) | kazuchika | toby55kij | http://gist.github.com/619061 | |
57 | GStringが遅延評価ぽくなるケース | kazuchika | nobeans | http://gist.github.com/619334 | |
58 | StringクラスのGDKメソッド | kazuchika | toby55kij | http://gist.github.com/619851 | |
59 | 正規表現(基本編) | kazuchika | ikikko | http://gist.github.com/619363 | |
60 | fizzbuzz | kazuchika | nemo_kaz | http://gist.github.com/618993 | |
61 | GroovyTestCaseと各種拡張assertメソッド | kazuchika | fumokmm | http://gist.github.com/622492 | |
62 | Groovy Truthのカスタマイズ | kazuchika | uehaj | http://gist.github.com/619374 | |
63 | 演算子オーバーロード | kazuchika | ikikko | http://gist.github.com/619990 | |
64 | クロージャとdelegate | kazuchika | touchez_du_bois | http://gist.github.com/620045 | |
65 | 何でも使えるぜGroovyなswitch-case | kazuchika | toby55kij | http://gist.github.com/619088 | |
66 | Expando使用例 | kazuchika | toby55kij | http://gist.github.com/619889 | |
67 | 実行中のクラス/メソッド名を取得 | kazuchika | nemo_kaz | http://gist.github.com/619034 | |
68 | curry/rcurry/ncurry | kazuchika | fumokmm | http://gist.github.com/619285 | |
69 | 動的なメソッド追加 | kazuchika | nbqx | http://gist.github.com/619342 | |
70 | 存在しないメソッド/プロパティアクセスをフック | kazuchika | toby55kij | http://gist.github.com/619113 | |
71 | ConfigSlurper | kazuchika | kimukou_26 | http://gist.github.com/622497 | |
72 | テキストファイルの中身を行番号付きで表示 | kazuchika | tomoakioshima | http://gist.github.com/619026 | |
73 | AntBuilder | kazuchika | kazuchika | http://gist.github.com/619985 | |
74 | 日付の解析とフォーマット | kazuchika | nobusue | http://gist.github.com/619111 | |
75 | 外部コマンドの起動と出力の取得等 | kazuchika | masanobuimai | http://gist.github.com/619231 | |
76 | 環境変数取得 | kazuchika | tomoakioshima | http://gist.github.com/619036 | |
77 | CliBuilder | kazuchika | nobusue | http://gist.github.com/619094 | |
78 | HTTPファイルアップロード | kazuchika | uehaj | http://gist.github.com/620451 | |
79 | HTTP GET/POST | kazuchika | masanobuimai | http://gist.github.com/619282 | |
80 | webサーバ(Jetty) | kazuchika | kazuchika | http://gist.github.com/619882 | |
81 | HTTPBuilder | kazuchika | |||
82 | Base64 エンコード/デコード | kazuchika | kanemu | http://gist.github.com/619064 | |
83 | webスクレイピング(nekohtml) | kazuchika | uehaj | http://gist.github.com/619366 | |
84 | HTML生成 | kazuchika | fumokmm | http://gist.github.com/619371 | |
85 | ブラウザで任意のURLを表示(OS非依存) | kazuchika | toby55kij | http://gist.github.com/619019 | |
86 | YAML | kazuchika | masanobuimai | http://gist.github.com/619292 | |
87 | SwingBuilderと@Bindableでモデル・ビュー連携 | kazuchika | kiy0taka | http://gist.github.com/619208 | |
88 | grocessing (groovy+processing.org) | kazuchika | kimukou_26 | http://gist.github.com/619434 | |
89 | ExpectJ | kazuchika | kazuchika | ||
90 | JFreeChartでグラフ生成 | kazuchika | kimukou_26 | http://gist.github.com/619747 | |
91 | MongoDB | kazuchika | kimukou_26 | http://gist.github.com/619971 | |
92 | TimeCategory | kazuchika | nobusue | http://gist.github.com/619108 | |
93 | トランプのシャッフル | kazuchika | fumokmm | http://gist.github.com/619250 | |
94 | 超シンプルRSS/Atomリーダー | kazuchika | kiy0taka | http://gist.github.com/619381 | |
95 | クラスパスの動的な変更 | kazuchika | ikikko | http://gist.github.com/619968 | |
96 | jlineで行編集/補完/ヒストリ付きコマンドライン | kazuchika | kazuchika | http://gist.github.com/619117 | |
97 | 形態素解析 | kazuchika | tomoakioshima | http://gist.github.com/619176 | |
98 | DerbyでGroovySQL | kazuchika | nobusue | http://gist.github.com/619005 | |
99 | JavaとしてもGroovyとしても正当だが結果が異なるコード | kazuchika | toby55kij | http://gist.github.com/618998 | |
100 | 邪悪なGroovyコード(IOCCCのGroovy版) | kazuchika |