basyura's blog

あしたになったらほんきだす。

java

クラス名からメソッド一覧を取得する

Vimテクニックバイブル ~作業効率をカイゼンする150の技作者:Vimサポーターズ技術評論社Amazonneocomplcache のプラグインの作り方を見ていて、java でもっと楽に補完できないかなぁと思案(楽にできるならとっくに誰かがやってるのは置いておく)。vimproc …

vrapper でインサートモードから抜ける際に ime を off にする

set imdで、インサートモードから抜ける際に ime を off にする修正が取り込まれました。 I have added a configurable boolean option ('imdisable', or 'imd' for short). By default, the value is false. If you set this value to true, it will automa…

javadoc をインクリメンタルサーチする

javadoc を vim から引きたいなぁと試行錯誤していたけれど中断。 本仕様書は著作権により保護されており、本仕様書に記載されている情報は、単数または複数の米国特許、外国特許、または特許出願により保護されている場合があります。以下のライセンスに基…

Map のキーに Map を使う

String をキーにして使う事ばっかりで Map をキーとして使えたっけなぁ・・・自信が全くない・・・で調査。 指定されたオブジェクトがこのマップと等しいかどうかを比較します。指定されたオブジェクトもマップであり、2 つの Map が同じマッピングを表して…

vrapper で esc 時に ime を off にする (windows)

esc 時に ime を off にできないと戦闘力が半分以下になるので GPL3 な vrapper をいじってみた。最新ブランチの資源(今は 0.14)をチェックアウト。 $ svn co https://vrapper.svn.sourceforge.net/svnroot/vrapper/branches/0.14 vrapper_0.14eclipse を起…

クラス変数とクラスインスタンス変数

メタプログラミングRuby作者:Paolo PerrottaKADOKAWA/アスキー・メディアワークスAmazon クラス変数がクラスに属していないからだ。クラスではなく、クラス階層に属しているのだ。 ・・・略・・・ 多くの Rubyist はクラス変数を使わずにクラスインスタンス…

Java Cloud Meeting Tokyo 2010 に行ってきた

参加なう #jcmt20102010-06-13 11:20:52 via web けど、半分寝てた・・・。 目的は、ひがさん、たけぞえさん、きしださんを見る事だったし。パワフルなことやってる割には ( ゚Д゚)みんな細すぎる・・・。 懇親会には参加しなかったけど、懇親会ありきな会だっ…

ThreadLocal な変数はスレッド番号が同じだと共有されちゃう

てなことを先日初めて知った。 各スレッドは 、スレッドが生存していて ThreadLocal インスタンスがアクセス可能である間は、スレッドローカル変数のコピーへの暗黙的な参照を保持します。スレッドが終了すると、スレッドローカルインスタンスのコピーは、す…

うまいことやりたい

顧客に障害を指摘(発見)されたので修正。判定に至る条件がクソ多い部分だったけど、以前作ったテストケースがあったのでサクっと修正。オールグリーン。テストケースが通っただけだから "最低限" の品質を確保したに過ぎないと言われればれそうなんだけど、"…

ダサいと言われようが Java の方が向いてるのかな

Rails3 β がリリースされたので久々に rails コードを書き始めてみると「あれ、この api を呼び出した結果はどういうインタフェースを持ってるんだっけ?」の連続で RDoc を見てみたり Web で検索してみたり、ソースを読んでみたりの繰り返し。趣味だから楽…

久々に一日 PG やったら間違えた

30 日分のミリ秒を取得したかったんだけど 30 * 24 * 60 * 60 * 1000 なんだかおかしい。 30 * 24 * 60 * 60 * 1000L こうだった。

Arrays.toString

配列の中身をログ出力する時なんかにいつも自力で書いてたんだけど、便利なメソッドがあった。 import java.util.*; import java.math.*; public class ArraysTest { public static void main(String args[]) { String[] msg = {"a","b","c"}; BigDecimal[] …

ソースの書き方

コーディング規約が有るけど無いに等しいプロジェクトの場合での話。 String aaa = "aaaaa"; String bb = "bbbb"; List list = new ArrayList(); Map map = new HashMap(); map.put("a","AAAA"); map.put("bb","B"); map.put("ccc","CCCCCC"); map.put("dd",…

ソースコメント

仕様は JavaDoc に書いてある(キリッ)。 現実:JavaDoc をまじめに書いている人は少ない。 テストケース書いてるからエラーが出たらおかしいって事でしょ? 現実:テストケースが無いなんて当たり前。 ソース読めば分かるでしょ。 現実:ゴリゴリ書かれてる…

配列をがっちゃんこ

List でゴリっとつなげるか、System.arraycopy でゴリっとつなげるか。 import java.util.*; public class ArraysTest { public static void main(String args[]) { int count = 10000; List l1 = new ArrayList(); List l2 = new ArrayList(); for(int i = …

Arrays.asList で作った List には add できない

あまり使った事無いけど便利だよなぁ、ぐらいにしか思ってなかったんだけど久々に PG してたらタイトルの通りでびっくりした。 import java.util.*; public class ArraysTest { public static void main(String args[]) { String[] array = {"1","2","3"}; L…

書いてて良かったテストケース

障害対応とはいえ今週は久々にコードを書いている。コードを書いていると1日があっという間に過ぎてびっくりするんだけど、あーだこーだ悩みながらも結構楽しんでいたりする。 とあるシステムのとある集計ツールの修正なのだが関連する条件やパラメータが多…

SortedMap#subMap で上下端点を含む含まない

注: このメソッドは常に、その下端点は含むが上端点は含まない「片側が開いた範囲」を返します。。上下端点を含む「閉じた範囲」が必要で、キーの型により直後のキーの計算が可能な場合、単に lowEndpoint から直後のキー (highEndpoint) までの部分範囲を指…

javaer が勉強しない象徴みたいになってきた

いわゆる大規模(笑)開発により分業が進んだ結果、画面周りをする人、AP サービスを作る人、DB 周りのコアな部分を実装する人、インフラ周りをやる人といったように各自が担当する範囲をそれぞれでこなせばよくなったためだろうか。共通系のコアな部分をスキ…

WEB+DB PRESS Vol.52

WEB+DB PRESS Vol.52作者:矢野 勉,庄司 嘉織,ミック,鶴岡 直也,伊藤 直也,森田 創,高林 哲,小飼 弾,羽生 章洋,角田 直行,はまちや2,kana,斉藤 太郎,瀧内 元気,青木 靖,長野 雅広,武者 晶紀,川口 耕介,冨田 慎一技術評論社Amazon★★★★携帯の目覚ましが OFF に…

JUnit テストケースクリア

「もうダメかもしれない」と何度も思ったけど、約 300 ケースのパターンを網羅したテストケースがオールグリーンとなった。 このパターンがダメなのでこういう考慮を入れてみたら別のパターンでエラーになってやり直しってのが何回もあったけど、これを手動…

書いてて良かったテストケース

炎上、またはもうすぐ炎上、たぶん客先に謝りに行かないといけないだろうなぁと思われる障害向対応のためにコーディング中。久々にコードを書きまくってると思えばテストケースばかり 300 ケースほど。コアな処理で非常にパターンが多く、修正の度に画面を操…

Seasar2入門

Seasar2入門作者:ひが やすをソフトバンククリエイティブAmazonようやく読めた。もうちょっと濃い内容でも良かったんじゃないかなぁと思う。 実案件でフレームワークを選定する権限が与えられたら SAStruts 押すんだけどなぁ・・・オレオレフレームワークが…

はてなAPIへ Java を使って投稿

ソースはここを丸ぱくり。はまったのは文字化けとContentTypeの指定。 文字化けは URLEncoder.encode で UTF-8 を指定すればよかったようだ・・・。 writer.write("status=${URLEncoder.encode('test=テスト from Groovy', 'UTF-8')}") GroovyではてなAPIを…

例外

継承関係 java.lang.Object +-- java.lang.Throwable +-- java.lang.Error +-- java.lang.Exception +-- java.lang.RuntimeException Throwable Throwable クラスは、Java 言語のすべてのエラーと例外のスーパークラスです。このクラス (またはそのサブクラ…