torutkのブログ

ソフトウェア・エンジニアのブログ

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

Enum型と整数型との相互変換

Javaで従来定数はstatic final intで定義されていました。例えばJava Communications APIでシリアルポートのデータビット数は、SerialPortクラスにおいて public static final int DATABITS_5 5 public static final int DATABITS_6 6 public static final i…

シリアル通信処理をJavaで

組み込み系ソフトウェア開発では、機器間の通信にシリアル通信(RS-232C)を使用することがよくあります。そのため、試験ツールとしてRS-232Cを使うプログラムを作りたいことがあります。 シリアル通信がテキスト(ASCII文字)であれば、各種ターミナルソフ…

ACE+TAO

C++

年内に予定されている次のリリース(1.6.2)において、Visual Studio 2008がサポートされる予定。 ACE_InputCDR, ACE_OutputCDRクラスの調査 2008.1.13修正 ACEでソケット通信は簡単に記述できるようになりますが(特にUDPは!)、異なるエンディアンのプラッ…

シグナル・スロットとは

C++

Qtのシグナル・スロット、libsigc++、Boost.Signalなど、C++ではシグナル・スロットの概念を実装するライブラリがいくつか利用できます。 このシグナル・スロットはどんなものかをよく解説している記事(英語)があります。 http://scottcollins.net/article…

アノテーション情報のクラスファイルへの格納

先月実施したJava読書会での宿題の残りの調査。 アノテーションを付けた要素はどうクラスファイルに格納されるかを調べました。 javapコマンドによるクラスファイル解析 まず、javapコマンドで-verboseオプションをつけてクラスを解析します。 $ javap -verb…

jpsコマンドで何も表示されない

本日開催のSun Tech Daysのハンズオン「NetBeansプロファイラでのメモリリークの検出」で、実行中のJavaプログラムにアタッチしてプロファイルする操作ができなかった。コマンドプロンプトから、jpsコマンドを実行しても何も出ない(jps自身のIDも出ない)。…

Java Persistence APIをJava SEで使う

本日のSun Tech Daysで、Java Persistence APIのセッションを聞いて、Java SEで使ってみようかなと思い、Java SEで使えるJPA実装を少し探してみたメモ。 Java SEで動きそうなJPA実装群 TopLink Essentials - The Java Persistence API Implementation at Gla…

オープンソースプロダクトのビルドメモ

JBoss AS 4.2.2GA ビルドツールにAntを使用しています。 用意されたスクリプトを実行したらビルド完了。とっても簡単でした。JDK 6でビルドするとエラーが発生します。JDBCのAPIがJDK 6でVer.4.0にアップしましたが、互換性のない変更(インタフェースにメソ…

Java/C++ビルド時間(続)

id:torutk:20071104のビルド時間比較の続き、C++のACEを単独でビルドした時間を計測。C++がコードサイズに指数的にビルド時間がかかるのではないかと推測。そこで、ACE+TAOの一部分であるACE部分だけビルドした時間を計測しました。また、同規模のJavaプロダ…

Sun Tech Days初日

11月6日(火)から3日間、Sun Tech Daysが久々に日本で開催されます。 初日は特別イベント「JJUG Cross Community Conference 2007 Fall」のなかで、コミュニティ・ライトニングトークにJava読書会として参加します。5分間でJava読書会を語るのに、何を話せ…

Java/C++100万行規模ソフトウェアのビルド時間比較

JavaとC++のビルド時間を比較してみようと思いました。そこで、規模が大き目で、かつコード量が近いJavaとC++で書かれた2つのソフトウェアを選び、これらをビルドするのにかかる時間で比較してみました。C++はコンパイルに時間がかかるのは予想していました…

Eclipse 3.3.1がリリース

マイナーバージョンアップしていました。3.3のメニューから更新後、起動したらエラーになってしまいました。org.osgi.framework.BundleException。うーむ、消して入れなおすのかなぁ。。。

NetBeans 6.0上でFindBugs, PMD, Checkstyleを(続)

id:torutk:20070907で紹介したNetBeans 6.0用品質解析ツールのプラグイン・プロジェクトSQEが、Beta 1でインストール可能となりました。 https://sqe.dev.java.net/ 適用ルールのカスタマイズができるのはFindBugsだけのようです。PMD、Checkstyleについて適…

OpenOffice 2.3日本語版

こちらもバージョンアップしています。さっそく入れ替え。

JDK1.5.0_13、JDK6 Update3

マイナーバージョンアップしています。さっそく入れ替え。

Microsoft Word/Excel 2003のデータをJavaから作成

「JavaプログラムからWord/Excel文書を操作する」 http://www.itarchitect.jp/technology_and_programming/-/10977.html POIではなく、Office 2003から導入されたXML形式でのWord/ExcelデータをJavaから作成・操作するもの。XML Schemeで定義されたWordproce…

CppUnitをVisual Studio 2005で

C++

「C++開発者のための単体テスト入門」 http://www.atmarkit.co.jp/fdotnet/cpptest/cpptest02/cpptest02_01.html Visual Studio 2005でCppUnitをビルドしテストを実行できるよう環境構築する内容を解説した記事です。 Visual C++ 2005 Express+Platform SDK…

Javaでの時間(絶対時刻、相対時刻=時間)をどう表現するかを考える

一見たいした課題と思っていなかった時間の表現ですが、深入りしてはまってしまいました。Javaでストップウォッチ機能を持つ時計プログラムを作ってみようとしたところ、2つの時刻の差(時間)の表現で深みにはまってしまったのです。 時計に必要な機能 ま…

NetBeans 6.0のJava Desktop Application

NetBeans 6.0では、JSR-296(Swing Application Framework)が標準搭載され、しかもこのフレームワークを使ったデスクトップ・アプリケーションのプロジェクト構成(Java Desktop Application)が組み込まれています。新規プロジェクト生成で何が生成されるのか…

NetBeans 6.0からBean Patterns機能が削除

JSR-296(Swing Application Framework)およびJSR-295(Bean Bindings)が搭載されたNetBeans 6.0ですが、Beanを自分で作るのに以前あったBean Patterns機能が削除されました。http://beans.netbeans.org/JSR-295で画面とデータを結びつけるには、データを持つ…

Thunderbirdの返信で「さんは書きました」

つい最近メーラーをThunderbirdに変えてみました。で、英語のMLに返信しようとすると、引用文の先頭に「XXさんは書きました:」と日本語が・・・しらべてみると、変更方法は簡単にみつかりました。以下で非常に分かりやすく方法が解説されています。 http://b…

JSR-296のリソース注入の仕様へコメント

ちょっとした追加希望があり、JSR-296のMLへ投稿してみました。 リソースファイルからフィールドへ値をインジェクションする機能がJSR-296にはあります。@Resourceアノテーションをつけたフィールドに、リソースファイル(プロパティファイル)に定義された…

NetBeans 6.0追加プラグインを手動でインストール

クローズなネットワーク環境のマシンにMercurialプラグインを追加しようとしたのが発端です。NetBeans 6.0のプラグイン・アップデートはマシンがインターネットにつながってい ない環境での方法が見当たらず、ちょっと困ったことになりました。 5.5(5.0?)…

Mercurial

WindowsでのMercurialは一通りさわってみたので、分散リポジトリを試すべく、CentOS, Solarisの各マシンにMercurialをインストールしました。 CentOS CentOS 4.4(x86)へのインストール まずpythonをアップデート。CentOS 4.4の場合、Pythonのバージョンは2…

Checkstyle、PMD、FindBugsの最新IDE対応状況メモ

NetBeans 6.0(daily build)およびEclipse 3.3(europa)に、checkstyle、PMD、FindBugsを組み込んでみようとしばらく試行錯誤していました。 NetBeans 6 daily build NetBeansにコード欠陥検出ツールなどの品質向上機能を組み込むSQEプロジェクトがjava.netで…

JSR-296 Ver.0.60およびVer.1.0リリース

https://appframework.dev.java.net/8月25日付で、JSR-296の参照実装Ver.0.60がリリースされました。Ver.0.5xはSubversionリポジトリ上でのリリースのみなので、しばらくぶりの更新となります。また、今回パッケージ名を、従来のapplicationからorg.jdesktop…

今月の2時間で学ぶJavaホットトピック(2007年8月号)

昨日8月22日(水)に開催された「今月の2時間で学ぶJavaホットトピック」に参加してきました。 http://jp.sun.com/company/events/2007/000047.html今月のテーマは 今さら聞けないシリーズ(Java3D) NetBeans 6最新情報 Sunシリコンバレーオフィス訪問 の3…

Mercurial

SCM

昨日のJava読書会の昼食か2次会のときに出た話題。Pythonで記述された分散リポジトリのバージョン管理システムMercurialというのがあるそうな。 調べてみると、OpenSolarisやJava Platformのバージョン管理にも使われているとのこと。ちょっと着目してみよう…

Java読書会のフォローアップ

昨日開催されたJava読書会のフォローアップ(宿題や調査事項) コンパイラでのインライン展開 Eclipseの内蔵コンパイラはprivateメソッドをインライン展開するオプションがあるという話しが出ていました。そこで、Eclipse(3.3)をインストールしてコンパイ…

NetBeansでFindBugs

NetBeans用FindBugs Plug-inが出ているようです。まず、NetBeans 5.5.x用のFindBugs plug-inのインストール方法が以下で紹介されています。 https://grizzly.dev.java.net/tutorials/findBugs-nb-tutorial/index.html上記はNetBeans 6ではNGなので、NetBeans…