うさぎ組

ソフトウェア開発、チームによる製品開発、アジャイル、ソフトウェアテスト

Java

Java/Groovyでうるう秒を扱う方法

Java言語でうるう秒を扱う方法を調べたのでまとめておきます。Twitterで質問したらたくさんのリプライ、エアリプがありそれらをもとに調べることで達成できました。ありがとうございました。 概要 Java標準APIのOracle実装ではうるう秒を扱えない。Calendar,…

(2年前に)VCSへのコミットを契機にJenkinsでビルドしてみた

2年前に書いていた下書きがあったので、どうせなら公開しておきます。 NetBeans好きな自分が懐かしいです。 見ていて思ったのは、今ならEmmaではなく、Cobertunaつかうなーとかかな。 以下が下書きの内容。 操作の流れは 1.プロジェクトで何かの変更(プロダ…

JavaOneTokyoでGroovy+AndroidのLTしてきました。 #JavaOneJP

JVM言語BoF Scala, JRuby, Groovyの3つの言語対決というテーマで2時間様々なセッションがおこなわれました。 LTによんでくださったJGGUGさんありがとうございます!ざっくりとした感想はつぎのかんじです。 Scala:静的できれいなコードがかける。短いコード…

Androidアプリケーション開発の構想

Androidアプリケーションの開発をすることになりました。 ド素人ですが楽しそうです。 っていうことで開発環境の選定から行うことになりました。 テストのないコードを書けるほどアジリティなプログラミングスキルがないのでテスティングフレームワークの選…

Javaのプリミティブについてのある側面

TwitterでJavaのプリミティブが流行っていたのでちょっとだけ。 Javaのプリミティブはあんまりいいイメージがないことが多いですね。Effective JavaなんかでもBigDecimal使いましょうってあった気がします。 全ての型がオブジェクトであるような言語とかもあ…

JavaプロジェクトでGroovyを導入すべき5つの理由

前段 TDDBootCamp in Tokyo 1.5にJavaグループの一員として参加させていただきました。 そこでGroovyをやりたいというホットなエンジニアと出会いまして、GroovyでTDDをさせていただきました。 いきなりGroovyでプロダクトを書く事はなかなかないと思ってい…

TimestampのgetTimeには気をつけよう。

Javaで日時を表すときはあの憎らしいCalendarクラスを使ったり、 素敵なJodaTimeライブラリを使うと思うんですが、 SQLを使うときにjava.sql.Timestampを使うことがあります。 Javaの日時に関連するクラスというのは大抵はgetTime()みたいなメソッドがあって…

今春プログラマーになる人がこれからやるべきたった1つのこと(Java編)

プログラマーになる人がやるべきたった1つのこと。それはクリーンコードを書くことです。 おそらくアジャイルのプラクティスが重要であることは自明で、そこで使われるツールもです。 ただプラクティスやツールやインフラはあくまで「加速装置」です。加速…

MercurialのコミットでJenkinsにGradleでビルドさせたりする。構成説明編

JavaプロジェクトをMercurialにコミットしたら勝手にビルドされてテストとかやってくれるのいいですよね! ということでやってみました。いろんなプロダクトを使ったので今回は全体の構成を説明する編です。 使ったプロダクト Java、Groovy(プロダクトコー…

NetBeans7.0Betaがリリースされました

NetBeans7.0M2はインストールしたものの全然使う暇がなくって寂しい思いをしていましたが、 とうとうBetaリリースされました。 Oracleさんが経営になったおかげか、Oracle関連部分のサポートが厚くなっています。 個人的にはOracleDataBaseはよく触っている…

JDK5とJDK6の違い

JDK5とJDK6の違いをちゃんと知っておかないと痛い目見ます。 違いはConsoleクラスだとかSwingだとかいろいろあるんですが、 そちらはいろんな方が書いていてくださっているようなのでそちらを参照ということで。ここでは他のことで僕がとりあえず知っている…

IntegerとBigDecimalはnewしないほうがいい

タイトルについてTwitterで以前に同じようなことをツイートしましたが、まとめておこうということで。 ちなみに調べたのはSun JDK 1.6.21です。 結論から言うとIntegerとBigDecimalのインスタンスを取得する時はnewではなくvaluesOfを使おう!ってことです。…

全ての配列はObjectのサブクラスである

先日、こんなコードを実行すると例外が発生して混乱しました。 Object[] obj = piyo(); for(Object each : obj){ execute(each); } piyo()では様々なオブジェクトを配列にして返してくるのでこのようになっていて、 execute(Object obj)で受けとって処理する…

Javaの開発環境を高速にする方法

Javaのと書いてありますが、僕はNetBeansユーザーなので、NetBeansを高速にする方法です。 まぁ体感的にですけど、NetBeansの方が速いと思います。そのうち時間とか計ってみますが。 基本的にはあらかじめJavaをインストールしておく必要もありません。 NetB…

Listはオブジェクトの配列です

JavaではListにプリミティブ型を保持することは出来ません。 これはListの実装がObjectの配列を保持するようになっているから。なのでプリミティブ型をListに保持したいときは 値をラップオブジェクトに入れて保持させることになります。Java 1.4までなら・L…

クラスやメソッドでのfinalの使い方

クラスやメソッドでfinalをうまく使うためにはどうすればいいかを調べてみました。 個人的には「引数にはfinal乱発したい派」な感じです。 まず、クラスやメソッドでfinalと宣言するとどんなことになるかっていうのをおさらいすると メソッドをfinalと宣言す…

継承を使う理由をテンプレートメソッドパターンで説明してみる

[Java]継承を使う理由をテンプレートメソッドパターンで説明してみる。継承の使いどころってよくわからないことがありますが、 自分はテンプレートメソッドパターンを知ったときに 「あぁ、なるほど」と納得できました。 ということで簡単にテンプレートメソ…

このブログをはじめるきっかけ

[Java]このBlogをはじめるきっかけ 初めてのエントリーなので何を書くか悩みましたが、 このBlogをはじめるきっかけとなったあるエントリーについて触れようと思います。 このブログをはじめるきっかけになったのは id:bleis-tiftさんの「2009-06-03 - ぐる…