dev

G*と言えば猫、ということで子猫Tube作りました #gadvent2011

たいしたものではありませんが、まぁ実行してみてください。(猫好きさんは仕事の手が止まるので注意!!!) YouTubeのAPIはGETでAtomフォーマットのXMLを取得できますので、それを解析してURLを抽出しています。ブラウザ表示のところはjava.awt.Desktopを利…

Vim(GVim)でGitのコミットログを書く設定

msysgitを使う場合です。Git-1.7.7.1-preview20111027.exeで動作確認しています。GitHubなどとの連携を考慮して、コミットログはutf-8で記録することを前提とします。/etcにGit Bash起動時の設定ファイルがあるので、適宜修正してやればよいです。私の環境で…

スキャンしたJPEGを縮小してzipで固めるGroovyスクリプト

念願のAndroid Tablet(ICONIA TAB A500)を入手し、本格的な自炊生活に突入しました。以前から裁断機とScanSnapは準備してあったのですが、やはりビューアーがあるとやる気が出ますね。技術書などは検索可能PDFにするのでScanSnapの付属ソフトだけで後処理ま…

Grails Database Reverse Engineering Pluginインストール失敗

既存テーブルのマスタメンテアプリを自動生成したいというお話があり、GrailsのDatabase Reverse Engineering Pluginを試してみました。 とりあえず最新の安定版であるGrails-1.3.7でgrails install-plugin db-reverse-engineerしたところ、残念ながら以下の…

Groovy-1.8の新機能:JsonBulider

エスケープされた日本語が通るかどうか確認してみました。(Groovy-1.8RC2での結果です。) JsonSluperやJsonBuilderではエスケープされたUnicode文字列が問題なく扱えていることが確認できました。 ただし、JsonOutput.toJson()にはエスケープを行う機能は無…

Twitter Botの改善を目指して機械学習勉強中

http://gihyo.jp/dev/serial/01/machine-learning/0003 を参考に勉強中です。 元記事のコード例はPythonですが、ためしにGroovyで実装してみました。 ほとんどがMapの処理なので、GroovyでもPythonとほぼ同じくらいのコード量で実装できますね。 目標は、htt…

G*ワークショップ@仙台の資料

2010/4/24に仙台にて開催されました、G*ワークショップにて発表させていただきました。 JGGUGのイベントでしゃべるのは昨年夏以来ですね。。。G*workshop sendai 20100424(v2)View more presentations from Nobuhiro Sue.最近Groovyってどうなの?という方は…

GroovyのWritableインターフェースの存在意義

id:uehajさんの解説が分かりやすいです。 http://d.hatena.ne.jp/uehaj/20091019/1255925722 典型的な利用例としては、StreamingMarkupBuilderでのXML出力です。 XMLの出力ロジックをクロージャ(MarkupBuilderの記法)で構成し、StreamingMarkupBuilderのbind…

ソフトウェアに関わる人間は全員読むべき本

id:uehaj さんが読んでいたので、ちょっと気になって読んでみました。プロダクティブ・プログラマ -プログラマのための生産性向上術 (THEORY/IN/PRACTICE)作者: Neal Ford,島田浩二(監訳),夏目大出版社/メーカー: オライリージャパン発売日: 2009/04/27メデ…

Groovyイン・アクション訂正

Groovyイン・アクションで翻訳時のミスがありましたので、訂正しておきます。 P.355 表12.4の上から2行が Node(XmlParser) GPathResult(XmlSlurper) 意味 ['elementName'] [.elementName] 指定した名前を持つすべての子要素 'elementName' .elementName (同…

Groovyで行列の固有ベクトルを求める

ただいま、JGGUG温泉合宿2009に参加中です。 昨日は「どう書く?.org」のGroovyカバレッジ率を上げと、SpringSource Tool SuiteのGroovy対応の評価を兼ねて、こちらのお題をやってました。 どう書く?org「PageRankの計算」 http://ja.doukaku.org/48/ Googl…

StreamingMarkupBuilderでXML宣言を出力

前回のg*workshopでは「StreamingMarkupBuilderはXML宣言を出力してくれない」と言いましたが、実はありました。id:kskyさんからTwitterでやりかたを教えていただきましたのでメモ。 import java.nio.charset.* import groovy.xml.* def xml = new Streaming…

StreamingMarkupBuilderでXML宣言を出力(補足)

groovy.xml.StreamingMarkupBuilderのソースを見ると、"mkp."の後にはyield/yieldUnescaped/xmlDeclaration/comment/piが使えることが分かります。さらに、StreamingMarkupBuilderはgroovy.xml.streamingmarkupsupport.AbstractStreamingBuilderを継承してい…

はてなダイアリー監視 Twitter Bot公開します

http://d.hatena.ne.jp/nobusue/20090823/p2 でお知らせしたBotですが、GAE上で1週間安定稼働しているようなので、とりあえずソースコードを公開します。 HatenaKeywordBotApp.zip たいしたことはやっていませんが、GAE/JでTwitter Botを動かしてみたい方は…

はてなダイアリー Groovy botを作りました

昨日の熱気が醒める前にGaelykで何か作ってみようということで、さっそく作ってみました。 http://twitter.com/hatena_groovy はてなキーワードの「Groovyを含むブログ」(http://k.hatena.ne.jp/keywordblog/Groovy)のRSSを定期的にチェックして、新しいエン…

サマースペシャルg*workshop終了

昨日、JGGUGの夏祭りイベントが開催されました。 http://www.jggug.org/news/summer_event_2009 遠方からお越しいただいた方も多く、盛況のうちに終了しました。みなさんご参加いただきありがとうございました。(飲み会出席率が8割近かったような・・・) 私…

無印良品の会社の情報系システムはbashで作っているそうだ

無印良品ブランドを展開している良品計画では、情報系システムの内製化を進めて効果をあげているそうです。 独自の手法で10倍速開発 7割主義で変化対応力を高める ポイントの一つとして、スクリプト言語を活用した独自の開発手法を採用していることがあるそ…

Groovy版Twitterクライアント(@Grab利用)

社内で開催したGroovyハンズオンで、id:nemo_kazさん作のTwitterクライアントが好評だったので、Grapeを利用してTwitter4jのjarを入れなくても使えるように手直ししてみました。(Groovy-1.6.3で動作確認済み) import twitter4j.Twitter // grape @Grab(group…

ついにGoogle App EngineがJava対応

以前から噂のあったGAEのJava対応ですが、ベータが開始されました。 App Engine Java Overview - Google App Engine - Google Code なんと、Servletです。(最近JavaEEはいまひとつ勢いがなかったのですが、これで盛り返すか?) データの永続化にはGoogleの提…

Amazon Elastic MapReduce(beta)

Amazonが新しいサービスを開始しました。 http://aws.amazon.com/elasticmapreduce/ EC2/S3上でHadoopベースのMapReduceインフラを提供するサービスです。今までもEC2上でHadoopを使うことはできましたが、 Log in to the AWS Management Console to start a…

アクセスログ解析

たいしたものではないですが、GroovyでApacheのアクセスログを解析するスクリプトを作ったので晒します。 import java.text.* def sdf = new SimpleDateFormat("[dd/MMM/yyyy:HH:mm:ss", Locale.US) def sdf2 = new SimpleDateFormat("yyyy/MM/dd HH:00-HH:5…

Amazon EC2上でIBMソフトウェアが利用可能に

昨日、AmazonとIBMの新しいパートナーシップが発表されました。Amazon EC2上で稼働するプリビルド済みのAMIをIBMが提供するそうです。 IBM and AWS developerWorks - Cloud Computing AMIs Download page提供形態は開発者向け(IBM Development AMI)と商用(Pr…

ビデオゲームの開発にもスクリプト言語が台頭

dev

欧米では「レベルデザイナー」という職種が確立されていて、ゲームの各ステージのデザインとユーザーエクスペリエンスに責任を持っているそうです。で、そういう人たちは試行錯誤(アジャイル開発)を行うので、C言語などではなくスクリプト言語を使うんだとか…

2009年のWebSphereはすごいことになりそうです

dev

InfoQで、WebSphere CTOのJerry Cuomoが2009年の戦略を語っています。 InfoQ: 2009 Trends and Directions for WebSphere 2008年はWebSphere Application Server V7のリリースがありましたが、2009年はさらに大きな動きがありそうです。個人的に要注目なのは…

Grails Code Reading #16

1/15に開催された、Grails Code Reading 第16回に参加してきました。発表者は「Grな日々」で日々Groovy/Grailsネタを書き綴っていらっしゃるNTTSoftの上原さんです。 GINA(Groovy in Action)以降のGroovyの進化について、ポイントとなるところを鋭くえぐった…

Flex/AIRアプリケーションでのサーバープッシュ

最近まったくフォローしていなかったので、改めてFlex/AIRについて勉強しました。教科書はこちらで、だいたい知りたいことは網羅されていました。Adobe Flex 3 & AIRではじめるアプリケーション開発作者: 公門和也,大谷晋平,堀越悠久史出版社/メーカー: イン…

Groovy、日本でもちょっと盛り返しつつある?

最近、はてなダイアリーでもGroovyに関するエントリが増えてきたので、今年の総括も兼ねてちょっと傾向を調べてみました。 安直ですがGoogle Trendsを使います。ただし、"Groovy"というキーワードだとノイズが多い(音楽関係のネタがひっかかる)ので、あわせ…

Java7ではクロージャの導入は見送り?

Java 7で登場する新機能一覧、クロージャは残念な状況 | エンタープライズ | マイコミジャーナル 残念ながら、Java7にクロージャが導入される見込みが薄くなってきたようです。まぁ、Groovy使えばいいか。。。 Groovyのsafe dereference operator(?.)がJava…

Groovy/GrailsのPDFマガジン

GroovyMagというオンラインマガジンが創刊されました。PDF配布のみで、価格は$4.99です。 http://www.groovymag.com/ 本よりup to dateな情報を、Blogよりまとまった形で届けるために"雑誌"という形態を選択したということです。 ライター募集中だそうですの…

Grails Code Reading 第13回資料更新しました

http://d.hatena.ne.jp/nobusue/20081009/p2 から2か月近く経過してしまいましたが、未完成だった部分を追記しました。 自分がGroovyを使い込んでいく過程でぶつかった悩みを、コンパクトにまとめたつもりです。こちらからどうぞ。 http://grails-ja.googleg…