半年放置してましたが

MacBook Air 11インチ欲しい!です。

IEだけjQueryの$.ajax()が実行エラー

IE

↓の話でした。http://civic.xrea.jp/2006/10/12/jquery-ie/今回はSAStruts使ってるプロダクトだったので、AJAXで呼んでる先の処理でこんな感じにContent-typeのencodingを書き換えました。 @Execute(validator = false) public String hoge() { try { Reques…

au京セラ端末でのcheckbox問題

auの京セラ端末(他にもあるかもしれませんが)だと以下のようなformでis_checkedの値が受け取れなくてトラブりました。 <form name="example_form" method="post" action="/example/hoge/"> <textarea name="body" rows="3" cols="20"></textarea><br/> <input name="is_checked" type="checkbox" />京セラ端末<br/> <input type="submit" value="じっこー" /> </form>is_chechedの値が"…

java.net.URL#openStream()はclient timeoutしない

JavaのSocket周りでは割とよくある感じですが、以下のコードだとconnectもreadもデフォルトで無限に待ち続ける挙動をします。 BufferedImage image = ImageIO.read(new URL(url).openStream()); Javadocをみると以下の通り。 Opens a connection to this URL…

svn client 1.5以上でdoesn't match expected UUID

svn: Repository UUID 'XXXXXXXXXXXXXXXXXXXXXX' doesn't match expected UUID 'YYYYYYYYYYYYYYYYYYYYY'1.5系のsubversion clientで発生するようですが、以下のような状態になってしまうと基本的には「chekoutし直すしかない」という事のようです。 とはいえ…

StringBuffer or StringBuilder?

StringBuilderがStringBufferよりどれほど高速か、実際に少しパフォーマンス比較をしてみました。 useStringBuffer : 141 milsec. useStringBuilder : 125 milsec. useStringBuffer : 156 milsec. useStringBuilder : 125 milsec. useStringBuffer : 141 mil…

SJIS環境からのクエリ文字列に対するURLDecoderでの文字化け

モバイルなどのShift_JIS環境から投げられたGETパラメータのクエリをjava.net.URLDecoder.decode(String, String)でdecodeしようとすると文字化けしてしまう場合があります。これはURLDecoder.decodeにバグがあるというわけではなく、URLEncoder.encodeでenc…

List型からのtoArray

以下のようにjava.util.List#toArray()では、引数に配列型のインスタンスを渡して配列の型を確定します。 List<SampleBean> list = new ArrayList<SampleBean>(); SampleBean[] res = list.toArray(new SampleBean[0]); 引数で空インスタンスを渡さないと、Object[]として返すのでCla</samplebean></samplebean>…

リリース前に単体テスト全実行

PerlのCPANモジュールはインストール時にmake testで単体テストを全実行しますが、Javaで単体テストを全実行したいという場合、antのタスクを作って組み込みます。説明を付したタスクのサンプルが以下のような感じになります。 <target name="maketest"> <delete dir="test" failonerror="false" /> <mkdir dir="test/classes" /> <mkdir dir="test/result" /> </mkdir></mkdir></delete></target>

抽象メソッドの引数名

例えばライブラリをつくってjarにして配布した場合、Eclipse等のIDE上でinterface型オブジェクトのメソッド補完するときに引数の変数名がjava.lang.Stringなら「s」とかjava.lang.Objectなら「obj」とかになってしまうのをどうににかできないかなと少し調べ…

RomeでRSSフィードをパース

初めて使ったのですが、Romeはフォーマットを意識する必要もなく簡単にRSSフィードのパースができて素晴らしいですね。 import java.net.URL; import java.util.List; import org.xml.sax.InputSource; import com.sun.syndication.feed.synd.SyndEntry; imp…

読み込んだリソースを必要十分な配列長にする

リソース上のファイルからbyte配列でデータを取得する場合にデータを必要十分な配列長に格納する実装を書いてみました。 private byte[] _getFileContentInByteArray(InputStream is, byte[] registeredArr, int bufArrLen, int depth) throws IOException {…

ArrayListの全要素取得パフォーマンス比較

java.util.List型(ArrayListでインスタンス化)コレクションを全要素取得するような処理の以下の3つについてパフォーマンスを比較してみました。 get(index)でアクセス Iteratorを取得して使用 拡張for文 なお、比較には拙作のツールを使用しました。http:/…

Arrays.asListの使いどころ

Arrays.asList()は、配列*1を引数にとって固定長のjava.util.List型のオブジェクトを生成するメソッドです。このstaticメソッドが返すオブジェクトはjava.util.Arrays$ArrayListクラスでインスタンス化され、内部的にはListの型パラメータで指定した型(なけ…

PHPのis_a()が非推奨エラーメッセージ吐く件

PHP

PHPでXML_RPCを使ってRSSフィードの更新ping打つ処理を書いたりすると、XML_RPCが内部で多用しているis_a()メソッドが非推奨だとエラーメッセージをゴリゴリ吐きます。こういった問題にはerror_reporting()のメッセージ出力を一時的に無効にして対応するよう…

checkinstall インストール手順

tar ball解凍して入れる手順です。ディストリビューションはCentOSですが、yumよりこっちの方が早いのでいつもこうしている・・ #!/bin/sh wget http://asic-linux.com.mx/%7Eizto/checkinstall/files/slackware/checkinstall-1.6.1-i386-1.tgz tar xvfzp ch…

マルチスレッドにおけるMapオブジェクト

身近でjava.util.HashMapのインスタンスがスレッドセーフでない事に起因したトラブルの話があったので、実際にサンプルを作って試してみました。まず各スレッドで動作するRunnableなworkerクラス。 import java.util.Map; public class Worker implements Ru…

BioRubyのseqがNoMethodError

私は全く門外漢ですが、友人がバイオインフォマティクスの研究などしていて「biorubyを使ってみたいけどよくわからない」という話になったので、入手してみて試してみようとしたところhttp://bioruby.org/archive/doc/Japanese/tutorial.html上記の日本語版…

UTF-8における全角マイナスと全角チルダの問題(=いわゆる「波ダッシュ問題」)

以下の通り、同じ文字を表現しているにも関わらず、文字コードが異なるケースが発生します。 [webmaster@localhost work]$ nkf -w sjis.txt > utf8.nkf.txt [webmaster@localhost work]$ od -tx1 utf8.nkf.txt 0000000 e2 88 92 e3 80 9c 0000006 [webmaster…

nkfインストール手順メモ

#!/bin/sh wget http://osdn.dl.sourceforge.jp/nkf/20770/nkf207.tar.gz tar zxvf nkf207.tar.gz cd nkf207 make cp -p nkf /usr/bin cd - rm -rf ./nkf*

IEでテキストボックス内でエスケープキー連続押下するとform.reset発行

etc

ハタさんのブログ : IE は Form内で [ESC] 2回でform.reset http://blog.xole.net/article.php?id=489上記に全て書いてありますが、IEの独自仕様ですね。IE6、7、8の各バージョンで確認しましたが、全て同様にリセットが呼ばれました。

スーパーpre記法

プレビューせずにそのまま公開したら>|hoge| みたいにスーパーpre記法がそのまま見えてしまっていました。調べてみると>|| の後に半角空白が入っていたせいでした。散々既出かもしれないし、たいした話ではないんですけど、これって改善できないもんでしょう…

今にして思うと

PHP

クラスを作ったり、インスタンス化したりするにも関わらず、いざ処理するときは配列オブジェクトのメソッド呼び出しじゃなくて、array_何とかを使ったり、文字列の操作もstr_何とかみたいな関数を使って、主体となるものを引数に渡すような仕様はやっぱり違…

PHPExcelでExcelファイルをパースする

PHP

普段PHP書いてるわけじゃないので、あまり適切でない記述があればご指摘いただけるとありがたいです。 PEARではなくローカルでコピーしてAP資材の中に含めたので以下のような感じにしました。rhacoを使っていてトップ階層から参照している形です。 set_inclu…

Matcher#appendReplacement()の問題

経験豊富なJava屋さんの中では常識なのかもしれませんが、、String#replaceAll(String, String)またはString#replaceFirst(String, String)で第二引数の置換文字列(replacement)に$を含めると以下の2パターンの例外が発生します。 public class Replacemen…

連続する空白(改行含む)のパターンマッチではまる

etc

実際にはJavaScriptで書いててはまったのですが。 my $blk_str = " aaa"; $blk_str =~ s/^\s+?//g; # こっちだと最初の一つ目の\sだけにマッチ #$blk_str =~ s/^\s+//g; # こっちだと連続する\sにマッチ print $blk_str.$/; my $num_str = "12345aaa"; $num_…

前のバージョンのLightbox.jsを使う

js

現行のLightbox2を使いたいのですが、2の場合、prototype.jsのバージョンが固定される(prototype.jsのバージョンが1.6以上じゃないとscriptaculous.jsが怒る)ので、はてなスターを導入していたりすると、数日前にも書いた通り、バージョンの競合で特にIEで…

PHPにおけるメソッドオーバーロードの件

PHP

普通にクラスとかつくれるんだから当然できるものと思っていたので意外。http://php.plus-server.net/language.oop5.overloading.html一応、マニュアルとかざっと目を通してはみましたが、こんな感じでやるくらいなら、うまくメソッド名分けてつけた方がいい…

IEでのAjaxリクエスト(GET)のキャッシュ

IEで同じURLへ同じパラメータのGETのAjaxリクエストを投げても、結果がキャッシュされてしまいます。回避策としてとりあえず以下の3つが考えられます。 POSTリクエストに変更する パラメータにタイムスタンプなどリクエスト毎に変動するものを含める // samp…

IEでprototype.jsのバージョン衝突による動作エラー

はてなスターを導入している外部サイト内でprototype.jsを使う場合ははてな側とバージョンを揃えないとダメですね。はてなスターはhttp://d.hatena.ne.jp/js/prototype-1.4.0.jsを読み込むので、はてなスターを導入しているサイトで1.5.0を使用するとIEで動…