使用 GoogleAppEngine 建立个人信息中心              weibo.com/sagasw                       2011-11
Agenda  1 )云计算那些事儿     2 ) Google AppEngine     3 ) GAE 个人信息中心  4 ) Resources
调查1 ) Python 语言? 2 ) Google AppEngine ? 3 )云计算平台?
1 )云计算那些事儿     
• IaaS (Infrastructure as a Service)     o  Amazon EC2 , Microsoft Azure• PaaS (Platform as a Service)    o  GoogleAppEngi...
云平台比较http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.pdf
调查 - 虚拟化软件
调查 - 公有云计算平台
      新浪微博 @_ 浪潮之巅 _ :     中国很多大公司 ( 主要是央企 ) ,对云计算理解就是 IDC    和设备。     美国的 case 都是应用。美国这点认识比较一致:    IDC 和最基础的东西让 Google , ...
http://addons.heroku.com/
2 ) Google AppEngine          
Google AppEngineGo language, Python, Java (JRuby, Lua, Railsetc.) 优点:   o     UrlFetch,Memcache,TaskSchedule   o     XMPP,...
适用于:Wiki,CMS, 博客 , 微博 , 手机游戏后台 ,应用服务器 , 问答网站 , 电子书发布 ,SNS, 网店 , 工作流不适合:音频视频服务 , 大文件 , 密集计算
Web Framework  Django  WebApp2  Tornado      https://github.com/facebook/tornado/tree/master/demos/appengine
Python library BeautifulSoup, PythonTwitter, Readability PIL, PyCrypto, lxml 等等 可直接用于 AppEngine?  • 不依赖 C 扩展  • 不使用数据库  • ...
Java on AppEnginePlay! Framework    http://www.slideshare.net/gasolin/play-framework-on-google-app-engine    https://githu...
JRuby on Google App Enginecode.google.com/p/appengine-jruby/github.com/jruby/jruby-rack                    
Lua in Appenginehttp://code.google.com/p/aelua/http://code.google.com/p/jillcode/http://code.google.com/p/kahlua/https://g...
企业使用 ? • 比较容易扩展 • 管理方便 • 用于特定任务  • 更推荐 EC2     http://code.google.com/appengine/business/    http://code.google.com/appeng...
GAE SDK 1.5.5 • Python2.7 • 支持多线程,可使用 threading • 支持并发请求 • 可以访问 bytecode • 支持更多 Python lib ( PIL v1.1.7 )。 • 前台请求的时间 30 秒增...
GAE 编程心得•   尽量使用 memcache•   组合 Appengine & VPS•   通过 service 访问 VPS 数据库, GAE 进行缓存•   使用 google 或 VPS 搜索•   Nginx 反向代理 App...
3 )使用 GAE 建立个人信息中心         
个人常用的信息服务 • TwitterWeb 客户端,可以同步到新浪腾讯网   易搜狐 • RSS 聚合阅读 • 获取网页 (urlfetch) ,解析短网址 • Cron Jobs • 在线个人笔记,在线个人博客 • 网络小说阅读 • 推送文...
个人信息平台已经实现的功能1 )选择现成代码进行修改( V2EX,Micolog,GaeBBS )2 )同步发推 , 新浪微博功能 ,t.co 扩展3 )定期采集 RSS 功能4 )支持 Google Reader share5 ) HN 文章...
新浪微博 腾讯微博    import mechanize    br = mechanize.Browser()    br.open("http://abcd.com/openqqsdk/qqweibopost.php")    br.se...
BeautifulSoap 使用from BeautifulSoup import BeautifulSoupVALID_TAGS = [strong, em, p, ul, li,br, img, ol, blockquote]def san...
     https://gist.github.com/1298152
https://gist.github.com/1312657
资源使用情况(优化前)
资源使用情况(优化后)
Mobile01 洁净版阅读功能设计全过程 • 分析网页内容 • 设计抓取方式 • HTML readability   – viewtext.org, www.instapaper.com/m?u= • 下载图片 • 添加文章
4 ) Resources
其它云平台Amazon EC2Heroku (免费 + 付费)Microsoft AzureSina AppEngineNode AppEngine (内测中)Yo2Lua Lua AppEngine (内测中)
Useful linkshttp://googleappengine.blogspot.com/http://www.v2ex.com/go/gaehttp://www.neopythonic.blogspot.com/http://blog....
可用于微创新的项目http://code.google.com/p/appscale/http://code.google.com/p/app-engine-site-creator/http://code.google.com/p/googl...
     Kindlereader      一个定时将 Google reader 发送至 kindle 的工具    master 分支为单用户版 ( 基于 python), 运行于 Linux, Mac OSX,    Windows  ...
Q & A   
使用GoogleAppEngine建立个人信息中心
使用GoogleAppEngine建立个人信息中心
使用GoogleAppEngine建立个人信息中心
使用GoogleAppEngine建立个人信息中心
使用GoogleAppEngine建立个人信息中心
使用GoogleAppEngine建立个人信息中心
使用GoogleAppEngine建立个人信息中心
使用GoogleAppEngine建立个人信息中心
使用GoogleAppEngine建立个人信息中心
使用GoogleAppEngine建立个人信息中心
使用GoogleAppEngine建立个人信息中心
使用GoogleAppEngine建立个人信息中心
使用GoogleAppEngine建立个人信息中心
使用GoogleAppEngine建立个人信息中心
使用GoogleAppEngine建立个人信息中心
使用GoogleAppEngine建立个人信息中心
使用GoogleAppEngine建立个人信息中心
Upcoming SlideShare
Loading in...5
×

使用GoogleAppEngine建立个人信息中心

958

Published on

使用GoogleAppEngine建立个人信息中心

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

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

No notes for slide

使用GoogleAppEngine建立个人信息中心

  1. 1. 使用 GoogleAppEngine 建立个人信息中心 weibo.com/sagasw 2011-11
  2. 2. Agenda 1 )云计算那些事儿   2 ) Google AppEngine   3 ) GAE 个人信息中心 4 ) Resources
  3. 3. 调查1 ) Python 语言? 2 ) Google AppEngine ? 3 )云计算平台?
  4. 4. 1 )云计算那些事儿  
  5. 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. 6. 云平台比较http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.pdf
  7. 7. 调查 - 虚拟化软件
  8. 8. 调查 - 公有云计算平台
  9. 9.   新浪微博 @_ 浪潮之巅 _ : 中国很多大公司 ( 主要是央企 ) ,对云计算理解就是 IDC 和设备。 美国的 case 都是应用。美国这点认识比较一致: IDC 和最基础的东西让 Google , Facebook 和 Amazon 去 做。  http://weibo.com/2142166543/xtKu40qgP
  10. 10. http://addons.heroku.com/
  11. 11. 2 ) Google AppEngine  
  12. 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. 13. 适用于:Wiki,CMS, 博客 , 微博 , 手机游戏后台 ,应用服务器 , 问答网站 , 电子书发布 ,SNS, 网店 , 工作流不适合:音频视频服务 , 大文件 , 密集计算
  14. 14. Web Framework Django WebApp2 Tornado    https://github.com/facebook/tornado/tree/master/demos/appengine
  15. 15. Python library BeautifulSoup, PythonTwitter, Readability PIL, PyCrypto, lxml 等等 可直接用于 AppEngine? • 不依赖 C 扩展 • 不使用数据库 • 不访问本地资源 http://pypi.python.org/pypi
  16. 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. 17. JRuby on Google App Enginecode.google.com/p/appengine-jruby/github.com/jruby/jruby-rack                    
  18. 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. 19. 企业使用 ? • 比较容易扩展 • 管理方便 • 用于特定任务  • 更推荐 EC2  http://code.google.com/appengine/business/ http://code.google.com/appengine/docs/premier/index.html   
  20. 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. 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. 22. 3 )使用 GAE 建立个人信息中心  
  23. 23. 个人常用的信息服务 • TwitterWeb 客户端,可以同步到新浪腾讯网 易搜狐 • RSS 聚合阅读 • 获取网页 (urlfetch) ,解析短网址 • Cron Jobs • 在线个人笔记,在线个人博客 • 网络小说阅读 • 推送文章到 Kindle • 发送天气短信给自己 • 生日提醒(邮件,聊天工具,短信等多种手段 ) • 监控 iphone 购买网页的变化 • 相册 • proxy
  24. 24. 个人信息平台已经实现的功能1 )选择现成代码进行修改( V2EX,Micolog,GaeBBS )2 )同步发推 , 新浪微博功能 ,t.co 扩展3 )定期采集 RSS 功能4 )支持 Google Reader share5 ) HN 文章全文阅读, RSS Feed 输出6 )网页内容变化,通过短信提醒7 )支持 XMPP 协议( gtalk )客户端自动聊天
  25. 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. 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. 27.   https://gist.github.com/1298152
  28. 28. https://gist.github.com/1312657
  29. 29. 资源使用情况(优化前)
  30. 30. 资源使用情况(优化后)
  31. 31. Mobile01 洁净版阅读功能设计全过程 • 分析网页内容 • 设计抓取方式 • HTML readability – viewtext.org, www.instapaper.com/m?u= • 下载图片 • 添加文章
  32. 32. 4 ) Resources
  33. 33. 其它云平台Amazon EC2Heroku (免费 + 付费)Microsoft AzureSina AppEngineNode AppEngine (内测中)Yo2Lua Lua AppEngine (内测中)
  34. 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. 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. 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. 37. Q & A  
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×