2009-01-01から1年間の記事一覧
Javaで作られたプログラムでは、環境変数JAVA_HOMEを要求するものがあります。Linuxの場合、標準で搭載されるGCCのGCJはバージョンが古い、互換性の問題で実質はSunのJDKをダウンロードしてインストールするのがほとんどでしたので、JAVA_HOMEはほぼ固定(/u…
「継続的ビルド」ツールのHudsonについてのメモです。以前、自動ビルド環境とHudson - torutkのブログで、Hudsonの最初の一歩について書きました。その後、Red Hat系OS向けにRPMパッケージ形式で提供されるようになり、今回RPMパッケージを入れて稼動させる…
実は、チケット駆動開発はいいなぁと思いつつ、チケット駆動開発は習慣化が必要で、習慣化するまでは非常に努力を要するため、今までちっとも実践できずにいました。最近、地理的に離れた複数拠点で、しかもネットワークが断絶に近い状態で、同一ソフトウェ…
Linuxで、USBメモリが挿されたことを検出して処理を実行したく、調べてみました。 GNOMEが立ち上がっていると自動でマウントするので、マウントポイント(一般的には/media/disk)をポーリングする dmesgのログを解析する(/var/log/messagesに出されるkerne…
Java読書会BOFは、10月で「Filthy Rich Clients」が読了したので、11月からの読書会の課題図書を選出し、以下の書籍に決まりました。11月14日(土)が第1回目となります。申し込みはJava読書会BOFのWebサイト上からどうぞ。 http://www.javareading.com/bof/…
CentOS5.3にccacheを入れてみました。EPELサイトにバイナリパッケージがあるので、/etc/yum.repos.d/にepelのrepo設定ファイルを置いていれば、yum install ccacheでOKです。実際、どの程度早くなるのかを試すべく、log4cpp-1.0をビルドして測ってみました。…
Pythonでライブラリparamikoを使ってSSH接続を行う際、Windows上で以下の問題が発生しました。 WindowsXP, ActivePython2.6, paramiko 1.7.5での問題 C:\>python ActivePython 2.6.3.7 (ActiveState Software Inc.) based on Python 2.6.3 (r263:75183, Oct …
ActivePython 2.6付属のPythonWin応答なし問題解消 いきなり固まった。ここに回避方法があります。メモhttp://noritan-micon.blog.so-net.ne.jp/2009-02-28 MeadowでPython編集 あれ、拡張子.pyのファイルを開いてもFundamental-modeのままだ。M-x python-mo…
Bazaarを使い始めて、diff・mergeにGUIなツールがほしいと思っていたところ、meldというツールがあるのを知りました。また、bazaarのコマンドからmeldを起動する方法があります。 Meld CentOS 5/RedHat Enterprise Linux 5では、EPELリポジトリにmeldがあり…
Java読書会BOFは、今月の読書会で「Filthy Rich Client」を読了し、来月(11/14開催)から読む新しい書籍の投票に入りました。開かれた読書会を目指すべく、常連だけに固まらないよう配慮してきたつもりですが、今年に入って新しい人の参加が少なくなってき…
CVSやSubversionにおけるViewVCのように、Bazaarのリポジトリ情報をWebブラウザで可視化するツールが、loggerheadです。https://launchpad.net/loggerhead/+download 依存パッケージのインストール pythonで書かれており、以下のpythonパッケージが必要です…
以下の組み合わせでは、Redmine.JPサイトのFAQRedmine.JP | PDFおよびCSVの文字化けを回避するにある設定をしても、日本語の文字化けが解消されません。 CentOS 5.3(LANG=ja_JP.UTF-8) Ruby 1.8.5 Redmine 0.8.5 解決策は、Rubyのバージョンを上げることで…
背景 C++は、コード規模の増分に対して指数的にコンパイル・リンク時間が増大します。 以前、C++とJavaのビルド時間比較で調査したデータid:torutk:20071104と、id:torutk:20071107から、C++のコード規模によるビルド時間の違いをまとめ直したのが以下の表で…
UNIXの伝統的なセキュリティ制御では立ち行かない今日では、SELinuxによるセキュリティが不可欠ですが、使わないと覚えないので、あえて有効のままにしています。 いつの間にか、apacheのWebディレクトリにsambaからアクセスできない 当初、Web用ディレクト…
id:torutk:20090301 の最後で少し言及したJPackage、これは少々理解が間違っていたようです。SunのJDK(RPMバイナリ)をLinuxにインストールした後、JPackage(RPM)をインストールすると、alternativesの仕組みに沿ってJDKの切り替えができるようになります…
「継続的インテグレーション」ツールHudsonを使った最初の一歩です。新しいツールは使いはじめるのに敷居があるので、Hudsonにおける敷居を越える参考にと日記をしたためてみました。 前置き 現在のプロジェクトでは、毎週リリースを行っているのですが、有…
仕事で担当している今のプロジェクトは開発も大詰めを向かえ、試験に入っていく今後、いろいろなツールを作っていくことになると予想されます。そこで、各自が好き勝手な言語でツールを作ってしまうと人の作ったツールはいじれない、中が分からなくなる、な…
Grailsでレガシーデータベース(既に作られているリレーショナル・データベース)を扱うWebアプリケーションを作る際に出てくる課題の1つが、複合キーの扱いです。Grailsの売りである(Ruby on Railsが発祥の地ですが)scaffoldを使おうとすると、主キーとし…
Grails をマスターする: Grails のイベント・モデルの記事に沿ってGrailsの習得を進めます。id:torutk:20090726の続きです。 ビルド・イベント 記事の記述にある、GRAILS_HOME/scripts/Clean.groovyを実際に見ると、内容が違っています。Grails 1.1で変更に…
Grails をマスターする: Grails とレガシー・データベースの記事に沿ってGrailsの習得を進めます。id:torutk:20090725の続きです。 一つ記事を飛ばしました Grailsをマスターするシリーズは、前回読んだGrails をマスターする: Grails サービスと Google Map…
Grails をマスターする: Grails サービスと Google Mapsの記事に沿ってGrailsの習得を進めます。id:torutk:20090722の続きです。 サービスのクラス生成 Grailsは、MVC(Model/View/Controller)に相当する、ドメイン、ビュー、コントローラの3つに分割する…
id:torutk:20090720の続きです。Flightのcreate.gspに、IATAコード入力フォームを追加する作業でページを表示するとエラーが発生していましたが、再度 grails generate-views Flight でGSPを生成しなおしてから変更作業をしたところ、エラーが発生しなくなり…
Grails をマスターする: Ajax をほんの少し加えた多対多の関係の記事に沿ってGrailsの習得を進めます。id:torutk:20090719の続きです。 ドメインクラスFlightを追加し、多対多のモデルを構築する 今までの記事で扱っていたサンプルアプリケーションtrip-plan…
Grails をマスターする: Groovy Server Pages によるビューの変更の記事に沿ってGrailsの習得を進めます。id:torutk:20090718の続きです。 コントローラとビューの生成を実行時に動的ではなく事前生成に変更し、生成された内容を読む 前回までは、Grailsの簡…
id:torutk:20090714:p1の続きです。残っていた「GrailsのORM DSL」(レガシーデータベースの使用)と「DataSource.groovy」を読みながら動かしてみます。 GrailsのORM DSL ドメインクラスにstatic mapping = {...} と記述して、ドメインクラスがマッピングす…
Grails をマスターする: GORM: おかしな名前の真面目な技術の記事に沿ってGrailsの習得を進めます。id:torutk:20090711:p2の続きです。 ドメインクラスAirlineの追加 先に作成したドメインクラスTripと1:多の関係となるAirlineクラス作成します。ドメインク…
先日、GrailsのDBをSQLiteに対応させようといろいろ試したときに、メジャーな(?)SQLiteのzentus版では2回目のGrails起動でドライバが未実装のメソッドを叩いて例外がスローされ停止する問題がありました。 id:torutk:20090711gwenn版SQLiteJDBCドライバは…
id:torutk:20090622の続きで、GrailsからSQLite3データベースを使う方法の模索です。GrailsはデータベースマッピングにHibernateを使っています。Hibernateは残念ながらSQLiteをサポートしていません。そこで、HibernateにSQLiteを扱わせるため、org.hiberna…
Grails をマスターする: 初めての Grails アプリケーションのビルドの記事に沿ってGrailsの習得を進めます。最初はGrailsのインストールです。 インストール Javaはいつでも最新版(現時点ではJDK 1.6.0_14)を入れているので、Grailsだけインストールします…
Grailsを使ってみることにしたので、その取り組みを日記に残します。 きっかけ 自分ですべて面倒見れる規模のアプリケーションなら、RDBMSなんてまず使わないのですが(オンライン系、あるいは監視・制御系システムが多い)、今回はアーキテクチャが決まった…