「ひろの」の徒然日記帳 [IT tools, programming, software and more...]

プログラミング、ITツール、人工知能等興味のあることを徒然と書きます。Microsoft、C#が好きです

Aginity’s Workbench for Redshift 導入方法

いのひろです。

4月から新しいことを一緒に始めているメンバの人がいるので、
なかなかお互いに新鮮な気持ちで仕事に打ち込めています。
手探りでハマるポイントはなるべく共有し、すでにやったことは周りの
人に聞きながら少しずつ経験をためている状態です。
この繰り返しで成長し、成長を助けることも出来るのかなぁと
少しずつ思っています。

今回は AWS の Redshiftにあるデータを参照することになり、
便利なツールを利用したかったのでその方法です。

www.aginity.com

1. Aginity’s Workbench for Redshift の導入

  1. http://www.aginity.com/redshift/ よりダウンロードします。
  2. ダウンロードしようとすると各種登録が必要なので入力します。
  3. 64bit版か32Bit版をダウンロードします。
  4. ダウンロードしたファイルを実行しインストールします。
  5. 起動後ライセンスの確認表示です。一番上のFree Versionで進めました。
  6. 再度登録を行うと登録したメールアドレス宛にライセンスの連絡があります。
  7. ライセンスをコピー&ペーストしツール上でライセンス登録を完了させます。

2. Puttyでの設定

事前にPuttyにて以下の設定を行うことでNAT経由にできる。

f:id:ino-hiro1012:20160405121134p:plain

  1. SSHのトンネルにてフォワードするポートと、エンドポイントを指定します。
    1. (例)ポート:14000、
    2. (例)xxx.xxxxxxxxxxxx.ap-northeast-1.redshift.amazonaws.com:5439
  2. セッションにて保存を忘れずに行います。
  3. セッションの開くからコンソールを立ち上げておきます。

3. NAT経由でAWSのRedshiftに接続(Workbench設定)

Workbenchを起動し、設定を行います。
New Connection から新しい接続を行います。

Server localhost
User ID (ユーザ名)
Pass (パスワード)
Database (DB名)
Port 14000

上記の★の部分が重要な設定です。
サーバーは localhost、PortはPuttyにて指定したポートです。

f:id:ino-hiro1012:20160405121135p:plain

上記で接続可能です。
Workbenchの使い方は別の機会に記事します。

AWS鍵認証によるログイン(Windows+Putty環境)

いのひろです。

新しいことを始めるときはさくっと始めたいものですが
後の人のことを考えてなるべくメモ程度でも文章に残しておくよう
心がけています。

会社ではAWSを利用しています。

開発環境向けには鍵認証でのログインとしていますが、
Windows上から利用しようとすると幾つか最初におまじないが必要なので
記事にしました。

1. AWS秘密鍵を取得

AWSログインのための秘密鍵はサーバの管理者等から入手下さい。
通常id_rsaファイルになると思います。

自身で作成することも可能です。Putty上で作成することも可能です。
(PPK形式となります)

2. Puttyごった煮版をインストール

続いて Windows環境に Puttyごった煮版をインストールします。
幾つか派生バージョンがあります。好みでインストール下さい。
PuTTY ごった煮版
iceiv+putty

3. puttygenによる秘密鍵の変換

puttygen.exe を起動します。
「Load」からid_rsaファイル(秘密鍵)を指定します。
「Save private key」をクリックしてPPK(Putty形式の鍵)の秘密鍵として保存します。
ファイル名はid_rsa.PPKとなります。
f:id:ino-hiro1012:20160405121132p:plain
※画像は日本語化されていないバージョンとなります。

4. Putty秘密鍵を登録しAWSログイン

putty.exe を起動します。

f:id:ino-hiro1012:20160405121133p:plain
※画像は日本語化されていないバージョンとなります。

カテゴリ
  Session :IPを指定します。
    :Connection Typeを[SSH]に設定
接続
:自動ログインのユーザ名にLinuxのユーザーIDを入力します。
    SSH :優先するプロトコルバージョンを2とします。
    認証 :認証のためのプライベートキーファイルに、
   作成したファイル(id_rsa.PPK)を指定します。

設定が終了したら[セッション]カテゴリに戻り、
セッション名を入力して[保存]ボタンをクリックします。

「開く」ボタンをクリックするとAWSにログイン可能です。

なお通常はNAT等にログインし、そこから各EC2等のインスタンスにログインし直すのが
一般的かと思います。

CreateInstall によるインストーラ作成(Visual Studio)

いのひろです。

今日は朝9時からの会議のため、いつもより早起き。
そうすると余計に緊張したりして寝られなかったり、早起きになったり。
結局寝不足になります。いつもより早い電車と、
いつもは乗らない電車(銀座線)に乗り、久しぶりに満員電車で苦しみました。
朝からヘトヘトでしたが、朝ごはんはしっかりと喫茶店で食べました!
ご飯を食べないと持たない部分もありますが、集中にはエネルギーは必須ですね。

さて今回はWindows環境向けのインストーラ作成です。

CreateInstall - freeware and trial installer software for Windows
CreateInstallというインストーラ作成用のソフトウェアの紹介です。



VisualStudioからの呼び出しは以下をビルドイベントとして登録します。

"setup.cmd" "$(ConfigurationName)"

setup.cmd ファイルの中身は以下のように記載しました。

setlocal

set obj=%1

if %obj% EQU "Release" goto release
if %obj% EQU "ReleaseSample" goto release_sample

goto :eof

:release
"C:\Program Files\CreateInstall Free JP\cicmdf.exe" "aaa.ciq"
goto :eof

:release_sample
"aaa_sample.ciq"
goto :eof

endlocal

上記の通り製品用の設定ファイルとサンプル(体験版等)で分けてみました。
拡張子ciqはCreateInstallの設定ファイルです。
製品用とサンプル用で各々事前にファイルを作ってあります。

Xamarin でC#によるiOSアプリ開発

いのひろです。

少し久しぶりの雨です。今日は髪を切ったり、
少し買い物に行こうと思っていたので残念です。
出不精でも今日は行こうと思ってたので、出る予定です。(もう13時ですが・・)

今回はXamarinを使ってWindows環境のVisual Studioから
iOSのアプリ開発を行おうと思います。

最近XamarinはMicrosoftと仲がよく、
より一層Visual Studioに統合されてきたイメージです。
XamarinはVisual Studio等のIDE環境からWindows上で
C#言語にてiOSアプリ開発が可能です。

Objective-CSwiftを覚える必要はありません。
環境としてはWindows以外にMac環境が必要です。

1. Visual Studio 2015をインストール

まずVisual Studio 2015のCommunity Editionをインストールします。
個人利用や商用でも委託開発で利益出るような開発でなければ
OKというのは嬉しいところです。
Visual Studio Community - Visual Studio

2. XamarinをWindows環境にインストール

続いてXamarin をインストールします。
ダウンロードにはアカウント登録が必要の模様です。
Xamariはここからダウンロードします。
Developer Center - Xamarin

3. XamarinをMac環境にインストール

Mac側にもXamarinをインストールします。

4. デバッグの実施

Visual Studio 2015を起動してiOSのサンプルテンプレートを
プロジェクトとして新規作成します。

Mac側でリモート接続を許可しておいてください。
「システム環境設定」→「共有」→「リモートログイン」にチェック。

Visual Studioに戻って、Macを接続します。

該当のMacが表示されるのでMacにログインするためのユーザー名、
パスワードを入力します。

ビルドとデバッグが開始されます。
Mac側にシミュレータは表示されます)


参考サイトは以下となります。
http://www.buildinsider.net/mobile/xamarinvisualstudio/01
ただ、記事の時期よりXamarinがかなり変化している模様ですので
参考程度でお願いします。

.net Framework4.5によるZIPファイル圧縮

いのひろです。

今日は地元で桜まつりがあり、桜を見ながら(家からですが、、)ご飯を食べました。
家族連れが多かったです。早くうちの子も大きくなったら一緒に行きたいなと
思ったものです。

今回は.net Framework4.5(言語はC#です)による、ZIP形式の
圧縮方法について記載します。
アプリの中でログとかを定期的に圧縮したい時など
外部ライブラリを使う方法もありますが標準でも出来るのでやってみた。という
流れになります。

前準備

  1. Visual Studio 2015 が導入されているWindows環境
  2. System.IO.Compression.FileSystem を参照追加

コードは以下の内容です。

using System.IO.Compression;

string StartPath = this.strAppDir + "data\\";

string ZipPath = this.strAppDir + "error.zip"; // 圧縮ファイル名
if (File.Exists(ZipPath))
{
File.Delete(ZipPath);
}

// 圧縮
ZipFile.CreateFromDirectory(StartPath, ZipPath, CompressionLevel.Optimal, true);

CreateFromDirectory の第一引数が対象のディレクトリ名、第二が
圧縮先のZIPファイル名です。
思ったより簡単でした。

ディープラーニングについて学ぶ(最初の一歩)

いのひろです。

いつもより早い電車に乗っていると新入社員の姿が多数いました。
新入社員同士で和気あいあいとしながら、期待と不安胸いっぱいのなか会社に向かう姿は
輝いて見えました。忘れかかっていてもたまに思い出して、
いつまでもその気持ちを忘れずいきたいものです。

今回は機械学習の手法の一つであるディープラーニングについて
学習したいと思います。

利用用途の例

  1. 株価予測
  2. 迷惑メールフィルタ
  3. 顧客の購買行動傾向分析
  4. などなど

用語

ディープラーニング 機械学習と呼ばれる手法の1つです。
学習器 データから規則性やパターンを抽出する仕組みです。
訓練データ 学習器に入れる規則性やパターンを見つけ出すための基となるデータです。
学習モデル 学習器が訓練データから抽出した規則性やパターンです。
学習処理 学習器に訓練データを入れて学習モデルを抽出するまでの一連の処理です。

機械学習のステップ

  1. 学習モデルを作る
  2. 学習モデルから予測

機械学習の分類

  1. 教師データあり
  2. 教師データなし

教師データとはそのデータが何を示しているか、
正解となる情報をセットでインプットします。

機械学習を利用するかの判断基準

  1. 解決出来る分類方法
  2. 適用した場合の性能
  3. データを準備する手間

データで解決出来ない。解決するには膨大な時間がかかる。
データの準備の手間がかかるといった場合は機械学習に向いていません。

手法

回帰 データ入力に出力として数値 (例)株価
分類 データ入力に出力としてデータの属性または種類 (例)迷惑メールフィルタ
クラスタリング データ入力にそのデータのグルーピング結果 (例)購買層


コンピュータに何かさせようとしたときに、1つ1つ手続きを教えて
結果を導いていた。(今までの手続き型)
機械学習を用いた場合は手続きは教えずにデータで結果を導くものです。
各々で得意、不得意はありますがデータの量で結果を出す新しい方法が
機械学習・ディープラーニングになります。
データの量、質によって結果が変わります。

今回参考とした書籍は以下です。

初めてのディープラーニング --オープンソース

初めてのディープラーニング --オープンソース"Caffe"による演習付き

Python 3.5環境を構築する(Windows 7環境)

ひろのです。

社会人生活をしていると3/31は期の終わりで、4/1からは新しい期になります。
フレッシュな社会人を見ていると自身もそういう時期があったな。と思うのは
年をとった証拠でしょうか。

業務でPythonを利用することになりそうなので環境構築をしてみた際のメモです。
Mac OSXにも構築しましたがそちらは別に機会に記事にします。

Python ってどういう言語ですか??
という疑問に対していのひろなりの簡単なイメージです。

  1. .pyファイルにソースを書く。
  2. インタプリタ言語で、コンパイル、ビルドが無い。
  3. インデントでfor文やif文を表現する。
  4. 機械学習や科学演算向けのライブラリがある。
  5. その他(予約語が少ない。フリーソフトオープンソース等)、。

現在はPython 2系ではなく3系が主流の模様です。
バージョン2と3では下位互換性が無くなったようですが
3がリリースされてから経過しているので3系で進めます。

なお環境構築するOSはタイトルの通りWindows7です。業務用PCはWindows7です。

  1. Python3.5のダウンロード
  2. Python3.5のセットアップ
  3. Python3.5の動作確認

1. Python3.5のダウンロード

www.python.org からPythonをダウンロードします。
Download Python 3.5.1 のボタンからダウンロードします。
f:id:ino-hiro1012:20160331235414p:plain

2. Python3.5のセットアップ

ダウンロードしたファイルを実行します。
Add PATHを選択しておくことで
コマンドプロンプトから Pythonを直接実行できます。
f:id:ino-hiro1012:20160401000551p:plain

Pythonのデフォルトセットアップ先はかなり深い階層になっていることがあるので
必要に応じてカスタマイズして下さい。
ひろのは c:\Python35\ に変更しました。
f:id:ino-hiro1012:20160401000552p:plain


3. Python3.5の動作確認

コマンドプロンプトを実行してください。

python --version

と入力することでPythonのバージョンが表示されれば正しくセットアップされています。
f:id:ino-hiro1012:20160331185722p:plain

簡単ですね。
Pythonnのソースコード編集はVisual StudioやPyCharm等のIDEがオススメです。
PyCharmのPythonコンソールでは打ったその場で各結果が出力され便利です。
f:id:ino-hiro1012:20160402210321p:plain

Python初心者には以下の本が分かりやすいです。
DVDが付属しており、環境構築が簡単に出来ます。

15時間でわかる Python集中講座

15時間でわかる Python集中講座