• 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

GTUGのBootCamp 2011 Japan でGoogleAppEngineのセッションに参加してきました。

  • ハッシュタグは #bc2011jp #gae1

 最近HadoopやAWS方面に力を入れ始めているところなので、Googleのサービスの中でもGAEには興味があって、色々勉強したいと思ってます。かなり前にチュートリアルやった程度なのですっかり忘れてますし。。

 最近のGAEの話題としてはやっぱり新料金体系のことですね。場合によっては今までの20~30倍になるという話も聞きましたし。

 セッションでは節約の話の前に前半でまずGAEの概要やGAEがリクエストを処理する仕組みを説明していただいたので、節約の話もわかりやすかったです。

料金体系の変更としては簡単に言ってしまうと、

  • CPU Hours から Instance Hoursへ
  • APIも使用回数で課金(今まではCPU Hoursに含まれていた)

ということです。詳細はここでは説明しませんが。

 節約するには色々大変なことをしないといけないのかなぁと思っていましたが、どうやら設定を変更するだけでもかなり節約できるようですね。デフォルトの設定だとガンガンスケールアウトしていく設定らしいので、そこはしっかりチェックしておく必要がありますね。

 新料金については随分評判が悪いようですが、今までがほぼ無料だっただけに余計に高くなったように感じる部分もあるんではないかと思います。まだちゃんと使ってませんが、クラウド環境としてはかなりよい環境なのではないかと思うので、新料金の値段だけに気を取られるのではなく、節約するところは賢く節約して、有効活用していくのがいいかなぁと思います。個人で手軽に利用できるクラウド環境としてはすごく良いサービスだと思いますので。

IMAG0241.jpg

posted by Png akanuma on Sat 29 Oct 2011 at 22:36

 GTUGのBootCamp 2011 Japan でChrome Extensionのセッションに参加してきました。

  • セッション資料の公開はこちら
  • ハッシュタグは #bc2011jp #chr1

 Chrome Extensionは今年のGDDのDevQuizで初めて触りました。簡単に言ってしまうとChromeを拡張して操作を自動化したりできるわけなんですが、最初に触ったときの印象としてはSelenium に近いものがあるかなという気がしました。

 技術的には使うものはHTML,CSS,Javascriptなので、今までWebアプリを開発してる人なら学習コストはかなり低いんじゃないでしょうか。

 例えば"Hello World!"を表示するだけの簡単なExtensionなら、必要なものとしては、

  • manifest.json

   1  {
   2    "name": "SampleExtension",
   3    "version": "0.1",
   4    "browser_action": {
   5      "default_popup": "popup.html",
   6      "default_icon": "icon.png"
   7    }
   8  }

  • popup.html

   1  <!DOCTYPE html>
   2  <html lang="ja">
   3    <head>
   4      <meta charset="UTF-8">
   5      <style>
   6        p{
   7          font-size: 32px;
   8        }
   9      </style>
  10    </head>
  11    <body>
  12      <p>Hello, World!</p>
  13    </body>
  14  </html>

 とりあえずこれだけです。この例では使ってませんがJavascriptでページの要素を操作したりもできるので、かなりいろんなことがやれると思います。デバッグもデベロッパーツールでWebアプリと同じようにやれます。

 自分としては、Webアプリを開発する時のテスト用ツールとして使えないかなぁと思ってます。開発時には何回もブラウザから同じ操作を繰り返したりするので、そういう作業を自動化したりとかするのに使えないかなーと。

 Chromeは急速にシェアを拡大していて、このままの勢いだと来年中にIEを抜くんじゃないかという話もあるようなので、そうしたら自分で使う便利ツール以外にもExtension開発に力を入れたらおもしろいかなぁとも思いました。

 仕事でブラウザチェックをするときにはChromeはバージョンアップが早すぎて推奨環境から外れてしまってますけどね・・・。

posted by Png akanuma on Sat 29 Oct 2011 at 21:45

 GTUGのBootCamp 2011 Japan でGoogleAppsScriptのハンズオンに参加してきました。

セッション資料はこちらに公開されています。
Twitterのハッシュタグは #bc2011jp #gas1

 本当はGAEのセッションに参加するつもりだったのですが、GAEコーナーはセッションではなくオフィスアワーだったらしく、急遽こちらに参加しました。

 Google Apps ScriptというのはGoogle Apps内で提供されているスクリプト実行環境で、自分の認識としては、マイクロソフトオフィスでいうところのVBA的なものという感じです。VBAをろくに触ったことはありませんが。。Script自体は基本的にJavascriptなので、jsを使える人なら言語自体の学習コストはほぼゼロです。

 例えば値を受け取って消費税分を加算して戻すような関数は下記のような感じでJavascriptそんまんまです。

   1  function calc_tax(no_tax_price) {
   2    var inc_tax_price = no_tax_price * 1.05;
   3    return inc_tax_price
   4  }

 ハンズオンでやったのは、TwitterのAPIからJsonデータを取得・パースしてSpreadsheetに表示したり、Tasksと連携させたりといった内容。 時間内で最後まで終わらせることはできませんでしたが、Javascriptは一応知識がありますし、純粋に楽しくやれました。 皆がTwitterのAPIにアクセスしたのでアクセス数制限にひっかかってエラーになっていたりといくつかハプニングはありましたがw

 GAS自体については確かに便利なので、自分で使うだけのちょっとした便利ツールを作ったりするのにはすごくいいんじゃないかとおもいますが、ExcelのVBAがいろんなところで問題になってたりするように、GASもGoogleAppsにロックインしたものになってしまうので、業務上クリティカルなものを作るために使うべきではありませんね。
 GoogleAppsのサービス自体がいつどうなるかわかりませんし、メンテナンスできる人が多いとも思えないですし。構文はJavascriptと同じですが、例えばSpreadsheetにデータを書き込むなどはやはりSpreadsheetにロックインされたものになります。

   1  var doc = SpreadsheetApp.getActiveSpreadsheet();
   2  var sheet = doc.getSheetByName("hoge");
   3  var start_row = sheet.getLastRow() + 1;
   4  var data = [
   5    [1,2,3], 
   6    [10,20,30]
   7  ];
   8  sheet.getRange(start_row, 1, data.length, data[0].length).setValues(data);

 あとは、エラー内容によっては一度エラーになると二度とスクリプトエディタで開けなくなったりとか、結構致命的なところもあったりします。 その辺もうちょっと整備されてくると、ブラウザ上だけで作業できたり手軽に作れたりと良いところも多いので、使いどころを間違えなければ便利なツールだと思います。

posted by Png akanuma on Sat 29 Oct 2011 at 12:44
Contents
App Engine 倹約のすゝめ(BootCamp 2011 Japan)
はじめてのChrome Extension(BootCamp 2011 Japan)
GoogleAppsScriptハンズオン(BootCamp 2011 Japan)
Comments
yoku0825: nkfの方が使いやすいですが、glibcに含まれているiconvの方が 確実にどの環境にも入っ... '12-6
Hiroaki Akanuma: ご指摘ありがとうございます。「嗜好度は大きい値がより嗜好度が強いことを意味すればどのような値で... '11-11
akr: 初めての推薦エンジンのところ 「属性データはどんなものでも可能。」 は preference ... '11-11
Services from s21g
twpro(ツイプロ)
Twitterプロフィールを快適検索
地価2009
土地の値段を調べてみよう
MyRestaurant
自分だけのレストラン手帳
Formula
ブログに数式を埋め込める数式コミュニティ