Reproでプッシュ通知を受け取る際にSmall Iconが表示されない場合の対処方法

概要 Reproでプッシュ通知を受け取る際に、NotificationCompat.BuilderのsetSmallIconでiconのリソースを指定していても通知に表示されない場合の対処方法について。 対処方法 AndroidManifestのapplicationタグに以下のようなmeta-dataを追加します。 <meta-data android:name="io.repro.android.PushNotification.SmallIcon" android:resource="@drawable/YOUR_ICON_ID"> </meta-data> こ…

既存のURL文字列にUri.Builderでクエリを追加する方法

既存のURLにUri.Builderを使ってクエリを追加する場合こうする。parse後にbuildUpon()で繋ぐのがミソ。 val url = Uri.parse("既存のURL") .buildUpon() .appendQueryParameter("key", "value")

Kotlinで1から99までの整数を含むListを簡単に作成する

KotlinではlistOf関数を使う事で簡単にListを作成できる。 val list = listOf(1, 2, 3) // [1, 2, 3] ここで1から99までのListを作る場合はRangeを使うと簡単に作成できる。toList()でListに変換してやるのがポイント。 val list = (1..99).toList() // [1, …

KotlinでListをイテレーションする際にindexが欲しい場合の書き方

withIndex()を指定すればOK。 val list = listOf(1, 2, 3, 4, 5) for ((index, element) in list.withIndex()) { print("$index, $element\n") }

英語でKotlinを勉強するためのリソース

Android DevelopersのKotlinのページにはResources to Learn Kotlinというページがあります。 Resources to Learn Kotlin | Android Developers このページにはタイトル通りKotlinを学ぶためのリソースのリストが載っていて、以下のカテゴリに別れています。…

BuckでのAndroidプロジェクトのビルドについて

概要 Facebook製ビルドツールBuckをインストールし、サンプルとして公開されているAndroidプロジェクトをビルドしてみます。 Buck? BuckはFacebookが開発しているビルドツールです。 buckbuild.com 公式サイトではBuckの特徴が解説されています。ビルドが高…

React NativeプロジェクトでFlowのよる型チェックが「Flow: Waitng for diagnostics」と表示され実行されない場合の対処方法

概要 React NativeのプロジェクトをReact Native CLIで新規作成し、Nuclideで開発を始めると以下のように「Flow: Waitng for diagnostics」と表示されFlowによる型チェックが実行されませんでした。 この記事は型チェックが正常に動くまで行ったことのメモで…

React NativeでiOSアプリをビルド

概要 React Nativeが公開された際に一度動かしてから触っていないので、改めてReact Nativeプロジェクトの作成から、ビルドしてiOSシミュレーターで表示するまでをやってみたのでメモ。

後方参照不要なグループ化

よく忘れるのでメモ (?:1|2|3)

s3からのファイルの取得

AWS SDKを使いs3からファイルを取得する方法についてメモ require 'aws-sdk-core' Aws.config[:region] = 'ap-northeast-1' s3 = Aws::S3::Client.new( access_key_id: ACCESS_KEY_ID, secret_access_key: SECRET_ACCESS_KEY ) File.open('保存時のファイル…

GoogleMapのMapFragmentを取得した際にNullPointerExceptionが発生する場合の対処方法

概要 以下のようなコードでGoogleMapを表示しようとしたところNullPointerExceptionが発生した。 GoogleMap googleMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap(); UiSettings uiSettings = googleMap.getU…

KotlinでAndroidアプリをビルドしてみる

最近Kotlinの話題を聞く事が多くなってきたので、Kotlinでプロジェクトを作成し、HelloWorldアプリをビルドするところまでやってみる。 公式サイトを見ながら環境を構築していく。 Kotlin Pluginのインストール IntelliJ IDEA 15は最初からKotlin Pluginが入…

半年振りにBazelをインストール

概要 BazelがAndroidのビルドに対応してから試せていないので試したいが、Bazelは半年前にインストールしたままなので、新しくインストールし直してみる。 Bazelのインストール http://bazel.io/docs/install.htmlを参考にインストールする。Ubuntuのバージ…

Dockerで起動したUbuntuコンテナからarchive.ubuntu.comの名前解決ができない場合の対処方法

Dockerで起動したUbuntuのコンテナで、apt-getを実行したところ以下のようなエラーが発生した。 $ apt-get install software-properties-common ・ ・ ・ 0% [Connecting to archive.ubuntu.com] Err http://archive.ubuntu.com/ubuntu/ trusty/main libroke…

deprecatesになったBoot2DockerをDocker MachineにMigrationする

たまたまDockerの公式サイトをみたところ以下のような注意書きが。 Note: This release of Docker deprecates the Boot2Docker command line in favor of Docker Machine. Use the Docker Toolbox to install Docker Machine as well as the other Docker to…

git commitで使用するエディタを指定する

Git

$ git commit時に開くエディタは、以下のコマンドで指定できる。 $ git config --global core.editor vim 参考 Git - Git の設定

Kali LinuxをVirtual Boxにインストールする

サイバーセキュリティプログラミング――Pythonで学ぶハッカーの思考を買った。 読む上でKali Linuxの環境が必要になってくるのでVirtual Box上に用意してみる。 Kali LinuxのISOイメージ用意 Kali LinuxのサイトからISOイメージ(kali-linux-2.0-amd64.iso)を…

AsyncTaskでtimeoutを指定する方法

AsyncTaskを利用してAPIへリクエストする際にTimeOutを指定したい場合がある。そのやり方のメモ。 final SampleTask task = new SampleTask(); task.execute(); // TimeOut処理 new Thread(new Runnable() { @Override public void run() { try { // TimeOut…

Cloud Test Labドキュメントのざっくり翻訳

概要 Cloud Test Labのドキュメントが公開されていたのでトップページだけざっくり翻訳してみた(英語は得意じゃない)。 原文 cloud.google.com [翻訳] Google Cloud Test Lab Google Cloud Test Labは、クラウドベースのAndroidアプリテスト環境を提供します…

JavaのString.format内で%をエスケープ

知らなかったのでメモ。 String.format("%s%%", "test"); 出力 test% 参考 stackoverflow.com

SORACOMのAir SIMの帯域をRubyスクリプトから変更する

概要 ソラコムのAir SIMの帯域変更をRubyのスクリプトから試した。 SORACOM SDK for Rubyのインストール $ gem install soracom Clientの準備 require 'soracom' client = Soracom::Client.new(email: 'YOUR_EMAIL_ADDRESS', password: 'YOUR_PASSWORD') ema…

Rubyでファイル名を置き換える

以下のようなファイルを _hoge1.png _hoge2.png _hoge3.png _hoge4.png _hoge5.png 以下のようにリネームしたい hoge1.png hoge2.png hoge3.png hoge4.png hoge5.png Rubyで書くとこんな感じ equire 'fileutils' Dir.glob('*.png') { |filename| tmp = /_(.*…

PhotonでOSX風Electronアプリを作成する

ElectronでOSX風のUIを簡単に作れるPhotonを使ってみる。 Eelectronをインストール 先にElectornをインストールしておく。 Photonのリポジトリをclone $ git clone https://github.com/connors/photon.git プロジェクト構成 Photonを使用してElectronアプリ…

Electronを動かす

Node.jsのインストール nvm(もしくはnodebrew)を使いインストール $ nvm install v4.2.1 $ node -v v4.2.1 yeomanのインストール Electronの雛形プロジェクトを生成するためにyeomanをインストール $ npm install -g yo Electron用のgeneratorをインストール…

java.net.SocketException: socket failed: EACCES (Permission denied)が発生した時の対処方法

AndroidでCalabashのテストを実行した際に以下のエラーが発生した。 Error message 'java.net.SocketException: socket failed: EACCES (Permission denied)' 原因はパーミッションが足りないから。AndroidManifest.xmlに以下を追加。 <uses-permission android:name="android.permission.INTERNET"/> 参考 stackoverflow.c</uses-permission>…

AWS SDKを使いDeviceFarmでのテストをスケジューリングする

概要 AWS SDKを使用してDeviceFarmへAPKとテストコードをアップロードし、Calabashによるテストを実行してみたのでそのメモ。 APIドキュメントと使用するSDK ドキュメントは以下を参照した。 http://docs.aws.amazon.com/sdkforruby/api/Aws/DeviceFarm.html…

AWS Device Farm APIでプロジェクト情報を取得する

概要 AWS Device FarmのAPIが公開されていたので試してみた。 AWS CLIのインストール 今回はAWS CLIを使ってみる。ドキュメント通りにCLIをインストール。 $ sudo pip install awscli 認証情報の設定 ドキュメントに従い設定。AWS Device Farmがオレゴン限定…

Elixirのインストール

概要 Phoenixを試したいのでまずElixirをインストールする。 インストール Elixir公式のInstallを参考にインストールする。Macの場合Homebrewでインストールできる。 $ brew update $ brew install elixir バージョンを確認 $ elixir -v Elixir 1.0.5 インス…

BazelでJavaのプロジェクトをビルドする

2015年12月時点でのインストール手順はこちら 概要 Bazelを実際に使って見るためにインストールとサンプルプロジェクトのビルドを試してみる。 Bazel? BazelはGoogleで使われているビルドツールBlazeのOSS版。巨大なソースコードのビルド、テストおよびリリ…

OpenBRをインストールしてみる

概要 ちょっと興味があったのでOpenBRをビルドして動かしてみる。 OpenBR OpenBRはOSSの生体識別ライブラリで、顔写真から年齢や性別を判別したりできる。最近だとMicrosoftのProjectOxfordで公開されたデモが話題になっていた。 OpenBRのインストール insta…

ReactNativeを試してみる

概要 ReactNativeを試してみた。現在iOSのみサポート。Androidサポートはcoming soonらしい。 準備 Getting Startedを参考に進める。 Node.jsのインストール HomebrewでもインストールできるがNodebrewやnvmを使った方が良いと思う。 nodevbrew nvm watchman…

build.gradleからの環境変数の参照

build.gradleからの環境変数の参照 CIサーバなどで以下のように環境変数を定義する。 export ORG_GRADLE_PROJECT_TEST="hoge" ORG_GRADLE_PROJECT_propertyと定義すると、propertyという変数名でbuild.gradleから参照できる。 apply plugin: 'com.android.ap…

GradleでJavaDocを出力する

ターミナルからコマンドでJavaDocを出力できるようにしてみる。 build.gradleの修正 JavaDocを出力したい対象(moduleとか)のbuild.gradleに以下を追加。 android.libraryVariants.all { variant -> if (variant.name == "debug") { return } task("generateJ…

Golangでネットワークプログラミングの勉強

go

Whispering Gophers を読みながらネットワークプログラミングの勉強をしてる。 part2は標準入力で受けた文字をjsonに変換してlocalhost内でtcpを使って送るというもの。 JavaScriptとか書いてて個人的に未知の領域だったのだけど、こんな簡単に書けるんです…

Macにtreeコマンドを入れる

Macにtreeコマンドが入ってないのでHomebrewで入れた。 $ brew install tree

Goでpackageに定義した変数を参照できない

go

Goで自作packageをimportして使うサンプルを書いていて上手くいかなかったのでメモ こんなpackageをサンプルで書いてmainでimportして使用しようとした。 package gosample var message string = "hello world" package main import ( "fmt" "gosample" ) fu…

多摩川の花火大会行ってきた

場所は川崎側の第三京浜と東急ゴルフパークの間の芝生で見てました。全然混んでなくて良かった。 多摩川の花火大会

GoSublime導入

go

ubuntu (Xubuntu) 14.04LTS で golang のインストールと SublimeText3 の設定 - けいれん現象の幽玄美よを参考にGoSublime入れてみた。便利。

godocが見つからない

go

パッケージのドキュメントを見ようとgodocを使おうとすると見つからないと言われてしまう。 どうやら別途インストールしないといけないらしい。 $ go get code.google.com/p/go.tools/cmd/godoc package code.google.com/p/go.tools/cmd/godoc: cannot downl…

Goの実行環境を入れてみる

go

Goを試してみるためにまず実行環境を入れてみた。 Homebrewで簡単に入るようなのでインストール $ brew install go $ go version go version go1.3.1 darwin/amd64 Vagrantで用意したUbuntuにはlinuxbrewで入れてみた。makeに時間かかる。 Linuxの場合公式か…

Vagrantのhost-only設定がうまくいかない

Vagrantのhost-only設定で少し悩んでた。 config.vm.network :hostonly, "192.168.33.10" どうやらこの書き方は古いらしく、こう書くのが正しいらしい。 config.vm.network :private_network, ip: "192.168.33.10" sshの設定をconfigファイルに書き出し $ va…

Robolectricで標準出力にログを出力する

Robolectricを使いテストを実行する際に、AndroidのLogクラスでログを出力したい時があったのでメモ。 調べてみると、ShadowLogクラスのstreamフィールドの値を変更すれば良いようです。 テストコードでこんな感じに書いておきます。 @Before public void se…

Robolectricで「volley/res/values is not a directory」と言われた場合の対処方法

Robolectricを使ってテストを実行した際に以下のようなエラーが発生した。 java.lang.RuntimeException: java.lang.RuntimeException: ../volley/res/values is not a directory volleyはAndroid用ネットワークプログラミング用ライブラリで、そのパッケージ…

Googleドライブ便利すぎる

結婚式の出席者リストや二次会の進行表を嫁さんとどう共有して作ってくか悩んだんですが、結局Googleドキュメントとスプレットシート使いました。 最近はGoogleドライブと統合されていて、しばらく使ってない間にすごい便利になってた。エクセルとかワード無…

結婚式の準備とAndroid

週末の結婚式の準備に追われております。新郎の挨拶を考えてるのですが難しいですね。 さて仕事では急にAndroidをやることになりました。Androidはサンプル動かしたぐらいで素人同然なのでこれから勉強していこうと思います。 で、どう勉強しようかと考えた…

yeomanのインストール

試してみる詐欺してたyeomanインストールする。 $ npm install -g yo nodeのバージョンがv0.11.7でエラーが出たので、v0.8.14で再挑戦。 問題なくインストールできた。 yoコマンドでyeomanを起動してみる。 $ yo おじさん出た!

railsでアプリケーションを生成する際にsqlite3.hが無いと言われる

Railsでアプリを新規作成した時にsqlite3.hが無いと言われたのでメモ Railsのバージョン Railsのバージョンは4を使用。 $ rails -v Rails 4.0.0 アプリ作成 $ rails new testApp Installing sqlite3 (1.3.8) Gem::Installer::ExtensionBuildError: ERROR: Fa…

Vagrantで構築したubuntu serverにchef-soloを使ってnginxを入れる

Vagrantで構築したubuntu server (ubuntu-server-12042-x64-vbox4210)にchef-soloを使ってnginxを入れたのでメモ WEB+DB PRESSのvol.75を参考にしてみた。 recipe作成 knifeコマンドでnginxのレシピの雛形を作る。 $ sudo knife cookbook create nginx レシ…

rbenvでruby2.0を入れる

rbenvでruby2.0を入れたのでメモ rbenvのインストール Vagrantで入れたUbuntu Server上にここらへん参考にインストール。 Macの場合はHomebrewでok ruby2.0をインストール --list でインストール可能なバージョンを表示。 $ rbenv install --list ・ ・ 1.9.…

パーフェクトRuby買いました

今日パーフェクトRubyを衝動買いしました。 パーフェクトRuby (PERFECT SERIES 6)作者: Rubyサポーターズ,すがわらまさのり,寺田玄太郎,三村益隆,近藤宇智朗,橋立友宏,関口亮一出版社/メーカー: 技術評論社発売日: 2013/08/10メディア: 大型本この商品を含む…