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

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

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

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

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 ファイルが作られ…

UWP アプリ 「みお×ぽん」 のバージョン 1.1.0 をリリースしました

2016 年 10 月 1 日、IIJmio の 「IIJmio 高速モバイル / D サービス」 が au の回線にも対応して 「IIJmio モバイルサービス」 に改称されました。 IIJmio:サービス仕様の改定及びキャンペーン実施のお知らせ auの4G LTE回線を利用したIIJmioモバイルサービ…

レスポンシブデザインのために resize イベントを使うのはやめて matchMedia メソッドを使おう

レスポンシブデザインのために JS で画面サイズの変更などを検知するために resize イベントを使うことがありますが、より良い方法として matchMedia メソッドによりメディアクエリを扱うというものがありますので、紹介します。

PowerShell (Windows) で Docker コンテナにホストディレクトリをデータボリュームとしてマウントする際に pwd 相当のことをしたい

試した環境 Windows 10 Home (Anniversary Update; 64-bit 版) Docker Toolbox 1.12.0 前提知識 docker run -v /path/of/host/dir:/path/of/container ... という感じでホストディレクトリをデータボリュームとしてマウントできる。 Windows で Docker Engin…

株式会社はてなを退職しました

2016 年 8 月 31 日付で株式会社はてなを退職しました。 皆様、大変お世話になりました。 ありがとうございました!

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

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

Rust 入門してる #3 : オブジェクト指向っぽい部分?

#2 に続いて Rust のドキュメントをぼちぼち読んでます。 このブログ記事はメモと感想程度のものですので、詳細は各見出しの下のリンク先を見てください。今回は構造体とか列挙型とかメソッドとかトレイトとかそこら辺のオブジェクト指向っぽい部分 (の途中…

React Native の Universal Windows Platform サポートを試してみた

React Native が Universal Windows Platform をサポートするという発表が、2016 年 4 月の F8 にて Microsoft と Facebook により行われました。 すなわち、React Native を使って Universal Windows Platform (UWP) アプリを開発できるようになります。blo…

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 リポ…

Rust 入門 #2 : 所有権システムと可変性

「Rust 入門してる #1」 に続き、ぼちぼちと Rust を学んでます。 今日は所有権システムと可変性についてのメモです。

Rust 入門してる #1

最近 Rust を学び始めました。 ドキュメントを読みながら構文を学んでいる段階です。 変数結合 (variable bindings) から初めて、関数やプリミティブ型、コメント、if やループといった制御構文あたりをざっと見てみました。

Gradle のマルチプロジェクト構成におけるプロジェクトの評価順 (設定フェーズにおけるプロジェクト間の依存関係)

Gradle の公式のドキュメントに書いてあるけどどこに書かれてるのか探すのにいつも手間取るのでメモっておく。 前提知識 Gradle のビルドには、「初期化」 (Initialization) と 「設定」 (Configuration) と 「実行」 (Execution) の 3 つのフェーズがある。…

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 や複雑なデータ構造を扱う』 というタイトルで、そ…

Gradle plugin を Plugin Portal で公開する (2016 年 2 月版)

背景 : Gradle プラグインの開発について 独自の Gradle プラグインの書き方は次のページに書かれています。 Chapter 39. Writing Custom Plugins ここには公開の方法も書かれていて、次のように述べられています。 If you are publishing your plugin inter…

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

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

Android の Java で時刻を扱う (Date、Calendar、DateFormat クラス)

Android アプリで時刻を扱う際に利用することになる Date クラス、Calendar クラス、DateFormat クラスについて、それぞれの役割や使い方、気を付けるべきことをまとめています。

Java における byte 型について (あるいはバイナリデータを扱うためのキャスト)

この記事は、もともと次のページに書かれていた内容に、加筆・修正を行ったものです。 Java における byte 型の扱い方 - vivid memo はじめに この記事では、ビット列を角括弧で囲み、[00000000] のように表現する事にします。 byte 型の表現範囲 Java のプ…

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

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

ECMA-262 6th (ES 2015) のモジュールについて (入門編)

ECMAScript 2015 で導入されたモジュールについて、ECMA-262 6th を読んでまとめました。

『Web API: The Good Parts』 を読んだ

Web API: The Good Parts作者: 水野貴明出版社/メーカー: オライリージャパン発売日: 2014/11/21メディア: 大型本この商品を含むブログ (6件) を見る同僚から借りて読みました。 全体としては Web API の設計に少しでも携わる人間ならとりあえず読んでおいた…

VirtualBox 5 上の Debian 8 に Guest Additions をインストールする

まあドキュメントを読めって話ではあります。 次のページにまとまっています。 Chapter 4. Guest Additions - 4.2.2. Guest Additions for Linux (Oracle VM VirtualBox User Manual) 背景 わりと長く VirtualBox を使ってきて、何度も Guest Additions をイ…

UWP アプリ 「みお×ぽん」 をリリースしました

2016 年 1 月 19 日に、Universal Windows Platform (UWP) アプリ 「みお×ぽん」 をリリースしました。 下記ページからダウンロードできます。www.microsoft.com どんなアプリ? 株式会社インターネットイニシアティブが提供するインターネット通信サービス …

Chrome からの共有で onNewIntent が呼ばれない問題 (Android アプリの documentLaunchMode の話)

Android の API level 21 で導入された documentLaunchMode に関する Activity の挙動にバグっぽいところがあって、結構扱いに困るのでまとめておきます。 「documentLaunchMode? 関係ないや」 って思ってる人でも、外部アプリからの Intent を扱うアプリを…