tech

StringEscapeUtils

XMLやHTML に格納するデータにうっかり「&」とか混じったときのために. XML:escapeXml HTML:escapeHtml SQL:escapeSql Java:escapeJava なんかに使えるようです.Commons 様々です.

直交表の作り方が理解できない

HAYST法とかいうやつで正しくテストケースを組めばテストケースの数を多くせずにバグの発見率も落とさずに済むらしい。是非組んでみたいのですがL64とかのケースをドキュメントとかを見よう見まねでやっても正しいのかよく分からないです。製造業分野などの…

Google サービス

最近使い始めたWebサービス Google Reader 効率良く情報収集をしないと時間が勿体ないなぁと漸く思い出したのでRSSリーダを色々探した結果、Google Reader を選びました。GoogleLab のサービスなので消える可能性もありますが、Google の検索機能とセットで…

Unicodeの全角ハイフン

全角ハイフン「−」(これはUnicode2212)をWINDOWS-31J とUTF-8 の間で変換やら何やらしてるとUTF-8からWINDOWS-31J に変換できませんでした。 UnicodeでもMS系と標準系で全角ハイフンに割り当てられているコードが違うんですね。 って何でMS系とかあるんで…

Strutsと防御的コピー

久し振りにJava。FindBugsというフリーのコードチェックツールを使ってStrutsのActionFormサブクラスをチェックしたら配列のメンバ変数が防御的コピーになっていないと怒られました。が、下のように防御的コピーを施したら動きませんでした。FormがHttpリク…

commons

最近文字列を扱うことが多いのでJakarta commonsのStringUtilsにかなりお世話になっている。例えばループ処理で改行して最後の行だけ改行を落とす場合とかにStringUtils.chomp()で消したりとか。空文字、NULLチェックにisEmptyかisNotEmptyを呼ぶだけでOK。…

Ruby

最近始めました。オブジェクト指向なスクリプト。Pythonも悪くはなかったけど日本語のドキュメントとか書籍は流石に充実してるしクロージャーとか随所に面白そうな機能があったのでこっちに。Webアプリとかを作る前にログ解析とかバックアップなど日常のちょ…

APIの設計と柔軟性

APIの設計・実装をしていて色々思うことがあった。API提供の目的の1つとして 内部の複雑な実装を隠蔽化してライブラリなどの利用手段を提供する というのがあると思う。 これはつまり 余計な実装付加を減らして効率的な開発を促進させる ということでもある…

MacIntelでJDK5を使う&Eclipse3.2を起動

JDK5.0を使う MacIntelには最初からJDK5が入っていたのでデフォルトの設定を1.4から5.0に変える。ターミナルで cd /System/Library/Frameworks/JavaVM.Frameworks/Versions sudo ln -fsh 1.5.0 CurrentJDK で終わり。 Eclipse3.2をMacIntelで起動させるには …

URLエンコーディング

Servletで日本語がリクエストに混じるときにTomcatでは他の文字コードで送信されるので化ける。文字エンコードをするならserver.xmlのConnector要素に以下の一行を追加してURLエンコーディングをすること。あんまり日本語を混ぜないでほしい。

辞書プラグイン

FirefoxのプラグインでDictionarySearchというプラグインを最近,非常に重宝している。調べたい単語を選択して右クリックで使用したい辞書サイトを選択すれば検索結果が出てくる。いつも使うアルクのページも利用できる。

リファクタリングとドキュメント

テスト→改修→ちょっとリファクタリングの日々。JUnitのおかげでかなりリファクタリングがやりやすくなった。がドキュメントが全然かけない。XP開発では基本的に開発中のドキュメント作成はいらないって言う風に解釈してしまえるのですが,やっぱり引き継ぎと…

MacBinaryとJavaのファイル作成日,更新日

MacBinaryではファイルの作成日時と更新日時のデータは1904年1月1日00:00:00から経過した秒数で保持されている。JavaではFileクラスでは作成日が触れなくて更新日のみsetModified()で触れる。ただし1970年1月1日00:00:00から経過したミリ秒で保持されている…

CVSの恐怖

やってしまった。CSVでテストコードの一部を消してしまった。タグを付けていたので何とか復旧したけど大分周りに迷惑をかけてしまった。Eclipseでプロジェクトを別にして一部機能をテストしていたところ,ある部分を横着して元プロジェクトからフォルダごと…

正規表現

今日は正規表現で半日潰れた。そんなときに限って別の改修が続々とくる。Javaでも正規表現のためのライブラリが色々あるんですね。結局jakartaさんの力は借りずにPatternクラスとMatcherクラスで凌いだ。後々嫌な予感がしてならない。 『ORO』http://jakarta…

Singletonで単体テスト

久しぶりにJava。Singletonパターンをつかったクラスで設定をしているprotectedメソッドをオーバーライドした上で単体テストをどうやるかで困っている。 public class SomeClass{ private static final SomeClass instance = new SomeClass(); private SomeC…

firefox + flush

flushをアップデートしたらflushアニメーションが出ない。Googleで検索してみたけどそれらしきものはないし,俺だけか?firefoxを再インストールしたら戻った。

JUnitとWBS

JUnitでテストと同時に開発をしてみる。XP開発はきっちりと分かってるわけではないのでメソッドの入出力テストようにテストクラスを実装してみた。それだけでも気づかなかった設計上の問題点を見つけることができるので使えるなぁ。WBSでスケジュールを引く…

Yahooカレンダー+Outlook2003

スケジュール管理用にYahooカレンダーと職場のOutlook2003を同期させるようにした。どうしても忘れると困るものにはYahooカレンダーでリマインダーをセットする。SunbirdとiCalで管理してたけどSunbirdは中々アラームでメールを飛ばす機能が実装されないので…

CafeOBJ

仕様を自然言語で記述するとどうしても曖昧さが出てしまう。CafeOBJは仕様を数式で記述することで曖昧さを削除し,さらに仕様の検証ができるらしい。これの言語覚えるのが割りと大変そう。最近テストファーストをやってみたくてJUnitやら色々勉強中。要はテ…

フロック

10月に公開予定の次世代ブラウザー。検索,ブログ,Wikiとかのウェブサービスを共通のインタフェース(この場合はツールか?)で利用するためのものらしい。どんなもんか,よう分からんけどちょっと見てみたい。 http://www.flock.com/home/

リッチクライアント

最近Webアプリの開発をしていて感じるのは機能面の問題と操作性の問題がどうも切り分けて考えれていないのではということ。お客さんのクレーム・要望=機能の不足,仕様の問題になりがちだけどもそうなんでしょうか?実はコアレベルでは実装できることはたく…

テストドリブン

今度の開発はJUnitを使ってテストドリブンでやってみようと思う。といってもJUnitはまだ使い慣れていないので何かないかと思っていたらJAVA WORDLの今月号にJUnitの特集が載ってた。データベースとかの扱いには問題点もあるみたいですが何とかなるでしょう。…

自宅PC再生計画

昨日から夏休み!しかし今日は恐ろしく暇だったので自宅で使わなくなったマシンを再活用することにした。とりあえずはお遊び用のWEBサーバ兼ファイルサーバを作ることにする。以前,いじり倒して依存関係がグチョグチョになったSuseマシンにVine Linux3.1を…

新JIS規格フォント

Windows Vistaの文字コードが新しいJIS規格になるらしい。森鴎外の「鴎」とかがちゃんと出るようにはなるけどWindowsベースのDTP現場やらは混乱しますなぁ。って人事ではないのですが。 それからこのフォントでWindowsもやっと標準でClearType対応になった。…

ソフトウェア見積もり手法

時間のある時に少しずつでいいのでファンクションポイント法について勉強することになった。業界標準になりつつあるらしいので重要なことかな。ファンクションポイント法は機能から算出したソフトウェアの規模を示すファンクションポイントをコストに変換す…

Nvu

最近,仕事でHTMLの編集作業が多い。Dream Weaverとかがあると嬉しいけども,そうもいかないのでフリーのオーサリングツールで代用することにした。NvuはMozillaからできたHTMLオーサリングツールらしい。詳しいことは面倒臭いので読んでない。表示画面がFir…

Struts

こっちは仕事で要りそうなので購入。サーバーサイドプログラミングもStrutsの前は結構面倒臭そうな感じがしてたけどもStrutsが出たおかげでずいぶん楽になったようです。設定ファイルとかに必要なXMLの書き方やカスタムタグライブラリの参照用。Jakarta Stru…

Google&YahooマップAPI

Google Mapsは後づけ的な面もあるような気もしますが"Web as the platform"に沿った戦略。マピオンにもこういうのがあると色々出てきそうやけどなぁ。 『Google Maps API』http://www.google.com/apis/maps/ 『Yahoo!Maps API』http://developer.yahoo.net/m…

Visual Editor

EclipseでVisual Editorを使ってGUI造ってみた。いやぁ,JAVAでもかっちりGUI造れました。GridBagLayoutは若干面倒でもコードで手探りよりはずっとまし。SWTでなくてSwingでもいけるのでDLL付けなくて済むのがありがたい。『Eclipse Visual Editor Project』…