JMockit の部分モックを試す

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

Atom から Visual Studio Code に乗り換える

普段、Markdown エディタとして使っている Atom がどうにも重たい。起動が重たいのはしょうがないにしても普通に文字を入力したいときに固まったりするし。 そこで、Atom よりは軽量と噂の Visual Studio Code に乗り換えようかと。標準で Emmet が使えるし…

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…

Spring Boot で複数の @ConfigurationProperties のプロパティを読み込む

src/main/resources に application.properties があって、プロジェクト直下に config/application-env.properties があるとする。このとき、両方のプロパティファイルを読み込むことを検証したい。 プロパティファイルの内容は次の通り。 src/main/resource…

Bootstrap を利用して簡単なモックアップを作る

仕事で提案活動向けに画面のモックアップを作る機会がありまして、今回は Bootstrap ベースで作りました。 で、せっかくの機会なので Bootstrap の調査を兼ねて Bootstrap の機能をいくつか盛り込んだサンプルみたいなものを作りました。ログインから検索、…

JSON Server でダミーサーバを手軽に構築する

JSON を返すダミー API サーバを構築する際、以下が手軽で便利そうだったので使ってみる。 github.com npm コマンドでインストール。 npm install -g json-server API は JSON ファイルで作成する。以下の場合は、example が API のエンドポイントで、values…

jQuery プラグインを使ってキーワードサジェストを実装してみる

Google 検索のようなキーワードサジェストを実装する際、以下の jQuery プラグインが使いやすくてよかったです。というメモ。 www.devbridge.com ソースコードはこちら github.com 利用方法 プラグインを読み込む。 <script src="js/jquery.autocomplete.min.js"></script> キーワードサジェストを適用するテキスト…

2017年の行動指針

早くも2017年の1.9%が過ぎ去ろうとしていますが、年末年始を帰省先でだらだらと過ごした影響で、未だに怠け癖が抜けない今日この頃です。このまま貴重な時間を浪費するのはよろしくないので、きちんと計画というか行動指針みたいなものを決めておこうかと思…

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

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

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

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

Windows 7 / 8.1 仮想環境

必要に迫られて構築したときに調べたメモ。 Free Virtual Machines from IE8 to MS Edge - Microsoft Edge Development IE8 から Microsoft Edge までの Windows 仮想環境をダウンロードできる。 組み合わせは以下の通り。(2016/12/08 時点) IE8 on Win7 IE9…

JJUG CCC 2016 Fall に行ってきた

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

妻を愛してる IT エンジニアの件

【その2】妻・夫を愛してるITエンジニア Advent Calendar 2016 - Adventar の5日目です。枠が空いてたので書きます! もうすぐ結婚して6年になります。2人の子供に恵まれました。夫婦の仲は昔と変わらずまだまだアツいです。ぐへへ。 妻もITエンジニアです。…

TortoiseSVN で Compare revisions するときはリビジョンの選択範囲に注意する

自戒を込めて。 例えば、r123 ~ r130 でコミットしたファイルを抽出する場合。 単純にヒストリーの r123 ~ r130 を範囲選択して Compare revisions すると、r123 でコミットしたファイルは含まれない。(当然と言えば当然...) あるリビジョンの差分ファイル…

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 以降ではプラグインの仕組みが変更されているようで、古い形式のプラグインが動作しません。よって、古い形…

cp コマンドでディレクトリごとファイルをコピーする

メモ。 $ cp --parent foo/bar/*.json target/ コピー元のディレクトリ階層(foo/bar/)を維持した状態でコピーされる。

Oracle Java Archive

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

iOS 10 で勝手にスリープ解除されるのをやめる

iOS 10 にしてから iPhone を自分の方に向けるだけでスリープが解除されるようになったようです。 便利と言えば便利なんですが、例えば手に持ってる iPhone をポケットに入れようとしただけで、iPhone が反応してスリープ解除されちゃうのがちょっと煩わしい…

JMockit で System.currentTimeMillis を Mock 化する

JMockit で java.util.Calendar のメソッドを Mock 化する - kntmr-blog 上記のエントリでは java.util.Calendar#getTimeInMillis を Mock 化してミリ秒を取得する例を挙げましたが、そもそもミリ秒を取得するだけなら java.lang.System#currentTimeMillis …

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…

Haskell を使ってみる 5 (型)

前回の続き Haskell を使ってみる 4 (タプル) - kntmr-blog 型宣言 式の型は :t コマンドで調べることができる。:: は xxx の型を持つことを意味する。 Prelude> :t 'a' -- Char 型 'a' :: Char Prelude> :t "Hello" -- Char 型のリスト "Hello" :: [Char] P…

Git でリモートリポジトリのブランチを checkout

Git

たまに忘れるのでメモ。 リモートの origin から foo ブランチを取得して、ローカルに bar という名前でブランチを作成する。-b を付けるとブランチの切り替えも同時にできる。 git checkout -b bar origin/foo (メモ) ブランチを表示するときのコマンド # …

環境構築でよく使う Linux コマンドなど

最近、環境構築する機会があったので、よく使う Linux コマンドなどをメモる。完全に個人のメモレベルなので、いろいろ間違っている可能性あり。 尚、OS は不幸にも CentOS 5.4 ...。 アーカイブ系 .tar.gz 形式のアーカイブファイルを扱う場合は tar コマン…

Haskell を使ってみる 4 (タプル)

前回の続き Haskell を使ってみる 3 (リスト内包表記) - kntmr-blog タプル タプルは、複数の異なる型の要素を格納することができる。タプルは括弧で囲む。 Prelude> (1,3) (1,3) Prelude> (1,'a',"Hello") (1,'a',"Hello") サイズ2のタプルはペアと呼ばれる…

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) …

Haskell を使ってみる 3 (リスト内包表記)

前回の続き Haskell を使ってみる 2 (リストの操作) - kntmr-blog レンジ 列挙できる要素の組み合わせでリストを作成することができる。 Prelude> [1..10] [1,2,3,4,5,6,7,8,9,10] Prelude> ['a'..'z'] "abcdefghijklmnopqrstuvwxyz" ステップを指定してリス…

単体テスト(ユニットテスト/UT)で考えること

単体テスト(ユニットテスト/UT)で考えることを雑に書きます。 コードを書くときはテストしやすい粒度でメソッドを分割する。 以下の場合、なにも考えないと execute 内にすべての処理を書きがち。1メソッドの処理が長くなるとテストがやり辛くなる。 これを…