Your SlideShare is downloading. ×
使用GoogleAppEngine建立个人信息中心
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

使用GoogleAppEngine建立个人信息中心

933

Published on

使用GoogleAppEngine建立个人信息中心

使用GoogleAppEngine建立个人信息中心

Published in: Technology, News & Politics
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
933
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
4
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 使用 GoogleAppEngine 建立个人信息中心 weibo.com/sagasw 2011-11
  • 2. Agenda 1 )云计算那些事儿   2 ) Google AppEngine   3 ) GAE 个人信息中心 4 ) Resources
  • 3. 调查1 ) Python 语言? 2 ) Google AppEngine ? 3 )云计算平台?
  • 4. 1 )云计算那些事儿  
  • 5. • IaaS (Infrastructure as a Service)   o  Amazon EC2 , Microsoft Azure• PaaS (Platform as a Service)  o  GoogleAppEngine ,新浪 AppEngine , HeroKu• SaaS (Software as a Service) o Zoho , Google Apps ,易度 
  • 6. 云平台比较http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.pdf
  • 7. 调查 - 虚拟化软件
  • 8. 调查 - 公有云计算平台
  • 9.   新浪微博 @_ 浪潮之巅 _ : 中国很多大公司 ( 主要是央企 ) ,对云计算理解就是 IDC 和设备。 美国的 case 都是应用。美国这点认识比较一致: IDC 和最基础的东西让 Google , Facebook 和 Amazon 去 做。  http://weibo.com/2142166543/xtKu40qgP
  • 10. http://addons.heroku.com/
  • 11. 2 ) Google AppEngine  
  • 12. Google AppEngineGo language, Python, Java (JRuby, Lua, Railsetc.) 优点: o   UrlFetch,Memcache,TaskSchedule o XMPP,Mail,Cron o   MapReduce,Channel o   支持 OAuth 认证或 Google 账号 o   Image 处理 o   域名绑定 o   易使用,易管理 o   免费限额大方 缺点 :  o   无全文搜索 o   调整后的付费方案 o   需要熟悉新 SQL 操作方式
  • 13. 适用于:Wiki,CMS, 博客 , 微博 , 手机游戏后台 ,应用服务器 , 问答网站 , 电子书发布 ,SNS, 网店 , 工作流不适合:音频视频服务 , 大文件 , 密集计算
  • 14. Web Framework Django WebApp2 Tornado    https://github.com/facebook/tornado/tree/master/demos/appengine
  • 15. Python library BeautifulSoup, PythonTwitter, Readability PIL, PyCrypto, lxml 等等 可直接用于 AppEngine? • 不依赖 C 扩展 • 不使用数据库 • 不访问本地资源 http://pypi.python.org/pypi
  • 16. Java on AppEnginePlay! Framework    http://www.slideshare.net/gasolin/play-framework-on-google-app-engine    https://github.com/guillaumebort/play-gaeScala Lift Framework    http://lift-example.appspot.com/    http://www.scala-lang.org/node/1826JavaScript    http://www.appenginejs.org/
  • 17. JRuby on Google App Enginecode.google.com/p/appengine-jruby/github.com/jruby/jruby-rack                    
  • 18. Lua in Appenginehttp://code.google.com/p/aelua/http://code.google.com/p/jillcode/http://code.google.com/p/kahlua/https://github.com/krka/kahlua2http://sourceforge.net/projects/luaj/
  • 19. 企业使用 ? • 比较容易扩展 • 管理方便 • 用于特定任务  • 更推荐 EC2  http://code.google.com/appengine/business/ http://code.google.com/appengine/docs/premier/index.html   
  • 20. GAE SDK 1.5.5 • Python2.7 • 支持多线程,可使用 threading • 支持并发请求 • 可以访问 bytecode • 支持更多 Python lib ( PIL v1.1.7 )。 • 前台请求的时间 30 秒增加到 60 秒, URLFetch 请求时 间从 10 秒增加到 60 秒。 • URLFetches 的 POST 参数大小从 1MB 增加到 5MB 。From Keakons blog
  • 21. GAE 编程心得• 尽量使用 memcache• 组合 Appengine & VPS• 通过 service 访问 VPS 数据库, GAE 进行缓存• 使用 google 或 VPS 搜索• Nginx 反向代理 AppEngine (必须的)  VPS seller and coupon         http://www.lowendbox.com/   Install Debian, Nginx in VPS         http://www.howtoforge.com/ 
  • 22. 3 )使用 GAE 建立个人信息中心  
  • 23. 个人常用的信息服务 • TwitterWeb 客户端,可以同步到新浪腾讯网 易搜狐 • RSS 聚合阅读 • 获取网页 (urlfetch) ,解析短网址 • Cron Jobs • 在线个人笔记,在线个人博客 • 网络小说阅读 • 推送文章到 Kindle • 发送天气短信给自己 • 生日提醒(邮件,聊天工具,短信等多种手段 ) • 监控 iphone 购买网页的变化 • 相册 • proxy
  • 24. 个人信息平台已经实现的功能1 )选择现成代码进行修改( V2EX,Micolog,GaeBBS )2 )同步发推 , 新浪微博功能 ,t.co 扩展3 )定期采集 RSS 功能4 )支持 Google Reader share5 ) HN 文章全文阅读, RSS Feed 输出6 )网页内容变化,通过短信提醒7 )支持 XMPP 协议( gtalk )客户端自动聊天
  • 25. 新浪微博 腾讯微博  import mechanize  br = mechanize.Browser()  br.open("http://abcd.com/openqqsdk/qqweibopost.php")  br.select_form(nr=0)  strform = status.encode(utf-8)  br.form[text] = str  br.submit() VPS 上搭建微博 PHP SDK 作中转 
  • 26. BeautifulSoap 使用from BeautifulSoup import BeautifulSoupVALID_TAGS = [strong, em, p, ul, li,br, img, ol, blockquote]def sanitize_html(value):    soup = BeautifulSoup(value)    for tag in soup.findAll(True):        if tag.name not in VALID_TAGS:            tag.hidden = True    return soup.renderContents()
  • 27.   https://gist.github.com/1298152
  • 28. https://gist.github.com/1312657
  • 29. 资源使用情况(优化前)
  • 30. 资源使用情况(优化后)
  • 31. Mobile01 洁净版阅读功能设计全过程 • 分析网页内容 • 设计抓取方式 • HTML readability – viewtext.org, www.instapaper.com/m?u= • 下载图片 • 添加文章
  • 32. 4 ) Resources
  • 33. 其它云平台Amazon EC2Heroku (免费 + 付费)Microsoft AzureSina AppEngineNode AppEngine (内测中)Yo2Lua Lua AppEngine (内测中)
  • 34. Useful linkshttp://googleappengine.blogspot.com/http://www.v2ex.com/go/gaehttp://www.neopythonic.blogspot.com/http://blog.notdot.net/http://www.billkatz.com/http://www.franciscosouza.com/tag/google-app-engine/http://highscalability.com/google-architecturehttps://groups.google.com/forum/#!forum/google-appenginehttp://www.reddit.com/r/AppEngine/
  • 35. 可用于微创新的项目http://code.google.com/p/appscale/http://code.google.com/p/app-engine-site-creator/http://code.google.com/p/google-app-engine-samples/http://code.google.com/p/fantasm/https://github.com/metachris/feedmailerhttp://code.google.com/p/jaikuengine/http://code.google.com/p/appengine-mapreduce/http://code.google.com/p/rietveld/https://github.com/xuming/micologhttps://github.com/livid/v2exhttp://code.google.com/p/gae-bbs/
  • 36.   Kindlereader 一个定时将 Google reader 发送至 kindle 的工具 master 分支为单用户版 ( 基于 python), 运行于 Linux, Mac OSX, Windows gae 分支为运行于 Google app engine 的多用户版 , demo: http://reader.dogear.mobi   https://github.com/jiedan/kindlereader/tree/gae
  • 37. Q & A  

×