フリーランスになってから日々あったことを記載していきます。

2017年7月31日月曜日

データサイエンティストになるには。

最近は、AIや機械学習の記事がいろいろありブームになっています。

やはり個人事業主の私としては、
  • それが出来たら単価が上がるのかな?
  • それとも自分で新しいサービスを作り出せるのか?
とか考えていろいろ情報を収集していたところ、下記のYouTubeを発見しました。


なんでも2.5時間がデータサイエンティストの基礎が身につくらしい。。。

本当かな?

コースとしては
  1. C0コース概要
  2. C1データサイエンティストとは
  3. C2 データ解析基礎
  4. C3 データ可視化とツール
  5. C4 統計的モデリングと機械学習
  6. C5 統計的時系列モデリング
  7. C6 最適化
  8. C7 データ分析と意思決定
  9. C8 データ分析の知的財産権
です。

日曜日に発見して全部見ようかなと思ったけど、誘惑に負けて見れなかった。

ちょくちょく見てデータサイエンティストがどんなものなのか知りたいと思います。

2017年7月30日日曜日

プログラマのためのGoogle Cloud Platform入門をやってみた18

今回は『プログラマのためのGoogle Cloud Platform入門』の「第5章 機械学習を用いたGAEアプリケーション」の9回目です。



今回は Cloud Machine Learning Engine(移行Cloud MLE)の学習済みのモデルを動かしてみましょう。

ページの範囲は、253ページから257ページです。

流れは
  1. APIサービスの準備
  2. Cloud Datalabの実行環境を準備
  3. サンプルコードのダウンロード
  4. Cloud Datalabを実行している仮想マシンの停止/破棄

今回は実行するのに時間がかかります。

実際に機械学習をしているのではなくAPIの準備とかCloud Datalabを準備とか。。。

そんなわけで実行した画面を見てましょう。

Cloud Datalabが開きました。pythonであったjupyterみたいです。

サンプルコードのダウンロードをしています。
自分の場合は、止まっていたので再度実行しました。

本にはCtrl+Enterでキー実行すると書いていましたが、自分の場合は、Runを押さないとコマンドは実行されませんでした。
Runをクリックすると文字が入力できるようになります。

文字入力後に、すでに記入されているコマンドに対してRunをクリックしていくと4という結果が出ました。
入力した文字は4である判定されています。

とりあえず実行できたようです。

普通のクライアントPCでも実行できるけどクラウド上でも実行できました。

今回で、『プログラマのためのGoogle Cloud Platform入門』は終了です。

分かったようなわからないような感じですが簡単な操作で動くことはわかりました。

次回からは何しようかな。

2017年7月29日土曜日

プログラマのためのGoogle Cloud Platform入門をやってみた18

今回は『プログラマのためのGoogle Cloud Platform入門』の「第5章 機械学習を用いたGAEアプリケーション」の9回目です。



今回は、Cloud Machine Learning Engineのサンプルアプリケーションの実行後の価格が表示されたので報告します。

とりあえず、一回しか実行してません。

リージョンは、us-central1でした。
自前でパソコン買って試すよりかは安いかもしれませんね。
性能を極めようとすると20万円ぐらいしますから。


ただ気になったことがあって、100Minute=91.50円なのですが、
実際に実施した時間は。。。
20:01:01から。。。

20:16:00で終了しています。。。

どう見ても約16分しかやっていないのですが、請求は100分になっています。

最低限の請求金額なんですかね?
それとも自分の読み方が悪いのか?

調べてみたら、料金はここに詳しく書いていました。

ただ、よく見てもなぜそのようになっているのかわからなかった。

100分使っているならかなり額を取られそうなんですけど。。。

まぁ、いっか!

2017年7月28日金曜日

プログラマのためのGoogle Cloud Platform入門をやってみた17

今回は『プログラマのためのGoogle Cloud Platform入門』の「第5章 機械学習を用いたGAEアプリケーション」の8回目です。



今回は、Cloud Machine Learning Engineのサンプルアプリケーションの実行後の結果を見てみましょう!。

ページの範囲は、252ページです。

流れとしては、
  1. 前回投げたJobが終わっているか、ログでCloud Machine Learning Engineの終了を確認する
  2. TensorBoardのコマンドを実行
  3. Cloud ShellからTensorBoardを見る
てな感じです。
GCPのブラウザのMLから順に追っていくとログを見ることができます。
successfullyが出ると終わるみたいです。

そんでもってTensorBoardのコマンドを実行し、Cloud Shellの左上にあるボタンからブラウザで開くをするとTensorboardが見れます。
うーん。見てもよくわかりませんね。
何となく、accuracy=正確さ、的確さという意味らしいのでテストデータで正解が90%ぐらいになっているという意味だと思います。
lossは本からはわかりません。
ネットで検索しましょう!

そんなわけで、実行できたみたいです。

価格は。。。まだわかりません。

一日たたないと計算されませんね。

次回、表示できるかもです。

2017年7月27日木曜日

プログラマのためのGoogle Cloud Platform入門をやってみた16

今回は『プログラマのためのGoogle Cloud Platform入門』の「第5章 機械学習を用いたGAEアプリケーション」の7回目です。



今回は、Cloud Machine Learning Engineのサンプルアプリケーションの実行です。

ページの範囲は、246ページから251ページです。

流れとしては、
  1. Cloud Machine Learning Engine APIの有効化
  2. Google Compute Engine APIの有効化
  3. サンプルコードのセットアップ
  4. Cloud Storageにバケットを作成
  5. 学習処理のジョブを投入
てな感じです。

ジョブを投入して結果を見ないのは、これに時間がかかるからです。

Cloud Machine Learning Engineは裏ではTensorFlowが動いており、GCEにインストールして使えばわざわざ使わなくて実行できます。

しかし、Cloud Machine Learning Engineを使えば下記のメリットがあるみたいです。
  • 学習処理の間のみ計算ノードが割り当てられて、課金対象となる
  • 分散学習に対応したコードを用いると、複数ノードによる並列学習処理が行える
  • オプション設定でGPUの利用も可能
まぁ、実際に動作させて価格を確認してみます。

2017年7月26日水曜日

プログラマのためのGoogle Cloud Platform入門をやってみた15

今回は『プログラマのためのGoogle Cloud Platform入門』の「第5章 機械学習を用いたGAEアプリケーション」の6回目です。



今回は、サンプルアプリーケーションの実行です。

ページの範囲は、233ページから245ページです。

流れとしては、

  1. プロジェクトの作成
  2. Google Cloud Vision APIの有効化
  3. Google Cloud Translation APIの有効化
  4. サンプルアプリケーションのダウンロード
  5. App Engineアプリケーションの作成
  6. Cloud Datastoreのインデックス作成
  7. アプリケーションのデプロイ
  8. アプリケーションの実施
となっています。

時間は10分もかかりません。



アプリケーションを起動時のTOP画面です。
StartをクリックするとGoogle アカウントでの認証が必要という画面が表示される。ここでは省略しています。


そんなわけで認証するとファイルを選択してくださいという画面出るので自己紹介用のpngフィルを選択し、Uploadをクリックします。

そうすると選択したファイルの内容が表示され、ついでにTagが表示されます。
自分の場合は、「面」、「線画」、「白」。。。
そうなんだけどさ。。。なんか別の表現もあったよねといいたくなります。
Back to Photo Albumをクリックします。

戻ってきました。あとは同じようにファイルを選択するだけですね。
またTagには先ほど表示されていた内容が選択できるようになっています。

なるほど。。。

しかしこれだとGAEアプロケーションは作れないorz

次回は、どうしようかな。

次のページに機械学習なんだけど自分がやりたかったのはGAEアプリケーションを作ることなんだけどな。

とりあえず本を一通りやったほうがいいかもね。

2017年7月25日火曜日

プログラマのためのGoogle Cloud Platform入門をやってみた14

今回は『プログラマのためのGoogle Cloud Platform入門』の「第5章 機械学習を用いたGAEアプリケーション」の5回目です。



今回は、GAEにあるその他機能について説明します。

GAEにある機能

  • cron・・・定期的に指定のジョブをバッチ的に実行する
  • タスクキュー・・・時間のかかる処理を非同期に実行する
  • セキュリティスキャン・・・外部からのアクセスに対してセキュリティ上のチェック(手動実行と自動実行の2種類)
  • バージョン管理・・・デプロイした際に過去のソースを保存。過去のバージョンへの切り替えも簡単。また1部だけ新しいバージョンにして様子を見ることも可能。
タスクキューを使うシーンは、60秒以内にレスポンスを返せないようなときみたいです。
また、タスクキューの1タスクは10分以内に完了しないといけません。

その他情報として、GAEは1プロジェクトに対して1つのWebアプリケーションが対応しています。

でも1つのWebアプリケーションを複数のサービスに分割することが可能だそうです。

通常、URLは『https://<プロジェクトID>.appspot.com』を複数のサービスに分割すると『https://<サービス名>.<プロジェクトID>.appspot.com』てな感じです。
デフォルトサービスは最初のURLでアクセスするみたいです。

サービスに分けたら不利なことなんてあるんですかね?

本にはデフォルトサービスは、ユーザーからのアクセスに使ってそれ以外に作成したサービスはREST APIで呼び出すようなことが書いてあります。

次回からは実際に作ってみます。

2017年7月24日月曜日

プログラマのためのGoogle Cloud Platform入門をやってみた13

今回は『プログラマのためのGoogle Cloud Platform入門』の「第5章 機械学習を用いたGAEアプリケーション」の4回目です。



今回は、Cloud Datastoreの概要です。

GAE環境では永続データを保存することはできないので外部に永続データを保存します。

第5章の内容ではCloud Datastoreに保存するみたいです。

Cloud DatastoreはNoSQLと呼ばれるデータストアです。

なんでもCloud DatastoreはNoSQLのほかに、分散キーバリューストアと呼ばれるものらしく、このサービスもスケールアウトしてくれるみたいです。

ただ、分散する目的は大量データの保存に対応するためです。

驚いたことにクライアントからCloud Datasotreに書き込んだデータが、即座に検索結果に表れない可能性があるそうです。

分散しているので、検索する箇所が多いので見つけられないんですかね?

Cloud Datastoreでは、検索方法が2種類あります。

  • グローバルクエリー・・・データを格納した直後に検索すると見つからないことがある
  • Ancestoreクエリー・・・格納したデータは、検索で確実に見つけることができる
となっています。

使用する際には注意しないといけないですね。

2017年7月23日日曜日

プログラマのためのGoogle Cloud Platform入門をやってみた12

今回は『プログラマのためのGoogle Cloud Platform入門』の「第5章 機械学習を用いたGAEアプリケーション」の3回目です。



今回は、Google App Engine入門ということで座学的な内容を書いていきたいと思います。

クラウドでよく言われるIaaS、PaaS、SaaSの三層の分け方でGoogle App EngineはPaaSに該当します。

過去にGCEでやってきたWebサーバーやロードバランサの設定をすべてやってくれています。

またGAEでやっていたコンテナ環境のようにオートスケールを自動でやってくれています。

GAEのサービス種類
の2つあります。

ただ、フレキシブル環境は英語なので何となくでしかわからないですね。







上のYouTubeを見れば何となくわかると思います。

といいつつ自分も何となくしかわかっていません。

最後に挙げているYouTubeだけ見てもいいと思います。

注意事項として、GAE内で永続データは保存することは難しいそうです。

永続データを保存するために、Cloud DtastoreやCloud Storageにデータを保存するようです。

2017年7月22日土曜日

起業セミナーに行ってきました。

現在の私は個人事業主です。

といっても働き方はサラリーマンと同じで企業に行ってシステム開発をする仕事をしています。

なんで起業セミナーに行っているかというと、ありきたりですが自分で何かしらサービスを作って立ち上げたいと思っているわけです。

それで定期的にセミナーに行っているのですが、、、

なんと言っていいんでしょうね?もやもやしているって感じです。

決め手がないんですよね。

変な言い方ですがビビッと来ない感じでしょうか。

今回のセミナーの内容は、中山間地あたりの事情を聞いてきました。

簡単にまとめると
  • 山にある森をちゃんとメンテナンスしないと豪雨など発生したとき平地の町が危険になる(過去に実際なりかけた)
  • 空き家バンク等を活用して人を呼び込む活動をしている
  • 獣害駆除が必要。猪や鹿が年に3000頭殺して600頭ほどジビエ料理として利用している。
  • 山村にある畑や田んぼを利用して企業セミナーに利用している
  • 常に人手不足。ただ、掛け持ちしないと生活はできない。
って感じでした。

個人的には、山村には移住はしたくないけど一カ月間など期間限定で住むのはいいかなと感じました。

起業的には、自分はシステム開発ができるので、クラウドソーシングで仕事を貰えたら山間部に住めるかなぁと思いました。

週末は都市に出る!って感じで行き来することをしたらストレスがない環境ができるかなと思いました。

2017年7月21日金曜日

プログラマのためのGoogle Cloud Platform入門をやってみた11

今回は『プログラマのためのGoogle Cloud Platform入門』の「第5章 機械学習を用いたGAEアプリケーション」の2回目です。



今回は、Cloud Visionをローカルのindex.html+javascriptから呼び出すというのをやっています。

ページの範囲は、218ページから221ページでした。

流れは、

  1. Cloud Vision APIの有効化
  2. APIキーの取得
  3. サンプルコードのダウンロード
  4. サンプルにAPIキーを設定
  5. サンプルアプリケーションの実施
となっています。

そんなわけで自分が持っている写真(α6000で取った4000×6000サイズ)を使って、アプリケーションを実施するとエラーが出る。。。
ネットでCloud Visionのページを見ると下記のように書いてありました。

ファイルサイズ

Google Cloud Vision API に送信される画像ファイルは 4 MB を超えないようにしてください。ファイルサイズを小さくすると、スループットを大幅に改善できますが、プロセスの中で画質を低下させないように注意してください。複数の画像をまとめて 1 つのリクエストとして送信する場合は、Vision API での上限が 1 リクエストあたり 8 MB であることにも注意してください。
とかいてありました。4MB超えたらダメなんですね。

そんなわけで境界を探してみました。

とりあえず結果はこれです。
3955×5932=4091KB OK
3956×5932=4212KB NG
となりました。

境界は、4096KBかもしれません。

そんなわけで実行結果は下記です。
正直、何か出た!という感じです。

各項目、勉強しなくては!

別の項目は下記のように出ました。
LABELだとシャツ、クロージング、スタンディングと出ています。

送信した写真は自分がTシャツ姿で立っているだけの写真なのでかなり精度が高いと思いました。

次回は、GAE入門のようです。


2017年7月20日木曜日

プログラマのためのGoogle Cloud Platform入門をやってみた10

今回は『プログラマのためのGoogle Cloud Platform入門』の「第5章 機械学習を用いたGAEアプリケーション」の1回目です。



今回は座学的なものです。

機械学習、ディープラーニング、人工知能の違いが書いてあります。
  • 機械学習・・・過去のデータから未知のデータを予測
  • ディープラーニング・・・機械学習の一種。特定の領域で高い予測性能を発揮する。
  • 人工知能・・・知性を持っているかのような機能を提供する

そんなわけで、GCPでは機械学習関連のサービスがあります。
  1. Cloud Vision API・・・画像に関するAPI
  2. Cloud Translation API・・・テキスト翻訳に関するAPI
  3. Cloud Speech API・・・音声ファイルのテキスト化
  4. Cloud Natural Language API・・・テキスト関連のAPI
  5. Cloud Machine Learning Engine・・・機械学習モデルを構築できるサービス
  6. Cloud Video Intelligence API・・・動画分析API
  7. Cloud Jobs API・・・求職者が簡単に職を探せるAPI???
の7つです。6、7に関してはまだBETA版となっています。

一番の謎が、7.Cloud Jobs API。

Cloud Jobs APIのページにあるYouTubeも英語なので、わかるようなわからないような。

このAPIを使えば求人サイトでも作れるのだろうか?

ネットで検索してブログを見てもよくわからない。。。

時間があれば試したいAPIかも。

2017年7月19日水曜日

プログラマのためのGoogle Cloud Platform入門をやってみた9

今回は『プログラマのためのGoogle Cloud Platform入門』の「第4章 コンテナ実行環境でマイクロサービスアーキテクチャを体験しよう」の5回目です。



今回のページは、204ページから209ページです。

内容としては、AI機能のバージョンアップとして敵キャラの動作が変わるみたいです。

流れは、

  1. AI機能のDockerイメージ作成(これ長すぎ。10分はかかるよ!)
  2. バックエンド機能のバージョンアップ
  3. サンプルアプリケーションの実施
  4. コンテナクラスタの停止と削除
です。

そんでもってAIの動作。

ま、負けたorz

めちゃめちゃ強くなってます!

このあと5回ぐらい負けた後にやっと勝ちました!


そんでもって、コンテナクラスタの停止と削除なんだけど。。。

本のコマンド通り打ってもエラーになるんですけど。。。

しょうがないから、GCPのContainer Engineの画面で作ったコンテナクラスタを直接削除しました。

とりあえずそれで消えたのでOKかも。

それにしてもGKEも結構お金がかかるなぁ。

GKEを作るときに3クラスターと設定したので、VMインスタンスが3つ起動している。

1カ月だと8千円ぐらいかかりそう。

PC3台買うよりかははるかに安いけど、下手したらめちゃめちゃお金かかりそう。

次回からは、「第5章 機械学習を用いたGAEアプリケーション」です。

2017年7月18日火曜日

プログラマのためのGoogle Cloud Platform入門をやってみた8

今回は『プログラマのためのGoogle Cloud Platform入門』の「第4章 コンテナ実行環境でマイクロサービスアーキテクチャを体験しよう」の4回目です。



今回のページは、196ページから204ページまで。

内容としては、ランダム機能のデプロイだそうです。

まぁ、敵キャラはザコだしな。

流れとしては、

  1. バックエンドのYAMLファイルの更新
  2. バックエンド機能のデプロイ
  3. フロントエンドのYAMLファイルの更新
  4. フロントエンド機能のデプロイ
  5. サンプルアプリケーションの実施
です。

今回の実行結果です。〇=自分、×=敵です。
弱いけど。。。
何か変わったのかな。

次回はAI機能へのバージョンアップらしいのできっと強くなってるはず!

2017年7月17日月曜日

VMインスタンスはこまめに落とさないと高くつく!

とあるメールがメールが来た。

タイトルは、「請求アラート - 予算の 50% を超過しました」でした。

知っている人もいるでしょうけど、自分は初めて来たのでびっくりした。

自分は、GCPのアカウントは1年以上前に開いたものなので、無料枠が無いので、何かをやればほとんど請求が発生します。

で、今自分が何をやっているかというと『プログラマのためのGoogle Cloud Platform入門』のサンプルを動かしているからGCPから請求が来たのでした。

 

請求アラートは、予算を設定してある一定条件になるとメールが来るようになっています。

自分の設定は、予算1万なので5千円を超えたらメールが来るようにしていました。
だけど、3、4日までは1000円ぐらいだったので気にしていなかったが、突然メールが来たのでびっくり。

そんでもって、急いで確認したところ実際は6千円を超えていた。

支払い内訳をみてみるとこんな感じ。


Compute EngineのVMインスタンスが大幅に占めている。

なぜかなと考えたら、『プログラマのためのGoogle Cloud Platform入門』の「第3章 止まらないWebアプリケーション基盤を構築しよう」で下記のシステム構成を作ったのが思い出した。
  • ロードバランサ
  • GCE×3(西アメリカリージョン)
  • GCE×3(東京リージョン)
  • Cloud SQL
  • Cloud Storage
ってな感じのシステム構成。たくさんのGCEを動かし負荷分散して止まらないアプリケーションを実現するって内容でした。

そりゃ、6台もGCE動かし続けたら、あっという間に代金請求されるわ。

サンプルを実行したあと満足してそのままにしたのが痛かった。反省。

とりあえず、すぐにVMインスタンスを停止、ロードバランサも削除、インスタンステンプレート、インスタンスグループも削除した。

Cloud SQLは停止。Cloud Storageはまだ使うかもしれないので放置。

今回は、業務で使っていなかったけどこれを業務でやらかしたら大変だった。

多分、桁も違うだろうし。ほんと泣くだけじゃすまないしね。

これをキッカケにGCPの使い方ばっかり見てたけど、価格もちゃんとチェックするようにしよう。

2017年7月16日日曜日

プログラマのためのGoogle Cloud Platform入門をやってみた7

今回は『プログラマのためのGoogle Cloud Platform入門』の「第4章 コンテナ実行環境でマイクロサービスアーキテクチャを体験しよう」の3回目です。



今回のページの範囲は、193ページから196ページです。

内容としては、Dockerイメージの公開だそうです。

流れは、

  1. dockerのイメージへのタグを設定
  2. Container Registryへのpush
  3. イメージの確認
  4. バケットの内容の確認
てな感じです。

正直、今回は地味です。
てな感じでファイルができるだけです。

次回からは、きっとGKE(Googke Container Engine)の内容について触れるはず。
多分。

2017年7月15日土曜日

プログラマのためのGoogle Cloud Platform入門をやってみた6

今回は『プログラマのためのGoogle Cloud Platform入門』の「第4章 コンテナ実行環境でマイクロサービスアーキテクチャを体験しよう」の2回目です。



今回のページの範囲は、189ページから193ページです。

流れとしては、

  1. docker buildコマンドの実行(バックエンド部分)
  2. docker imagesの動作確認
  3. バックエンドとフロントエンドのコンテナ起動
  4. サンプルアプリケーションの実施
  5. ローカル環境でのコンテナの停止/削除
です。

今回もdocker buildコマンドを実行するので、また時間がかかるかとおもったけどあっさり終わりました。

そんなわけでアプリの実行画面。
X,Yを入力して五目並べをするみたい。

私が置いた場所は"〇"で、敵は"×"で表示されます。
とりあえず、左1列5個揃えたら勝ちました。
敵は、ランダムに置くだけで、自分を邪魔しに来ることはなかったです。

とりあえず動きましたって感じですね。

特に途中Dockerについて説明があるのですが、Dockerfileをうまく作らないといけないらしいです。

本に載っていたコマンドを下記に書きだしました。
  • FROM命令:ベースイメージの指定
  • RUN命令:コマンド実行
  • CMD命令:コンテナのコマンドを実行
  • LABEL命令:作成者情報
  • EXPOSE命令:指定されたポート番号の公開
  • ENV命令:環境変数
  • ADD命令:ファイル/ディレクトリの追加
  • COPY命令:ファイルのコピー
  • VOLUME:ボリュームのマウント
  • ENTRYPOINT:コンテナの実行コマンド
  • USER:ユーザーの指定
  • WORKDIR:作業ディレクトリ
  • ONBUILD:ビルド完了後に実行される命令
  • STPSIGNAL:コンテナ終了時に送信するシグナル
てな感じでした。

結構覚えることがありそうでちょっとめんどいかも。

2017年7月14日金曜日

プログラマのためのGoogle Cloud Platform入門をやってみた5

今回は『プログラマのためのGoogle Cloud Platform入門』の「第4章 コンテナ実行環境でマイクロサ-ビスアーキテクチャを体験しよう」を開始します。


今回のページの範囲は、177ページから189ページです。

流れとしては、

  1. コンテナ クラスタを作成
  2. Dockerfileを取得
  3. Dockerイメージの作成(フロントエンド部分)
です。

今回は少ないです。

理由は3.Dockerイメージの作成がなかなか終わらない!

かれこれ10分以上待っていますが、まだ終わりません。

そんなわけで、待っている間にこのブログを作成しておこかなと思いました。

余談:いままで『プログラマのためのGoogle Cloud Platform入門』の第2章と第3章やってきましたが、GCPを使っているのでお金がかかります。
実際に行ったのは、
  • 本に書かれたコマンドを実施
  • サンプルアプリケーションを2,3回実行
  • 設定したVMやCloud SQL等を3日ほど放置
うーん。高いのか安いのかわからない。

かかっているもの順に並べると
  1. Cloud SQL
  2. Compute Engine
  3. 消費税
  4. Cloud SQL Storage PD SSD in Japan
  5. Compute Engine Storage PD Capacity in Japan
ってな感じ。

3番目に消費税って。。。

税金って怖い!

2017年7月13日木曜日

プログラマのためのGoogle Cloud Platform入門をやってみた4

今回は『プログラマのためのGoogle Cloud Platform入門』の「第3章 止まらないWebアプリケーション基盤を構築しよう」を開始します。



今回のページの範囲は、122ページから138ページです。

流れとしては、

  1. スナップショットの作成(第2章で作成したVMインスタンスを使います)
  2. ディスクの作成(1.で作成したスナップショットを使います)
  3. イメージの作成(2.で作成したディスクを使います)
  4. インスタンステンプレートの作成(3.で作ったイメージを使います)
  5. インスタンスグループの作成(4.で作成したインスタンステンプレートを使います)
  6. ロードバランサのHTTP(S)負荷分散で作成
    1. バックエンドの作成
    2. ホストとパスのルール作成
    3. フロントエンドの設定
  7. アプリケーションの実施
でした。

そう。今回はやることが多い。

で気になったのが、赤枠の部分。
何これインスタンステンプレートって作るだけでお金かかるの?
今日、VMインスタンスを作る画面を見たら同じように表示されていました。

いままで気が付かなかったのか、新しく見せるようになったのかわかりませんが、お金がかかるのかと思うとちょっとためらいましたが続けました。

次に困ったのが、7.アプリケーションの実施。

何が困ったかというと、いままではVMインスタンスに直接アクセスしていたが、今回からはロードバランサを経由してアクセスするらしく、作ってすぐにIPアドレスにアクセスしても反応しない。。。

自分の作りが間違っていたのかなと思って設定を見返しても間違っているところはなかったので、5分ほど待ったらアクセスできました。

そんなわけで動作結果です。

とりあえず、前回と同じことをしたら表示されました。

次は、第4章 コンテナ実行環境でマイクロサービスアーキテクチャを体験しようとなっています。

2017年7月12日水曜日

プログラマのためのGoogle Cloud Platform入門をやってみた3

今回も『プログラマのためのGoogle Cloud Platform入門』をやってみました。



今回のページの範囲は88ページから94ページです。

流れとしては、

  1. Cloud Storageのバケットを作成
  2. 作成したバケットのアクセス権追加
  3. サンプルアプリケーション(V3.0)のインストール
  4. サンプルアプリケーションの実施
って感じでした。

またまた困ったことが起きて、2.作成したバケットのアクセス権追加でプルダウンメニューが写真と違う!

そんなわけで私がやったのが、「バケットの権限を編集」をクリックするとメニューが表示されます。
メンバーの追加でAllUsers。役割の選択で「ストレージオブジェクト閲覧者」を選択して「追加」ボタンをクリックします。
そうすると、ストレージオブジェクトの閲覧者が表示されます。
これでとりあえずサンプルアプリケーションは動作しました。

そんでもって動作結果。


いままで作った伝言機能に画像をアップロードする機能が増えてます。

今回で、『プログラマのためのGoogle Cloud Platform入門』の「第2章 Webアプリケーション実行基盤を構築しよう」が完了しました。

次回からは、「第3章 止まらないWebアプリケーション基盤を構築しよう」となります。

たぶん3回に分けてやるかも。

2017年7月11日火曜日

プログラマのためのGoogle Cloud Platform入門をやってみた2

Google Cloud Platform入門の続きです。


ページの範囲は77ページから87ページです。

流れとしては、

  1. Cloud SQLのインスタンス作成
  2. Cloud SQL APIの有効化
  3. Cloud SQLのインスタンス内でデータベース作成
  4. サンプルアプリケーション(v2.0)のインストール
  5. サンプルアプリケーションの実施
ってな感じです。

困ったのが1.Cloud SQLのインスタンス作成。

何が困ったかというとmysqlのパスワードの入力。

自動生成にすると簡単に強固そうなパスワードを作ってくれるのですが、入力するのは手入力だったので何度も間違えて先に進めずorz

そんなわけで、簡単なパスワードで再作成しました。

謎なのが、2.Cloud SQL APIの有効化。
なんでも今回使用するCloud SQL Proxyを使うには、APIの有効化が必要らしい。
ほんとにただ有効化しただけ。
それだけでつながるのが不思議で仕方ない。

3.、4.、5.は順調にできました。

あまりにも順調に動いたので、ちょっと中身を確認しました。


というわけでちゃんと値が入っていたので、とりあえず繋がってCloud SQLには格納しているみたい。

2017年7月10日月曜日

プログラマのためのGoogle Cloud Platform入門をやってみた

今日は、仕事が終わって一つの項目だけ実施しました。


本書の62ページから76ページです。

流れ的には、

  1. プロジェクトを作成する
  2. GCE(Google Compute Engine)を作成
  3. GCEの設定(Python環境の設定)
  4. サンプルアプリケーションインストール
  5. サンプルアプリケーションの実施
てな感じ。

集中してやれば、10分もかならないはず。

でサンプルアプリケーションがどんな感じで動くかというと

最初はStartをクリック。


すると左側にメッセージを入力する欄が表示されます。
右側は、過去に入力したメッセージを表示する場所です。
そんでもって、新しいメッセージを入力して投稿を押しましょう!


するとメッセージを受け取ったというメッセージが画面に表示されます。
それで伝言板に戻るをクリックしましょう。


すると先ほどの画面に戻ります。
ただ、入力したメッセージが右側についかされれています。


という感じでした。

次は、現在のメッセージの管理はSQLiteを使っているらしいです。
それをCloud SQLに変えるのが次の仕事らしい。

それにしてもGoogle CloudでVMを作るのは簡単でした。
(詳細は、本を見てください。)

何か試してみたいことがあれば、Google Cloudを使うのもいいかも。

これからもどんどん進めていきます。

2017年7月9日日曜日

Google Cloud Next '17 in Tokyo セッション動画一覧でGAEを見た。私がGAEにこだわる理由。

私がGAEにこだわる理由。

それは、インフラが分からないIT土方だから!(どやぁ)

orz

分かっていれば、GAEなんかにこだわらずGCE(Google Compute Engine)を立ち上げて自分が使い慣れているOSSを入れてWEBアプリを作るんだろうけど。。。

できないorz

やればできるんだろうけど、そこに時間をかけたくないというのが本音。

自分がやりたいことは、OSSのインストールを入れたりすることじゃなくてアプリケーションを作ってみたいだけ。
正直、縁の下の力持ちとして動くOSSは何でもいい(問題がおきなければだけど。)


ということでGAEのセッションを見たら、やっぱりGAEでやるしかない!
って感じだけど最近はパワーアップしているみたいね。

セッション動画見ればわかるけど、仕組み的にはDocker上で動いているらしくカスタムした環境でも動くらしい。。。

そうか。それはGAEをマスターして困ったことが起きたらやろう。

そんなわけで、買った本がこれ。

Amazonでの評価も高くGAEもやれるらしい。

これからは、この内容を実際にやってみてブログにしてみよう。

2017年7月8日土曜日

Google Cloud Next '17 in Tokyo セッション動画一覧でApp Makerはいいなぁ。

最近はもっぱら、セッション動画ばかり見ている。

正直、見るのが多すぎてやるべきこと?がやれていないorz

でも、Googleにはいろんなサービスが出ていて仕事に使えるかもと思うと見ないといけない!と思ってみてしまう

将来役に立てばいいか。

そんでもって今回見たのは、GAS(Google Apps Script)とAppMakerの話。


App Makerは使いやすそうだけど、社内向けらしい。

社外向けにはGAE(Google App Engine)を使えとの話。

そうか。。。

App Makerとても使いやすそうだったけど、社内だけか。

機械学習とかの前処理とかで使えるかな?

でもきっと、GASの制限である実行時間、Daily Quotaで引っかかりそう。

自分はG Suite使っているから、タダだしやってみる価値はあるかも。

2017年7月7日金曜日

Google Cloud Next '17 in Tokyo セッション動画一覧で機械学習が分かりやすかった。

今日見たのは、機械学習入門。

Google のデータサイエンティストが語る現場で使える機械学習入門


分かりやすい!


正直、上の本よりわかりやすいと思う。
(自分の読解力の問題か?)

機械学習を使ってみたいけど、機械学習には結構な量のデータが必要みたい。

自分は個人なので、そんなデータはないなぁ。

というわけで、貯めているのが自分のダイエットブログに記載している食事と体重と体脂肪。

多分あれでも、体重が増えるか増えないか機械学習できるはず!

今はとりあえずほかのことを覚えていこうと思っています。

2017年7月6日木曜日

Google Cloud Next '17 in Tokyo セッション動画一覧で一部見てみた。

自分が見た内容の感想を書いていきます。
Google Apps Script 利用で実現する働き方改革
 Google Apps Script=GASというらしい。

JavaScriptで簡単に作れるとのこと。

GASの良いところ、残念なところがまとめられて分かりやすかったので書いてみる。

 ◎GASの良いところ
  • 早い=Webブラウザですぐに開発できる
  • 安い=0円(G Suiteに含まれる)
  • うまい=他Googleサービスとの親和性が高い
×GASの残念なところ⇒改善されるらしい
  • 1実行6分まで⇒30分
  • Daily Quota⇒柔軟なQuota
  • ログが永続的でない⇒Stackdriver Logging
3つほど、作成したアプリを説明していたが凄い!と思った。 

GAEを見るところがなぜがGASを見るという状況になってしまった。

 でも面白いから寄り道もいいかな。

2017年7月5日水曜日

Amazonの注文で久々に失敗した!⇒商品発送されました!

心配していた商品が発送されました!
やったね!

今回の自分の件とは、関係はないがニュースでは、発送されたけど指定日に届かないなど出ているらしい。

『デリバリープロバイダとは? Amazonの配送に「指定日に荷物届かない」といった不満続出、背景にあるのは...』
http://www.huffingtonpost.jp/2017/07/03/amazon_n_17381076.html

そんでもって、Googleで今話題の『デリバリープロバイダー』検索すると、上位のほとんどが荷物が指定日に届かないばかり。

Google トレンドでも調べてみました。



最近、切り替えたみたいだから一気に急上昇している。

うーん、最近のアマゾンは、いろいろと心配だ。

自分の家にもデリバリープロバイダーが配達するようになったら、別のネットショップに切り替えようかな。
でも、Amazonを超えるところと言ったら楽天ぐらいか。
楽天はサイトの作りが嫌だから乗り換えたくないけど。。。
その時が来たら、また考えよう!

2017年7月4日火曜日

Google Cloud Next '17 in TokyoをYouTubeで見よう!

IT関連のセミナーって高いし、平日だしで行けなかったりする。

現時点で業務使ってないまたはこれからも使いそうに無いものについては、なおさら上司からの許可は下りないorz

ところがさすがGoogle!

YouTubeにセミナーの内容を上げてました!

『Google Cloud Next '17 in Tokyo セッション動画一覧 』で検索してみてください。

気になったのは、
Google App Engine関連
Tensor Flow関連
かな。

最近はGoogle App Engineよりもアプリを作るのが簡単そうなGoogle Cloud Funcionsっていうのが出ていて、それも見てみる。

それにしても本数が結構出ていて、見る時間がなさそう。
効率よく見ていこう。

Micorsoft関連のセミナーを見たい方は、
『Microsoft de]code 2017 Channel 9』
で出てくるので見てみて下さい。

普通なら8万とか必要なのに、無料で見れるとはいい時代になりました!

2017年7月3日月曜日

Amazonの注文で久々に失敗した!

失敗したといっても大げさなもんじゃなくて、マーケットプレイスから買ってしまったということ。

しかも注文した会社からメールが来て”在庫を上回る注文があったのでお取り寄せ中です”だそうだ。

...危険な香りがする!

とりあえず、会社の評判を見てみると問題なく商品は届いているみたい。
ただ、自分と似た状況になっている人もいて在庫がないのにあるように見せるなよ!って怒ってた。

キャンセルしようかなと思ったけど、ブログのネタになる!という考えのほうが先に勝ったのでそのままにします。

ただ、こういう詐欺もあるみたいだし。
http://www.yomiuri.co.jp/science/goshinjyutsu/20170428-OYT8T50008.html

本音は、無事届いてくれることを祈っています。

2017年7月2日日曜日

機械学習&ディープラーニングを勉強した

昨日買った、60分でわかる!の本が、本当にわかりやすかったので、新たに企画学習とディープラーニングの本も購入。



印象に残ったのは、"068 機械学習が犯した間違いの責任はだれがとる!?”で書いてあったのが、機械学習に対して人が与える基準(学習データ)が偏っていると、結果も偏ってしまうということ。

そうなると二つ思い浮かんだ。

  1. アルゴリズムよりもデータが重要?
  2. 同じ結果を求めるシステム(例えば、OCRのようなもの)でも多種多様な機械学習が生まれてくる可能性が高い
1.については、目的に沿ったデータを持っている人しか役に立たないシステムが作れないこと。アルゴリズムが優れていても、機械学習の判定元は持っているデータなので判定しようがないということ。

2.については、1も関係してくるが偏った結果が出ることは使いようによっては効率的になりそう。要は、適材適所ということ。

一つの機械学習ですべてをまかなう必要がないから、判定すること一つに対して一つのシステムが生まれる可能性もある。
そうだったら仕事が増えて、個人的にはうれしい限りです。


2017年7月1日土曜日

ITビジネスを考えるために本を買った。

今日は、この本を買って読んでいる。


自分が作る企画やシステム開発に役立てるために購入。

それにしてもITビジネスは何でもできる感じになっている。
個人的には、やっぱりハードウェアが性能がアップして、小さく安くなったのが大きいと思う。

なんかやりたいことがどんどん出てくるけど、時間の関係でやれることは限られてくる。
毎年テーマを決めてやって行ったほうがいいかもしれない。

そう考えると最初にやるべきはクラウド関連になっちゃうなぁ。

私が知っている限りの選択肢は、AWS、Azure、Google Cloud Platformだろうか。

そう考えると、Googleと同じようなネットワーク網が使えるっていうGoogle Cloud Platformのほうがロマンを感じる。

昔、チャレンジして断念したGAEを再チャレンジしてみようかな。