MacBook Air

MacBook Air届いた。

さようなら、Windows。さようなら。

Java-jaの新年会っぽいもの

に参加してきました。

Yamashiroさんの男の料理は半端ない。
ペ・ダイチャンさんのカレーもうまかった。
えびちゃんのボロネーゼは激うま。

なんか鍋パーティのはずが、鍋以外の食べ物の方が印象に残ってるなぁ。
っていうか、終電までには帰るつもりだったのに、朝まで居ることになるとは予想外。
まあ、それだけ面白かったってことでいいかー。

Ustream見てて呼び出されたt_yanoさんakrさんもタクシーで駆けつけてくれるし、みんな熱い人たちで大好きだー。

そういえば、その場の流れで第2回BPMオフ会に参加することになったんだった。
忘れないようにしないと。

Java-jaのMaven2の勉強会みたいなもの

に参加してきました。19日のことだから、もう、ちょっと前のことになるけど。

Maven2は、自分がプロジェクト仕切るなら間違いなく導入するんだけど、今はそういう立場にないから業務では使えず個人でいじって遊んでる段階。Maven2もそうだけど、WicketとかSeamとか、Ruby on Railsとかも含めた新しい技術の社内勉強会とかもやっていかないとなー。

んでまあ、19日の話。詳しくは矢野さんのBlogエントリ見ていただくとして、今回は結構勉強になったなー。
Maven2のプラグインを自作するのって、敷居高いのかなーって思ってたけど、tfunatoさんのプレゼン見たら全然簡単っぽいって思った。Twitterに発言ってのはあれだけど、IRCとかにビルド完了報告をしてくれるプラグインとかは普通に有用だよなー。
あと、cactusmanさんのプレゼンのHudsonもCIツールとしてはいい感じだなー。初期導入の敷居が低いってのはやっぱりかなりの利点。Maven2のログがCometでブラウザ上にずらずら流れていくのとかインパクトあったなー。NetBeansの開発とかでも使われてるから実績も十分だし、これも導入してみたいなー。

いつものことながら、会場をお貸ししてくださったATL Systems様には心より御礼申し上げます。

その後、飲み会への移動の途中にやっと会えた矢野さんと挨拶できましたー。飲み会の席でも色んな人と色んな話が出来て楽しかった。
来年も積極的に参加させていただきたいと思います。

そういえば、飲み会の席でNAGASEYASUHiTOさんに言われたんでそのうちオープンソースのオブジェクトデータベースについてエントリ書きます(←自分へのプレッシャー)。

Wicketプロジェクトはたった一行のコマンドで始められる

Wicketいいよ、Wicket」と周りの人間に勧めても、「めんどくさい」というセリフで一蹴されることがあります。
で、そんな人がRuby on Railsを勉強していたりします。

そういう人は、Javaのフレームワークっていちいちjarファイルをダウンロードして、依存関係にあるライブラリもダウンロードして、それらをクラスパスに通して、とかそういうことを未だにしなきゃいけないと思ってるみたい。

実はWicketのほうが、Ruby on Railsよりもプロジェクトを開始するまでに必要なコマンドの数が少ないんです!

以下、Wicketのプロジェクトを開始する方法を、Ruby on Railsと対比しながら記述します。
多分、WindowsでもMacでもLinuxでも大丈夫だと思う。

1. JDK 5.0 or 6.0及びMaven 2はインストール済みのものとします。
(最新のRuby及びRubyGemsはインストール済みのものとします)

2. コマンドプロンプトなりターミナルエミュレータなりを開いてプロジェクトを作成したい場所に移動し、
> mvn archetype:create -DarchetypeGroupId=org.apache.wicket -DarchetypeArtifactId=wicket-archetype-quickstart -DarchetypeVersion=1.3.0-rc1 -DgroupId=foo.bar -DartifactId=hogehoge
と入力します(一行です)。foo.barはパッケージ名、hogehogeはプロジェクト名に置き換えてください。
(2.1 コマンドプロンプトなりターミナルエミュレータなりを開いて
> gem install rails -y
2.2 プロジェクトを作成したい場所に移動し
> rails hogehoge)

これでプロジェクトの雛形が作成されました。
ほらほら、このステップでRuby on Railsは2行必要なのにWicketは1行でいい!
長い?長いけど、どうせコピペするからそんなの関係ねぇ!

作成されたプロジェクトの雛形は以下のようなディレクトリ構成になっています(Wicketのページからパクリ)。

    .hogehoge
    |   pom.xml
    |
    ---src
        +---main
        |   +---java
        |   |   ---foo
        |   |       ---bar
        |   |               HomePage.html
        |   |               HomePage.java
        |   |               WicketApplication.java
        |   |
        |   +---resources
        |   |       log4j.properties
        |   |
        |   ---webapp
        |       ---WEB-INF
        |               web.xml
        |
        ---test
            ---java
                ---foo
                    ---bar
                            Start.java

Maven 2のデフォルト構成のまんまですね。

3. サーバ(Jetty)を起動してみるには、作成したhogehogeディレクトリに移動し、
> mvn jetty:run
( サーバ(WEBrick)を起動してみるには、作成したhogehogeディレクトリに移動し、
> ruby script/server)

起動完了したら、http://localhost:8080/hogehogeにアクセスして、
「Wicket Quickstart Archetype Homepage

If you see this message wicket is properly configured and running」
って表示されたらOK!

4. NetBeansを使うときは、作成されたpom.xmlを開くだけ。Eclipseを使うときは、
> mvn eclipse:eclipse -DdownloadSources=true
で、EclipseからインポートすればOK。
(RadRailsとかNetBeansとか使いたければ多分インポートとか普通に出来るんでしょ。よくわかんないけど。)

まあ、そんな感じ!

みんなもっとWicket使ったらいいと思うよ!

Maven 2について勉強したい人は、Java-jaの勉強会着たらいいと思うよ!

そういえば、lunchofftterソースCodeReposにコミットすることにしたよ!
Wicket-1.3.0-rc1対応とかActiveObjects0.6.1対応して、リファクタリングして綺麗なソースにしてからコミットするつもりだったけど、仕事忙しくて時間ないから、汚いソースそのまんまコミットするね。好きなだけdisればいいさ!

コミット権もらえたらコミットするので、そしたらまた周知します。

追記(11/19):
http://svn.coderepos.org/share/lang/java/lunchofftter/
にコミットしました。ライセンスはNYSL(煮るなり焼くなり好きにしろライセンス)です。

WicketとGuiceとActiveObjectsで作ったTwitterを使ったMashUpアプリを公開するよ

Twitterをコミュニケーションインフラとして使うMashUpを、Wicket-Guice-ActiveObjectsで作りました。

ランチオフったー
http://server.mesolabs.com/lunchofftter/

プロトタイプとして作った上、使ってるライブラリも安定版じゃなくテストも不十分なので、まったく安定してないと思いますが、ぜひ使ってみてくださいな。

Twitterをコミュニケーションインフラとして使うことで、こちらとしては個人情報を預かるというリスクを避けることができ、ユーザも個人情報を預けるというリスクを避けることができます。
また、結果をオープンに知らせることで、さらにランチオフの輪を広げることができるんじゃないかなとも思ってTwitterを使うことに決めました。

ソースコードはオープンにする予定ですが、ちょっと人様に見せられるように修正するまでお待ちください。

感想・意見・疑問・苦情・要望・非難等は、このブログかTwitterにお願いします。

Wicket in Action予約開始!

Wicket in ActionがAmazonで予約開始です。Java-jaのWicket勉強会らしきものに参加した人はみんな買う方向で!

ついでに、マスタリングJavaEE5 (CD-ROM付) (Programmer’sSELECTION)とかも見つけちゃったので買ってみた。

java-jaのWicket勉強会みたいなもの

第一回チキチキ そろそろ Wicket について一言いっとくか」に参加してきました。

実はこういう勉強会とかイベントとかに参加するのって初めて。

人数が多い上に面子がまた凄くて圧倒されました。

詳細はyone098さんのエントリとかeveresさんのエントリとかIsoparametricさんのエントリとかnekopさんのエントリとかrokujyouhitomaさんのエントリとか見てください。

残念だったのは矢野さん急なトラブルで参加できなかったことと、Yoshioriさんよういちろうさんとあまり絡めなかったことかなー。
サイボウズラボやGoogleより敷居が高くて絶望しちゃう会社Abbyの名刺欲しかった。

っていうか、今回の勉強会に参加する決め手になったのは、よういちろうさんがこのエントリで周知をされて、それを僕がブックマークしてコメントで「仕事あるから無理かもなー。飲み会だけでもいいなら」って書いたら、そのコメント見てくださってエントリに追記してくださったことなんです。
さらにonkさんにも「いつもブックマークが被るから絶対一度会ってみたかったんだ」と言われ、ブログ自体はそんなに更新頻度も高くないし知名度もないのに、ブックマークだけで認知される時代になったんだなーってのがちょっと感慨深かった。

またこういったイベントあったら積極的に参加してみたいなって思いました。

おわり。

本を買った

Amazon.co.jpからのお知らせ

お客様からご注文いただいた 商品 を本日発送させていただきました。

ご注文の処理が完了しましたのでお知らせします。

Amazon.co.jpをご利用いただき、ありがとうございました。またのご利用を
お待ちしております。

今回発送する商品は以下のとおりです。
———————————————————————
数量 商品 価格 発送済み 小計
———————————————————————
1 みんなのPython ¥2,940 1 ¥2,940
1 数学ガール ¥1,890 1 ¥1,890
1 Ubuntu 徹底入門 The Official Ubuntu Book 日本語版 (DVD付) ¥4,170 1 ¥4,170
1 JavaWorldメモリアルDVD ¥1,881 1 ¥1,881
1 Python クックブック 第2版 ¥4,410 1 ¥4,410
1 初めてのJavaScript―Ajax&DOM対応 ¥2,730 1 ¥2,730
1 JavaScriptクイックリファレンス 第5版―JavaScript1.5対応 ¥2,940 1 ¥2,940
1 SQL Hacks ―データベースを自由自在に操るテクニック ¥3,150 1 ¥3,150

———————————————————————
小計: ¥22,962
配送料: ¥0
合計: ¥23,905

もう一通きてた。

Amazon.co.jpからのお知らせ

お客様からご注文いただいた 商品 を本日発送させていただきました。

ご注文の処理が完了しましたのでお知らせします。

Amazon.co.jpをご利用いただき、ありがとうございました。またのご利用を
お待ちしております。

今回発送する商品は以下のとおりです。
———————————————————————
数量 商品 価格 発送済み 小計
———————————————————————
1 Ajax on Rails ¥2,940 1 ¥2,940

———————————————————————
小計: ¥2,800
配送料: ¥0
合計: ¥2,940
クレジットカードでのお支払額: ¥2,940 : Mastercard
——————————————————————–

僕は正しい方へ向かっているのだろうか?

(追記)
これも予約した。
Ajax&JavaーJavaプログラマのためのAjaxプライマー

As a framework mania

以下のエントリに全面的に同意。但し、一つだけ欠けてる視点があったためそのことについて書こうと思う。

それは、我々は会社員であるということ。

「高機能なフレームワーク」の功罪?

そのための一歩は、ものすごく当たり前のことだけど、「疑問を持とうとする」ってメソッドなのかなあと。
浅いようで深いような、根本的。これは「適性」と関連することかもしれません。企業にとって有益なプログラマ(人材)とそうでないプログラマ(人材)の境界は、極論するとそのあたりにあるのかも。
歩きつづける ゆり 咲きつづける

現在、会社組織内で行われているJava Webアプリケーション開発において、フレームワークを一切使わないことなど考えられない。
それは生産性の高さだけではなく、生産物の品質を保証するものでもあるからだ。

だからこそ、高機能フレームワークは使えるがJavaは「書けない」君でも重宝される。
だが、上司・先輩はその彼に対して、彼が絶対的に信じているそのフレームワークに疑問を持てと言わなくてはならない。
なぜなら、部下の可能性を広げるのが彼らの使命であり、フレームワークに疑問を持つことがその第一歩に繋がるからだ。

「そのフレームワークの、原理・思想・アーキテクチャについて説明してくれ」と言うだけで、高機能フレームワークは使えるがJavaは「書けない」君に「疑問を持つ」メソッドを実装することができる。
ただし、そのメソッドの実装がどれほどの品質かは、元エントリにもある「適性」というやつに左右されるかもしれない。だが少なくとも実装させることはできるはずだ。

「疑問を持つ」メソッドが@Deprecatedもしくはfinalizeされてしまっている上司・先輩では、部下にそのメソッドを実装させることは難しいだろう。
そのような上司・先輩が上にいたら(ry
逆に、自分自身が、例えプログラマからリーダーやマネージャになろうとも、そのメソッドを実装し続けていくことが肝要である。

と、(dankogai風に)書いてみたものの、上司・先輩に「俺の可能性を広げてくれ~」と100%頼りきってる奴もどうかとおもうけどね。
まあでも実際そういう奴も育てていかないと自分の首を絞めることになってしまうのもまた事実だったりするのが辛いとこ。

Livedoor クリップのタグ

Livedoor クリップのマイクリップのページのタグ一覧って1000999個までしか表示されないんですね。

タグ数が1000999個超えちゃった僕のクリップ(めそのクリップ)の、「タグで探す」に例えば「xyzzy」と入力しようとしても入力補完が働かなかったのでなんでだろって思ったら、どうやらタグ一覧に表示されていないからのようです。

クリップのブックマークレット実行時のページのタグ一覧には、1837個のタグが表示されているので、恐らくこれが僕のタグの全てなんでしょう。

1000999個しか表示してくれない&補完してくれないってのはちょっと不便だなー。まあ僕のタグのつけ方が悪いのかもしれませんが。

それと、タグの大文字小文字は最初にそのタグを使った人で統一されるって話をどっかで読んだけど、例えば「タグで探す」から「java」で検索した場合、「めそのクリップ (4438) / java (686)」って表示されるけど、「Java」で検索した場合に「めそのクリップ (4438) / Java (0)」って表示されるのも、検索結果は両方ちゃんと同じ表示なだけになんだかなーって感じだ。

ってブログに書いてLivedoor クリップにブックマークしとけば対応されるんじゃないかと思って試してみる。

(追記)
ブクマコメントに数え方の質問があったから、一応僕のやり方を。

$wget http://clip.livedoor.com/clips/meso_name
$grep -E -c "tagcloud[0-3]" meso_name

« 前のページ次のページ »