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

SPANやDIVでStrutsのerrorStyleClassみたいなことをする方法

Strutsのhtmlタグは、「エラーがあった時のみ適用されるスタイル」というのを指定することができます。 <html:text property="name" styleClass="textbox" errorStyleClass="textbox error" /> これ普通のSPANやDIVでもできないかな・・・と、いろいろ考えてみました。 結局、思いついた一番ベストな方法はこれ。 <span style="textbox<logic:messagesPresent property="name"> error</logic:messagesPresent>" /> 指定したプロパティ…

現在時刻を取得する方法

現在時刻のミリ秒を取得するのに、こういうやり方を何度か見ました・・・。 Date date = new Date(); long now = date.getTime(); Calendar calendar = new GregorianCalendar(); long now = calendar.getTimeInMillis(); 日付の取得なら Date や Calendar …

文字を * に置換する(for文なしで)

他の人のソースを見ていたら、こんなのがありました。 String str = ""; for(int i = 0; i < input.length(); i++){ str += '*'; } 入力された文字を * に置き換える処理です。 でも、よく考えたらこれ、for文いらないですよね・・・。 char[] buf = new cha…

下限値を設定したい

こんなソースがありました。 public class Sample{ private int rate; public Sample(int rate){ this.rate = rate; if(rate < 1000){ this.rate = 1000; } } } rateが1000以下なら1000、そうじゃなければrateで初期化。 そうすることによって、this.rate >=…

配列 vs ArrayList、速くて軽いのはどっち!?

Javaのソースで、たまに「ArrayListを使っているけど、代入する要素数は決まっている」というのを見かけます。 こういうのを見ると、「要素数が決まっているなら、可変のもの(ArrayList)じゃなくて固定のもの(配列)を使った方が速くてメモリ使用量も少なくて…

地平線に行く

今回がちょうど30本目の記事、これでいよいよ はてなダイアリー市民 の仲間入りです。 (詳しくは、keyword:はてなダイアリー市民)せっかくなので、今回の記事はこのブログの不思議な(?)タイトルの意味についてを書こうと思います。 - 地平線というのは、よ…

"<>"の意味

SQLなどで否定等号の意味で使われる "<>"。 これは「等しくない」という意味ではなく、「小さい、または大きい」という意味なのでしょうか? "x 3" は「3より小さい、または3より大きい」 ある値より「小さいまたは大きい」なので「等しくない」。 論理的に…

IE8のバグ!baseタグとscriptタグの組み合わせで無効なリクエストが発生する

サーバのアクセスログを見ていて、最近やたら変なURLに対するGETリクエストがあるなーと思って調べてみたところ、IE8のバグが原因でした。 Unfortunately, since shipping IE8, we've discovered two problems in the lookahead downloader code that cause …

DBコネクションをクローズするとき、Oracleだとコミットが走る!?

通常、自動コミットがオフの状態であれば、JavaからDBのコネクションをクローズするときにロールバックかそれに相当する処理が行われます。 Javaのドキュメントにも、このことが書かれています。 自動コミットモードが無効にされている場合、変更をコミット…

Add Tab Index for Googleをバージョンアップしました。

Firefox用のgreasemonkey「Add Tab Index for Google」をバージョンアップしました。 今回のリリースで完成です。 Add Tab Index for Google ver1.0 【機能追加】 AutoPagerizeとの併用に対応 DOMによるノード取得からXPathによるノード取得に変更 【不具合…

aタグ以外にもフォーカスは当てられる

以前、Add Tab Index for Googleを作っていたときに、こんなバグがありました。 なんでこんなところにフォーカスが・・・。 不思議に思って調べてみたところ、フォーカスを当てられるのはaタグに限らないそうです。 もっと言うと、どのタグにもフォーカスは…

正しいプログラミングなんてない

仕事で他の人が書いたソースのチェックをしていたんですが、その中にこんなのがありました。 public UserDTO selectUser(UserDTO[] userDTO){ Vector<Object> vector = new Vector<Object>(); for(int i = 0; i < userDTO.length; i++){ if(条件を満たしているか){ vector.ad</object></object>…

チェックした状態を初期値にしてcheckboxやmultiboxを使う方法

Strutsを使っていてよく問題になることとして、やを使う際にチェックした状態をデフォルトにすることができないというのがあります。これは ブラウザはチェックされたものしかリクエストパラメータとして送信しない Strutsはパラメータにない場合はActionFor…

3値理論はデータベースに限った話じゃない

今日、データベースに入れる値がNULLか空文字かでちょっとした論争に。 個人的には「データがないんだから"NULL"」だと思ったんですが、「空文字でいいじゃん」と「決まりはないけど他が空文字だからここも空文字で」という二対一で負けました。 NULL撲滅委…

Googleで世界の中にあるたったひとつの段ボールの行方を検索できる

知っている人が多いんだか少ないんだかよくわかりませんが、 Googleで「ヤマト (伝票番号)」と検索するとその荷物の行方が検索できます。技術的には「ヤマト (伝票番号)」と検索してきたらヤマト運輸のシステムにつないで検索しているだけ。 でも、Googleの…

iPod Touchのバグ?

なにげなくiPod Touchで遊んでいたらこんなバグを見つけました0001年1月1日を選択しているのに、「0001年1月3日」。 これはバグ? それともPostgreSQLのドキュメントが言ってるように「この定義に納得できなければ、苦情をバチカンローマ聖パウ…

ExceptionとRuntimeExceptionの違い

ExceptionとRuntimeExceptionの違いはプログラミングの段階で発生が予見されるかされないか、例外処理が必須か必須でにないかの違いというぐらいに考えていました。 でも、最近気づいたんですがこの違いは「準正常系」か「異常系」かという風にとらえるべき…

Add Tab Index for Googleをバージョンアップしました。

Firefox用のgreasemonkey「Add Tab Index for Google」をバージョンアップしました。 Add Tab Index for Google ver0.6 ・戻るで戻ってきても、極力フォーカスが当たっているようにした ・検索結果上部のGoogleサービス一覧(画像、動画、地図…etc)にフォーカ…

location.replaceで#が外せない

先日ちらっと書きましたが、Add Tab Index for Googleの「ブラウザの戻るでGoogleを表示すると元の場所にフォーカスが合わない」バグを直すのに、URLに#〜を付加して直すというのをやってみました。狙っていた処理の流れは、 ページを離れる瞬間に、URLの#以…

Google.comは検索結果の表示にAjax使ってる!!

Add Tab Index for Googleの修正をしようとして気付いたんですが・・・。 Google.comは検索結果の取得から表示までAjaxで行っています。 (注:書いてから調べたんですが、一部ユーザのみのようです。これについてはこちらの方のサイトが詳しいです) 最初は検…

Switch文の条件式にenumじゃなくてnullを入れてみた

昨日、ふと思ったんですが・・・。 JavaのSwitch文の条件式には数値型だけでなく、列挙型(enum)も使うことができます。 でも、enumはクラスの一種なので列挙型の変数にはnullも入れられます。 そんなnullが入っている列挙型変数を、Switchの条件式に入れたら…

SJC-WC受験

先週の土曜日にSJC-WC(Sun認定Webコンポーネントディベロッパ試験)を受けてきました。 結果は・・・ 得点:57% テストステータス:不合格 落ちました orz 敗因はおそらく、寝坊したことだと思います。 9時5分に家出れば間に合うはずが、9時6分に起きた!!!…

Add Tab Index for Googleを公開しました

Firefox用のgreasemonkey「Add Tab Index for Google」を公開しました。 Add Tab Index for Googleとは?Googleの検索結果ページを3倍ぐらい使いやすくするためのgreasemonkeyです。 具体的には、以下の処理を行います。 [1]検索結果の1番目にフォーカスを当…

document.getElementsByClassNameがネイティブ実装されている

クラス名でDOM要素を取得できれば便利なのに・・・と思っていたらあったんですね。 Document.getElementsByClassName() - Web API | MDN JavaScriptライブラリがなくても、IE8以外の最新の(HTML5ドラフトに対応している)ブラウザではなにもせずに使えるみた…

サーバをすばやく発見する方法

この前の壊れたサーバにOSを再インストールするためにサーバルームへ。 ところが、識別シールの情報が古くてそのサーバがどれかが分からない・・・。 最初はリモートでビープ音を鳴らせないかと思ったんですが、これが意外とやっかい。 もし鳴らせたとしても…

Listから配列への無駄のない変換

今日、ふと思ったこと。 よくJavaでListから配列への変換の方法としてこういうやり方が紹介されています。 list.toArray(new String[0]); 変換の際に型を指定する必要があるから、引数に中身が0個の配列を渡す。 でも、ここで生成しているオブジェクトはすぐ…

こんなコマンドがほしい

仕事で使っている開発用サーバが一台壊れました。 壊れたといっても、古いバージョンのOSに新しいアプリを上書きで入れたら動かなくなった・・・というものです。 コマンドは受け付けるけど、開発アプリは動かないという状態。 そんなサーバに対して先輩が言…

SwitchApp ver1.1 リリース

SwitchApp ver1.1をリリースしました! [機能追加] ・次に切り替えるウィンドウの指定に「直前のアプリに戻す」を追加 ・一致条件を複数の方式から選べるようにした ・ウィンドウ名を、現在開いているウィンドウ一覧から選べるようにした SwitchAppとは? ど…

attachEventが動かない

ちょっと自宅で試したいことがあって、こんなコードを書いたらなぜか動かなかった。 document.attachEvent("onClick", testFunc); ・・・すぐに気づいた人もいるかと思いますが、 document.attachEvent("onclick", testFunc); 正しくは「onclick」ですね。 …

Javaの公式APIドキュメントを簡単に検索する方法

JavaのAPIドキュメントを検索しようにも、そのページに検索機能がないし、 かといって普通にググると古いJavaSE 1.4のドキュメントがひっかかたりと何かと不便。 そこで、Firefoxのロケーションバーで「java (調べたいクラス)」って入力すると一発で検索でき…