2008-03-01から1ヶ月間の記事一覧

セルを結合したシートを cloneSheet すると IndexOutOfBoundsException が発生する(POI)

テンプレートとなるExcelファイルを読み込んで、プログラムから値を設定し出力する、というありがちなプログラムを開発していた時のこと。Excelシート内に結合したセルがある場合に以下のコードを実行すると、 HSSFWorkbook book = ....; book.cloneSheet(0)…

SELECTした結果を使って、CREATE TABLEする

SQL

一時的にデータを退避しておくときに、SELECTした結果をそのままワークテーブルにぶちこみたくて調べてみたら、結構簡単にできるんですね。複数のデータベースに対応したかったので、各データベースについて調べてみたところ、大体同じようなSQLでできるみた…

imgタグの下にわずかなスペースができるときの解決策

例えば、以下のようなHTMLがあるとき <div ><img src="aaa.jpg" /> </div> テキスト画像"aaa.jpg"と、"テキスト"との間に2〜3pxほどの隙間(ホワイトスペース)が できてしまいます。これをなくすには、 <div ><img src="aaa.jpg" /></div> テキストこのように、<img>タグの後ろに改行をいれずに、閉じタグ</div>をつけてやります。 タグと…

Google の RSSリーダーに乗り換えました

Google にRSSリーダーがあることをたまたま発見し、使ってみたら結構使い勝手もよい感じ。しばらくこれでいこうと思います。あと、久しぶりにGoogleカレンダーを使ったら、なんか前より便利になっててこれも乗り換えようか検討中。例えば、予定を登録すると…

Googleカレンダー専用アプリ GCal.app

先のエントリにも書いたけど、Google カレンダーが思いのほか使いやすそうなので、しばらく使ってみようかと。 せっかくなので、Googleカレンダー用の専用アプリもインストールしてみました。http://chip.cuccio.us/projects/gcal今のところ、体感的には Saf…

PLS-00231: 関数XXXXXXはSQLでは使用できません、の原因

ファンクションXXXXXXを宣言しているにもかかわらず、 PLS-00231: 関数XXXXXXはSQLでは使用できません。このエラーが発生。どうやらfunctionというのはprocedureと違って、パッケージ内プライベートとして作成することはできないみたい。なので、function XX…

PL/SQLでジェネリックなリストを使う

PL/SQLにはTable型というものがあり、これは簡単にいうと「ジェネリック型のリスト」ののような感じです。 declare type listClass is table of 社員%rowtype; list listClass; begin select * bulk collect into list from 社員; end;このように使えるみた…

EclipseでEmacs風キーバインド Ctrl+M

EclipseでEmacs風のキーバインドをするときの注意点。基本的には Scheme を「Emacs」にするだけで大体解決するんだけど、自分好みにするにはいくつかカスタマイズが必要。 Ctrl+H[In Window]の[Delete Previous]を割り当てる Ctrl+Spc[Text Editing]の[Set M…

イマドキのコーディング規約

7年前に、僕が入社したときに教えられたコーディング規約を(特に不満もなく)ずっと使ってきたんだけど、最近になっていくつか変えてもいいかな〜って思える点がでてきました。例えば、、、 1行の文字数は120〜130文字ぐらいまでOK(画面が広いので) 変…

Windows Server でファイル共有するのにちょっとてこずる

会社の Windows Server でごく簡単なファイル共有(ドメインとか一切なし)をやろうとしたんだけど、ユーザごとにアクセス権の設定でちょっとつまずく。 ユーザUUをグループGG追加し、フォルダFFにグループGGのアクセス権を設定した状態で、別のPCからユーザ…

JavaScriptのyieldを使ってイテレータを作りたいのだが

JavaScript1.7の yield 文を使ってイテレータを作りたいのだが、ジェネレータの中からは this が参照できないみたいで悩む。理由はなんとなくわかるけど、結局、解決策はわからず。 Array.prototype.iterator = (function() { for (i = 0; i yield this[i]; …

LDIFDEコマンドで、ユーザの追加を行う

Windows2003Server上で稼動しているActiveDirectoryに、コマンドラインからユーザを追加する仕事で悪戦苦闘。なんとか調べながらできたので、覚えてる限りでノウハウをメモ。 データを追加する場合は、objectClassという属性が必須 パスワードを登録するには…

JavaScript に void 演算子というものを発見

変数 a があったときに、a を評価させない演算子。 b = void(true) ? true: false;上記のように書いた場合、b には false が入るようだ。実用的な使い方としては、 <a href="javascript:document.forms[0].foo.value = '1';" >リンク</a>というなことをしたいときに、このままだと '1' に遷移してしまうので、 <a href="javascript:void(document.forms[0].foo.value = '1');" >リンク</a>こうし…

続:JavaScriptを使ってHTMLのインクルードを実現しつつ、JSPでもインクルードできる方法

前のエントリで書いたHTMLのインクルードの改良版。だいぶすっきりできました。 ●呼び出しイメージ <script type="text/javascript" >//<% document.include("a.txt",request,response); //%> </script> ●スクリプト本体 <script type="text/javascript" >document.include = function(filename) { this.include.seq = (this.include.se…