2011年はバッタの夢を見たか

2011年も残すところあと数時間。 hiromasa.another ブログのエントリから今年興味があったことを振り返ってみます。 はてさてほほう。:)

とりあえず今年の Archive をみると寂しいことにブログの本数が少ない! 週1くらいを目指していたのですが、月1なんて時も2ヶ月ほど。 別に twitter があるわけだからという訳でもないのですが、来年はもうちょっとお気楽に書いていきましょうぞ。

てなわけで、今年の一番の興味の対象であったらしいプログラム言語 Groovy ネタから。 以下、Groovy を使っていろいろ試している感じのエントリーです。

ぐるぐる Groovy。。

Groovy + XLSBeans でエクセルから HTML に流し込み

プログラミング Groovy キタ!

ぐるぐるぐる~び~。

Groovy + SWT + WebKit + jQuery Mobile でデスクトップアプリケーションをつくる

WordPress Live Writer が欲しい

twitter streaming API への接続

Groovy と PS3 Media Server プラグイン

PS3 と PS3 Media Server

Groovy と GUI アプリケーション

WordPress 3.1 の新しい XMLRPC API

Groovy は便利ですなぁ。 仕事でもいくつか活用するシーンがでてきていました。 個人ではたいしたものはつくっていませんが、、PS3 Media Server のプラグインなどは今も現役で動作しています。 🙂

Redmine を JRuby + Tomcat で動かすネタ(メモ)もいくつかみつかります。

Redmine 1.0.5 + JRuby + Tomcat6 デプロイ

Apache Tomcat 6.0.32 インストールメモ

さくらの VPS と Apache Tomcat7

Redmine 1.2.2 + Eclipse Mylynでチケット管理

Redmine も現役でローカルサーバ、VPS で動作しています。 Redmine を JRuby で動かすは環境の準備がしやすく、安定していて良いですぞ。

そのほか例年変わらず Ubuntu / Java / Eclipse 系がありまして、、

最後に WordPress。

WordPress を dotCloud にデプロイ

OSC 北海道 2011 WordPress 出展

SaCSS vol.24 コーディング勉強会と OSC 北海道 2011 WordPress セミナー告知

WordPress は 5分でインストールできるか(2011年版)

WordPress 3.1 の新しい XMLRPC API

ありゃ、5本(笑)。

とはいえ、OSC 北海道出展や、札幌の有名な Web 勉強会である SaCSS メンバのみなさんに仲良くしていただいたり、WordCamp 東京に参加したりとオフライン活動が多かったのが今年の特徴だったかもしれません。楽しかったです。 🙂

OSC 北海道 WordPress ブース。

DVC00288

札幌にてみんなで遊んでいる図。

2011-09-2221.50.23

WordCamp 東京にて。

20111126_194124

rps20111128_212807_425

札幌コワーキングスペース、ガレージラボさんにて。

20111203_172643

さて、年始めの 2011年の目標として「2011年スタート」エントリでぼくはこう書いていました。

もてるプログラマーに!

…。

2012年は、Groovy と、、OpenGL も少しやりたいし、スマートフォンアプリとか、WordPress もやりたいことがあったり、、というわけで、

[tegaki]カリスマプログラマーに![/tegaki]

…。

てなかんじで、いつまでも成長のないひろましゃくんですが。。

今年もお世話になりました。 来年もよろしくお願いいたします! 🙂

JSDT jQuery 開発環境

先日さすらいの Web サーフィンをしていたら、JSDT (JavaScript Developer Tool)の jQuery サポートをみつけたのでちょっと試してみました。 たぶん前からあったものだと思うのですがなかなか良さそうな雰囲気であります。

とりあえずインストールより。

最近、Eclipse PDT(PDT Developer Tool)のオールインワン的なリリースがないのですが、とりあえず PDT に入れています。 Eclipse Classic に PDT プラグインを追加すれば PDT になります。

Eclipse 3.7 / Indigo / PDT 3.0

  • Installed and running Eclipse Classic 3.7

これに JSDT jQuery を追加で入れます。 eclipse.org から for JavaScript Developer のパッケージもでていますので、JS しかやらないかたはこちらでもいいかもしれません。 PDT を追加することもできるでしょう。

Market Client が入っていないと JSDT jQuery が入れにくいので追加します。

jQuery10

で、Eclipse Market から JSDT jQuery を追加。

jQuery11

JavaScript プロジェクトをつくって右クリックからプロジェクトの設定。 JS のライブラリを選んであげます。 jQuery が追加されているはずです。

jQuery13

こんな感じに。

jQuery14

ではやってみましょう。 🙂

jQuery 補完機能。

jQuery15

[tegaki]うん!よい![/tegaki]

JSDoc(?) もちゃんとみれます。 メソッド名と引数わかればこちらのものです(笑)

jQuery16

ちなみに、jQuery と関係ないですが、JSDT のリファクタリング機能も試してみましょう。

変数名リファクタリング。 下に別スコープの同名変数があることに注目してください。

変数 hoge を moge にリファクタリング。

jQuery30

jQuery31

ちゃんとスコープみて test1 の中だけ変えてくれています。

また初期化警告もでています。 ただのテキストエディタと違ってプログラムを読んでいてくれるからできる実装です。

jQuery32

JavaScript は動的型付言語ですので、IDE サポートも限界がありますがなかなか動くようですね!

また Web Developer 系の Eclipse には HTML のリアルタイムバリデータとか、PDT には PHP のリアルタイム警告サポートもあります。

閉じタグ忘れ。

jQuery33

閉じ括弧忘れ。

jQuery34

Eclipse メインじゃなくても既存のファイルをワークスペースにもってこれますので、使うときだけという運用も可能です。

jQuery20

プロジェクト作成時に form exsisting source にすればOKです。 あと、JS/PHP サポートをプロジェクト右クリックからつけてあげられます。

jQuery35

てな感じなのでつかわにゃそんそん。  🙂

ぐるぐる Groovy。。

記事書いていませんでしたが、最近も Groovy くんにはだいぶお世話になっております。

テストデータ作成や小物ツールをつくるのに非常に便利な Groovy。

開発環境も Eclipse にプラグイン入れるだけでフルセットそろいますし、テキストエディタだけでも jar ひとつでいけますし、実行環境も Java が入っていればいいだけなので、人にも渡しやすく非常に重宝しております。

ということで、ちょこちょこいじっている訳なんですが最近気がついたこと。

ふと Groovy 1.8 系で下のコードを。

import org.codehaus.groovy.runtime.NullObject

// Groovy だとどちらも普通(Java だと上だけ通る)
assert(Integer.valueOf(127) == Integer.valueOf(127));
assert(Integer.valueOf(128) == Integer.valueOf(128));

// なるほど
assert(null == null)
assert(null.equals(null))
// なんとなく Groovy が不思議
assert(null != new NullObject())
assert(!null.equals(new NullObject()))

Groovy の == は equals の演算子オーバーロード。

というわけで、上の2つの assert は普通に通ります。 ちなみに Java だと両方通らない感じですが、上は通ります。 結構謎ですね(笑)

で、したの null のほう。 null もオブジェクトっぽいのですが、最後の2つの assert が不思議な感じ。

なんとなく別件ですが、このパッチがそれっぽい…。

[#GROOVY-4985] null and .with{} – jira.codehaus.org

Currently this fails:

null.with { assert it == null }

単純にぼくがなんかぼけてるのか、、、まぁなんだってわけでもないのですがふと(笑)

あ、そうそう、壁紙変えました。 🙂

Screenshot20111210

[tegaki]は、張る画像がなかったわけじゃないんだからね![/tegaki]