日々常々

ふつうのプログラマがあたりまえにしたいこと。

JAX-RSのユニットテストまわり

JAX-RSのClient APIを確認した流れで、ユニットテストまわりも眺めてみる。 Jersey - 2.17 RESTEasy - 3.0.9.Final 各実装のテストサポート 軽くコード書いてみたりしつつ思ったことをば。 Jerseyさん Chapter 25. Jersey Test Framework Jerseyさんのテステ…

Seleniumを軽く動かす

導入 Seleniumに触れる機会はなんだかんだで徐々に増えてきている気がする。少なくとも3年前よりはよほどいろんなところで聞くようになったし、使われるようにもなっているはず。で、なんとなくこのブログを検索してみたら、思った以上に何も書いていなくて…

JAX-RSのClientAPIを眺めてみて

導入 もう随分前の話になるのだけれど、JAX-RS2.0にはClient APIが仕様に入っております。 それはそれとして、各実装は個別にClient APIを提供したりしておました。 個別に実装していたClientAPIには当然違いがあるわけです。で、どんな差があるんだろーと見…

ようやくJavaFX8さんを触ってみたところ

JavaFX8が出て1年たちましたが、ようやく触ってみようと思いたったので、新幹線の中でGetting Startedを叩いてました。 JavaFX: Getting Started with JavaFX なかなかいい感じにこなれてきて、動かすのにミニマムなコードはこの程度になりました。 import j…

#JavaDayTokyo 2015 に行ってきた

4/8 に行われた Java Day Tokyo 2015 に行ってきました。 20周年を迎えるJavaの記念イベントでもありました。 そんな場でなぜか話してきました。 昼イチのセッションでした。 タイムテーブル見ていただければわかると思いますが、裏番組もいいとこ……にも関わ…

変数を使用する無名クラスのコンストラクタさん

過去記事を見ながら追記みたいな感じで。 リフレクションでprivateをテストしてみる - 日々常々 内部クラス/無名内部クラスはエンクロージングインスタンスの型を要求するコンストラクタが生成されて、内部クラスのフィールドにエンクロージングインスタンス…

「はじめてのSpring Boot」の感想とか #hajiboot

大晦日に家族のひんしゅくを買いながらはじめてのSpring Bootを読んでました。 はじめてのSpring Boot―「Spring Framework」で簡単Javaアプリ開発 (I・O BOOKS)作者: 槇俊明出版社/メーカー: 工学社発売日: 2014/11メディア: 単行本この商品を含むブログ (4…

WildFlyさんが重複したヘッダを返してきよる

JBossAS7.1.1で動いてたwarをWildFly8.2.0にデプロイしたらページ表示するときに怒られた。 ChromeおよびFirefoxにてhtmlファイルを表示しようとしたとき。 ちなみにIEやSafariはヘッダが重複してようと気にせず表示します。えらいのかおばかなのかはわから…

Javaであまりしないコーディング

Java Advent Calendar 2014 - Qiita の9日目です。9日ったら9日です。 なんか難しいエントリが多い中ですが、空気を読まずに軽めでいきます。 Javaでは色々なコードの書き方ができるけど、実際あまりやらないよなーって思うコーディングについて、やらない理…

Java EEを説明してみる #javaee

これは Java EE Advent Calendar 2014 の2日目です。Java EE をよくわかっていない私がよくもまぁアドベントカレンダーなんて登録したなーとしみじみ思いながら。 確かアドベントカレンダーに登録したのをきっかけに、なんか調べようと思ってたのですが、 思…

JavaSE8でinterfaceにstaticメソッドを持てるようになったので

Javaの古きアレなプラクティスの1つに、ユーティリティクラス*1をabstractで作成すると言うのがある。 public abstract class SomeUtil { public static String appendA(String str) { return str + "a"; } } ユーティリティメソッドappendAは、特に役に立…

リフレクションでfinalフィールド変更できるんだーといまさら

(タイトルは気にしないでください) 問題です。 元の文は変更せず、なんか足すとかしてテストを通るようにしてくださいませ。 いちもんめ @Test public void test1() throws Exception { String abc = "abc"; String def = "def"; assertThat(abc, is(def))…

「Javaエンジニア養成読本」が出るのです

Javaエンジニア養成読本 [現場で役立つ最新知識、満載!] (Software Design plus)作者: きしだなおき,のざきひろふみ,吉田真也,菊田洋一,渡辺修司,伊賀敏樹出版社/メーカー: 技術評論社発売日: 2014/11/11メディア: 大型本この商品を含むブログ (6件) を見るJ…

DiamondProblemの対応で気になったこと

去る2014/7/12は関西Javaエンジニアの会スペシャル! Java 8リリースでした。JavaSE8に関するアレコレでぎっしり、実に充実した一日でした。さて、その中でインタフェースにdefaultメソッドが定義できるようになった結果、起こるのじゃないかと危惧されたダ…

レガシーコードのはなしをしてみた #DevKan

レガシーコードと対峙する方法を考える - DevLOVE関西 | Doorkeeper 2014/03/25にあったDevLOVE関西「レガシーコードと対峙する方法を考える」で、「"レガシーコード"再考」とか釣りっぽいタイトルで話してきました。DevLOVE関西は発表とダイアログって形式…

JUnitの各要素の実行順

仕組みとか説明するのも面倒だし、ソースを出すのも手間だし、論より証拠って便利な言葉に乗っかって。こんなテストがあったとする。ありえないけど。ないけど、まぁあったとする。 @Grab('junit:junit:4.11') import org.junit.* import org.junit.rules.* …

今年とは一体なんだったのか

いろふAdventCalendar2013の25日目です……今年こそは続かないと思ったのに。なんか今年はアドベントカレンダー、複数日を書くのがあたりまえになってるようで、数あるアドベントカレンダーもそんな感じで埋まってるのを横目に、「あー今年は書かない感じかな…

Gradle1.9でsetupBuildがinitに

gradle1.9が出てたので。バージョンアップして。おもむろにsetupBuildを叩いたら。 % gradle setupBuild FAILURE: Could not determine which tasks to execute. * What went wrong: Task 'setupBuild' not found in root project 'radishtainer'. * Try: Ru…

Mavenさんの代わりにGradleさんを使ったら依存解決で

ハマることがあるかも。と言うか私以外にもハマった人が居たので、書いておきます。 なお、ここではgradle1.9、jersey1.17.1を使っています。他のバージョンは知らない。 お話 「時代はJAX-RSなので素振りでもしてみよう」と思いたちますよね。そしたら「bac…

NUnitのTestCaseが羨ましいのでJUnitでできるようにしてみた

車輪の再発明万歳。 https://github.com/irof/junit-case-runner こんな感じ。(若干予定含む) @Tests({ @Case({"str1", "str1"}), @Case(value = {"str2", "str2"}, name = "hoge"), @Case(value = {"str3", "str3"}, expected = Exception.class), @Case({"…

関ジャバでJUnitな話をしたので #kanjava #junitbook

関西Javaエンジニアの会'13 7月度 - connpass 関西Javaエンジニアの会'13 7月度を7月31日に開催しました。6月に続いて二ヶ月連続ですね。三ヶ月連続は無いので心配しないでくだ……あ、8月にはJavaEEと言うかGlassFishと言うか、あれがありますね!(「関ジャ…

ニセコ開発キャンプ、まとめ。

我々は開発をするには体力が無さ過ぎる。

日本語テストメソッド名の検討フロー

テストメソッド名を日本語で書きたい。実線がYes, 点線はNo. 補足 テストコードが納品物になってないとかで軽視されている場合は、自身に対するわかりやすさ重視で日本語。 テストコードの価値がそれなりに認められている場合は、自分以外に少なくとももう一…

JUnit4の各バージョンでの変更の整理

メモです。たまに更新するかもです。 4 Annotation化 4.4 assertThat, Theories 4.7 release notes @Rule 個人的にJUnitで最も重要なもの。 4.8 release notes Categories テストにラベリングできる。今まではクラス/メソッド名で縛るしかなかった。 4.9 re…

JDK8EAでGrabが使えないぽ

わざわざEAなんて入れる人はハマらないんだろうけども……(´・ω・`) JDK8 Early Access Releasesさんを入れてる端末で。 % java -version java version "1.8.0-ea" Java(TM) SE Runtime Environment (build 1.8.0-ea-b91) Java HotSpot(TM) 64-Bit Server VM …

JenkinsでJBossAS7にデプロイしようと思ったので

8からWildFlyって名前になるJBossASさんですが、Jenkinsから7.1.1へのデプロイをしようと思ったら、なんかDeployPluginとか5.x以降は無視ってるっぽいのでどうしたもんかなと。 この手の「どうとでもなるだろー」と思うものは大抵どうとでもなるんですが、メ…

Gitの相対的にコミットを指定するためのアレ

Git

GitのコミットはSHA1で識別されますが、それをいちいち指定してるとやってられないので、なんかそれっぽい名前で代用できたりします。よく使われるのはブランチ名(master とか)やタグ名で、他にはHEADとかその辺の特殊なアレもありますね。この辺はブラン…

PowerMockとJUnitのRuleを使うときのメモ

少し試行錯誤してしまったので書いときます。この情報はバージョンによって古くなる可能性が十分にあります。 PowerMock: 1.5 Mockito: 1.9.5 junit: 4.11 short answer PowerMockRule は使わず PowerMockRunner を使いましょう。 PowerMock? powermock - Po…

JJUG CCC 2013 Spring 行ってきました

5月11日 JJUG CCC 2013 Spring(東京都) 2013/5/11に開催されたJJUG CCC 2013 Spring に参加してきました。CCCは2度目……かな。二年前の勉強会ツアーが思い出されます。 東京勉強会ツアーしてきました。 - 日々常々 300人弱の参加人数で、結構盛況だったように…

「自動受け入れテスト」を考えてみる

きっかけは XP祭り関西2013 の @StoneGuitar777 さんのLTからです。 LTスライド: XP祭り2013-LT-Codeer @ITの記事: 特集:受け入れ検査の自動化手法の考察:Windowsアプリの受け入れテストを自動化しよう (1/5) - @IT 「継続的デリバリー」に貼付けた付箋を…