2012-01-01から1年間の記事一覧

2012年のふりかえり

うちは28日が仕事納めだったので、すでに年末年始休暇中ですが、この機会に2012年を軽くふりかえってみました。 仕事 個人的には可もなく不可もなくかなと(それでいいのかはさておき)。ある程度年内で区切りをつけて休暇に入れたのでよかった…。周囲で異動…

リソースクラスにGuiceでオブジェクトをDIする(Jersey版)

JerseyとGuiceの連携の例。Jerseyを使うとJAX-RS準拠のRESTfulなHTTPサービスを作ることができる。この時リソースクラス(クラス宣言に@Pathをつけたクラス)は、自動でHTTPリソースとして登録されるので、特別インスタンスを取得することはない。ただ、DIコ…

Arquillianで結合テストをしてみる

単体テスト(JUnit)では起きない(=パスする)けど、システムテストで見つけるのでは遅すぎる、そんな類のバグを結合テストで検出したい。ってことで、Arquillianを使うことにした。毎回ちまちまとやってる同じような回帰テストを継続的に自動実行できるよ…

The transaction is not active!

Transaction is not active: javax.transaction.RollbackException: The transaction is not active! というエラーと奮闘した話(JBoss AS5.1.0GA/Seam2.2/EJB3)メッセージでそのままぐぐればTech Team Lead Newsの記事が見つかるので、トランザクションタ…

CanvasとJSで遊ぶ〜プロローグ〜

pygameでの自己満足ゲーム開発が止まって大分経つけど、浮気してJSに手を出してみようと思う。余談になるけど、最近、無理やり仕事でPythonを使う機会を作ってみて、簡単なプログラムを作ったが、なかなか書けずに苦労する辺り、自分の未熟さを知った…。うー…

JavaからPowerShellを実行するとコマンド(プロセス)が終了しない場合の対応

JavaからWindows PowerShellスクリプトを実行しようとすると、Process#waitFor()がいつまで経っても終わらなくて(powershellプロセス自体も残ったまま)ハマったので、それを回避する方法についてまとめる。以下は、JavaからC:\test.ps1というPowerShellス…

DbUnitをApache POI3.8互換にする

昨日のつづき。修正箇所はそこまで多くなかったので、自前で修正してjarを作ることにした。DbUnitが依存するApache POIを最新の3.8にしてNoSuchMethodErrorを回避する方法。 org.dbunit.dataset.excel.XlsTable org.apache.poi.ss.usermodel.DateUtilをimpor…

DbUnitが2年ぶりに新しくなったので・・・

DbUnit( http://www.dbunit.org/ )の2.4.9がちょっと前にリリースされた。アップデートはもうないものだと思っていたのだけど。DbUnitは、Excelのデータファイルを扱うために利用しているApache POI( http://poi.apache.org/ )を使っている。ただ困ったこと…

pages.xml備忘録

実は、JBoss Tools使わずにSeamアプリケーションを作っていたので、ページ制御は結構いい加減。すでにログイン済みの場合にログイン画面を表示しようとしたら、指定した画面にリダイレクトする、っていう簡単な定義をするのにも四苦八苦…。というわけで、困…

スタンドアロン環境で動くRailsアプリインストール(Rails3編)

Rails3からパッケージ管理にBundlerが使われるようになったので、依存するGemとか気にせずに「bundle install」一発で済むようになった。これはすごく便利なんだけど、非インターネット接続環境でインストールしたい場合には、ちと工夫がいる。Gemfileに書か…

今更のデータベースバックアップ・リストア・移行(MySQL編)

仕事だとPostgreSQLばかりで、あまりMySQLを使ったことはなかったので。とにかく肝は文字化けしないようにすること。 ダンプ mysqldump -u [ユーザ名] --default-character-set=binary -p [データベース名] > dump.sql リストア mysql --default-character-s…

Redmineで複数のプラグインを共存させたり、開発する場合の勘所

Redmineのプラグイン開発。詳しくわかってない人が詳しくわかってないなりに、複数のプラグインを導入する場合のプラグイン開発において、ハマったポイントとかを交え、勘所としてまとめておく。プラグイン開発のTipsやチュートリアルは公式を参照。 develop…

Jenkins ユーザ・カンファレンス 2012 東京に行ってきた

昨日のpyfesに引き続き、今日はJenkins ユーザ・カンファレンス 2012 東京に行ってきた。大変に有意義な1日になったと思う。あと、ノベリティも充実しており、大事に使いたいと思う。企画者、スタッフ、参加者の皆さま、おつかれさまでした。概要は公式サイ…

Python Developers Festaに行ってきた

Python Developers Festa 2012.07に行ってきた。今回が初参加。楽しかった。おつかれさまでした>企画者、スタッフ、参加者の皆さま規模の割にブログが書かれないイベントとして有名らしい。たしかに、プレゼンの半分以上はPython関係なかったし。そんなわけ…

第6回渋谷Rails勉強会に行ってきた

というわけで、最近またRailsを触るようになったので、タイミングよく開催された第6回渋谷Rails勉強会に行ってきた。懇親会(飲食無料)に参加して、帰ってきてこの記事を書いているので、ほろ酔いである*1。久しぶりに名刺交換した。第6回ってことだけど、…

Flotを使ったリアルタイムグラフ更新を少しカスタマイズしてみた

Javascript製のグラフ描画用ライブラリとして、色々あるうち、Flotを使ってみた。他にもいくつか選択肢はあったんだけど、 Ajaxで外部データを取り込んでグラフ描画が可能 以前も使ったことのある実績(簡単に使える) jQuery製であること ひと通りのAPIが提…

トランザクション属性REQUIRES_NEWの落とし穴

トランザクション属性としてREQUIRES_NEWを指定したセッションBeanのメソッドを、別のセッションBeanから何度も呼ぶと、2回目の呼び出しの時にトランザクションタイムアウトが起こるまで、処理が固まってしまう現象が起きた。簡略化すると、以下のようなセッ…

Windows環境にてRESTEasyを使ってJSONレスポンスを返すとUTF-8にならない件

RESTEasyの話。リソースクラスを実装して、JSONレスポンスを返そうとした時に、アプリケーションがUTF-8でなくShift-JIS形式のJSON文字列を返してしまう現象に出くわした(JBoss 5.1.0GA, Seam 2.2)。なお、JSONエンコーディングにはJSONICを利用。ただし、…

CSSでアイコンつきのおしゃれなボタンを作る

新規にWebページを作る時に、見た目の印象をよくしようとして、いつも苦戦するのが入力フォーム、テーブル、ボタンの3つ。 Twitter Bootstrapという選択肢 入力フォーム、テーブル、ボタンをはじめ、WebページのUIについてはTwitter Bootstrapを使うことでだ…

Webエンジニアのための データベース技術[実践]入門

少し前に目にとって気になったんだけど、その時は買わず、ついこの間購入。まだざっとしか読んでないけど、「実践」を銘打ってるだけあって、よくあるデータベース入門書からは一歩進んだ内容。知識の整理とか、(アドホックにDBの知識を身につけてきた自分…

Jenkins, Redmine使いこなし勉強会に参加

Jenkins,Redmine使いこなし勉強会に参加してきた。Redmineについてのkokawaさんの発表は、スライドが公開されていたりするので、ここで改めて書くことはほとんどないんだけど、メモと感想+αだけでも書いておこうかなと。全体的な感想。久しぶりの勉強会参加…

知ってると便利な小技まとめ

今日知ったやつ。 (CSS)display:inline-block インライン要素とブロック要素の中間的な扱い。これを指定しておくと、span要素に対してだってwidth属性を効かせることができる。ブロック要素を回り込みさせて、みたいな面倒な事をしなくてすっきり。いくつか…

フォームの入力項目ごとのヘルプコンテンツを動的に表示・非表示する

Jenkinsで、ジョブの作成や設定などで、画面の右側にあるクエスチョンマークのついたアイコンをクリックすると、ヘルプが表示される例のアレ。私的にすごく気に入っていて(たかが一つの項目の説明を知りたいだけなのに、いちいちPDFやWordのユーザーズガイ…

Domaで作ったエンティティクラスとDBスキーマからDB設計書を作りたい

作ったアプリからリバースエンジニアよろしくDB設計書を自動生成したい。生成されるファイルの形式やフォーマットは不問(第三者が前知識なしに必要な情報を得られれればOK)。 前置き ところで「何でDB設計書がないのか?」というと、正確には、最初からな…

ソフトウェアバージョンの付け方

「これ!」っていうデファクトは分からないけど、アルファ→ベータ→RC→正式リリース(1.0)というスタイルがいいかな。参考:@IT 意外と知らないバージョン表記・数字の豆知識

Jenkinsを使った継続的デリバリー(2)〜Groovyによるインストーラ〜

今までであればインストールスクリプトも、Windows用のバッチファイル、Linux用のシェルスクリプトとそれぞれ作っていたのだけど、少しやり方を変えて、共通のGroovyスクリプトで実行できるようにしてみる。メリットとしては、まずスクリプトが1本に収まるこ…

Jenkinsを使った継続的デリバリー

色々と試しながらやってるけど、楽しい。 Jenkinsを使ってのCIは、Hudsonの頃から使い始めてかれこれ3〜4年になるけど、分散ビルドにまともに手をつけはじめたのは今回のプロジェクトが恥ずかしながらはじめて(つまり、ずっとマスタだけでビルドしてた。中…

開発をより良くしたい人が読んでおくべき10冊

http://www.ryuzee.com/contents/blog/4769 に紹介されていた。記事の内容は知らなかったけど、自分の手元にある本は、 プロダクティブ・プログラマ -プログラマのための生産性向上術 アジャイルプラクティス 達人プログラマに学ぶ現場開発者の習慣 アジャイ…

情報処理試験(受けてきた)

受けてきた。午前は公式で解答が出ているから、マークミスがない限りは通っているだろう。午後Iは問1と問3、午後IIは問1を選択。午後Iはひと通り解答はできたけど、書いたつもりで解答と乖離していました、ってことがよくあるため、なんとも言えない。やっぱ…

情報処理試験

明日は恒例の情報処理試験。なんとか集中力を維持してがんばろう…。