X



Google App Engine for java
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2011/10/03(月) 19:55:23.27
無かったので立てた
0114デフォルトの名無しさん
垢版 |
2011/11/23(水) 13:48:13.69
初歩的なことだと思うんですけどサンプルが見つからなくて進まなくなってしまいました…助けてください

Task Queue 機能を使おうと思って
Queue queue = QueueFactory.getDefaultQueue();
やら
queue.add(Builder.withUrl("/.."))
みたいなコードを書いて、実際にタスクは実行できてるのですが
queueにアクセスして内容を取得する方法がどうにもわかりません。
管理ツールにはちゃんとTask Queuesに全部載ってるのに、自分のコードでアクセスできないのです…

iterator() や toArray() がアクセスするメソッドなのかなと思いましたが、キャストしないと無理とEclipseに言われ
手当たり次第にキャストしてみましたがClassCastException
インターフェイス関係の理屈がわかってないのは間違いないのですが、何とか先に進みたいのです。
お知恵を貸してください。
0116デフォルトの名無しさん
垢版 |
2011/11/23(水) 14:11:17.29
>>115
デフォルトキューから実行前のタスクを取得してパラメータを一覧で表示させたいのですが、
そういった操作はQueueクラスの性質から制限がかかるということでしょうか?
それがダメなので、実行前のタスクを閲覧したいなら、Datastoreで管理して、
そこからデフォルトキューにaddしていくべきということでしょうか。難しいですね…
0117デフォルトの名無しさん
垢版 |
2011/11/23(水) 14:41:57.76
>115
Queseの性質っていうか、Googleが容易してないか制限してるかどっちかだと思う
(どこかにあったらすまんが、見たことないな)
Queusに入れたのは自分で分かってるから後で取得するってのは普通思わんよね
0120デフォルトの名無しさん
垢版 |
2011/11/25(金) 03:13:31.51
久しぶりに何か作ろうと思っていろいろ見てたら、料金の値上げがすさまじいな。
GAEベースで業務システム作ったところとか悲惨だな。
10倍ぐらいいってるんじゃね?
0121デフォルトの名無しさん
垢版 |
2011/11/25(金) 03:37:20.97
業務システムだとDBの正規化がしっかりしてるだろうから、
DatastoreWriteで死ねるだろうな
0123デフォルトの名無しさん
垢版 |
2011/11/25(金) 05:08:15.42
ちょっとぐらい重くても文句言わないから、激安料金プラン出してくれないかなー。
データストアの冗長化とか後でやっといてくれればいいから。

0125デフォルトの名無しさん
垢版 |
2011/11/25(金) 12:48:33.89
>>124
>>123ではないが、需要があるという事を言っているに過ぎない。
需要をくんで開発するかしないかはgoogle次第。
結局のところ、企業というのは対価を動力源に需要を満足させる装置に過ぎない。
0126デフォルトの名無しさん
垢版 |
2011/11/25(金) 13:11:23.51
ここらが底値っぽいね
VPSもこれ以上安くならんだろう
もうすでに自宅にサーバ構えるより、安いんだし
0127デフォルトの名無しさん
垢版 |
2011/11/25(金) 13:42:02.95
もっと露骨にgoogleロックインして、googleの広告等を使いやすくすることで
google側の広告収入が増えるなら、さらに安くできるんじゃないかな。
0129デフォルトの名無しさん
垢版 |
2011/11/25(金) 18:24:55.06
やっぱ別事業の雲行きが怪しくなると本業の方まで波及するんだな
俺も早めに見切ってよかった
0130デフォルトの名無しさん
垢版 |
2011/11/25(金) 19:47:06.24
いや、なんというかGoogle Labのデスクトップサーチとかあったけど
お金になりそうに無いとわかったらばっさりサポート打ち切りとか
そういうのはあるからね…これに関してはもうちょい続きそうな雰囲気はあるのかもしれんけど
0131デフォルトの名無しさん
垢版 |
2011/11/25(金) 20:03:45.68
まぁ、googleが有名な巨大企業になるにつれてバカもいっぱい吸収したから、
元々効率よかった企業だったのが非効率になって余裕がなくなってきてるんだろ。
0132デフォルトの名無しさん
垢版 |
2011/12/13(火) 06:24:21.19
ロックインが怖いがDAOパターンで作ればそんなに依存しないし
模範的なプログラムを書いてる分には引っ越しも問題無さそうだな。
無料枠でぜんぜん足りないなら月1000円以内の国内VPS/クラウドに逃げればいいし
保守性を犠牲にした最適化でGAEにしがみつく必要もなさそうだ
0133デフォルトの名無しさん
垢版 |
2011/12/13(火) 14:21:13.04
それ、DAOパターンっていうのか。
そうするのが普通だと思っていたが、
むしろロジックの中にSQLを直接発行するようなコードが入ってるのが普通なの?
0136デフォルトの名無しさん
垢版 |
2011/12/13(火) 17:02:18.29
俺が社畜やってた時代だと外注レベルでは規模が小さい所はやってなかったな。
例えばページ(リクエスト)単位で個々のプログラマに一任してるとこもあるし、
単一の定数クラスにSQLをガリガリ書いて寄越す所もある。
後者は構造が統一されてる分、まだ見通しが良くてマシだな。
0137デフォルトの名無しさん
垢版 |
2011/12/14(水) 00:34:41.83
>132
データが13Gあるよ・・・

DAOが標準うんぬんより、生産性・保守性・プログラマのスキルを
考慮して決めるってのが普通だよ

寿命が短いアプリを凝っても意味がない
0138デフォルトの名無しさん
垢版 |
2011/12/18(日) 18:41:59.71
+15minルールが無料厨にはきつい制約になってるけど
それでも月に最低112回は呼び出せるサービスにはなるから個人用途としては十分だな
勉強がてら何か作ろうかな
0139デフォルトの名無しさん
垢版 |
2011/12/18(日) 18:57:45.38
あら、もしかして月じゃなくて日に28インスタンス時間か?
小さなリクエストなら一日中付けっぱなしでいいじゃない
0141デフォルトの名無しさん
垢版 |
2011/12/19(月) 23:08:44.11
GAE Javaってちょっと前まで(3月?)、複数リクエストが来た時にスレッドじゃなく
別インスタンス立ち上げて振ってたって知ってすげー驚いた。
スケールアウトとか言う前にそこやってなかったのかよって感じ。
0143デフォルトの名無しさん
垢版 |
2011/12/23(金) 15:13:33.89
DBは読みはmemcacheとかあるからなんとかなるけど、
書きが多いのは向かないんだよな。

だからデータ更新が少ないものなら余裕で無料枠行ける。
どこかのHPのバックにだけGAE使うとか、
画像は画像サービス使うとかすれば、帯域もほとんど食わない。
0147デフォルトの名無しさん
垢版 |
2011/12/23(金) 22:07:10.40
無料枠でビジネスしちゃあかんのか?
まぁ課金モードにしても無料枠は残るし問題ないだろうけど
0153デフォルトの名無しさん
垢版 |
2012/01/02(月) 18:58:41.47
low level apiでわからない点があるため、質問させてください。

主キーを1,2,3,4・・・と一ずつ増えるlong値にして、
エンティティをデータストアに保存したいと考えています。

新たにエンティティをデータストアに保存する歳には、
主キーの値を「現在データストアに格納しているエンティティ数」に
1を足したものとしたいのですが、
「現在データストアに格納しているエンティティ数」を取得する方法で悩んでおります。

「現在データストアに格納しているエンティティ数」をデータストアに保存しておき
トランザクションを使って、この値をカウントアップしていく方法があると思います。

他にも何か巧妙な方法があるのでしょうか?
JDOの主キーがどうのようにセットされているのかも想像がつきません・・・
教えれいただけるとありがたいです。
0154デフォルトの名無しさん
垢版 |
2012/01/03(火) 00:19:41.65
>153
1.データストアにカウント数を保存する

2.Entity数を都度カウントする
(件数分 SmallDatastoreOpsを食う、一番最悪な方法)

3.カウントアップするIndex用のPropetyを作り、
OrderBy Descで最初の1件だけ取得し、そのIndexの値+1を使う


昔いろいろ考えたけど、3パターンしかないと思う
最終的に俺は、一番コストが安い3を使った
0157デフォルトの名無しさん
垢版 |
2012/01/03(火) 17:20:58.50
質問です。
slim3でデータストア操作したいときに、filterにおいて、startsWithを使うと、HotReloadingRuntimeExeptionがでます。filterInMemoryでcontainsをつかっても同じです。
なぜかわかる方いませんか?
0158デフォルトの名無しさん
垢版 |
2012/01/05(木) 17:39:56.02
Eclipseでgoogleappを使って遊んでいるのですが、
com.google.appengine.repackaged.com.google.common.util.Base64をインポートすると
Use of com.google.appengine.repackaged may result in your app breaking without warning.
と出てしまい、エラーになってしまいます。
なんか、sdk1.6.0だと動く的な記述を見るのですが、sdk1.6.1での解決方法ってないのでしょうか?
0161デフォルトの名無しさん
垢版 |
2012/01/06(金) 09:02:50.28
>>159,160
情報ありがとう。
Jakarta Commons Codecを利用してうまく行きました。
やっていたことは、GEAからAmazonクラウドへのアクセスだけだったのですが、
参考にしたサイトが、com.google.appengine.repackaged.com.google.common.util.Base64を
利用していたので、それを参考にしていました。

実装は出来たのですが、問題の参照しようとするとエラーになることについて理解したいです。
eclipseでgoogle sdkがちゃんとエクスプローラーに出てきて、クラスも見えるのに、
com.google.appengine.repackagedを参照しようとするとエラーになるというのがなぜなのか
よく分かりません。通常クラス参照のパスがうまく設定されていないためだと思うのですが、
この場合、eclipseにプラグインをインストールして、プロジェクトのlibフォルダにもjarがコピーされ、
問題なく利用できる状況に見えるのですが、実際には使えません。
ご存知の方がいらしたら、お教えいただけると助かります。
0163デフォルトの名無しさん
垢版 |
2012/01/06(金) 10:39:22.09
>>162
申し訳ない、エラーメッセージは以下のデータしか得られないのです。
Use of com.google.appengine.repackaged may result in your app breaking without warning.
で、結局com.google.appengine.repackagedが不正だよ的な情報しか得られないのです。
ネットで検索もして見ましたが、解決策が見つからず、Eclipseの問題なのか、GAEの問題なのか
切り分けもできていないので、ご存知の方がいたらお教えいただきたかったのです。
0166デフォルトの名無しさん
垢版 |
2012/01/08(日) 05:01:36.24
formで入力された情報を保存し、HTMLで返す場合に
XSS対策で<>等をエスケープすると思いますが・・・
http://atmarkplant-dj.blogspot.com/2011/04/java-htmlxss.html

appengineではどこで実装するのが適切ですか?
0169デフォルトの名無しさん
垢版 |
2012/01/13(金) 21:09:03.41
>>168
velocityで使えますか?
エスケープする最速のコードってどんな感じですかね?
0170デフォルトの名無しさん
垢版 |
2012/01/13(金) 22:11:07.94
>169
JSTLだからVelocityだと使えないんじゃね?

最速のコードがどうかの前に、最速のコードが必要なのか?
最速が必要だったらJava自体辞めれば?って話になるぞ
0171デフォルトの名無しさん
垢版 |
2012/01/13(金) 23:02:14.35
>>170
Javaの範囲だとどういうインプリがいいのかな、と。

自分の場合、ネットから持ってきたんですが
こんなコードです。
public static String htmlspecialchars ( String str )
{
String ret_val = new String(str);

String[] escape = {"&", "<", ">", "\"", "\'", "\n", "\t"};
String[] replace = {"&", "<", ">", """, "'", "<br>", " "};

for ( int i=0; i < escape.length; i++ )
{
ret_val = ret_val.replace(escape[i], replace[i]);
}

return ret_val;
}
0172デフォルトの名無しさん
垢版 |
2012/01/13(金) 23:06:50.14
>171
最速求めるんだったら、あらかじめ置換しとけば?
置換するのに時間食うんだったらCron使えば?

て言い出したらきりないよ
性能、環境、実装の制限等が分からん限り、何が最速のコードになるかわからんよ
0174デフォルトの名無しさん
垢版 |
2012/01/18(水) 02:02:30.85
真面目にシリアライズするのが面倒でObjectOutputStreamとZipOutputStreamでser.zipとして
BLOBに保存してるが、得に不満はなかった。
0176 忍法帖【Lv=5,xxxP】
垢版 |
2012/01/18(水) 13:27:39.80
>>171
Stringをbyte[]にして低レベルな操作するのが早い。
特に\n => <br/>みたいに文字数が長くなる場合に
バッファの確保を1回で終わらせるのが良い。
0177デフォルトの名無しさん
垢版 |
2012/01/21(土) 02:30:13.83
GAEのEC2に対する利点って窓口が開き続けていて、アクセス頻度が低ければ無料という点にあると思う。
Low Level APIは実は罠で、最初からJPAあたりで移植性を重視すれば未だにスモールスタートの雄なんじゃないかと。
つまり最初はGAEとIaaSで動くように開発して、ビジネスになったらEC2なりで好きに継続開発すればいい。
0179デフォルトの名無しさん
垢版 |
2012/01/21(土) 03:31:43.74
遊びでやってる程度だが、制約なんて基本的にはJOINが出来ないのと不等号条件が同時に複数の列で使えないくらいだろ
0183デフォルトの名無しさん
垢版 |
2012/01/21(土) 21:56:49.60
最近デプロイがやたら遅いし固まるんですけど何か対策ありますか?
20分間隔のキューを10本走らせてますが…それにぶつかると重くなるんでしょうか
使ってないバックエンドはデプロイしないようにしてます
0185デフォルトの名無しさん
垢版 |
2012/01/29(日) 02:30:29.70
>>173
これ作った人すごいね。
このコードじゃなくてslim3全体ね。

何者なんだろう。
0187デフォルトの名無しさん
垢版 |
2012/01/29(日) 07:21:41.44
たまには『寄生・不正・捏造・自作自演・買収・なりすまし・脅し』なしで、
正々堂々と勝負してきて下さい韓国人のみなさん。

>【国際】スイーツの世界大会で韓国が日本に対して妨害行為 「我々は日本だけには負けたくないんだよ」

>韓国人が世界中の図書館行って地図の「日本海」の上に「東海」シールを貼ってる件

>海外で悪いことする時は日本人のフリをする。韓国人

>外国人「日本の動画にはいつも韓国人の汚いコメントがある」

>【K-POP】たった80人で「欧州でも大人気」?…K-POPのブーム捏造

>【韓流】東方神起、オリコンチャートの真実?〜「買いつなぎ?順位操作疑惑」

>"金大中のノーベル平和賞受賞は工作、北朝鮮に5億ドルを不法送金" 暴露した元情報員、米国に亡命

>【サムスン】「市場開拓のため、日本人になりすましカタログだけで奥地へ」

>【韓国】日本の技術を盗み世界一になった現代重工業・・自力で盗んだのだから中国とは根本的に違う

>【また偽装】ヒュンダイを日本企業だと思わせる為に米国で相撲力士の写真を使い広告キャンペーン開始

>【韓国イチゴ】日本から盗んだ品種同士を掛け合わせて「国産品種」詭弁でロイヤリティ支払いから逃げる韓国

>【韓国/サッカー】 韓国vsイタリア戦でわいろを受け取った疑惑のモレノ氏、ヘロイン大量所持で逮捕

>【韓国】キム・ヨナのIOC推挙騒動、呼び掛け人の自称オーストリア人トーマス氏は韓国人と判明

>【韓国】韓国女性登山家の14座制覇にねつ造疑惑、再び論争ぼっ発
0188デフォルトの名無しさん
垢版 |
2012/01/31(火) 11:12:02.76
こんなものをこんなところに貼らないといけないほど日本は追い詰められてるのか?
0189デフォルトの名無しさん
垢版 |
2012/01/31(火) 12:11:12.50
>>188
追い詰められているというか、完全に出遅れている。

スタートラインのはるか後方で走者の実況TV見てるような感じ。
0192デフォルトの名無しさん
垢版 |
2012/02/22(水) 11:28:15.91
ほう
0193デフォルトの名無しさん
垢版 |
2012/03/18(日) 12:34:32.28
Amazon web services や Google app engine 凄いですね
ホスティングとかやってる業者全滅しちゃうんじゃないでしょうか
0196デフォルトの名無しさん
垢版 |
2012/03/18(日) 22:52:27.80
GAEは超絶値上げでオワコン
GAEにはまった人って
Googleが安く提供できる特別な技術を持っているとか
慈善事業をやっているとでも勘違いしたんだろうな
0197デフォルトの名無しさん
垢版 |
2012/03/19(月) 16:56:07.52
慈善事業とは思ってなかったけど、何かGoogleの独自技術で安くできてるんだとは正直思ってた
0210デフォルトの名無しさん
垢版 |
2012/03/28(水) 17:36:26.29
ド素人な質問ですいません。
現在、GAEで開発を始めたところなのですが、jspファイルで
c:out value = "${hoge}"
と記述している部分でエクリプスで下記のエラーがでています。
"c:out" (org.apache.taglibs.standard.tag.rt.core.OutTag) のタグ・ハンドラー・クラスが Java ビルド・パスで見つかりませんでした

WEB-INF/libにはjstl.jarとstandard.jarも配置しています。
以下もjspファイルに記述していて、エラーはでていません。
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

実行しても${hoge}には期待したデータが表示されず、${hoge}とそのまま出ている状況です。

何かお心当たりあればお教え願えないでしょうか?
0213営利利用に関するLR審議中@詳細は自治スレへ
垢版 |
2012/04/04(水) 12:48:55.20
>>195
なにが情弱なのか教えていただきたいですね
これからのアプリケーションはクラウド化、スケーラブル化が必要
信頼性の高いデータストア機構が必須

High Replication Datastore に類する機能が他のクラウドサービスに
なければ、工夫して実装するしかありませんがおそらく google に勝る
ものは作れないでしょう。

機能の充実度、信頼性を考えたら、他のクラウドサービスを比較するとむしろ割安。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況