«前7日分 追記

netail.net

自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.

最近のお知らせ (古いものはこちら)


2010-07-28 [長年日記]

_ [ツール] CX-Checker のボタンが足りない

CX-Checker には XPathView という「構文木に関する XPath 式を書いてボタンを押したら即座に該当コードを教えてくれる」便利ツールが付いてるらしいんですが,マニュアルに書いてある「チェック」ボタンが表示されない(?)という問題に遭遇しました.

学生に試用してもらおうとした直後の指摘で,手元で試したところ,選択したソースコードにマッチする XPath 式を表示する「取得」ボタンは表示されているし動作するけれども,他には「クリア」「コピー」ボタンしか表示されないようです.2人揃ってインストール手順等を間違えているのでなければ,CX-Checker 側に何か問題があるのかもしれません.

……とりあえず問題を(学生から)問い合わせ窓口に伝えて,様子を見ることにしました.


2010-07-21 [長年日記]

_ [ツール] CX-Checker 試してみました

授業で学生がC言語のコードを「読みやすく」書きなおす作業をするということだったので,CX-Checkerを試してみました.

一括インストーラでインストールしたら,Cygwin の /bin ディレクトリへの PATH を環境変数に設定してから,Eclipse を起動します.CDT でプロジェクトを作成した後,設定マニュアルに従って,プロジェクトに Cygwin の /usr/include と /usr/lib へのパスを設定しておきます.検査したいコーディングルールを記述した XML ファイルを好きなだけ登録してから,プロジェクトを右クリックして 「Checker」メニューから 「SDB の作成」を行い,続いてソースコードのチェックを実行するだけとなります.設定の半分は CDT の設定に関する部分であり,CX-Checker 自身が要求しているのは Cygwin/bin への PATH 設定とルール集合だけです.設定項目はかなり少なく収まっている気がします.

Cygwin の /bin ディレクトリへの PATH を設定しておかないと java.io.IOException: Cannot run program "cygpath" (プロジェクトのパス名) ... (以降文字化け) というエラーメッセージが出ます.いわゆる「コマンドが見つからない」状態であることがエラーメッセージには明示されていなかったので,解決にはちょっとだけ考え込んでしまいました.また,Cygwin を普通に setup.exe からインストールしていたのですが,make が標準ではインストールされないということに気付かなかったので,こちらも少し引っかかりました.

CX-Checker のツールそのものに関しては,チェックするルール集合が標準では空になっており,「チェックしたいルールだけを追加して使う」という形式になっているので,「学習しながら試す」のに向いている気がしました.変数名の長さぐらいの簡単な検査であれば,MISRA-C 用に書かれた既存 XML ファイル群をそのまま使えますし,「どんな検査がしたいか」考えてカスタマイズすることが可能です.今回は,学部生が授業で書いたプログラムに対して,いくつかの検査ルールを適用するという使い方だったので,既定で大量のルールを用意しているようなコーディングチェッカに比べて,利用しやすかったという印象です.


2010-06-13 [長年日記]

_ [近況] 携帯 機種変更

噂のセパレート携帯 F-04B にしてみました.これは,Bluetooth のキーボード&音声通話用ユニットが裏に合体してるタッチパネル式端末だと思えば分かりやすいかもしれません.それぞれユニット単位では通常の端末より少し軽い気がするものの,両ユニットに電池を積んでるので,全体では重くなってます.

タッチパネル,テンキー,キーボードの全部が付いていること,ディスプレイとキーボードのどちらか一方あれば電話できること(通信そのものはディスプレイ側が担当ですが)が気に入ったポイントです.

_ [近況] 報告

私事ですが,先月,結婚しました.

何か所かでブロードキャストしてたのですっかり全員に伝達したつもりになっていましたが,そうでもなかったみたいなので,今更ながら,ここでも報告しときます.


2010-06-06 [長年日記]

_ [お知らせ][hyCalendar] hyCalendar 1.6.8 リリース

掲示板で指摘された不具合1点を修正してリリースしました.

「周期予定編集ダイアログ」が最初に開かれたとき,その時点で編集中のファイルのデータを掴んだままとなっており,別ファイルを開き直したあとにデータを操作しようとすると実行時エラーになる,という問題でした.

このバグは,少なくともここ2年ぐらいのバージョンで発生するはずです.2つ以上のファイルの周期予定を編集する人が偶然いなかったので,発見されずに来ていたのかもしれません.

_ [VolumeDeskbar] Vector のファイル差し替え

1.1.2 をリリースしていたにも関わらず Vector の公開ファイルを 1.1.1 のままにしてたことに今更気付きましたので更新しておきました.


2010-05-30 [長年日記]

_ [お知らせ][hyCalendar] hyCalendar 1.6.7 リリース

要望で出ていた,別の月の背景色を変更する機能を追加しました.

それから,ほとんど出番がない(気がする)URL ツールバーが標準で非表示になりました.

_ [近況] 開発環境が回復

Windows Vista での開発環境がとりあえず回復しました.ただし,家が職場から遠くなったので,開発に使える時間は減りぎみです.


2010-05-01 [長年日記]

_ [近況] 引っ越しました

引越しの影響により,主要な開発環境であるデスクトップ PC が封印されたままのため,しばらく開発系は身動きとれません.

古い棚を捨てた → 本が溢れた → PC 類展開できないという状態なので,しばらくデスクトップ PC なしの状況が続きそうです.


2010-03-07 [長年日記]

_ [hyCalendar][お知らせ] hyCalendar 1.6.6 リリース

掲示板で指摘された通り,印刷プレビューのフォントが印刷時に適用されなかった問題を修正しました.

また,最近のバージョンでは終了に妙に時間がかかることがあったんですが,この問題も修正しました.ただ,設定ファイルを書き出す処理を改変したので,念のためバックアップを取ることをお勧めします.

_ [hyCalendar] 設定ファイルの書き出し速度の改善

hyCalendar では設定ファイルの書き出しに VCL の TIniFile クラス,実体は WritePrivateProfileString という Windows の API を使っていました.この API は,設定ファイルを項目名と値の組のデータ列として扱い,指定項目だけを選択的に更新するという処理をします.

ところが,設定の全項目を毎回書き出すように実装していたので,設定ファイルが大きくなるに従って,この更新処理に非常に時間がかかるようになっていたようです.私の手元の環境で計測してみたところ,約300項目のデータを出力するために最大で4秒程度使っていました.

1.6.6 の更新では,この処理を一新して,そもそも TIniFile クラスを使わず,テキスト形式で項目と値の組を直接書き出すようにしました.これにより,数十ミリ秒で処理が完了するようになりました.正直なところ,選択した項目だけを更新するなんていう処理がまったく必要なさそうなレベルの高速化です.