Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
GAE + Slim3でGoogle Accounts Java APIを用いた認証を作成したところ、 デプロイ環境で上手くいかないことがあったので、メモ代わりに残しておく。 やりたかったこととしては、 ttp://XXXX.appspot.comでアクセスした際に、認証済みかの判定を行い 未認証の場合、Googleアカウントの認証画面を表示するというもの。 最初のコードはこんな感じ UserService service = UserServiceFactory.getUserService(); String thisURL = request.getRequestURI(); //認証前の場合 if (request.getUserPrincipal() == null) { return forward(service.createLoginURL(thisURL)); } これで
前のエントリーで色々ご指摘いただいたので試してみました。 Googleアカウントを使ってGAE/Jアプリのログイン処理の実装 - ありの日記 独自の認証フィルターを作って認証をかける debit-credit-monkeyさんからの提案。独自のサーブレットフィルターを作って認証させたくないやつ(index.jspとか)は認証させないようにして、それ以外は認証させるという方法。 まず、javax.servlet.Filterを実装したAuthFilterクラスを作成し、web.xmlに登録。init-paramで認証を除外したいURLを渡せるようにする。 まず、AuthFilterを作る。 package slim3.it; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.Filter
以下の説明を元にやってみた。 http://code.google.com/intl/ja/appengine/docs/java/users/overview.html Googleのアカウントを使ってアプリケーションにログインさせるのはものすごい簡単に実装出来る。(ちなみにSlim3を使ってます。) ログイン制御するには2通りあって コードで制御する方法 web.xmlのURLのパターンで指定する方法 が、ある。まずは、コードで制御する方法から。Slim3のコントローラクラスに以下のように書きます。 UserService userService = UserServiceFactory.getUserService(); String thisURL = request.getRequestURI(); if (request.getUserPrincipal() != null)
ということで、参加してきました。 shin1さんによるtwitterのまとめ 1. あらかわ先生のグローバルトランザクションのはなし appengine ja night #6 図解Global TransactionView more presentations from Suguru ARAKAWA. 成功が保証される個々の処理を組み合わせて異なる処理の枠組みをつくることをビルディングブロックと呼ぶようです。ちょうどそんな感じ。 このロジックでグローバルトランザクションがall or nothingになってくれるようなので、entity groupについてはあまり考えなくてもよい仕組みが作れるということになります。 2. ひがさんのslim3グローバルトランザクション最適化の実装解説 あらかわさんの説明を実装しているのがslim3で、それをさらにあれやこれやしてパフォーマンスを向上させ
GoogleAppEngineで開発をしている時にDatastoreのデータを直接扱いたい場合、管理コンソールを使えばだいたいの事は可能です。ですが、Keyの編集やBlobデータのアップロードなど細かい事は出来ませんし、ウェブのインターフェイス故に限界もあります。また、テストデータを作りたい場合などは、Excelのようにコピーをしながら簡単に作り、保存なんかもしたいわけです。 そこで新しいプロジェクトKotanを作ってみました。スクリーンショットはこんな感じ。 デモサイトはこちら。 ただし、Java Web Startで起動し嘘証明書を許可しなければ使えません。また、データアクセスをする為にGoogle Accountによる認証も必要になります。 技術的には、単純なSwingのクライアントアプリです。Commons Http Clientを使いサーバと通信を行いますが、GoogleのAcc
CoolなURIでJSONを返すURLはどう表現するか 内部的には「/user/get?id=12345&type=json」となるようなURI(idが12345のユーザ情報のJSON形式)を、Cool URIではどのように表現するのが適切か悩んでいた。「/user/json/12345」や「/user/12345/json」はなんか違う気がするし。 そしたら「Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESSプラスシリーズ)」にその答えが書いてあった。 例えば1つのリソースをHTMLとテキストとJSONで表現できる場合には、それぞれ「.html」「.txt」「.json」という拡張子を付けてここの表現を分けると良いでしょう。 「Webを支える技術」 p.062 先述の例で言えば、「/user/12345.json」となる。なるほど確かにこれはしっ
slim3ではGAEの環境に依存するような単体テストもかなり簡単に行う事ができます。例えば、Bigtableへのアクセスはテストの実行毎にリセットされる、グローバルトランザクションに対応など至れりつくせりです。 ところが、画像を加工してサムネイルを作る時などに使用する ImagesServiceですが、これを単体テストで実行しようとすると例外が発生します。内部的には、画像の作成や一部の軽い処理はImplで行っているようですが、拡大縮小などの変換処理は各アプリでやるのではなく、外部サービスとして呼び出しているようです。これらのテスト環境でのエミュレートは、org.slim3.tester.AppEngineTesterのmakeSyncCallで行っていますので、ここを少しカスタマイズすることでImagesServiceもエミュレートできるようになります。 以下、簡単なサンプルになります。
blog書くのめっちゃ遅れた。ちゃんと書きますよ。 slim3がリリースされましたね。そのslim3の目玉機能であるGlobalTransactionを荒川さん、ひがさんから解説頂きました。 今回はいくつかustream動画があります。これなかった人も動画を見ればいいですよ。 おしながき 本編 @ashigeruさん:図解Global Transaction @higayasuoさん:Global Transaction・第2部 BT(Beer Talk) @tokibitoさん:rst2pdf.netの紹介 @yuroyoroさん:Slim3をScalaで動かす @iwazerさん:事例紹介「なうまぴおん」 @marblejenkaさん:appengineをscalaでしばくぜ! @higayasuoさん:スキーママイグレーションについて議論 図解Global Transaction a
We make society rich ITは今や、企業活動ならびに個人の生活からも切り離せないほどの大きな存在となっています。 ITの技術向上は、間違いなく社会を豊かにすることにつながるものと考えております。 SORICHは、ITにおける技術向上、クオリティ向上をめざし、社会に大きく貢献してまいります。 開発実績 Development record FX取引システム 金融 Java JavaScript MySQL 大規模なトランザクション処理が要求されるプライスボート、注文機能等、リアルタイム性の高いフロントシステム開発に加え、法廷帳簿出力を含めたバック業務システムなど、FX事業を運営する上で必要となる包括的なシステムを供給。 非常に高い品質を求められるシステムのため、ミスが許されないというプレッシャーの毎日でした。 レンタル端末在庫管理 IT Java PHP JavaScrip
Not rated yet. You must be logged in to rate this video.
App Engineで使える言語は基本的にはPythonとJavaです。それでは、どちらを選ぶのが良いのでしょうか。 それ以外の言語の人向けの話は後から出てくるのでしばらくこのままお読みください。 趣味ならば単に好きなものを選ぶだけでいいのですが、仕事で使うためには、長所と短所をきちんと把握した上で選ぶ必要があります。また、ここでの話は言語としての一般的な話ではなくApp Engineで使うとき限定の話としてお読みください。 まず安定度ですが、インフラ部分の安定度は、どちらも基本的に同じです。もしかすると、まったく同じものを使っているのかもしれません。 その上で動くAPIの部分は、インフラと直接結びついている低レベルな部分と低レベルなAPIの上に構築された高レベルな部分とに分けて考える必要があります。 低レベルなAPIはLLAPIと呼ばれたりしますが、安定度は、PythonとJavaも同じ
先週金曜はappengine ja night #6でした。今回はSlim3 1.0.0をリリースされたばかりのひがやすをさんに、前回からひきつづきSlim3のグローバルトランザクション(gtx)についてソースを見ながらの解説をいただきました。またその前に、予備知識としてのgtxの仕組みについて荒川さんから30分ほど解説いただきました。 <セッション1> 発表者:荒川さん(@ashigeru) テーマ:「図解Global Transaction」 資料:appengine ja night #6 図解Global Transaction <セッション2> 発表者:ひがやすをさん(@higayasuo) テーマ:「Global Transaction・第2部」 参考ページ:Slim3 1.0.0 Released しげる先生は相変わらず図版(Visioで書いてるそうです)の豊富なわかりやすい
※2010/4/10 Slim3正式版リリースに伴い、記述をUpdateしました。 Pleiadesがぶっ壊れた、重い等諸々の理由により、素のEclipseでGoogle App Engine for Java(GAE/J)の環境をそろえる事にしたので覚え書き ついでにJDOが意味不明なのでSlim3 Datastoreを使ってみる 0.JRE/JDKインストール http://java.com/ja/download/ http://java.sun.com/javase/downloads/widget/jdk6.jsp 1.Eclipse DL http://www.eclipse.org/downloads/ Eclipse IDE for Java Developers をDL 解凍してeclipseフォルダをC:\の直下に置く 2.言語パック http://www.igapyo
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く