JAMCircle 0.9.0リリース

8/15にJAMCircle 0.9.0をリリースしましたー。 って元々ダウンロードそんなに多くない上、日本からのダウンロードはほぼ0なアプリケーション。でも、0.8.0からは日本語化してるので、使ってみよう、っていう方はどうぞ。ダウンロードサイトより落としてくだ…

分かりやすいコードってどういう事だろう。構造の観点からつらつらと。

分かりやすいコードとはどういう事だろう。人に「伝わる」コードってどういうことだろう。それはコードを書く人にとって、常に頭の中で考えておいた方がいい、職人気質の原則なのだと思う。(ソフトウェア職人気質やアプレンティスシップ・パターンにそういう…

Windowsでテスト実行直後に結果をGrowlみたいなポップアップ表示する

JUnit実行後にプロセスに通知するプラグイン - Fly me to the Juno!で作ったプラグインは、Windowsでも動作しました。最初Growl for Windowsを試してみたのですが、短時間で何度も通知を表示させようとしたところ、うまく表示させられませんでした。Growlに…

JUnit実行後にプロセスに通知するプラグイン

Mac OSXのGrowl以外の通知システムにもテスト結果を通知できたらなぁ、なんて妄想してましたが、テスト終了後に通知するプロセスを立ち上げれば何とかなるんではないかと思い、プラグインを作成しました。 プラグインの配布元 プラグインのJARです。とりあえ…

JDTのPreferenceStoreをPlug-inを使ってデフォルト値のカスタマイズをするには

Quick JUnitとmockitoをより連携させるために考えていることに、static importをコンテントアシストしてくれるFavoriteへの登録がある。こんな感じ。 既に似たような事をしているプラグインがある。SWTBotだ。なので、 http://github.com/ketan/swtbot/raw/m…

Quick JUnit アイコン募集の途中経過

数日前に募集を始めたアイコンですが、いくつか案を頂きました!ありがとうございます。今月中に少し改善を加えたバージョンをリリースするので、その時にアイコンを使わせて頂きたいと考えています。今日は、どんなアイコンを頂いているのか、ほんとうに簡…

System#exitを呼び出してもVMを終了させない方法

こんな感じででけた。もしこのコードを試すのであれば、ラーニングテストなので、適宜org.junit.Testをインポートしてね。 @Test public void exitしないことを確認しよう() throws Exception { System.setSecurityManager(new SecurityManager() { @Overrid…

Quick JUnitが@ITで取り上げられました!

@ITにQuick JUnitがとりあげられました!岡本さんありがとうございます! http://www.atmarkit.co.jp/fjava/rensai4/devtool16/devtool16_1.html 最初、タイトルを見ただけうれしくなり、本文をしっかり目を通していませんでした。ところが大事なお名前の部…

Javaフレームワーク開発入門はプログラムを書き始めた新人にとって、最初の魔導書になるに違いない

著者のきむきむさん(id:skimura)こと木村聡さんから献本いただきました! Javaフレームワーク開発入門作者: 木村聡出版社/メーカー: ソフトバンククリエイティブ発売日: 2010/07/30メディア: 大型本購入: 19人 クリック: 328回この商品を含むブログ (22件) …

いよいよEclipse3.6(Helios)がやってくる。

後数時間でいよいよEclipse3.6(Helios)がやってきます。(ただいまFriends of Eclipse権限でダウンロード中)今回のリリースでは、39個のプロジェクトが同時リリース。そして初めてe4も同時にリリースです。e4については、後日レポートします。(がんばる)簡単…

10.04でYahoo Japan!の記事フォントが変な件

はてダでも依然中国語フォント?が使われているので、正しい回避法は別にありそうですが、とりあえずめも.fonts.confを作成 <fontconfig> <match target="pattern"> <test qual="any" name="family"> <string>MS PGothic</string> </test> <edit name="family" mode="assign"> <string>TakaoPGothic</string> </edit></match></fontconfig>

JUnitの実行結果をGrowlに通知するEclipse Plugin(2)

id:yamkazu氏とid:nobeans氏からの要望に答え、OKとFailureとErrorでNotificationを切り替えるようにしました。 http://kompiro.org/download/junit.extensions.eclipse.quick.mac.growl_0.2.0.201005272351.jar にあげました。取り急ぎ。

JUnitの実行結果をGrowlに通知するEclipse Plugin

作りました。 Quick JUnitシリーズになるかどうかは相談したいところなのですが、パッケージ等はそうなったらいいなと思ってそうつけました。 http://kompiro.org/download/junit.extensions.eclipse.quick.mac.growl_0.1.0.201005252224.jar に置いておいた…

Growl Java api

cocoa-javaがdeprecatedなので、どこかに行ってしまったGrowl Java APIですが、snow leopardで利用するための記憶メモ。欠けている所はそのときそのとき修正しよう。 必要なもの このサイトからgrowl-java-0.1.tar.gzをダウンロード makeするためにXcode too…

OSGiについての最初の一歩のドキュメントを書き始めました。

GW中にOSGiのチュートリアルというか、最初の一歩を書き始めました。 http://kompiro.org/osgi/ そのうち、もう少し踏み込んだ概略を書くつもりです。

Gitを使っているEclipseユーザが設定しておくと便利な1つの事

EGitなんていうすばらしいプラグインが現在Eclipse.orgで絶賛開発中ですが、残念な事にまだpullやfetchをサポートしてません。なので、他のGitクライアントを併用しながらの開発となると思います。そういうときは下記の設定をしておいた方がいいでしょう。 ……

MacOSX上でQuick JUnitをお使いの皆様へ。日本語クラス名、メソッド名の対応方法

毎年4月25日はQuick JUnitにとって大切な日です。毎年β版をリリースし続けているのもあれなので、リリース版とするために懸案だったMacOSX上でテストメソッド名が日本語メソッド名だと起動しない問題に挑戦しました。調べてみると、その原因はQuick JUnit…

QConTokyo 2010に登壇させていただきました。

QConTokyo 2010に登壇させていただきました。InfoQの翻訳業をする傍ら、このネタがQConにないのはもったいない、と直談判してお話させていただいたのが真相なので、他のスピーカーとは毛色が違います。でなければ、自分が登壇できるはずもないイベントですか…

モジュール化によるコラボレーション

先日翻訳した、Jeff氏のインタビューの中では、モジュール化によるコラボレーションについて軽く触れられています。広い意味でとらえれば、SOAなど、分散システムも大きなモジュールと言うこともできるでしょう。しかし、OSGiのように、一つの環境の中に閉じ…

OSGiとEquinoxを効果的に使う - Jeff McAffer氏とのインタビュー

少し前になりますが、EquinoxのプロジェクトリーダのJeff McAffer氏にJames Sugrue氏がインタビューした記事が、DZoneに上がってました。で、内容があまりに面白かったので、こそっと翻訳しました。DIを考慮したプログラミングモデルがbundle開発にとてもマ…

QCon Tokyo 2010

昨年Spring Frameworkの開発者である、Rod Johnson氏やMartin Fowler氏も講演されたQCon Tokyo。今年も来る4/19、20に開催されることになりました。 参加費が2万円となる早期割引は**3月31日**までです。 これだけのスピーカーが集まるイベント自体そうそう…

Mockitoノススメ テストスタイルの変化

Mockitoを使うようになってから、僕はテストコードへの取り組みが変わりました。Mockitoを使うまで僕がUnit Testと思っていたものは、厳密にはUnit Testじゃないんじゃないか、と思うようになりました。なぜかというと、実装コードを書いていくと、たくさん…

Mockitoノススメ

モックライブラリ使ってますか? 僕はJavaの人なので、主にJUnitを使ってテストコードを書いています。テストコードを書いている最中、「もしこのオブジェクトから例外が帰ってきたら、ちゃんと例外のハンドリングができてんの?」等々、既存のオブジェクトの…

デブサミ2010で登壇させていただきました。

デブサミ2010で発表した資料を公開しました。OSGiのようなモジュールの基盤が、どうして必要で、Javaの世界ではOSGiがモジュール型のアーキテクチャとして現時点で最適な理由が理解していただけたのではないかと思います。「現時点」と書いたのは、実はJava7…

再利用の二つの軸

ゆうすけさんから聞いた、モジュール指向開発の「再利用の二つの軸」が素晴らしかったのでまとめます。ただ、ブログに書いている時点で、自分がモジュール指向開発を進めている経験もあって、その考えも練り込まれてしまっているので、その辺りはご了承を。…

DynamicImport-PackageディレクティブとEquinoxのBuddy Class Loading

GroovyのBundleを見て驚いたのが、MANIFEST.MFに DynamicImport-Package: *と書かれていたこと。これを見て頭がクラクラした。 何が問題? こう書かれてしまうと、OSGi実行環境上で動いているBundleがExport-Packageで宣言しているパッケージのクラスに全てア…

OSGiがエンタープライズアプリケーションに与えるインパクト

Eclipseベースのツールを開発し始めてから3年近く立ちました。1年半くらい前に、SeasarプロジェクトでOSGiサポートをしないのはなぜだろうと、はてダに書いたところ、OSGiはプラットフォームを構成するにはとてもよい仕様だけれど、Webアプリケーションには…

Declarative Serviceとは?

OSGiのサービス連携にはいくつかの方法がありますが、今日はDeclarative Service(通称DS)を見ていきます。 Declarative Serviceとは Declarative Serviceとは、端的にいうと、そのBundleが提供するサービス/利用するサービスをXMLに記述するBundle間のサービ…

Pax Constructを使って、Web Consoleを立ち上げてみる(その2)

HTTP Serviceが立ち上がった事を確認した後は、Web Consoleを入れてみましょう。下記の二つのBundleを、pax-import-bundleを使って追加してみてくだし。 <dependency> <groupId>org.apache.felix</groupId> <artifactId>org.osgi.compendium</artifactId> <version>1.4.0</version> </dependency> <dependency> <groupId>org.apache.felix</groupId> <artifactId>org.apache.…</artifactid></dependency>

Pax Constructを使って、Web Consoleを立ち上げてみる(その1)

今度はPax Constructを使ってFelix Web Consoleを起動するところまでやってみた。Felix Web Consoleについて触れると、稼働中のOSGiコンテナの状況をブラウザを使ってみることができます。 例えばServiceの稼働状況、参照関係、とかもみられます。Felixを起…

Pax Examの使い方

Pax Constructの次はPax Exam、ということで試してみました。今回はを参照しながらやってみました。 Pax Examの目的 Pax ExamはOSGi環境における試験用の環境を構築してくれるものです。*1例えばPax Examを用いてベースとなるOSGiコンテナを切り替えてもBund…

Pax Constructの使い方

Pax ConstructはOSGi bundleの作成や、ビルド等々を助けてくれるスイスアーミーナイフと紹介されています。これからOSGi Bundleを作成するのに便利そうですね!ということで、試してみました。Pax系のツールはMaven2と組み合わせる事で有効にプロジェクトの…

Twitterにテスト結果をつぶやくtwJUnitリリース

TDD Boot Campで作ったtwJUnitですが、bot以外のアカウントでもつぶやけるようにアカウントの設定と、テスト結果をテンプレート形式で指定出来るようにしました。 実行した結果は指定したアカウントに TemplateParserTest OK 12/12 みたいにつぶやきます。更…

Quick JUnit 0.5.0 beta3リリース

2010年元旦にリリースしました。ブログに書くのは2日ですが・・・。 テストコードとプロダクトコードを切り替えたときにカーソルキーが保存されない問題に対応しました。 PDEの起動は別フィーチャに分けました。 最近一押しなMockitoとの連携をする実験的フ…

認証が必要なサイトへアクセスすることを考えてみた

org.eclipse.core.netとorg.eclipse.ui.netプラグインがある環境で、認証が必要なサイトへ接続すると自動でユーザ名やパスワードを入力するダイアログが表示されます。 こういうダイアログが表示されるので、ユーザ名やパスワードが必要な時に入力をうながし…

OSGi勉強会#2を開催しました。

今月初め、OSGi勉強会を東京でやるよー。と英語でつぶやいてみたところ、Neil Bartlettさんから、年末に日本に行くから、トークする場所ないかい?という返信をいただき、準備期間が3週間ない中、開催しました。Neilさん、奥様の里帰りで日本に来られた、と…

TDD Boot Campでコーチ役やらせていただいた。

12/19に行われたTDD Boot Campに参加してきました。前もってid:t-wadaさんからコーチ役のお願いをされたのですが、当日id:agtさんがスカウトされていました。cacooの開発者の方です。そしてMobster Eclipse Pluginの開発者でもあります。そんな方とコーチ業…

DevLOVEでHELP ME!をやってみて、うまくいくのはなぜなのか考えてみた。

DevLOVEでHELP ME!をやってきました。前もって何回か素振りをしてきましたが、今回はテーブルについているメンバーがヘルプミー未経験者のみでした。もしかしたらうまく行かなかったテーブルもあったんじゃないかな、とドキドキしております。プレゼンのテン…

OSGi勉強会【急遽明日12/8】

もう一本告知です。明日OSGiの勉強会をやります。たぶんOSGiって何がうれしいの、とか、何ができんの?それ。とか、こんなことできるん?とか、ざっくばらんに語る会になりそうです。Spring DMの話もあれば、Eclipse RCPやらEquinoxやらの話になりそう。人数…

HELP ME!やります。

なんと。DevLOVE FusionでHELP ME!をやることになりました。 いよいよ今週なんです。土曜日にお時間がある方。ぜひいらしてください。

不要なメニューの隠し方

こんな感じでWorkbenchWindowAdvisor#postWindowOpen()で削除しちゃえば消えちゃった。 public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor { public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configure…

Shibuya.trac温泉開催しました。

11/23にShibuya.trac温泉をタワーホール船堀+東京健康ランドというコンボで開催してきました。まず各々が思い思いに開発を行い、発表し、その後都内でも入れる温泉に入ろう、という企画でした。3連休の最終日で、しかも日帰りという強行軍でしたが、参加した…

業務システムで使うSpring Dynamic Modulesを発表してきました!

今回のテーマは「クラウド」という事でしたが、空気を読まずに熊沢先生の「Modularityを考える - 複雑系のアーキテクチャ」への自分の考えを発表してきました。多分に電波を含んでいたので、質問されるとしどろもどろになっていましたが、今回伝えたかった「…

Spring勉強会 2009年11月19日で話します

今年最後(と言われている)Spring勉強会で話をします。テーマはクラウドでしたが、8月の勉強会で熊澤さんが講演してくれた「Modularityを考える - 複雑系のアーキテクチャ」を聞いて、なぜソフトウェアにModularityが必要なのか、もんもんとしていたものをは…

Kanban vs Scrumを訳しました。

InfoQ Japan 2009で講演されたHenrik Kniberg氏の「Kanban vs Scrum」の翻訳をid:wayaguchiさんと共に行いました。Henrik氏は「塹壕より Scrum と XP」の著者としても有名で、最近はカンバンについても色々話されているナイスガイです。 原本(Kanban vs Scru…

(J)RubuKaigiに行ってカッとなってスクリプティングコンソールをつけた。

数ヶ月前のエントリを今ごろ書くのも理由があって。今年RubyKaigiには初参加だったんですが、刺激受けましてですね。カッとなって作ったものがあるんです。 Console ViewにJAM Circle操作用のirbが立ち上がるっていう(汗)コンテンツアシストつけてみたり(Tab…

いろいろ動作がおかしいGalileo on Karmic Koala

まだまだ鬼門な香りがするGalileo on Karmic Koala。原因はGTK2.18の仕様変更によるものの模様。今のところ報告されているBugへリンクを貼っておこう。 https://bugs.eclipse.org/bugs/buglist.cgi?quicksearch=GTK2.18 GTKが腐ったおかげでQTへの移植熱が上…

Shinjuku.tracにいってきた。

いつの間に改名したんだろう。Shibuya.trac。そろそろ原点回帰として渋谷でやるべきではないのだろうか。 今回も発表をしました。Slideshareに上げました。 どこでもTrac WikiView more presentations from Hiroki Kondo. 発表でXML-RPCを使ってwiki textを…

HT-03Aゲット

思っていたよりはとてもいい。自分はスマートフォンのたぐいを持つのは初めてです。iPhoneユーザーを尻目に思っていたのが、開発環境がMac(しかもLeopard以降)のみ、という敷居の高さ。Androidの場合はSDKをインストールすれば開発できるみたい。LinuxでもWi…

"HELP ME!"をやってきたよ。

セッションオーナーの予想を超えていきいきし始めた参加者たち。最終的にはおいてきぼりなセッションオーナー。締めの一言を表示し忘れるという失態を犯す。 そんな感じのセッションでした。でも参加いただいた皆様にはお楽しみいただけたようです。ご参加い…