狠狠撸

狠狠撸Share a Scribd company logo
Python在移动社交平台中的
应?用
衷?文闻
北京/上海/??广州 0xFF Life's pathetic, go Pythonic!
Agenda
拉拉公园的平台架构和组件
– 架构
– 组件
拉拉公园平台中使?用的?一些Python类库
北京/上海/??广州 0xFF Life's pathetic, go Pythonic!
拉拉公园平台架构
全球化考虑(AWS)
EC2
主服务器:美国
转发服务器:爱尔兰、新加坡、东京
S3 – 图?片
CloundFront(CDN内容分发)
北京/上海/??广州 0xFF Life's pathetic, go Pythonic!
拉拉公园平台组件
Web服务 – Tornado
数据库 – Mongo DB
缓存 – Redis、SSDB
搜索 – Solr
过滤 – Bloom Filter
队列 -- Beanstalkd
北京/上海/??广州 0xFF Life's pathetic, go Pythonic!
Python的使?用
优缺点
– 简单、开源
– 动态解释
– 可移植、跨平台
– 丰富的库
适?用性
– Web、数据处理、图形图像、科学计算
北京/上海/??广州 0xFF Life's pathetic, go Pythonic!
Python类库
Web框架:tornado
??网络:requests
系统:fabric、virtualenv
图像:PIL
数据:lxml
定时:apscheduler
北京/上海/??广州 0xFF Life's pathetic, go Pythonic!
Python类库
math:
def archimedean_spiral(score):
"""将score转换为阿基?米德螺线
"""
x = (1 + score) * math.cos(score)
y = (1 + score) * math.sin(score)
return x, y
北京/上海/??广州 0xFF Life's pathetic, go Pythonic!
Python类库
PIL:
def make_crop_thumb(upload_file, size):
"""?生成带裁剪的缩略图"""
im = Image.open(StringIO(upload_file["body"]))
width, height = im.size
regin = ……
croped_width, croped_height = region.size
if croped_width > size[0] or croped_height > size[1]:
region.thumbnail(size, Image.ANTIALIAS)
output = StringIO()
region.save(output, im.format, quality=80)
width, height = region.size
return output.getvalue(), width, height
北京/上海/??广州 0xFF Life's pathetic, go Pythonic!
总结
选择合适的语?言和?工具 -- Python为粘合剂
不最求最新,够?用就好
不断迭代 -- 根据业务需求和技术演进
北京/上海/??广州 0xFF Life's pathetic, go Pythonic!
谢谢!
zhongwenwen@lespark.us

More Related Content

笔测迟丑辞苍在移动社交平台中的应用

  • 2. 北京/上海/??广州 0xFF Life's pathetic, go Pythonic! Agenda 拉拉公园的平台架构和组件 – 架构 – 组件 拉拉公园平台中使?用的?一些Python类库
  • 3. 北京/上海/??广州 0xFF Life's pathetic, go Pythonic! 拉拉公园平台架构 全球化考虑(AWS) EC2 主服务器:美国 转发服务器:爱尔兰、新加坡、东京 S3 – 图?片 CloundFront(CDN内容分发)
  • 4. 北京/上海/??广州 0xFF Life's pathetic, go Pythonic! 拉拉公园平台组件 Web服务 – Tornado 数据库 – Mongo DB 缓存 – Redis、SSDB 搜索 – Solr 过滤 – Bloom Filter 队列 -- Beanstalkd
  • 5. 北京/上海/??广州 0xFF Life's pathetic, go Pythonic! Python的使?用 优缺点 – 简单、开源 – 动态解释 – 可移植、跨平台 – 丰富的库 适?用性 – Web、数据处理、图形图像、科学计算
  • 6. 北京/上海/??广州 0xFF Life's pathetic, go Pythonic! Python类库 Web框架:tornado ??网络:requests 系统:fabric、virtualenv 图像:PIL 数据:lxml 定时:apscheduler
  • 7. 北京/上海/??广州 0xFF Life's pathetic, go Pythonic! Python类库 math: def archimedean_spiral(score): """将score转换为阿基?米德螺线 """ x = (1 + score) * math.cos(score) y = (1 + score) * math.sin(score) return x, y
  • 8. 北京/上海/??广州 0xFF Life's pathetic, go Pythonic! Python类库 PIL: def make_crop_thumb(upload_file, size): """?生成带裁剪的缩略图""" im = Image.open(StringIO(upload_file["body"])) width, height = im.size regin = …… croped_width, croped_height = region.size if croped_width > size[0] or croped_height > size[1]: region.thumbnail(size, Image.ANTIALIAS) output = StringIO() region.save(output, im.format, quality=80) width, height = region.size return output.getvalue(), width, height
  • 9. 北京/上海/??广州 0xFF Life's pathetic, go Pythonic! 总结 选择合适的语?言和?工具 -- Python为粘合剂 不最求最新,够?用就好 不断迭代 -- 根据业务需求和技术演进
  • 10. 北京/上海/??广州 0xFF Life's pathetic, go Pythonic! 谢谢! zhongwenwen@lespark.us