みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー Guidoがここ数ヶ月関わっているというGoogle App EngineのDatastore Plusについてブログで紹介しています。 App Engine標準のdbモジュールの代替として使われるべく開発されているモジュール。dbモジュールで提供されているKeyやqueryが変更可能(mutable)であるなど,デザイン上の不合理を解決したより明確な設計を採用(Guidoが直したかったんですね)。 またdatastoreへの非同期アクセスを可能にしています。重たいクエリ,相対的に遅い書き込みにかかる時間や,レイテンシを回避できるようになります。datastore非同期への非同期アクセ
Minutes 1.0.2 Minutes 1.0.2が出ました。 (今日11位以下に下がりましたが) なんと、Mac AppMinutes 1.0.2が出ました。 (今日11位以下に下がりましたが) なんと、Mac App Storeローンチから10日間ほど、国内ランキング10位以内に居続けることができました。 買ってくださった方、ありがとうございます。 マイナーアップデートですが、1.0.2では日本語環境での問題が1つ解決していますので ぜひアップデートしてください。 海外からが多いのですが、たくさんのフィードバックをいただいています。 そこで、それらをふまえつつ、次のメージャーアップデート1.1の準備に入っているところです。 しばらくお待ちください。 さて、Onigiriではもう去年から第二弾〜(というかMinutesは第0弾的な位置づけですが)をやっていまして 僕はG
はじめに 本稿では、JavaやPythonによるサーバー側コーディングを一切必要とせずにGoogle App Engineによる開発を実現するツール「jsonengine」について紹介します。 対象読者 Google App Engineに興味はあるが経験のない方。JavaScriptやActionScriptによるクライアント開発、またはiPhoneやAndroidによるスマートフォン開発の経験のある方。JavaやPythonの開発経験は不要です。 必要な環境 最低動作環境は次のとおりです。 Java SE 5 jsonengineって何? 「jsonengine」は、JavaやPythonによるサーバー側コーディングを一切必要とせずにGoogle App Engineによる開発を実現するオープンソースのツールです。このツールは、昨年開催された「Mashup Awards 6」において「
(2/7更新) (2/26更新) (12/22更新 @Jsonはフィールド直接指定になりました) Slim3 JSON機能のドキュメントを書き始めました。まだ非公式なものですが、ひと通り書き終わったら公式へのマージを提案する予定です。でも、公式は英語なんですよね。どうしたものか。まぁ、いきなり下手な英語で書くより、まずは日本語でちゃんと書いたほうが良いはず。 というわけで、下記ドキュメントの草案です。若干改行が変ですが、evernoteに書きなぐってexportしたものを貼っつけてるためだと思います。これにあとJSON入出力のカスタマイズ方法を書いて一段落とする予定です。(書きました!) 概要 Slim3のJSON機能は、モデル(@org.slim3.datastore.Modelアノテーションが付加されたクラス)のJSON変換機能を提供します。JSON変換は、org.slim3.data
ソースコード https://github.com/bbpink/shpapad 実物 http://shpapad.appspot.com/ (勝手に使ってもいいけどどうなっても知りません!) 作った動機 check*padがリニューアルしてOperaMiniでうまく動かなくなった 職場でcheck*padがブロッキングされてる クラウド環境でなんか作ってみてえ 環境選定までの道のり check*padの代替を作ろうと思ったところまではいいのですがどうやって作るのかをまず考えました。 無料だからappengineでやろう javaはメンドいからやりたくない pythonにする? 守備力上がりそうだからScalaで Scalaで手軽にappengineアプリを作るならLiftっていうフレームワークがいいらしい ちょっといじってみたけど自動生成されるjavascriptファイルに日本語を入れ
\閉鎖予定のサイトも売れるかも?/ アクセスがないサイトもコンテンツ価値で売れる場合も… ドメインの有効期限を更新してサイト売却にトライしてみましょう
GAE/J データストアを使用した処理のローカル上でのユニットテスト(BDD なのでユニットテストとは呼ばないかも)を specs(Scala用BDDツール)で実施してみました。 テストには GAE/J SDK の lib/testing/appengine-testing.jar ファイルに含まれる LocalServiceTestHelper クラスを使っていますが、今のところ日本語ドキュメントに使い方が書かれていないようなのでご注意下さい。 使用した環境は以下の通りです。(sbtの環境は id:fits:20100810 と同じ) GAE/J SDK 1.3.7 sbt-appengine-plugin 2.1 specs 1.6.5 サンプルソースは http://github.com/fits/try_samples/tree/master/blog/20100927/ 事前準備
「開発時にはクラッシュレポートみたいなのを表示して、エラーが出た状況を書き込んでもらえれば、ありがたい。そういうライブラリを誰か作ってほしい。」 などと、弊社のババが呟きました。 ローカルマシンでは正しく動作するのに、別マシンで動かしたら「ActionScriptエラーが発生しました」というポップアップ…。そんなエラーが発生したクライアントの動作環境が分かれば、環境依存するような問題を解決しやすくなります。 Flash Player 10.1からグローバルなエラー処理が可能となります。 つまり、クライアントで発生したエラー内容を記録する仕組みを実現できるようになりました。 今回は、この仕組みを AS3 + GAE/J(GoogleAppEngin for Java)を利用して簡単に構築してみようと思います。 ※開発には、FlashPlayer10.1 beta 3(2010/03/
Google I/O 2010ではApp Engine関連の大きな新機能発表がいくつかありましたが、「Channel API」もそのひとつ。これは「Webブラウザとのpush通信(comet)のためのAPI」です。 ついにpushできるよ! これまでApp Engineにおいてクライアントへのpushを行うには、 XMPPプロトコルを通じてのXMPPクライアントへのメッセージ送信 URLFetchを用いて外部のpushサーバー(WebSocket対応サーバーとかTornadoとか)経由でへWebブラウザにpush(例:松尾さんのwebsocket連携) のいずれかしか手段がありませんでした。 しかしXMPPクライアントの実装は容易ではなく、とりわけApp Engine側のXMPPサーバーとしてGoogle Talkサーバーを用いる場合はTLS通信が必須となり、利用可能なクライアントが極端に
App Engine 1.3.4でOpenID認証に対応しました。調べてみると意外と普通にシングルサインオンできたので、使い方と仕組みを説明します。 まず、OpenID認証を要求するURLパターンをweb.xmlに書きます。 <security-constraint> <web-resource-collection> <web-resource-name>Authentication required url</web-resource-name> <url-pattern>/user/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>*</role-name> </auth-constraint> </security-constraint> 例えば http://xxx.appspot.co
例えば、他のWEBサービスから読み込んだデータが文字化けしていた時は <p><a href="http://www.amazon.co.jp/%E4%B8%96%E7%95%8C%E4%B8%80%E3%81%AE%E7%BE%8E%E5%A5%B3%E3%81%AB%E3%81%AA%E3%82%8B%E3%83%80%E3%82%A4%E3%82%A8%E3%83%83%E3%83%88-%E3%82%A8%E3%83%AA%E3%82%AB-%E3%82%A2%E3%83%B3%E3%82%AE%E3%83%A3%E3%83%AB/dp/4344016645%3FSubscriptionId%3D1275QA2300T51K67HTR2%26tag%3Dgwaihirsprogr-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D16595
2010-06-05 お詫び:ソースコードに間違いがありましたので修正しました。OpenIDのIdentifierを取得するには getUserId() ではなく getFederatedIdentity() を使用してください。 データ変換タスクをTaskQueueに投入するページなど、開発者のみアクセスを許可したいURLにOpenID認証をかける方法を紹介します。 まず OpenID認証によるシングルサインオン - GeekFactory の通りにOpenID認証を有効にしておきます。この時点で認証は有効になっています。これから認可を設定しましょう。 例えば http://xxx.appspot.com/util/* は開発者のみアクセスを許可したい場合、web.xmlに以下を記述します。 <security-constraint> <web-resource-collection>
GAEのUser APIの認証オプションに Federated Loginってのが増えた。実態はOpenIDなので、Google Appsのアカウントの認証に使ってみたのでメモ。 ログインURLの生成 url = create_login_url(federated_identity=<DOMAIN>) ドキュメントも更新されてる*1 Functions - Google App Engine - Google Code http://code.google.com/intl/en/appengine/docs/python/users/functions.html 設定を元に戻せる 以前からあった、Authentication Optionの「Google Apps」は、一度それに設定すると対象ドメインも含め二度と設定変更できない物だったが、「Federated Login」は元に戻す(
sdk1.3.4でのOpenID対応を実際に試してみました。 コードはこちら(Javaです) http://code.google.com/p/appengine-openid-test/ 以下の記事を参考にさせてもらいました。 @hidemotoNakada さん http://d.hatena.ne.jp/hidemon/20100521/1274472966 @int128 さん http://d.hatena.ne.jp/int128/20100525/1274809086 ただし、お二方と違って自分は web.xmlのsecurity-constraint を利用しませんでした。 リダイレクト先が気にくわなかったので^^) 代わりにOpenIDFilterを自前で実装しています。 AppEngine でのOpenIDの特徴 sdk1.3.4で追加された機能では、OpenIDのやや
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く