2011/07/28
2011/07/16
Google App EngineのJava版のチュートリアルを試してみました。
今までGoogle App Engineは、Python版しか使ったことがなかったので、Java版を使ってみました。下記の構成で試してみます。
・Windows7 Home
・Eclipse 3.7.0 Indigo
・Google Plugin for Eclipse
Google Plugin for Eclipseをインストールすれば、Google App Engine Java SDKも一緒にインストールされます。
Google App Engine java プロジェクトの作成
http://code.google.com/intl/ja/appengine/docs/java/gettingstarted/creating.html
の内容に従って、チュートリアルを進めます。
「JSP の使用」のところでエラーが出ました。
JSP の使用
http://code.google.com/intl/ja/appengine/docs/java/gettingstarted/usingjsps.html
/intl/ja/guestbook.jspにアクセスできません。というエラーです。調べてみると、チュートリアルのソースが間違っているようです。
SignGuestbookServlet.javaを修正
resp.sendRedirect("/intl/ja/guestbook.jsp");
を
resp.sendRedirect("/guestbook.jsp");
に修正
上記の問題は解決しました。その後のチュートリアルの内容は、問題なく動作できるのですが、「実行」をすると、「必要なプロジェクトでエラー」とのアラートが表示されます。ソースを確認すると、guestbook.jspに赤い×マークが付いています。アラートの内容を確認すると
型の安全性: Object から List
とのメッセージでした。このメッセージを調べると、下記のサイトの記載を見つけました。
「未検査キャスト」という警告が出たら
http://d.hatena.ne.jp/makiyamakoji/20090303/p1
「この警告に対する根本的な解決策はありません。」とのことなので、このままにしておきます。
アプリケーションのアップロードをします。
アプリケーションのアップロード
http://code.google.com/intl/ja/appengine/docs/java/gettingstarted/uploading.html
Eclipseのツールバーの[App Engine の配備(Deploy App Engine)] ボタンを使うと簡単にデプロイできました。
今まで、Pythonで作っていたアプリケーションIDを設定して、バージョンを一つ上げてアップしてみました。My Applicationsの管理画面のVersionsのページにて、アップしたVersion2をDefaultに設定すれば、問題なく動作しました。Google App Engine Java版は、Eclipseのプラグインを使えば、Eclipseがほぼ必要な作業はしてくれるので、簡単に出来る感じがしました。
http://vivo-red.appspot.com/guestbook.jsp
Google App Engineのサイトをみると、「Go」でもApp Engineの開発ができるようです。まだ、Google App Engineの日本語対応ページには、その記述はありませんが、下記にその記述がありました。
Google App Engine Getting Started: Go
http://code.google.com/intl/ja/appengine/docs/go/gettingstarted/
ラベル:
eclipse,
Google App Engine,
Java
2011/07/10
マップ上にコメント付きで画像を配置できるGoogle App EngineアプリのIEでの表示不具合を修正しました。
マップ上にコメント付きで画像を配置できるGoogle App EngineアプリのIEでの表示不具合を修正しました。このアプリのIEでの表示調整をしていなかったので修正してみました。まだ不具合は残っていますが、大まかなところは表示できるようになりました。
地名と共に画像をアップすると、マップ上にコメント付きで画像を配置できるGoogle App Engineアプリを試してみました
http://vivo-design.blogspot.com/2011/07/google-app-engine.html
IETesterを使って表示を確認しました。IE5.5はGoogle Mapsの表示に不具合が残っています。IE6、IE7、IE8は問題なく表示されました。
IE9に関しては、IETesterで確認するとクラッシュしてしまうので、IE9単体で確認しました。問題ないようです。
このアプリを作成する際、IEでの表示不具合を修正する際、毎回のDeploy(デプロイ)時に、Googleアカウントとパスワードを入力するのが面倒でした。下記のサイトで、毎回のGoogleアカウントとパスワードの入力を不要にする方法を教えていただきました。
GAEサーバーにバッチで簡単デプロイ!
http://bit.ly/ozF72q
初回起動時だけ、Googleアカウントとパスワードの入力は必要ですが、それ以降は、パソコンを終了するまでは入力不要になります。バッチファイルをクリックするだけで、デプロイが完了するのでとても楽になりました。ありがとうございます。
ラベル:
Google App Engine,
Google Maps
2011/07/09
JavaのウェブアプリケーションフレームワークSpring Frameworkを試してみます。
SAStrutsの次に、JavaのウェブアプリケーションフレームワークSpring Frameworkを試してみます。Spring Framework 3.1を試します。SAStrutsについては、沢山の情報がありましたが、それに比べて、Spring Frameworkは日本語での情報が少ないように感じました。
SAStrutsと同様に、Eclipseプラグインを入れて、チュートリアル的なコンテンツがあれば、Spring Frameworkがどのようなものか分かると思います。しかし、SAStrutsでは、簡単に用意できた環境が、Spring Frameworkではなかなか用意できませんでした。
下記のサイトの記述を参考にSpringIDEプラグインを導入しました。
Springフレームワーク
http://w.livedoor.jp/w2u_dev/d/Spring%A5%D5%A5%EC%A1%BC%A5%E0%A5%EF%A1%BC%A5%AF
しかし、下記のエラーが出ます。
1 つ以上の必須項目が見つからないため、インストールを完了できません。 Software being installed: SpringSource Tool Suite Runtime Error Analysis Support 2.6.0.201103161000-RELEASE (com.springsource.sts.runtimeerroranalysis.feature.group 2.6.0.201103161000-RELEASE) Missing requirement: SpringSource Tool Suite Runtime Error Analysis Support 2.6.0.201103161000-RELEASE (com.springsource.sts.runtimeerroranalysis.feature.group 2.6.0.201103161000-RELEASE) requires 'com.atlassian.connector.eclipse.jira.feature.group 0.0.0' but it could not be found
エラーメッセージから判断して、下記のプラグインをインストールしてみました。
http://download.eclipse.org/tools/ajdt/37/update
http://update.atlassian.com/atlassian-eclipse-plugin/e3.6/
さらに、色々調べてみると、SpringSource Tools Suite(STS)というものがあることが分かりました。エラーメッセージの中にも「SpringSource Tool Suite Runtime Error」という言葉があるので、SpringSource Tools Suite(STS)をインストールしました。
すると、SpringIDEプラグインのCoreだけはインストールすることが出来ました。
Eclipseの新規プロジェクトの選択肢の中にSpring関連のプロジェクトが用意されました。その中にSpringSource Tools Suiteもインストールされていました。
しかし、この後、チュートリアル的なコンテンツがどこにあるのかが分かりません。
Springの公式サイトにサンプルらしきものが公開されているので、これを試す方法から調べてみます。
https://src.springframework.org/svn/spring-samples/
2011/07/07
JavaのウェブアプリケーションフレームワークのSAStrutsを試してみました。
JavaのウェブアプリケーションフレームワークのSAStrutsを試してみました。
Javaのウェブアプリケーションフレームワークの比較を下記のページで教えていただきました。
Javaフレームワークの比較検討資料公開
http://d.hatena.ne.jp/t_yano/20081118/1227008018
このページの内容を拝見して、他のサイトも調べてみて、SAStruts、Spring Framework、Google Guiceなどに興味が出て来ました。どれも面白いそうです。どれも言葉ぐらいは聞いたことはありましたが、内容については、まったく知りませんでした。
この中から、まず、SAStrutsを試してます。Javaのウェブアプリケーションフレームワークとしては、Strutsはまだまだよく使われているとの情報をあちこちで見ました。SAStrutsは、Strutsを使いやすくしたものとの記述がありました。
Windows 7 で、SAStrutsの動く環境を用意します。
一番簡単に環境を用意するために、下記のパッケージを利用します。
Eclipse 3.7.0 Indigo Windows 32bit ベース / Pleiades All in One 3.7.0.v20110704
http://mergedoc.sourceforge.jp/
Eclipseが既に日本語化されていて、Tomcatも入っているので簡単です。
ダウンロードして解凍した「pleiades-e3.7-ultimate-jre_20110704」---「eclipse」フォルダの中にある「eclipse.exe」を起動します。
下記のページを参考に、eclipseにSAStrutsのプラグインをインストールします。
eclipseにSAStrutsのプラグインをインストール
http://ichitcltk.hustle.ne.jp/gudon/modules/pico_rd/index.php?content_id=2
次に、Super Agile Strutsチュートリアルの「sa-struts-tutorial-1.0.4-sp8.zip」をダウンロードします。
Super Agile Struts - Download
http://sastruts.seasar.org/download.html
次に、ダウンロードした「sa-struts-tutorial-1.0.4-sp8.zip」をセットアップします。
チュートリアルのセットアップ
http://ichitcltk.hustle.ne.jp/gudon/modules/pico_rd/index.php?content_id=3
「sa-struts-tutorial」プロジェクトのsrc/main/java/を展開して「tutorial.action」パッケージのIndexAction.javaを選択、 マウスの右クリックメニューより「SAStruts」→「サーバで表示」を選択します。
チュートリアルのトップページが表示されました。
プログラムも正常に動作しました。「足し算」プログラムを元に、引き算に修正してみました。
2011/07/04
地名と共に画像をアップすると、マップ上にコメント付きで画像を配置できるGoogle App Engineアプリを試してみました
地名と共に画像をアップすると、マップ上にコメント付きで画像を配置できるGoogle App Engineアプリを試してみました。
Google App Engine と Maps で作ったWebアプリのソースを公開されている方がいました。面白そうなソースなので、設置をして試してみました。このような動くサンプルを見せていただけると、とても良くGoogle App Engineの構造が分かります。感謝!
自分のアカウントでアップしてみました。Pythonの部分は1点のみ修正をしています。見栄えについては変更しました。
My Photo in Google Maps on GAE
http://vivo-map.appspot.com/maps
Pythonのソースの修正した部分について。ローカルで動作テストをすると、ジオコーディングは正常に動作するのですが、サーバ上に上げると、緯度経度の取得が出来ない現象がありました。サーバ上で何が起きているのかをステータスコードで確認をすると、「google.maps.GeocoderStatus.OVER_QUERY_LIMIT」というステータスを取得していることが分かりました。これは、「使用制限回数の上限を超えたことを示している」そうです。ローカルからのリクエストは問題なく、サーバからのリクエストで問題が起きるのが、よく分かりません。
ジオコーディングをしている下記の部分を変更してみました。
class PostPage(webapp.RequestHandler):
def getGeometory(self, place):
url = u"http://maps.google.com/maps/api/geocode/xml?address=%s&sensor=false" % urllib.quote(place.encode('utf8'))
result = urlfetch.fetch(url)
lat = 35.6895060 # 東京
lng = 139.6917010 # 東京
if result.status_code == 200:
doc = xml.dom.minidom.parseString(result.content)
if doc.getElementsByTagName('status').item(0).childNodes[0].data == "OK":
lat = doc.getElementsByTagName('lat').item(0).childNodes[0].data
lng = doc.getElementsByTagName('lng').item(0).childNodes[0].data
return db.GeoPt(lat, lng)
Pythonのgooglemapsモジュールを使った検索にしてみました。内部では同じことをしているのだから、ダメかと思いましたが、サーバ上でも動作をしました。
# モジュールを追加
from googlemaps import GoogleMaps
class PostPage(webapp.RequestHandler):
def getGeometory(self, place):
gmaps = GoogleMaps()
address = place.encode('utf8')
lat, lng = gmaps.address_to_latlng(address)
return db.GeoPt(lat, lng)
でたらめな場所(地名/駅名/〒)の情報でも、何かしらの場所の緯度経度に変換をして地図にポイントをします。
下記の記事のソースを使わせていただきました。
Google App Engine と Maps でWebアプリ作ってみた
http://sakitake4.blogspot.com/2011/04/google-app-engine-maps-web.html?spref=tw
ありがとうございました。
ラベル:
Google App Engine,
Google Maps,
Python
登録:
投稿 (Atom)
人気の投稿 (過去 30 日間)
-
電子書籍、電子雑誌のフレームワークとして、マルチプラットフォームの様々な画面サイズに対応するしている「Treesaver」を試してみました。 treesaver http://treesaver.net/ treesaver http://treesaverj...
-
Pythonのインタープリター上で、unixtimeの1190385670を変換します。 >>> import time >>> time.ctime(1190385670) 'Fri Sep 21 23:41:10 2007...
-
App Inventor for Android のチュートリアルをやってみました。「Quiz Me (クイズのアプリ)」 Quiz Me 大リーグに関するトリビアに答えるクイズアプリを作成するチュートリアルです。答えを入力して、「Submit」を押すと、「corre...
-
AndroidからPythonでTwitterに投稿する の記事を拝見して、試してみました。 HT-03AのASE上で動作させると、Twitter.pyのGetTemp CachePathのところで エラーが出ます。では、まずWindows XPのPython2.6のイ...
-
先日のNHK岡山放送局の番組「現場に立つ」で、岡山県の「津波を想定した被害予測図」が紹介されていました。 NHK岡山放送局 | 現場に立つ 「晴れの国を津波が襲う ~岡山県想定見直しの波紋~」 http://www.nhk.or.jp/okayama/progr...
-
「iOS位置情報プログラミング」のiBeaconのサンプルコードを試してみました。 iBeaconとは iBeaconとは? 超話題の「iBeacon」を徹底解説――O2Oの本命となるか!? iOS 7の隠れキラーコンテンツとなる近距離無線通信「iBeacon」とは?...
-
クーポンサイトのShareee/シェアリーで、クーポンを購入する機会があり、家族みんなで食べれそうな「王府井(ワンフーチン)」の5種類59個入り点心セットを購入しました。 1日1万個が売れる同店の超ヒット商品「正宗生煎包(マサムネサンチェンパオ)」、黒豚の旨味をもっ...
-
前回の 『「放射線で遺伝子が傷つく理由」を子どもに分かりやすく説明するには その1』 の続き 遺伝子(DNA)の詳細をみていきます。遺伝子を拡大して確認すると、下記の図のような構造になっています。 遺伝子(DNA)とは、生物の遺伝情報を持っています。人の細...
-
2015/08/25に、備北オートビレッジにキャンプに行ってきました。備北オートビレッジには、岡山市から、高速道路の岡山道、中国縦貫道を通って、ゆっくり休憩を取りながらも、2時間ちょっとで到着します。 備北オートビレッジ http://www.bihoku-park.go...
-
モバイル向けAR(拡張現実)を簡単に作れる「CARKCHO」(カクチョ)というサービスがあります。 CARKCHO https://app.carkcho.com/ このサービスのフリープランを使って、福井県立恐竜博物館に旅行に行った時、撮影したティラノサウルス...





















