タグ

google-app-engineに関するnak2kのブックマーク (23)

  • Google App Engine/JavaによるScala/Liftアプリケーション開発(前編)

    はじめに Google App Engine(GAE)/Javaでは、Java仮想マシン上で動作する言語を利用することができます。例えば、JRubyやGroovyなどです。 Scalaも、コンパイルすることによりJava仮想マシン上で動作するクラスファイルを生成する言語ですので、当然、GAE/Java上で動作させることができます。 Scalaが動作するということは、ScalaでできているWebアプリケーションフレームワークであるLiftを元に作成されたアプリケーションを、GAE/Javaに載せることができるということです。 前後編で構成される連載では、ScalaおよびLiftをGAE/Java上で動作させる方法を解説した後、サンプルアプリケーションでGoogleが提供するさまざまなAPIを利用した、GAEならではのアプリケーションを作成して、GAEでのアプリケーション作成のイメージをつか

    Google App Engine/JavaによるScala/Liftアプリケーション開発(前編)
  • Google App Engine上のベスト・プラクティス、その1: Datastore

    Google App Engine上でアプリを作りはじめて約二ヶ月。いろいろと分かって来たこともあるので、自分へのメモも含めてまとめてみる。まずは、Datastoreの話から。 なによりも大切なのはデータベースの設計 あたりまえと言えばあたりまえの話だが、App Engine上でアプリを作る上でもっとも大切なこと(=頭を使うべきところ)は、データベースの設計である。特にリレーショナル・データベース(RDB)上でのアプリ作りに慣れた人には、大きな「発想の転換」が必要なので、ここは注意が必要。 特に絶対にやっては行けないのは、 将来RDB上へ移行できるようにレイヤーを作って、その上にアプリを作る RDB上に作ったアプリをデータモデルを大幅に変更せずにApp Engine上に移植する RDBを前提に設計されたフレームワークをApp Engine上に載せて、その上にアプリを作る など。App En

  • App Engineでバージョンによる楽観的排他制御 - ひがやすを技術ブログ

    Song of Cloudで送金のトランザクション処理パターンが紹介されていました。 http://songofcloud.gluegent.com/2009/11/blog-post_18.html 同様のpython版がこちら Distributed Transactions on App Engine - Nick's Blog 上記のやり方で基的には問題はないのですが、バージョン管理による楽観的排他制御を行っていないので、送金だけを考えるなら、残高を差分で更新しているので大丈夫ですが、これを一般的なパターンに拡張しようとすると、楽観的排他制御は必要になります。 楽観的排他制御とは、エンティティにバージョン番号を持たせておいて、メモリ読み込んだときのバージョン番号と書き込むときのバージョン番号が等しいことを確認する方法で、RDBMSの場合は、次のようなSQLを実行することで実現しま

    App Engineでバージョンによる楽観的排他制御 - ひがやすを技術ブログ
  • App EngineのEntityGroupを理解しよう - ひがやすを技術ブログ

    App EngineのEntitiGroupは、Keyの親子関係を利用して組み立てられたEntityの集まりです。 Entityとは、Bigtable上の1つの行で、ユニークに識別するためのKeyを持っています。 Keyは、種類をあらわすkindとAppEngineから自動的に採番されるidもしくはアプリケーション側で自由に決めることのできるnameで構成されます。 通常は、AppEngineの自動採番に任せますが、Emailのアドレスをキーに使いたい場合などは、nameを使います。kindはテーブル名のようなものだと思ってください。 Keyの親子関係は次のようにして作ります。 Key grandparentKey = KeyFactory.createKey("Grandparent", "しげお"); Key parentKey = KeyFactory.createKey(grand

    App EngineのEntityGroupを理解しよう - ひがやすを技術ブログ
  • VBA相当!? Googleのスクリプティング環境が進化中 - @IT

    2009/10/13 Google Waveの熱狂に飲まれて見落とされていた方もいるかもしれないが、2009年5月のGoogle I/Oで同社は、Google DocsやGmailといったサービスで作業を自動化するスクリプティング環境「Google Apps Script」を発表している。Google Docsをはじめ、Gmailのアドレス帳やGoogleカレンダー、翻訳サービスなどにアクセス可能なスクリプティング環境で、HTTPを使った外部のWebサービスの利用も可能という特徴がある。JavaScriptの編集はWebブラウザで実行できるスクリプト・エディタで行うが、コード自体はサーバ側で実行するサーバサイドJavaScriptだ。 8月に正式サービスとなったGoogle Apps Scriptだが、ほかの同社サービス同様に、徐々に機能を充実させているようだ。 アドレス帳向けの新API

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • Sinatra on GAE - urekatのスカンク日記3

    New!⇒ GAE/JRubyグループを作ってみました Rails on GAEより軽くて現実的かもしれませんぞ。 ActiveRecordを中心としたRailsフルスタックを使えないならRailsである必要ないもんね。 セットアップ % cd path/to/your/projects % git clone git://github.com/jugyo/sinatra_on_gae.git PROJECT_NAME % cd PROJECT_NAME % dev_appserver.sh -p 9999 . ブラウザで「http://localhost:9999/」を開く 基 WEB-INF/app.rbを編集する。 require 'rubygems' require 'sinatra' def h(s) Rack::Utils.escape_html(s) end get '/'

  • Google App Engineにデータストアの障害発生。復帰まで約6時間、原因は現在も不明

    クラウド上で誰でもJavaPythonによるアプリケーションが構築できるプラットフォーム「Google App Engine」。 そのGoogle App Engineで、米国太平洋夏時間の7月2日午前6時半(日時間7月2日深夜11時半)頃から障害が発生し、約6時間のあいだデータストアへの書き込みなどができなくなり、データストア機能を利用する全アプリケーションが影響を受けました。 この障害は午前8時半頃からApp Engineチームによって対応が行われ、午後12時半過ぎには解決した模様です。App Engineチームは逐次作業状況を報告しましたが、何が原因だったのかについては一切明らかにされていません。 Google App Engine System Statusを見ると、たしかに7月2日にDatastoreとMemcacheに障害が発生しているのが分かります。 対策チームからの原因

    Google App Engineにデータストアの障害発生。復帰まで約6時間、原因は現在も不明
  • ついに無制限に解放されたGoogle App Engine/Java。RoRやPHP、もちろんJavaも試そう

    ついに無制限に解放されたGoogle App Engine/Java。RoRやPHP、もちろんJavaも試そう 4月8日に発表されたGoogle App Engine/Java。利用できるのは1万人までと制限がついていたのですが、それが撤廃されてだれでもサインアップして利用できるようになったと、Google App Engine Blogが伝えています。 Google App Engine/Javaは発表されてまだ2カ月と少しですが、はやくもJava VMの上にPHPRuby、それにJavaのフレームワークなどの実装が行われています。今回はそうしたGoogle App Engine/Javaの活用情報をまとめてご紹介しましょう。 Google App Engineの基礎知識 ITproで、Google App Engineの入門記事が掲載されています。アカウントの取得方法やSDKの入手方

    ついに無制限に解放されたGoogle App Engine/Java。RoRやPHP、もちろんJavaも試そう
  • Wicket + Maven なアプリを Google App Engine で動かす - イトウ アスカ blog

    ミッションは、Wicket の QuickStart で作成した Maven プロジェクトにできるだけ手を加えることなく Google App Engine で動かすことです。 修正または作成しなければならない点は以下の 2 つです。 セッションストアを変更する。 appengine-web.xml を作成する。 なお、この記事の内容は Wicket 1.4-rc4 で試しました。 セッションストアを変更する Wicket では、デフォルトでは org.apache.wicket.protocol.http.SecondLevelCacheSessionStore というのを通してセッションをディスクに保存するようなことをやっています。Google App Engine ではファイル I/O は認められていませんので、このままではエラーになってしまいます。 これを変更するには Wicket

    Wicket + Maven なアプリを Google App Engine で動かす - イトウ アスカ blog
  • Google App Engineで手軽に試すJavaクラウド

    Javaに対応したことでユーザー数が一気に増加する可能性がある無料でお手軽なクラウド環境Google App Engineの超入門連載です。概要・特徴から環境設定、アプリケーションの作成、業務用として応用できるところまで徹底解説していきます EclipseでJava版App Engineを始めるための基礎知識 Google App Engineで手軽に試すJavaクラウド(1) Javaに対応したことでユーザー数が一気に増加する可能性がある、無料でお手軽なクラウド環境の超入門記事です

  • 実開発で分かったGoogle App Engine for Javaの“すごさ”

    ゴールデンウィークに特に予定のなかった筆者は,「ちまたで噂のGoogle App Engine for Java(GAE/J)とFlexでスケジュール共有ツールでも作ってみよう」と思い立ちました。およそ5日間かけて開発を進めたのち,2009年5月6日に「ご都合.com(画面1)」を公開しました。その後,はてなブックマークやニュースサイトなどでご紹介いただいたおかげで,公開後6日で約2000人の方にご利用いただいています。 そこで稿では,この「ご都合.com」の開発で実際に筆者が得た経験を通じて,GAE/JによるWebアプリケーション開発の実際とそのポテンシャルについて紹介します。 米Googleが2008年4月に発表したGoogle App Engine(画面2)は,「自分が開発したWebアプリケーションをGoogleのデータセンターで運用できるクラウドコンピューティング・サービス」です

    実開発で分かったGoogle App Engine for Javaの“すごさ”
  • たぶん一番かんたんなRails on GAE/J - ずっと君のターン

    rails APPNAME -m http://gist.github.com/103256.txtいろいろまとめてプラギン化した上で、アプリケーションテンプレートもご用意致しました。瀧内さんとこ参考にRailsをjarにまとめてあるのでファイル数制限も余裕で回避。あれこれ結構がんばった。 GAE/Jのアカウントが手に入ったみんなはコレ使って遠慮なくGoogleクラウドでRailsすればいいと思う。手に入ってない人も今のうちに開発サーバーで動かしとけば、5月末のGoogle I/Oできっと一般公開されるよ。 てことで以下手順。 必要なライブラリを入れる GAE/JのSDKとJRubyとRailsとWarblerは流石に事前に必要。この辺参考にどうぞ。すでにこれらが入ってる人はもちろん飛ばしてよし。 一応参考までに自分では試さずに書くけど、多分こんな感じ。 $ svn co http://s

  • Google App Engine、サーバはJetty | エンタープライズ | マイコミジャーナル

    Google App Engine Google App Engineの対応言語にJavaが追加された発表は、Javaデベロッパによって多くの場合は讃辞をもって受け止められた。発表があって以来、Javaを使ったプロダクトやフレームワーク、ライブラリを開発しているデベロッパがGoogle App Engineで動作させてみたという発表を各々のブログを通じて活発に実施している。クラウドプラットフォームとしての制限があるためすべての機能が素直に動作するわけではないようだが、新しいプラットフォームとして軽快なでだしといえそうだ。 そうした反応のひとつに、gregwに掲載されたGoogle AppEngine uses Jetty!がある。Google App EngineのサーブレットコンテナとしてJettyが採用されているようだ、という内容だ。SDKにJettyのクラスが含められているほか、例外

  • GAE/Jは破壊的イノベーション - ひがやすを技術ブログ

    クラウドはバズワード的で何がいいのか良くわからないという人も多いことでしょう。その感覚は正しい。クラウドという言葉だけだと、意味が広すぎて、焦点がぼける。 例えば、同じように思われているAmazonのEC2とGoogle App Engineは、まったく違うものです。 Amazonのほうは持続的イノベーション、Googleのほうは破壊的イノベーション。 EC2は、過去の技術をそのまま使える(汎用的な仮想化サービス)ので、連続的な技術なのです。 それに対してGAE/Jは、できることをかなり制限して、しかもRDBMSをすててBigTableにのりかえるっていう非連続ぶり。 どっちがいいというものではありません。 クリステンセンのイノベーションのジレンマ-技術革新が巨大企業を滅ぼすときを読むと、マーケットリーダーである優良企業が、なぜ、ずっと成長を続けることができずに、破壊的イノベーションに滅ぼ

    GAE/Jは破壊的イノベーション - ひがやすを技術ブログ
  • throw Life - Google App Engine for JavaにEclipseで超入門

    Google App EngineがJava対応したということで、早速試してみました。 #1万人限定のEarly Lookなので、正式公開はもう少しかかるようです Java開発といえばEclipseだろうということで、Eclipseで試してみました。 今回の内容は Eclipse Pluginをインストール Hello, worldを試す という、超入門です。

  • Slim3 for Google App Engine/Java - ひがやすを技術ブログ

    Slim3をGAE/Jに対応させました。 デモサイトはこちら。 http://higayasuo.appspot.com/ ソースコードをチェックアウトしたい場合はこちら。 http://code.google.com/p/slim3/source/checkout https://slim3.googlecode.com/svn/を指定してチェックアウトできます。デモ用のプロジェクトは、slim3-demoです。 SAStrutsのチュートリアルをやったことのある人なら、デモサイトが、そっくりだということがわかるでしょう。Slim3 Struts(SAStruts相当)がGAE/Jで動くわけです。 素のStrutsだとGAEではファイルアップロードに失敗しますが、Slim3 Strutsはその辺も対応してます。 やってみて感じたのは、GAE/Jは、制限が結構厳しいので、高度なフレームワー

    Slim3 for Google App Engine/Java - ひがやすを技術ブログ
  • Google App EngineをRESTful対応に·App Engine Rest Server MOONGIFT

    RESTfulは一昨年くらいから出てきた技術的な用語だが、一般的なシステム開発においてどのようなメリットがあるだろうか。まず第一にデータベースとアプリケーションサーバを切り離すことができる。いわゆるデータとシステムの疎結合だ。 デモアプリケーション 第二にアプリケーションのインタフェースに様々な選択肢が増えるようになる。Webシステムに限らずiPhoneやコマンドラインでの操作も容易だ。そしてデータの置き場所も制限がなくなるのだ。そう、その夢を感じさせてくれるのがApp Engine Rest Serverだ。 今回紹介するオープンソース・ソフトウェアはApp Engine Rest Server、Google App Engine(GAE)をRESTfulサーバにするソフトウェアだ。 GAEをRESTfulに対応したサーバにするとどうなるか。それは無制限とも言えるストレージをHTTPベー

    Google App EngineをRESTful対応に·App Engine Rest Server MOONGIFT
  • サーバ手配不要!App Engineで動くCMS

    期間限定のちょっとしたイベントの告知や、サークルの仲間内で見るような簡単なWebサイトを作りたい。そんなとき、なるべく手軽にサイトを更新できるシステムがあると便利だ。無償で使えるWebサイト更新ツールやCMS(Content Management System)は数えきれないほどあるが、今回は「App Engine Site Creator」を紹介しよう。 App Engine Site Creatorは、Pythonで書かれたオープンソースの簡易CMS。最大の特徴は、その名の通り、グーグルが提供する「Google App Engine」(GAE)上で動く、ということだ。このため、Webサイトを立ち上げるにあたって新たにレンタルサーバを手配したりする必要はない。GAEのアカウントさえ持っていれば、ローカルのテスト環境でApp Engine Site Creatorを使ってWebサイトを構築

    サーバ手配不要!App Engineで動くCMS
  • Google App Engineで作るライフログ(1/2)- @IT

    Google App Engineで作るライフログ:これ、俺ならこう使う(4)(1/2 ページ) 日々生み出されるネットサービスやテクノロジーに詳しい著者による、こんなふうにサービスに取り込んだら面白いのではないか、という提案。技術的な応用面にフォーカスしていく(編集部) Google App Engineで次世代版「音ログ」を作ってみた ちょっと涼しい日が続いているなと思っていたら、いつの間にか季節は秋。近所の柿の木にオレンジ色の実がぶらさがっているのを見て、あらためて日々の流れの早さを実感しています。 最近は、トイカメラのような写真を撮れるiPhoneアプリ「ToyDigi」にはまっていて、早速カシャカシャと写真を撮りました。ToyDigiはiPhoneで撮った写真にフィルタ処理を施して、トイカメラ風に画像を加工するアプリケーションです。Mac OS Xなどでも同様のツールはあるのです

    Google App Engineで作るライフログ(1/2)- @IT