2018年3月1日木曜日

API Gatewayでバイナリペイロードをサポートする場合の注意点


API Gatewayでバイナリペイロードをサポートする場合は、RestApiリソースの binaryMediaTypesにメディアタイプを追加します。


そうすると、ペイロードがBase64でエンコードされ渡されます。

ただ、API Gatewayサポートされているコンテンツコーディングのいずれかで圧縮されたペイロードで呼び出された場合、ペイロードを自動的に解凍します。

優先順位的には自動解凍が先に行われるようで、gzipで圧縮されたペイロードをそのまま送ろうとする場合は、Content-EncodingHTTP headerから除去しないと、解凍されたペイロードがBase64でエンコードされ渡されます。

2017年9月6日水曜日

gitignoreを自分で作っていませんか?

gitignoreを自分で作っていませんか?

https://github.com/github/gitignoreにあるんです。

また、リポジトリを作成する際に指定することもできます。


2017年7月5日水曜日

XcodeでCMakeプロジェクト開発(AWS SKD)

環境

macOS Sierra 10.12.5
Xcode Version 8.3.3

Download

AWS SDKをclone
$ git clone https://github.com/aws/aws-sdk-cpp.git
$ cd aws-sdk-cpp
※aws-sdk-cpp配下に移動

CMake

$ mkdir xcode
$ cd xcode
$ cmake .. -G "Xcode"
※xcodeフォルダ配下にAWSSDK.xcodeprojが作成されます。

あとは作成されたAWSSDK.xcodeprojをXcodeからOpenするだけ。

CMakeのインストール(Mac)

環境

macOS Sierra 10.12.5

Download

CMakeをダウンロード
$ wget https://cmake.org/files/v3.8/cmake-3.8.2.tar.gz
$ shasum -a 256 cmake-3.8.2.tar.gz
da3072794eb4c09f2d782fcee043847b99bb4cf8d4573978d9b2024214d6e92d  cmake-3.8.2.tar.gz

$ tar zxvf cmake-3.8.2.tar.gz
$ rm zxvf cmake-3.8.2.tar.gz

Install

Installおよび、バージョンの確認。
$ cd cmake-3.8.2
$ ./bootstrap
$ make
$ make install

$ cmake -version
cmake version 3.6.3
※make installで下記のエラーが出た場合はsudo make installを実行して下さい。
    CMake Error at cmake_install.cmake:31 (file):
        file cannot create directory: /usr/local/doc/cmake-3.8.  Maybe need administrative privileges.

参考:https://cmake.org/install/

2017年6月19日月曜日

Windowsにpythonをインストール

環境

Windows 10 64 bit

手順

ダウンロード
  1. https://www.python.org/downloads/からインストーラを取得(現在の最新は3.6.1)
  2. pathを設定(Install時に「Add Python to…」にチェックした場合は不要)
  • C:\Users\Yoshihiro\AppData\Local\Programs\Python\Python36-32
  • C:\Users\Yoshihiro\AppData\Local\Programs\Python\Python36-32\Scripts
確認
  1. コマンドプロンプトを起動して下記を実行
  2. C:\Users\hoge>python --version
  3. 下記が表示されれば完了です。
  4. Python 3.6.1

2017年6月15日木曜日

Hello Objective-C


環境


  • MacOS Sierra 10.12.5
  • Xcode 8.3.2

手順

  1. Xcodeを起動して[Create a new project]を選択して下さい。
  2. 今回は[Single View Application]を選択します。
  3. Nextを押して下さい。
  4. Product Name、Organization Name、Organization Identiferを設定して下さい。
  5. 今回、LanguageはObjective-Cを選択します。
  6. Nextを押して下さい
  7. 保存先を指定して、Createを押して下さい。
  8. プロジェクトが作成されます。
  9. ViewController.mを開いてviewDidLoadメソッドに下記のサンプルコードを追加
  10. command + Rでアプリを実行する。
[サンプルコード]
UILabel *lavel = [[UILabel alloc]    initWithFrame:CGRectMake(0, 0, 200, 100)];lavel.text = @"Hello Objective-C";[self.view addSubview:lavel];



2017年2月25日土曜日

Hello CMake

前提条件

CMakeのインストール

環境

Ubuntu 16.04.2 LTS (32bit)

Sauce

ディレクトリを作成
$ mkdir hello-cmake

hello-cmake/CMakeLists.txt
cmake_minimum_required (VERSION 3.6)
project (HelloCMake)
add_executable(HelloCMake main.cpp)

hello-cmake/main.cpp
#include <iostream>
int main() {
    std::cout << "Hello CMake" << std::endl;
}

Build

Build用のディレクトリ(tmp)を作成
$ mkdir tmp
$ cd tmp
$ cmake ../hello-cmake/

$ make

実行

$ ./HelloCMake
Hello CMake

参考:https://cmake.org/cmake-tutorial/
Sample:https://github.com/yoshihiro-kato/Sample

2017年2月24日金曜日

CMakeのインストール

環境

Ubuntu 16.04.2 LTS (32bit)

Download

CMakeをダウンロード
$ wget https://cmake.org/files/v3.6/cmake-3.6.3.tar.gz
$ sha256sum cmake-3.6.3.tar.gz
7d73ee4fae572eb2d7cd3feb48971aea903bb30a20ea5ae8b4da826d8ccad5fe  cmake-3.6.3.tar.gz

$ tar zxvf cmake-3.6.3.tar.gz
$ rm zxvf cmake-3.6.3.tar.gz

Install

Installおよび、バージョンの確認。
$ cd cmake-3.6.3
$ ./bootstrap
$ make
$ make install

$ cmake -version
cmake version 3.6.3
※make installで下記のエラーが出た場合はsudo make installを実行して下さい。
    file cannot create directory: /usr/local/

参考:https://cmake.org/install/

2016年6月16日木曜日

Mavenコマンド

Mavenには色々なコマンドがあります。

例えば、依存関係を表示するには

$ mvn dependency:tree

クラスパスを表示するには

$ mvn dependency:build-classpath

その他にも色々あります。
覚えておくと便利かもしれません。

参考:https://maven.apache.org/plugins/maven-dependency-plugin/tree-mojo.html

2016年5月25日水曜日

MapReduce applicationのHadoop 1.xから2.xへの移行について

MapReduce applicationのHadoop 1.xから2.xへの移行については、互換性が保証されています。

packageが"org.apache.hadoop.mapred"のもののみ使用している場合は、そのまま使用できます。

"org.apache.hadoop.mapreduce"を使用している場合は、recompileが必要です。
recompileせずに実行すると、下記のエラーが発生します。

java.lang.IncompatibleClassChangeError: Found interface org.apache.hadoop.mapreduce.JobContext, but class was expected

参考:
http://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduce_Compatibility_Hadoop1_Hadoop2.html

補足:

Mavenを使っている場合は、pom.xmlに下記の修正が必要です。

[修正前]
    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-core</artifactId>
        <scope>provided</scope>
    </dependency>

[修正後]
    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-common</artifactId>
        <version>2.7.2</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-mapreduce-client-core</artifactId>
        <version>2.7.2</version>
        <scope>provided</scope>
    </dependency>

※hadoop-commonは、org.apache.hadoop.conf, fs, io, util, securityのAPIを
使うのに必要
※hadoop-mapreduce-client-coreは、org.apache.hadoop.mapreduce, mapredの
APIを使うのに必要

2016年4月17日日曜日

Android StudioでLibrary作成

どうやら、Project作成時にはLibraryの作成は出来ないようです。
そのため、通常通りアプリケーションを作成します。
アプリ作成後、[File]→[New]→[New Module]でAndroid Libraryを選択



Actibityは作成しないを選択


Projectのappと同じレベルに追加したModuleが作成されます。


フォルダ内の構成はアプリとほぼ同じです。
※表示系のファイル(res/layout)が無い位です。

2015年12月11日金曜日

XcodeでEXC_BAD_ACCESS

Xcode 7.0.1でXCTestを実施した際、EXC_BAD_ACCESSでハマったのでメモしておきます。
add exception breakpointしてもわかりませんでした。

結論としては、テストクラスのメソッド数が多すぎたようです。
XCTestのリファレンスにも乗っていなかったので、詳しいことは不明ですが、メソッド数が70を超えると発生するようです。
※直接の原因は他(メモリ等)にあり、メソッド数が増えることにより、発生する可能性もあります。

2015年12月2日水曜日

UbuntuのLauncherにアプリを追加する方法

eclipseなどをインストールした際に、Launcherに追加する方法です。

1. Desktop entry fileを作成する

~/.local/share/applications/eclipse.desktop
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Name=eclipse luna
Icon=/home/sample/bin/eclipse-jee-luna-SR2-linux-gtk-x86_64/icon.xpm
Path=/home/sample/bin/eclipse-jee-luna-SR2-linux-gtk-x86_64
Exec=/home/sample/bin/eclipse-jee-luna-SR2-linux-gtk-x86_64/eclipse
Actions=Clean

[Desktop Action Clean]
Name=Clean
Exec=/home/sample/bin/eclipse-jee-luna-SR2-linux-gtk-x86_64/eclipse -clean
※パスは適切に変更して下さい。

2. Launcherに追加する

「search your computer and online sources」からeclipseを検索し、Launcherにドラックする。

2015年9月5日土曜日

UbuntuにOracle JDK8をtar.gzからインストール

Ubuntu 12.04にOracle JDK8をtar.gzからインストールしてみました。

環境:Ubuntu 12.04.1 32ビット

Oracleからtarをダウンロード
     
解凍
$ tar zxvf jdk-8u60-linux-i586.tar.gz
     
適当な位置に配置する
$ sudo cp -r jdk1.8.0_60 /usr/lib/jvm
     
JAVA_HOME
$ sudo vi /etc/profile

下記を追記
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_60
export PATH=$PATH:$JAVA_HOME/bin:

PCを再起動

確認コマンド
$ java -version
java version "1.8.0_60"と表示されれば成功です。

2015年7月28日火曜日

Android StudioでHello World

Create Sample Project


Android Studioを起動し、[Start a new Android Studio project]を選択
※Application name、Packageなどは、とりあえすデフォルト値を使用。


















今回は、Phone and Tablet Minimum SDK API 10のアプリを作成します。
※なぜ、API 10:Android 2.3.3(Gingerbread)なのかは別途ブログで書きます。














追加するActivityはBlank Activityを選択
※Activity Name等はとりあえずデフォルト

Install SDK Packages


[Tools] -> [Android] -> [SDK Manager] でSDK Managerを起動
※起動時にチェックが付いているもとAndroid 2.3.3のPackageをインストール
















Create AVD


[Tools] -> [Android] -> [AVD Manager] でAVD Managerを起動し
Android 2.3.3のVirtual Deviceを作成













Launch Application


[Run] -> [Run 'app']で先ほど作成したAVDを選択し、アプリケーションを起動

2015年7月26日日曜日

Ubuntu 64bit環境でAndroidをantビルドする際の注意点

Ubuntu 64bit環境(14.04.2)で、Androidをantビルドする際に
下記のようなエラーが出る場合があります。

android-sdk-linux/tools/ant/build.xml:694: Execute failed: java.io.IOException: Cannot run program "/home/ubuntu/android-sdk-linux/ build-tools/23.0.0-preview/aapt"

その場合は、下記のライブラリをインストールして下さい。

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libncurses5:i386 libstdc++6:i386 zlib1g:i386

参考:https://developer.android.com/intl/ja/sdk/installing/index.html?pkg=tools

2015年7月20日月曜日

Android StudioのDownloadとInstall (Windows)


Download

Android Developersからexeをダウンロード

事前準備

Android Studioを使用するにはJDK 6以上が必要となります。

※Android 5.0以上の開発にはJDK 7が必要となります。
※JAVA_HOMEの設定が推奨されています。

Install

Downloadしたexeを実行して下さい。

トラブルシューティング

初期起動じに下記のエラーが発生した場合

The environment variable JAVA_HOME does not point to a valid JVM installation.

JAVA_HOMEを下記の通り変更して下さい。

C:\Program Files\Java\jdk1.7.0_71\bin;

C:\Program Files\Java\jdk1.7.0_71

2015年7月9日木曜日

ADT in Eclipseのサポート終了

Android Developer Tools (ADT) in Eclipseのサポートが2015年末で終了となります。

※Android Ant buildも終了となります。

本格的に、Android Studioへの乗り換えが必要となるようです。

参考:Android Developers Blog

2015年6月3日水曜日

Androidでorg.json.JSONObjectを使う際の注意点

Android標準(5.1現在)のorg.json.JSONObjectには、MapとListをputできません。

正確には、入れても想定通りのエンコードができません。(valueにtoStringしたような値が入ります)

MapやListはJSONObjectやJSONArrayへの詰め替えが必要となります。


補足:JSONObjectのput関数には、valueの型にMapおよびListのものがなく、put (String name, Object value)のvalueにはMapおよびListが含まれない。

2015年5月10日日曜日