ひだまりソケットは壊れない

ソフトウェア開発に関する話を書きます。 最近は主に Android アプリ、Windows アプリ (UWP アプリ)、Java 関係です。

まじめなことを書くつもりでやっています。 適当なことは 「一角獣は夜に啼く」 に書いています。

ライブラリ

MockK と JMockit の組み合わせで AttachNotSupportedException 例外が発生することがあるっぽい

Kotlin で Mockito を使うのが辛くなってきた *1 ので、「よーしパパ MockK 入れちゃうぞー」 と言って MockK 1.8.12 を導入したのだけど、その結果テストを実行すると以下のような初期化エラーが発生するようになってしまった。 java.lang.ExceptionInIniti…

JerseyTest で Servlet のリソースを扱う JAX-RS 部品のユニットテストを行う方法

要約 Jersey のテストフレームワークが便利。 Servlet のリソースを扱う JAX-RS コンポーネントのユニットテストを書くときには GrizzlyWebTestContainerFactory を使用すると良い。 前提知識 : Servlet と JAX-RS Jakarta EE (旧 Java EE) における HTTP サ…

Gradle のマルチモジュールプロジェクトで maven-publish プラグインを使う場合の依存関係

Gradle でビルド成果物 (build artifact) を Maven リポジトリに公開するためのプラグインとして、maven-publish プラグインがある。 Maven Publishing (new) - Gradle User Manual maven-publish プラグインとマルチプロジェクトの依存関係 簡単な例 Java …

ThreeTenABP と ThreeTenBP の関係について (Android における JSR-310 バックポート)

「ThreeTenABP って Android フレームワークに依存するけど、ドメインレイヤとかで Android 依存を排除したい場合どうするのがいいんですかね」 という相談を受けて、ThreeTenABP 周りを調べたのでメモ。 ThreeTenABP って何? JSR 310 Date and Time API の…

読んだ : RESTful Web Services with Dropwizard / Alexandros Dallas 著

Dropwizard に関わる仕事をしているので読んでみました。RESTful Web Services with Dropwizard作者: Alexandros Dallas出版社/メーカー: Packt Publishing発売日: 2014/02/19メディア: Kindle版この商品を含むブログを見る Dropwizard について Dropwizard …

Dropwizard + JDBI で SQL オブジェクトの返り値に Optional を使うときには SingleValueResult アノテーションが必要

Dropwizard で SQL ライブラリ JDBI を使うときのおはなし。 OptionalContainerFactory dropwizard-jdbi ライブラリは OptionalContainerFactory クラスを提供してくれていて、JDBI の SQL オブジェクトで返り値に Java 8 で導入された Optional 指定するこ…

MySQL Connector/J 5.1 系では useLegacyDatetimeCode=false にしよう

JDBC で MySQL に接続するときに使用する MySQL Connector/J (mysql:mysql-connector-java) の話。 サーバー・クライアントのタイムゾーン設定が違っている場合にどう対応するのがいいか。 結論 MySQL Connector/J 6 (まだ開発版だけど) 以降は自動でやって…

grunt-ts が .baseDir.ts ファイルを作るのを抑制する

Grunt を使っていて TypeScript のビルドを行うタスクを定義する際には grunt-ts を使うことが多いでしょう。 (grunt-typescript もあるけど。) grunt-ts で困ったことがあったので書いておきます。 outDir オプションを使うと .baseDir.ts ファイルが作られ…

Android の Instrumented Test で指定のサイズのテストだけ実行する (@SmallTest とか @LargeTest とか)

Android Testing Support Library (ATSL) の話。 バージョン 0.5 時点での情報です。ライブラリの準備方法などはドキュメントを読んでください。 テストサイズを表すアノテーション android.support.test.filters というパッケージがあって、この中にはテス…

ISO 8601 DateFormat 1.0.0 (Java 向けライブラリ) をリリースしました

2016 年 5 月 3 日に ISO 8601 DateFormat の 1.0.0 をリリースしました。 ISO 8601 形式 (もしくは RFC 3339 や W3C-DTF 形式) の日付時刻文字列のパースとフォーマットのための DateFormat のサブクラスを提供するライブラリです。Bintray の JCenter リポ…

gif-writer (GifWriter.js) version 0.9.3 をリリースしました

2013 年にリリースした GIF Encoder のライブラリ “GifWriter.js” を npm モジュールにして “gif-writer” としてリリースしました。 バージョンは 0.9.3 です。 *1 gif-writer 変更内容としては以下のとおりです。 各ファイルをモジュールに変更。 パッケー…

「DroidKaigi 2016」 と 「関モバ #11」 で発表しました

「DroidKaigi 2016」 にて 『5 年続く 「はてなブックマーク」 アプリを継続開発する技術』 というタイトルで、また 「関モバ #11」 で 『Components­Recycler­Adapter — RecyclerView で複数の view type や複雑なデータ構造を扱う』 というタイトルで、そ…

Android の Drawable への着色について (Drawable tinting)

API level 21 から使えるようになった Drawable への色付け (Drawable tinting) について説明します。 この機能は、アルファマスクとして Drawable を定義し、表示時に色を指定するための機能です。 また、それに関連する各種 API や、Android Support Libra…

【v7 appcompat library を読む】 レイアウト XML のインフレート時に各種 view が compatible widget に変換される仕組み

Android アプリ開発時にお世話になる v7 appcompat library の話です。 レイアウトのインフレート時に、各種 view が compatible widget に自動的に変換される (例えば TextView が AppCompatTextView に変換される) 仕組みについて説明しています。

UWP アプリ開発に TypeScript + React を導入することの検討 (Node.MSBuild.Npm の紹介)

こんにちは! 株式会社はてなにて、主に 「はてなブックマーク」 Android アプリの開発を行っている id:nobuoka です。 この記事は、「はてなデベロッパーアドベントカレンダー 2015」 の 14 日目の記事です。 昨日は id:hatz48 による 「TypeScript だけで …

Windows Runtime Support Lib for JavaScript version 0.1.0 をリリースしました

Windows Runtime Support Lib for JavaScript (WinRSJS) の最初のバージョンである version 0.1.0 をリリースしました。 nobuoka/WindowsRuntimeSupportLibForJS · GitHub どんなライブラリか Windows ストアアプリ、および Windows Phone アプリを JS で開…

WinJS 4.0 では HTML コントロールにスタイルを当てるためにクラスを明示的に指定する必要がある

WinJS 4.0 がリリースされましたね!! めでたい! WinJS 4.0 Released 2015 年 6 月 14 日時点では、Try WinJS のダウンロードページのリンク先がバージョン 4.0.0 になっていますが、最新バージョンは 4.0.1 です。 (Windows Phone 10 におけるバグの修正…

Espresso 2.0 が Android support library の一部としてリリースされた

上記エントリにあるように、Espresso 2.0 がリリースされた。 Espresso は Android アプリの自動テストのためのライブラリである。 ほぼ上のエントリに書かれている内容であるが、Espresso 2.0 のリリースについて紹介する。 変更内容など 一番大きな変更は…

【Retrofit を読む】 利用者が定義したインターフェイスに実装を提供する Java ライブラリの作り方 【リフクレション】

この記事は、はてなエンジニアアドベントカレンダー 2014 の 15 日目のエントリです。 昨日は id:chris4403 による 「開発合宿で何を考えてどう作ったか」 でした。このエントリでは、Android アプリおよび Java アプリケーション用の REST クライアントライ…

google-http-java-client 入門

Java で HTTP 通信するときのクライアントライブラリを何にするかいつも悩むのですが、最近 google-http-java-client が気になってたのでちょっと使ってみました。 汎用的に HTTP 通信ができればよい、というような用途にはちょうど良さそうです。数年前から…

「Typetalk Hack Kyoto」 に参加しました

「Typetalk Hack Kyoto」 という nulab 主催のイベントに参加しました。 大阪、東京、福岡に先駆けて京都で行なわれた「Typetalk Hack」で知る Typetalk を本気にさせる方法 | Nulab 日本語ブログ イベントの様子は上の記事にまとめられています。 Typetalk …

android-lib-ZXingCaptureActivity 2.3.0-1.2 をリリースしました

android-lib-ZXingCaptureActivity という Android アプリ用のライブラリを公開しました *1。 AAR でパッケージングして、Maven Central に publish してあります。 バージョン 2.3.0-1.2 : info.vividcode.android.zxing:capture-activity:2.3.0-1.2 — Mave…