読者です 読者をやめる 読者になる 読者になる

java.util.function パッケージのインタフェースサマリー (用途別)

公式ドキュメントにインタフェースのサマリーが記載されているが、アルファベット順でイマイチ読み辛いので用途別に並べる。 java.util.function (Java Platform SE 8) Supplier インタフェース インタフェース 説明 抽象メソッド Supplier<T> 結果のサプライヤ</t>…

HttpServletRequest#isRequestedSessionIdFromCookie は初回アクセスのときは false を返す

JSESSIONID とか Cookie とか URL リライティングに関連する備忘録。 ※Servlet API 3.x の話です。 レガシーな Web アプリのちょっとしたリプレース中なんですが、携帯サイトがなくなったり、サイト自体が SSL アクセスされるようになったりしたので、セッシ…

カスタム Bean Validation の initialize でアノテーションのパラメータをインスタンス変数に保持して大丈夫なのか

Bean Validation の isValid は、実装によってスレッドの安全性が保証されるべきって書いてあるけど、initialize でアノテーションのパラメータをインスタンス変数に保持するのはダメなの?という話。 https://t.co/M4uQGmFMuZ— knt_mr (@knt_mr) 2017年2月2…

JMockit の部分モックを試す

JMockit の部分モックを試してみる。このあたりの API はバージョンによって変更や削除となることがあるため要注意。ちなみに今回試したバージョンは以下。 JMockit 1.30 JUnit 4.12 gist.github.com メソッドをモック化する場合は、Expectations の中でモッ…

java.io.InputStream を複数のファイル読み込みで共有しない

java.util.zip.ZipOutputStream による ZIP アーカイブについて調べてたら、以下のようなコードを見かけました。(適当に抜粋してます) gist.github.com 単純に、ディレクトリ配下のファイルを commons-io で取得して、ZIP にアーカイブするコードです。これ…

Spring Boot + Spring Batch + Java 6 でバッチを実装した話

今回、Spring Boot + Spring Batch + Java 6 でバッチを実装する機会があったので、もろもろを備忘録としてまとめる。 開発環境 Spring Tool Suite v3.8.3 を使用。Spring Starter Project からプロジェクトを作成する。 Java Version 1.6 Spring Boot 1.4.3…

Apache HttpClient の HttpRequestRetryHandler でリトライをカスタマイズするサンプル

Apache HttpClient の DefaultHttpRequestRetryHandler は ConnectTimeoutException のときはリトライしない - kntmr-blog これの続き。 雑ですが、HttpRequestRetryHandler でリトライをカスタマイズするサンプルを書いてみました。ついでにリトライの間隔…

Apache HttpClient の DefaultHttpRequestRetryHandler は ConnectTimeoutException のときはリトライしない

すべてドキュメントに書かれてるんですが、HttpClient はデフォルトで3回リトライする機能を持っています。しかし、コネクションタイムアウト (ConnectTimeoutException) のときはリトライしません。そのあたりを調べたときのメモ。 ※以下は Apache HttpClie…

JJUG CCC 2016 Fall に行ってきた

JJUG CCC 2016 Fall に行ってきました。簡単に所感をまとめます。 [CCC2016Fall]Be a great engineer! #jjug_ccc #ccc_a1 // Speaker Deck 「こんなセッションを聞きに来てる時点でダメ」とのこと 技術の本質を考える 適材適所で使い分ける 技術には必ずニー…

Spring Day 2016 に行ってきた

Spring Day 2016 に行ってきました。簡単に所感をまとめます。 いくつかの資料は公式サイトで公開されています。 springday2016.springframework.jp Spring 5.0 では JUnit 5 が標準になる模様 JUnit 4 ⇔ 5 は少しギャップがある気がするので個人的には気に…

djUnit を Eclipse 4.5 (mars) と Maven2 で使えるようにする

djUnit 自体、2011年頃から更新されていないため、もはや需要がないかもしれませんが、必要に迫られて調べました。 Eclipse 4.5 (mars) Eclipse 4.x 以降ではプラグインの仕組みが変更されているようで、古い形式のプラグインが動作しません。よって、古い形…

Oracle Java Archive

Java SE (JDK/JRE) アーカイブページ Oracle Java Archive | Oracle Technology Network | Oracle

Oracle Certified Java Programmer, Silver SE 8 認定資格

1Z0-808-JPN - Java SE 8 Programmer I を受験しました。 結果: 合格 / 正解率 92% (合格ライン: 65%) という訳で『Oracle Certified Java Programmer, Silver SE 8 認定資格』を取得しました。 受験対象は「開発初心者向け」とあるので、Java の開発案件を1…

InputStream のカスタム Matcher

なんとなく思い付きで書いた java.io.InputStream のオレオレ Matcher です。あまり使い道はなさそう...。(単純にカスタム Matcher を書いてみたかっただけ) InputStream を byte 配列に読み込んで Arrays.equals で比較します。読み込んだ配列をメンバに保…

JMockit の Mock 化する方法あれこれ

JMockit で java.util.Calendar のメソッドを Mock 化する - kntmr-blog これの続き。 以下、テスト対象クラスとして単純に文字列を連結して返すだけのクラスを用意。 public class FooService { BarService barService; public String execute(String arg) …

JMockit で java.util.Calendar のメソッドを Mock 化する

必要に迫られて調べました。 JMockit 1.26 JUnit 4.12 以下は java.util.Calendar#getTimeInMillis の場合。 final long expected = 1234567890000L; new MockUp<Calendar>() { @Mock public long getTimeInMillis() { return expected; } }; long actual = Calendar.g</calendar>…

プリミティブのラッパーのコンストラクタの代わりに valueOf を使う件

Java9から(?)、java.lang.Integerやその他のプリミティブのラッパーのコンストラクタdeprecatedになる(valueOf使え)のかーhttps://t.co/p67OBUS3n9— Kenji Yoshida (@xuwei_k) July 27, 2016 valueOf でインスタンスを取得することになるわけか。 というわけ…

jad で class ファイルをまとめてデコンパイルする

メモ。 > jad -s java -d sources -r target-folder/**/*.class 階層を維持した状態で sources に出力される。

Javaでズンドコキヨシ

Javaの講義、試験が「自作関数を作り記述しなさい」って問題だったから「ズン」「ドコ」のいずれかをランダムで出力し続けて「ズン」「ズン」「ズン」「ズン」「ドコ」の配列が出たら「キ・ヨ・シ!」って出力した後終了って関数作ったら満点で単位貰ってた—…

コメントアウトのコードを切り替える

メモ。 ブロックコメントとラインコメントを組み合わせて、2種類のコードを切り替える方法。 以下、System.out.println("foo"); の行が有効。 void hoge() { //* System.out.println("foo"); /*/ System.out.println("bar"); //*/ } 2行目の //* のスラッシ…

Javaの条件演算子のところをデコンパイルしてみた

以前、こんな感じのメソッドを見ました。(かなり割愛してますが) で、ちょっと調べたことをメモ。 int getValue(String arg) { return arg != null ? 0 : null; } 条件演算子で false のとき null を返すのに、メソッドの戻り値が int で定義されています。 …