App engine ja night 9 beertalk2

2,131 views

Published on

テーマ:「SDKを試しに読んでみるよ」
内容:Python on GAEのコードをDatastoreを中心に追いかけてみます。難易度やどこをメインで読むかは参加者の意思とノリ、残り時間次第?
http://atnd.org/events/5951

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,131
On SlideShare
0
From Embeds
0
Number of Embeds
106
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

App engine ja night 9 beertalk2

  1. 1. SDK AppEngine ja night 9 BeerTalk2 @tagomoris
  2. 2. tagomoris TAGOMORI Satoshi / Twitter: @tagomoris E-mail: tagomoris@gmail.com Blog: http://d.hatena.ne.jp/tagomoris/ Projects: GAETestBase: code.google.com/p/appengine-test-helper simpleoauth-gae: code.google.com/p/simpleoauth-gae
  3. 3. SDK • AppEngine • Low level API ProtocolBuffer • • ……( •
  4. 4. SDK
  5. 5. AppEngine • Python, Java • API • RPC • Service • • MultiQuery batch put
  6. 6. MakeSyncCall
  7. 7. appspot MSC SDK
  8. 8. Google Python • • • • • •
  9. 9. MakeSyncCall
  10. 10. MakeSyncCall MakeCall make_call 9 _MakeSyncCall (7 ) google.appengine.api.apiproxy_stub.ApiProxyStub google.appengine.api.apiproxy_stub_map google.appengine.api.apiproxy_stub_map.ApiProxyStubMap google.appengine.runtime.apiproxy google.appengine.api.datastore_file_stub.DatastoreFileStub google.appengine.datastore.datastore_sqlite_stub.DatastoreSqliteStub google.appengine.api.images.images_not_implemented_stub.ImageNotImplementedServiceStub google.appengine.ext.remote_api.remote_api_stub.RemoteStub google.appengine.ext.remote_api.remote_api_stub.RemoteDatastoreStub
  11. 11. • •
  12. 12. ext.db Taskqueue Users Datastore ProtocolBuffer Memcache UrlFetch MakeSyncCall ApiProxyStubMap ApiProxyStubMap ApiProxy DatastoreFileStub DatastoreSqliteStub CapabilityStub ServiceStub
  13. 13. ext.db Taskqueue Users Datastore ProtocolBuffer Memcache UrlFetch MakeSyncCall ApiProxyStubMap ApiProxyStubMap ApiProxy DatastoreFileStub DatastoreSqliteStub CapabilityStub ServiceStub
  14. 14. Python MakeAsyncCall Java
  15. 15. Google • import import google.appengine.ext.db.* Model.get(...) from google.appengine.ext import db db.Model.get(...)
  16. 16. Google • # google/appengine/api/datastore.py def _FindTransactionFrameInStack(): .... _CurrenyTransactionKey = _FindTransactionFrameinstack # google/appengine/ext/db/__init__.py run_in_transaction = datastore.RunInTransaction ... RunInTransaction = run_in_transaction
  17. 17. 1. demos/guestbook/guestbook.py 2. google/appengine/ext/db/__init__.py 3. google/appengine/api/datastore.py 4. google/appengine/api/apiproxy_stub_map.py 5. google/appengine/runtime/apiproxy.py

×