技術

全文検索のメモ

とあるWebアプリに全文検索機能を実装したいと思って、その方法を検討中。 DBはMySQLだから、SennaかMySQL FULLTEXT + Ngramあたりかなぁ。 形態素解析による全文検索をしたいとなるとSennaが妥当だろう。 PostgresSQLならTsearch2っていう選択肢もある。 個…

memcached

俺は最近知ったけど、結構実績がある技術みたい。 DBへのアクセスを減らしたい時、今まではキャッシュの役割をもつクラスを作って、staticメンバに保持するようにしてた。 けど、これを使えばもっと効率よくデータのキャッシュが行えるようになるねぇ。 以下…

Java言語で学ぶリファクタリング入門を再読

連休4日目です。特にすることも無いので、結城浩さんの『Java言語で学ぶリファクタリング入門』を読み返してみました。ドトールでコーヒー1杯でしばらく居座って読んでましたm(__)mで、今までちゃんと見てなかったんだけど、この本の最後の方に「付録A リフ…

equalsメソッドとhashCodeメソッドの実装方法

equalsメソッドとhashCodeメソッドの実装方法を調べてみました。 ネットで検索しても、なかなか「これだっ!」ってやつが見つけられず、 結局『Effective Java』を開いて求めるレベルのものにたどり着きました。。。 やっぱり頼れる書籍です。ってわけで、『…

.NETで使えるテンプレートエンジン

JavaのVelocityがなかなか便利だったので、.NETでも使えないか探してみた。 .NETに移植された、NVelocityってのがあるみたいだが、すでに開発が止まっているらしい。 で見つけたのが「StringTemplate」。 時間があったら触ってみよう。ぱっと見た感じ、Veloc…

SimpleDateFormatクラスで日付型変換の落とし穴

private Date toDate(String date) throws ParseException { SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); return format.parse(date); } 上記のtoDateメソッドに"20081301"のような、日付として無効な文字列を引数に渡して実行してみる。 …

Javaで.NETのString.Formatみたいなやつ

.NET(C#)では String work = String.Format("今日は{0}です。明日も{0}です。","晴れ"); System.out.println(work); → 今日は晴れです。明日も晴れです。って出来るけど、Javaで同じようなことが出来ないのかなって調べてみたところ、MessageFormatクラスを…

CSV読み込み(完成)

CSV読み込みクラス。 一応できたので残しておこう。 文字列内の改行には対応していません。。。 import java.io.*; import java.util.*; public class CsvReader { private InputStream stream; private List<List<String>> csvData; /** 文字コード (default:UTF-8) */ p</list<string>…

Linuxのお勉強

今までは、.NET畑で過ごしてきたのでWindowsしか知らない私。 ところが、今月から急にLinuxを使うことになったので、にわかにお勉強。 とりあえず備忘録を作ってみる。 Linuxコマンド 使ってれば自ずと覚えるものものなんだろうけど、 とりあえずメモ su ユ…

ASP.NET1.1でconfirmを使ったダイアログを表示する

ASP.NET1.1において、クライアントで確認メッセージを表示し、そこでOKの場合のみpostbackする方法。ASP.NET2.0だと、OnClientClickに "return confirm('処理を開始します。');"みたいに記述すれば良かったが、ASP.NET1.1だと、OnClientClickが無い。このよ…

テーブルヘッダの固定

これは便利!! .freezing { position:relative ; top:expression(this.offsetParent.scrollTop); z-index: 1; } ASP.NETのGridViewだとこんな感じ。 overflow:autoでスクロール可能にしたDIVの中に書くこと。 GridView1.HeaderRow.CssClass = "freezing" こ…