Gradleを試行してみて

ここ最近、ビルドツールにGradleを使ってます。Mavenは柔軟性がなく、複雑なことをやろうとすると結局maven-antrun-pluginでAntスクリプトをPOMに埋め込むなんてことになってしまうけど、Gradleはその点自由度はかなり高い。だってGroovyでそのまま書けます…

TracDragDropPluginをChrome7.0betaに対応

id:jun66j5さんが作成された便利なプラグイン、TracDragDropPluginですが、Google Chrome4には対応しているそうですが、自分が普段使っているChrome7.0betaでは残念ながら動かない。デバッグしてみると、HTML5かGoogle Gearsの判定がうまくいっていない模様…

チケット複製プラグインにさらにちょっと機能追加

本当にちょびっとだけ機能追加です。任意のコメントを追記できるようにしただけ! ソースはShibuya.tracのリポジトリにあげました。http://sourceforge.jp/projects/shibuya-trac/wiki/plugins/TicketClonePlugin

HashMapのマルチスレッドアクセス問題 - getに対する同期化は忘れがち?

HashMapのマルチスレッドアクセス問題は、これまで色んな記事やBlogで取り上げられてますのでかなり有名ですよね。例えば以下とか。 ThreadとHashMapに潜む無限回廊は実に面白い? (1/3) - @IT HashMapと無限ループとsynchronized - 谷本 心 in せろ部屋 複…

チケット複製プラグインにちょっと機能追加

Edgewallがサンプルとして公開しているチケット複製プラグインのticket_clone.pyにちょっと機能追加してみた。元々のticket_clone.pyは、チケットの詳細画面に"Clone"ボタンを追加し、クリックすると複製元のチケットデータが入力された状態で新規チケット作…

ITemplateStreamFilter#filter_streamでHTMLテンプレートを使用する方法

良く忘れるのでメモっておきます。 ITemplateStreamFilter#filter_streamでHTMLを動的に追加したい場合に、HTMLをpyファイルにハードコードするのではなく、HTMLテンプレート化したい場合があります。特に、結構複雑なHTMLになってくるとテンプレート化した…

PythonでHTTPS接続する

python2.5だと素直にできないらしい。 urrlib2 opener for SSL proxy (CONNECT method) « Python recipes « ActiveState Code に参考ソースがあった。コメント欄に以下のパッチが書かれていたのでそれを取り込みつつちょっと手直し。 HTTPSのリダイレクト対…

Faceletsで画面が正常にレンダリングされない現象

JSF

悲しいことに3時間ほどはまってしまったので、メモっておく。 現象 JSF 1.2 + Faceletsの構成のWebアプリで、画面が正常にレンダリングされない。 私が遭遇したときは、初回アクセス時の画面は表示されるが、そこからボタンをクリックしてアクションを実行し…

再考・Maven2+Hudsonによる1clickリリース管理

前回簡単にまとめた方式ですが、運用してみて大きな落とし穴がありました。まぁMavenの制約なんですけど、、、本当、Mavenって飼い慣らすのが大変。 前回の方式の問題点 前回まとめた方式では、バージョン番号を変数とする方式としていました。 具体的に、以…

Maven2+Hudsonによる1clickリリース管理

現在関わっているとあるプロジェクトでは、maven-release-pluginを使用してリリースビルドを行っていました。maven-release-pluginを組み込んだプロジェクトをHudsonからキックすることで、リリース用のアーカイブを作成し、リポジトリにアップロードしてい…

Java EE 6のEL式の強化

JavaEE 6 では、EL式が何気に強化されてます。実は、EL式でメソッドコールができるようになってます。 しんさんの出張所でも紹介されてますが、これが標準で入るのはかなり良い感じ!例えば、、、http://d.hatena.ne.jp/Hirohiro/20100126/1264507979:title=…

初めてのJava EE 6 (JSF 2.0)

しばらく間があいてしまいました。今回はJava EE 6に含まれているWebフレームワークであるJSF2.0を簡単にさわってみたいと思います。JSFは、前バージョンのJava EE 5からJava EEに含まれるようになりました。つまり、Java EE準拠のアプリケーションサーバで…

GlassFishのホットデプロイ時間をみてみる(CDIバージョン)

前回はEJB(Stateless Session Bean)のホットデプロイ対象を見てみましたが、CDI(旧WebBeans)でsimple bean*1だとどうなるのかみてみました。試したSimpleBeanは以下のような、メソッドが1つのコードです。 package org.example; import javax.inject.Named; …

初めてのJava EE 6 (Servlet + CDI(WebBeans))

前回では、Servlet + EJB 3.1という組み合わせのサンプルを試しに作ってみました。今回はServlet + CDIです。 CDIは、http://d.hatena.ne.jp/Hirohiro/20091228/1262006216:title=というマニアックなエントリで既に登場していますが、知らない人は全く知らな…

GlassFishのホットデプロイ時間をみてみる

EJBの嫌われている点として、デプロイ時間があります。アプリケーションサーバの実装によるのですが、数が増えるととてつもなく遅くなってしまう場合もあります。 GlassFishのホットデプロイはかなり速い感じではありますが、EJBの数を増やすとどう変化する…

初めてのJava EE 6 (EJB3.1)

前回はセットアップからServlet作成まで試してみました。Java EE 6ではServletは3.0となり、web.xmlに書かなくてもServletとして定義できるようになりました。ただ、Servletを書くなんて事は今やほとんどないかもしれません。Javaに限らず、Webアプリは何か…

初めてのJava EE 6 (セットアップ〜Servlet)

ふと、Java EE 6ってもうリリースされてるんだなぁと思い、ちょこっと触ってみた。Java EE 6を今触るならNetBeansの方が良さそうだけど、今回は使い慣れているEclipseでチャレンジです。Eclipseで今Java EE 6を触ってみるなら、GlassFishのプラグインを使う…

MailArchiveExt拡張中

WorkTimePluginはちょっと一休みです。Trac温泉で作成したものは若干ブラッシュアップしたんだけどWikiに書いていない。早くShibuya.tracに書かないと。 最近は細々とMailArchiveExtを拡張中。そろそろ某翻訳作業もやらないといけないなぁ...MailArchiveExt…

Shibuya.trac温泉に参加

自分は、WorkTimePluginを拡張することに 締め日を指定して月間レポートを出力するTracMacroを作ってみる 結婚準備で最近はいじってなかったので、自分のコードを理解するのに午前中の大半を費やす... 反省して、今回修正したところはテストコードも少し書い…

mvn cleanでファイル削除で失敗する

mvn cleanでファイル削除しようとすると、以下のINFOログとともに削除に失敗する現象が発生してしまう。 [INFO] Failed to delete directory: ・・・ mvn clean install release:clean release:prepare release:performと一気に実行した場合に、release:prepare…

Mac OSX(Snow Leopard)でTrac0.11.5.ja1+PostgreSQL8.4環境を作ったよ

WorktimePluginをPostgreSQLで使ってみたい方がおられるので、対応を試みるために、MacにPostgreSQL環境を作りました。ちなみにPostgreSQLを触るのはこれが初めて!構築中に結構はまってしまったので、せっかくのでメモっておきます。誰かの役に立つと良いで…

PySQLite2.4.1+でマルチバイトを扱う時の注意点

うちのMacで、MailArchiveExtPluginでTracに日本語メールを取り込むと、以下のエラーが発生するようになってしまった。 ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like t…

WorkTimePluginの状況

DQ9に負けずに進んでおります。 レポート機能 特定のチケットのフィールドで集計し、月ごとに各ユーザの合計作業時間を出力 レポートは、CSVファイルにエクスポートすることも可能。主にExcelで加工すること想定。 Burndown Chartの表示(お試し版) twitterで…

WorkTimePluginの連休中の進み具合

連休はDQNで忙しくてあんまり開発できず... 追加機能は、権限による制御を可能にしたくらい(今までは誰でも他人の時間を入力できる状態になってました)。以下の3つの権限を追加してます。 WORKTIME_MODIFY … 自分の作業時間入力を行う権限 WORKTIME_ADMIN ……

TracReportsのテーブルorグラフの非同期描画対応

ReportIncludePluginに機能追加。重いSQLがあると、マクロを貼付けているWikiページを開くとしばらく固まってしまうので、SQL発行->テーブルorグラフ描画を非同期でやってみた。忘れそうなので実装メモを書いておく。 マクロが返す内容は、Ajaxによる非同期…

作業時間記録

Shibuya.tracのWikiに簡単に機能紹介を書いておいた。フィルタリング機能は、クローズを含む/含めないだと、チケットが膨大になってくると使えなくなると思われるので、今月クローズされたものを含む、1月前クローズされたものを含む、2月前、3月前、全て、…

作業時間記録プラグインの状況

DQNにやられっぱなしですが、ちょっとずつプロトを作ってます。 表示するチケットのフィルタリング、グループ化を設定できるようにした。 フィルタリングは、特定ユーザの担当のチケットの表示に加えて、 クローズチケットも含む CCとなっているチケットも含…

久々に更新

DQNにはまっているせいで中々更新できていません。。。ReportIncludeプラグインの方ですが、ちょっとだけ更新してバージョン0.2として密かにコミットしておいた。変更内容 凡例の表示位置を、legendLocオプションで指定できるようにした。グラフと重なって見…

worktimeplugin進まず...

今更だけどDQ9買ってしまったので進まずorz現状のプロトはこんな感じ。 コンポーネントorタイプorマイルストーンごとに分類してツリーテーブル表示 jQuery treeTable Pluginが偉いだけです クリックするとその場で時間入力可能に jQuery in place editorが偉…

1 click build !!

最近Trac話ばかり。たまには違う内容で。とはいってもMavenネタですが。ずっと実現できてなかった1 click buildがようやくできる環境になりました。maven-release-plugin(が内部て使用しているMaven SCM)の問題が解決されていて、2.0-beta-9に上げると直っ…