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 日間)
-
MacBook Airを仕事でプロジェクターに接続ことがあり、どのようにすれば、切り替えが出来るのかを調べました。忘れやすいので、備忘録として記録。 Windowsノートパソコンにプロジェクターを繋げて、プロジェクターに出力を切り替える時には、ファンクションキ...
-
MacBook Airでプロジェクターに接続をして、出力を切り替える方法 に続いて、iPad miniをプロジェクターに接続する方法を記録しておきます。 iPad miniでは、外部機器との接続は、Lightningコネクタで行います。Lightningコネクタに接続で...
-
Google Map APIを使って、簡単に geocoding や reverse geocoding が出来るPythonのモジュールがあります。 googlemaps 1.0.2 http://pypi.python.org/pypi/googlemaps/ ...
-
PyPDF2というPythonのPDFライブラリがあります。Pythonを使って、PDFファイルを操作することの出来るライブラリです。PDF内のページを抽出したり、ページをマージしたりすることが出来ます。 PyPDF2 http://www.blog.pythonlibr...
-
Amazonアソシエイトには、Amazon内の商品を使って、簡単に自分だけの商品ページを作成する機能があります。その機能の中の「インスタントストア」を使って、Pythonに関連する書籍だけのページを作成しました。ウィザードに従って、作成するだけなので、特別な知識は必要...
-
2014/10/25 笠岡市の神島(こうのしま)からの夕陽が綺麗と聞いたので、夕日の写真を撮りに行きました。しかし、日没に間に合わず、夕日の撮影はできませんでした。しかし対岸に笠岡、福山のコンビナートがあり、暮れなずむ景色から夜景に変わるまでの微妙な色彩がとてもきれいだったので...
-
Google App Engineで位置情報サービスを作ってみよう http://gihyo.jp/dev/feature/01/location-based-services/0007?page=1 をやってみました。 Google App Engineにアップ...
-
「Google Map API helper app for Djangoを使ってみたいので、再度Djangoをチュートリアルからやってみます。」の続きです。 その1 http://goo.gl/JczuS その2 http://goo.gl/aEamh Dj...
-
さくらVPSへruby on railsをインストールしてみました。色々なサイトの記載を参考にRails 3.0.7をインストールしました。 Rubyのコンパイルに必要なものをインストールします。 $ sudo yum install openssl-devel zl...
-
CMSの構築には、a-blog cmsが使いやすいですよ。と教えてもらったので、試してみました。さくらのVPSサーバに試しにインストールしてみます。 a-blog cms - Web制作者のためのCMS http://www.a-blogcms.jp/ インストー...