前人未踏の領域へ Androidアプリ開発編

Androidアプリ開発に関する調査メモ置き場。古い記事にはアプリ以外も含まれます。

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

mod_geoip2で特定の国からのアクセスをブロックする

課題 Google Analyticsを見ていると特定の国から定期的なアクセスがあり、集計結果を狂わせている。そこの国向けにはコンテンツを提供していないため、乱暴ではあるが国単位でブロックしてしまいたい。 対策 調べたところ、GeoIPというモジュールがあったの…

WSDLにアクセスできない

現象 何日か前からProduct Advertising APIがエラーを返すようになった。放置していたのだが改善する様子がない。 原因 エラーログを見てみると、wsdlのリクエストが404エラーを返していた。スタックトレースの抜粋 Caused by: com.sun.xml.internal.ws.wsdl…

StoryboardにNibファイルを読み込む

お題 Storyboardをメインで使用しているが、一部のViewを再利用したい。またはStoryboard上では編集が困難なので管理を別にしてしまいたい。 対応 Storyboard上にカスタムViewを配備し、そのカスタムViewにNibファイルから読み込んだViewをaddSubViewする。 …

SwiftにObjective-Cのコードをimportする

解説 SwiftからObjective-Cのライブラリを利用するにはヘッダーファイルを1つ用意し、そこに利用したいライブラリをimportする。それだけでSwiftのコード側には一切import文を記述することなく利用できるようになる。 手順 フレームワークを追加 ヘッダーフ…

外部キー制約追加時の注意点

テーブル作成時に外部キーを追加しようとしたらエラーになったのでその対応メモ 現象 とあるテーブルに以下のような外部キーを追加するコマンドを実行 ALTER TABLE `some_table` ADD CONSTRAINT `fkey_item_id` FOREIGN KEY (`item_id`) REFERENCES `item` (…

設定ファイルの最小構成と最小設定

solr.solr.homeを新規に作成したいが、exampleからのコピーだと何を何のために設定しているのかが分からない。理解できるところから本当に必要なものだけ追加したい。 そこで、このままでは意味をなさないもののエラーにもならない最小構成を確認してみた。 …

Bootstrap-3.3.0

新バージョンがリリースされていたので適用してみた。 修正が必要だったのは以下の通り。 Media,Media list media関連のスタイルの扱いが大きく変わっている。media-bodyはtable-cell扱いになり、コンテンツの中身が無いと幅が縮小して表示されてしまう。ま…

SSLの適用範囲について

SSLの適用範囲にはだいたい2パターンしかなくて 全ページSSL マイページのみSSL のどちらかになる。ここで、 マイページのみSSLのケースで、オートログイン機能を持ち、非SSLページでもログイン者情報を表示しているケースがある。この場合はログイン者名な…

SSLページでAmazonからの画像を表示する。

課題 サイトをSSLに対応させた際、Amazonからの画像取得先がHTTPになっているのをSSL対応させたい。 対策 APIから返却されるecx.images-amazon.comドメインはSSLは非対応のようだ。なのでAmazon本体サイトのマイページで使用されている画像を調べると、image…

各サイト退会ページURL

退会ページを作るにあたってURLとメソッド名を何にしようかなーと思い、 メジャーサイトの退会方法を調べてみた。 英単語を知りたかったのであって、具体的な退会方法とかを調べたわけではない。 結果 サービス 単語 リンク Facebook deactivate https://www…

Github対応のJenkinsコンテナの作成

JenkinsをDockerコンテナで構築しようと思い、GitHubのプライベートプロジェクトからチェックアウトしてくる過程でちょっと手こずったのでメモ。 環境 ホストOS:Ubuntu 14.04 手順 JenkinsのオフィシャルイメージをDocker Hubからpull コンテナにssh keyを…

Data volumeを理解する

Dockerチュートリアルではあまり語られないが実は重要だったりするData Volumeについて学ぶ。 Data volumeとは Data volumeとは、コンテナ間でデータをやり取りするために特別に設計されたディレクトリのことである。特徴は以下の通り Data volumeはコンテナ…

Inputタグの残り文字数を表示する

要件 テキストのmaxlengthに対して入力可能な残り文字数を表示する。 フォーカスのある時だけ表示される。 どのInputタグでも同じルールで書いておけば文字数が適用される。 HTML p.counter = カウンター全体 span.count = 文字数出力 <div class="form-group"> <p class="counter pull-right text-muted" style="display: none">あと<span class="count"></span>文字まで</p> </div>

親のコンテキストのデータを参照する

Handlebarsではeachループを使って条件文の中に入るとコンテキストが変化し、パス名の記述の繰り返しを避けることができる。しかし、親のコンテキストのデータにアクセスしたいケースでどう書けばよいのか。 参考 http://handlebarsjs.com/#paths http://sta…

IntelliJ Handlebars Plugin

Handlebarsのプラグインがあればなーと思ったら、あった。 http://plugins.jetbrains.com/plugin/6884?pr=ifとeachのコード保管なんかもしてくれるようだ。これは助かる。最初に探してみることが大切だという教訓にしよう。

確認系メソッド

参照用メモ instance_of? オブジェクトがそのクラスのインスタンスかどうか is_a? オブジェクトがそのクラス(およびそのサブクラス)のインスタンスかどうか respond_to? メソッドを実行可能かどうか(メソッドがそのオブジェクトから実行可能か)

例外処理書式

参照用メモ 基本 begin #通常処理 raise #例外送信 rescue IOError ex #例外発生時の処理1 puts "#{ex.class}: #{ex.message}" puts "#{ex.backtrace}" rescue TypeError, ArgumentError => ex2 #例外発生時の処理2 retry #コードブロックの再実行 rescue …

Ubuntu-14.04にnokogiriをインストールする

可能な限り gemで管理したいので必要そうなライブラリを入れてインストール。 $ sudo apt-get ruby ruby-dev cpp gcc libxml2 libxml2-dev libxlst1.1 libxslt1-dev $ sudo gem install nokogiri --use-system-librariesが、上記でもエラーになり、すぐに解…

Mac OS Xにインストール

homebrewでインストールしてみたら一部のコマンドがエラーになったので 公式サイトに記載されているboot2dockerを利用する方法に変更。 参考 https://docs.docker.com/installation/mac/ boot2dockerのインストール DockerはUnixシステム上での動作を前提と…

インストール

参考 http://redis.io/download 確認環境 仮想環境にてテスト ホストOS:Mac OS X Maveric ゲストOS:Vagrant :Ubuntu 14.0.4 Chef使った方がいいかもだけど今回は直接インストール。さらにいうとapt-getでredisのインストールもできる。 事前準備 ソースを…

押されたtype="submit"なinputタグを検出しつつAjax送信する

inputタグのtype="submit"を使うと選択したボタンをsubmit時にname=valueでパラメータとして送信してくれる。ただしjQueryのイベントではこれを拾うことができないらしい。サーバーサイドで押されたボタンに応じて処理を切り分けるようなケースもあるので対…

テンプレートのプリコンパイル

Handlebarsのバージョンを最新の1.3.0にしたところいくつかプリコンパイル周りの動作が変わっていて対応が必要だったのでメモ。 インストール npmでそのままhandlebarsをインストールしようとすると2.0-alphaがインストールされてしまい、実行時エラーになる…

SearchIndexとBrowseNode一覧

Product Advertising APIでSearchIndexとカテゴリのBrowseNodeを紐付けようとする際、公式サイトを参考にすることになるが、日本語ページはバージョンが古く、USページの表にあるJP欄は実際に呼び出してみるとIDが無効であることがあった。 https://images-…

MacでUbuntu用のUSBインストーラを作る

自宅サーバーを再構築するにあたり、Mac上からUbuntuのUSBスティックに対してインストーラを作成する。 参考 How to create a bootable USB stick on OS X 手順 isoイメージのダウンロード 拡張子の変更 USBドライブの確認 書き込み isoイメージのダウンロー…

CoreOSをVagrant上で起動する。

参考 https://coreos.com/docs/running-coreos/platforms/vagrant/ 手順 CoreOS用Vagrantfileの入手 user-dataの編集 config.rbの編集 起動 エラーが出るケース 確認 接続 CoreOS用Vagrantfileの入手 $ git clone https://github.com/coreos/coreos-vagrant.…

インストールから起動、停止まで

参考 公式サイトのドキュメント Chef実践入門 手順 Virtualboxのインストール Vagrantのインストール プロジェクトセットアップ Boxの生成 起動 停止 破棄 Virtualboxのインストール https://www.virtualbox.org/wiki/Downloads Vagrantのインストール http:…

VNCでリモートアクセス

GUIでリモートログインしたい場合はVNCを利用できる。http://elinux.org/RPi_VNC_Server を参考にTightVNCを入れてみた。 セットアップ #インストール $ sudo apt-get install tightvncserver #起動 $ tightvncserverportは5900か5901で立ち上がるかと。 Mac…

SSHでリモートアクセス

デフォルト設定であればすでにSSHが有効になっていて、外部からのフルアクセスが可能なはずなので、それを前提に接続のみ。IPアドレスはDHCPで割り当てられたものを確認。 $ ssh pi@IPアドレス ホスト名でアクセスする Avahiを使用することで、ネットワーク…

リンクが効かない?

Bootstrapを使って レスポンシブなWebサイトを作っているのだけど、ブラウザの画面サイズを徐々に変更していくと、あるサイズでaタグによるリンクが効かなくなっていることがある。 これがOSの問題なのかブラウザの問題なのか作りの問題なのかは不明。

Simple Frameworkクックブック

XMLパーサーのSimple Frameworkを使用した際のメモ。 http://simple.sourceforge.net/home.php デシリアライズ やり方 StringやInputStreamなどからオブジェクトにデシリアライズできる。 Serializer serializer = new Persister(); Hoge searchResponse = …