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

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

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

読んだ: レガシーコード改善ガイド

Web 上でそこそこ評価が高いようですね。レガシーコード改善ガイド (Object Oriented SELECTION)作者:マイケル・C・フェザーズ発売日: 2009/07/14メディア: 大型本自分はリファクタリング経験が結構あった (テストを書くことで保護して変更する) ので本書か…

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

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

読んだ: 集合知プログラミング

ユーザーへの推薦やカテゴリ分類、いわゆるデータマイニングに興味があったので読みました。集合知プログラミング作者: Toby Segaran,當山仁健,鴨澤眞夫出版社/メーカー: オライリージャパン発売日: 2008/07/25メディア: 大型本購入: 91人 クリック: 2,220回…

JAX-RS アプリケーションを Groovy で書いて Grizzly で動かすサンプルコード

JAX-RS 実装として Jersey 2.6 を使って JAX-RS アプリケーションを書いて、Java 製 HTTP サーバーの Grizzly で動かす、ということをしてみたのでサンプルコードを残しておく。 Groovy で書いた。 Groovy 公式サイト: Groovy - Home Jersey 公式サイト: Jer…

cron 設定ファイル (crontab ファイル) の置き場所と書式について

cron周りのベストプラクティス読んだ - $shibayu36->blog; 上の記事を読んで興味を惹かれたので、『WEB+DB PRESS Vol.79』 の 「cron 周りのベストプラクティス」 を読んだ。 Web 上でも公開されている。 (2014-06-23 追記。) 第25回 cron周りのベストプラク…

Android アプリ用ライブラリの AAR パッケージを Maven Central で公開する方法

AAR パッケージを Maven Central に公開している人は結構いるけど、build.gradle をどういう感じに書けばいいのかわかりづらかったので書き残しておきます。 使用するリポジトリとビルドツール Maven リポジトリ: Sonatype OSS Maven Repository ビルドツー…

Groovy で気軽に SQL を投げるスクリプトを書く

Groovy を使って簡単に SQL を投げるスクリプトを書く方法を知ったので書き残しておきます。 この記事のスクリプトは Groovy 2.1.7 で試しました。 Groovy SQL Groovy には標準の SQL サポートがあるっぽいです。 groovy.sql.Sql クラス!! 次のドキュメント…

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…

読んだ: Android アプリテスト技法

誕生日のお祝いに頂いたものです。 ありがとうございます!!Androidアプリテスト技法作者: 生路茂太,井芹洋輝,神原健一,長谷川孝二,松木晋祐,宮田友美,吉澤毅出版社/メーカー: 秀和システム発売日: 2013/02メディア: 単行本この商品を含むブログ (6件) を見る…

Espresso を使って PreferenceActivity の自動 UI テストを行う (Android アプリ開発)

表題どおり、Espresso を使って PreferenceActivity の自動 UI テストを行う方法について簡単に説明します。 この記事内容は古くなっています このエントリを書いていた頃は Espresso 1.1 でしたが、現在では Espresso 2.0 がリリースされています。 Espress…

読んだ: Java 並行処理プログラミング / ブライアン・ゲーツ、ダグ・リー、他 著、岩谷宏 訳

Java の並行処理プログラミングについての書籍を読みました。 2006 年の本なので結構古いですが、内容的には今でも十分通用するものですし、世間からも高く評価されてるみたいですね。 内容的にはかなり良かったです。Java並行処理プログラミング ―その「基…

Cocos2d-x 2.2 による Android アプリの開発環境を準備する (Windows プラットフォーム; Cygwin を使わない方法)

本記事は、Windows 上で Cocos2d-x 2.x のプロジェクトをビルドするための環境を構築するための手順を書いたものです。 通常は Cygwin が必要となりますが、本記事では Android NDK の実験的な機能を使うことで Cygwin を使用せずにビルドします。 Cocos2d-x…

読んだ: Android Layout Cookbook アプリの価値を高める開発テクニック / あんざいゆき 著

Android アプリのレイアウトのいじり方などが書かれた本 『Android Layout Cookbook アプリの価値を高める開発テクニック』 を読みました。 著者は、ブログ 「Y.A.M の 雑記帳」 のあんざいゆきさん。 Android 開発をしている人なら結構お世話になってるブロ…

Android アプリ開発で使える XML の Tools 属性

Android アプリのための XML ファイルには、開発時にのみ使用される追加的な情報を書くために使用される名前空間が用意されています。http://schemas.android.com/tools というのがその名前空間で、普通は名前空間接頭辞 (プレフィクス) tools: に結び付けら…

Android Gradle プラグイン 0.7.2 でビルド済みの JNI 共有ライブラリを扱えるようになった

「New Build System - Android Tools Project Site」 に書かれているように、Android Gradle プラグイン 0.7.2 から、ビルド済みの JNI 共有ライブラリ (.so ファイル) を配置する jniLibs フォルダがソースセットに追加されました。 Add jniLibs folder to …

Android アプリに Apache License, Version 2.0 のライブラリを組み込むときにしなければならないこと

Android アプリを開発していると Apache License, Version 2.0 のライブラリを使うことが多いと思います。 Licenses | Android Developers 上のページを見るとわかるように、Android Open Source Project は基本的に Apache License, Version 2.0 ですし、An…

Android Studio 0.4.0 への移行

Android Studio 0.4.0 がリリースされていますね! わー、ぱちぱち。 Android Studio 0.4.0 - Android Tools Project Site Android Studio 0.4.0 への移行は、単にバージョンを上げるだけという感じではなかったので、苦労した箇所などを簡単にメモしておきま…

Java Persistence API (JPA) 実践入門

この記事は Java EE Advent Calendar 2013 の 24 日目の記事です。 昨日は nabedge さんの 「JAX-RSのビューとしてMixer2を使ってみる」 でした。 明日は eller86 さんの 「ウェブアプリケーションサーバでよくあるクラスローダのトラブル」 です! 概要 これ…

Elasticsearch の Query DSL の基本

この記事は 「Elasticsearch Advent Calendar 2013」 の 4 日目の記事です、とかしたかったけど Elasticsearch の Advent Calendar はなさそうなので普通に投稿します。Elasticsearch でクエリを投げるときにお世話になる Query DSL。 とりあえず match クエ…

HTTP の media type の記述中に空白文字を入れても良いのかどうか

RFC2045におけるContent-TypeのBNFに関して - その手の平は尻もつかめるさ 上の記事を読んで、私も Media Types の記述中の空白文字の扱いについて気になってたことを思いだしたので調べてみました。 RFC 2045 における BNF は RFC 822 の定義のものが使用さ…

Gradle 1.9 がリリースされました

昨日、Gradle 1.9 がリリースされました!! Android Gradle プラグインでおなじみの build variant の仕組みが Gradle 本体にも入ったようです。 その他、Gradle デーモン使用時のビルド効率が向上したり、Java の並行ビルドができるようになっていたりJava …

JPA 2 の Entity クラスをかたどるための Metamodel API (Java EE 7)

最近 Java Persistence API (JPA) を使ってみてます。 まだ使いこなせてはないですがなかなかいいですね。 今まで触ったことのある O/R マッパー *1 の設計が嫌いだったので O/R マッパーにはあんまりいい印象持ってなかったんですが、JPA の設計はよく考え…

Elasticsearch のインデックス解析モジュールの概要 (アナライザやトークナイザなど)

Elasticsearch で kuromoji プラグイン を使用しようと思ったものの、解析 (analysis) 周りをちゃんと理解してなくて困ったりしたのでちゃんとドキュメントを読んだ。 Elasticsearch 0.90 現在の公式サイトのガイドを参考に、解析周りの概要をまとめておく。…

Java でファイルの中身を読み込む方法 (Java SE 7 版)

なんとなくネットサーフィン (死語) してたら次の記事を見つけました。 確かに Java のファイル読み込みはいろいろややこしいですよね。 今時なJavaでテキストファイルを読みこむ方法 - /dev/null 「Java ファイル 読み込み」 とかで検索しても FileInputStr…

Java における web アプリケーション開発ことはじめ (JAX-RS 2.0 / Jersey 2.4)

JAX-RS を使って Java で web アプリケーションを開発したい、と思っても、Java EE 周りに詳しくないと何をどうすればいいか全然わかんないですよね! そんなことないですか? 少なくとも私はよくわかんなかったです。そんなわけなので、JAX-RS を使って web …

Android Studio で Volley を使う

以前、Android Studio で Volley を使う方法として 『一度 Eclipse にインポートして、build.gradle を生成しつつエクスポートするのが良さそう』 と書きました。 Android アプリ用ライブラリ Volley を準備する - ひだまりソケットは壊れない しかし、今で…

スワイプでページ送りできるタブ付きの Android Activity を作る

スワイプでページ送りができて、Activity 上部にタブでページ名が並んでいる (もちろんタップしたらそのページに移動する) というような Activity を作る方法です。 サンプルのスクリーンショット 次のような感じです。タブ部分をスワイプしたら、タブに並ん…

Volley のテスト (com.android.volley.toolbox.HttpHeaderParserTest) に失敗する問題と対策

Android アプリ用のネットワークライブラリ Volley のテストを実行すると、一部環境でテストに失敗することがある問題についてです。 対象とする Volley のバージョン 現時点の master ブランチの最新コミット (コミット faa2a13dce6) を対象としています。 …

MozMill を使って Firefox 拡張機能のテストを行う方法

これまで Firefox 拡張機能のテストをどうやって書くのがいいかずっと悩んでいたのですが (悩みつつも QUnit を使ってテストを書いていました)、このあいだ MozMill というのを見つけて、使ってみたらなかなか良かったので紹介します。 MozMill とは MozMill…

Android の ListView のアイテムの子要素の android:height="match_parent" が効かない

Android アプリ開発で、ListView の項目として FrameLayout や RelativeLayout を使っていたのですが、その子で android:height="match_parent" の指定がなされている view が全く表示されなくて困っていました。原因を探ってみたところ、どうやら ListView …