2016-01-01から1年間の記事一覧

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

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

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

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

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メソッドの処理が長くなるとテストがやり辛くなる。 これを…

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 でインスタンスを取得することになるわけか。 というわけ…

Haskell を使ってみる 2 (リストの操作)

前回の続き Haskell を使ってみる 1 (導入) - kntmr-blog リスト同士の連結 ++ 演算子は2つのリストを引数に取る。第1引数に指定したリストは最後まで走査されるため、要素数が大きいリストを扱う場合は注意が必要。 Prelude> [1,2,3,4] ++ [5,6,7,8] [1,2,3…

Elasticsearch を使ってみる on Windows

とりあえずメモ。 前提 Windows 7 Professional SP1 64bit Elasticsearch 2.3.4 インストール/起動 Download Elasticsearch Free • Get Started Now | Elastic ZIP をダウンロードして展開 bin/elasticsearch.bat を実行 使ってみる GitHub - elastic/elasti…

「家事を手伝う」から考える主体性

結婚して数年経ちましたが、たまに周りから「家事のお手伝いされてるんですか?うわー偉いですねっ!」みたいなことを言われたりします。 確かに家事をやってはいますが、この「家事を手伝う」という言葉に疑問を感じています。自分が男だからこそ言われるこ…

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

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

Haskell を使ってみる 1 (導入)

前提 OS X Yosemite (10.10.5) Haskell Platform 8.0.1 for Mac OS X Haskell Platform for OS X インストール Download Haskell Platform For OS X Download Full (64 bit) をクリックしてインストーラをダウンロード インストーラを起動してインストール …

homebrew で PostgreSQL をインストール

古い PostgreSQL をアンインストール $ brew uninstall postgresql データベースクラスタを削除 $ rm -rf /usr/local/var/postgres/ homebrew で PostgreSQL をインストール $ brew install postgresql homebrew でインストールすると内部で initdb が走る。…

Windows に VirtualBox / Vagrant 環境を構築する

昔のメモを掘り起こしたので、一部加筆修正して転記。 前提 Windows 7 Professional SP1 64bit Oracle VM VirtualBox 4.3.12 Vagrant 1.8.1 VirtualBox インストール Downloads – Oracle VM VirtualBox VirtualBox older builds > VirtualBox 4.3 > VirtualB…