2004-10-01から1ヶ月間の記事一覧

XMLからオブジェクトを作る

テストクラスを作るとき、入れ子になったオブジェクトをJavaのコードで記述するのがめんどくさいので。 XMLのデータ こんな感じ。 <bodybuilder> <list> <add value="value"/> <add value="値"/> <add> <list> <add value="nested value"/> <add value="入れ子の値"/> </list> </add> <add> </add></add></add></list></bodybuilder>

迷うな、考えろ

捨てる牌を迷っているときに「迷うのと考えるのは違う」とよく言われた。 ビジネスにも通用する言葉…ような気がする。

submap()

Mapから、指定したプリフィックスのキーと値を取得する。 プロパティファイルでマッピングの定義をするときとかに使う。 private static Map submap(Map map, String prefix, boolean hasPrefix) { Map submap = new HashMap(); Iterator keys = map.keySet(…

クラスパスから設定ファイル読み込み

どんなアプリでもたいてい使うので。 staticな場合は「this→クラス名.class」。 private Properties load(String filename) throws IOException { Properties props = new Properties(); InputStream in = null; try { ClassLoader cloader = Thread.current…

クレジットカードを作るときは…

実家の住所と電話番号、会社の住所を電話番号をメモしておくこと。 しかし、会社の住所と電話番号を書けない26歳…orz

.groovy

Groovyの拡張子「.groovy」は、全然Groovyじゃないと思う。 なんで、「.gv」とか「.grv」にしなかったんだろう?

Groovyのテーマ曲は…

Let's Grooveだろうか?

溜飲が下がる

溜飲

Javaの暗号化

JCE、またはJDK1.4の暗号化ライブラリを使った暗号化のコード。 Crypt 暗号化ユーティリティクラス。 package hoge;import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.UnsupportedEncodingException; i…

publicな定数の問題

そのうちはまりそうなので。 一番の問題は定数がコンパイル時にスタティックリンクされるって事で、クラスライブラリの定数の値を変更して、クライアントを再コンパイルしなかった場合、クラスライブラリで埋め込まれた定数と、ライブラリを使用しているクラ…

アジャイルソフトウエア開発宣言…etc

アジャイルソフトウエア開発宣言 Manifesto for Agile Software Development JDKの古いバージョン Archive: Java[tm] Technology Products Download 文字化けしそうな文字とか、原因とか Javaの日本語関連コンバータにおけるマッピングの違い ServletとJSPに…

xmlassert

SourceForge.net: Project Filelist

Oracleのエラーコードごとに例外を作る

Oracleのエラーコードごとに例外を作って、エラー発生時、コードに対応する例外を投げさせる。 データベースを更新するとき、事前に整合性をチェックするのはめんどいので、とりあえず更新してみて、整合性に問題があればそのとき対応しようというアプローチ…

他の人をバカにしない

他の人の能力を簡単に見積もって、その人のことをバカにしたりしないこと。 バカにした目で見ていると、コミュニケーションを阻害するし、自分より優れているその人の能力/経験から何も学べない。

Oracleの物理設計について(容量見積もり等)

OTN Japan - Oracle9i 物理設計:第1部 DB全体の設計

メールアドレスの正規表現…etc

メールアドレスの正規表現 一応、RFC2822の規格内。改行は不可。 ^[-A-Za-z0-9!#$%&'*+/=?^_`{|}~]+(\.[-A-Za-z0-9!#$%&'*+/=?^_`{|}~]+)*@[-A-Za-z0-9!#$%&'*+/=?^_`{|}~]+(\.[-A-Za-z0-9!#$%&'*+/=?^_`{|}~]+)*$「root@localhost」とかをはじきたいなら、…

日記のサニタイズ

引用の入力ルールを使わないとHTMLのサニタイズをしてくれない…

StrutsのURLリライティングを無効化

StrutsのURLリライティングを強制的に無効化する。バッドノウハウです。 一応、ファイルアップロードやファイルダウンロードでもアプリは動いてた。 ResponseWrapper レスポンスクラスのURLエンコードを強制的に無効化するラッパー。 import javax.servlet.h…

セレクトボックスの動的な変更

親セレクトボックスが変更されると、子セレクトボックスの値が親の値に紐付く値に変更される。 WEBアプリでわりと必要になる。 var childOptions = new Object(); childOptions[""] = new Array(new Option("select parent.","")); childOptions["foo"] = ne…

紐付く?

gooの国語辞典を引いたが単語「紐付く」は載っていなかった。 よく使うわりに定義があいまい。ニュアンスは理解できるけど…。 キーワードに登録したほうがよいのか?

自分のコストパフォーマンス

技術力があるやつより金を稼げるやつのほうが偉いよな…と思った。

フォームタグの各送信ボタンでリクエストパラメータを分けたい

とりあえず、思いつく限り。 HTMLの仕様を無視して、各送信ボタンをフォームタグで括る。*1 送信ボタン自体のname属性とvalue属性を利用する。 JavaScriptを使う。 2.のパターンは以下の通り。 送信ボタンのvalue属性(「送信」とか「戻る」とか)で判定。 送…

getOne()とgetRow()が欲しい

データベースアクセスクラスを作るときはgetOne()とgetRow()が欲しい…

join() または implode()

配列にjoin()メソッドがあるといいな…と思ったので。*1 Java版join() (配列) public class Hoge { public static void main(String args) throws Exception { String array1 = {"aaa", "bbb", "ccc"}; String array2 = {"111", null, "333", ""}; String arr…

Mapをロック

Beanのほうが安全だけど、Mapを使いたいな〜…というときのための一アイデア。 コンパイル時にはエラーをはじけないけど、動かせばすぐに分かると思う…たぶん。 import java.util.HashMap;public class LockedMap extends HashMap { private boolean lock = f…

16進数文字列(String)⇔バイト配列(byte[])

※2013/01/08注 なんか未だに参照されるようなので。。。 DatatypeConverterを使ってみてはどうでしょう? - わりとよく使うので。 public class HexUtil { /** * バイト配列を16進数の文字列に変換する。 * * @param bytes バイト配列 * @return 16進数の文…

フィールドベース?

IoCパターンだと、Setterベースにしろ、コンストラクタベースにしろ、フィールドに値をセットするメソッドと、値を保持するフィールドが必要になる。 フィールド毎にsetterを用意するのもめんどくさいなぁ…でも、publicなフィールドは危険だよなぁ…と思った…

実行時例外にしたい検査例外

WEBアプリを作っていて、実行時例外にしたいと思った検査例外は以下の二つ。 SQLException IOException それ以外の検査例外にはお目にかからなかったような気がする。とりあえず、上の二つについてラッパー例外 SQLRuntimException と IORuntimeException を…

Java/CGI

最近、プロジェクトでPHPを扱っているが、PHPを使うメリットの一つは、コードの実行結果をブラウザですぐに確認できることだと思う。ちょっとコードを書いてたら、ブラウザでアクセスして、またコードを書いたらブラウザでアクセスして… JavaのWEBアプリでも…

WEBアプリのDB更新

WEBアプリがデータベースを更新するまでのパターン。 入力画面で情報を入力する。 確認画面で更新する情報を確認する。 データベースを更新して、更新完了画面を表示する。 確認画面でデータベースにロックをかけて、データベースを更新するなんてことができ…