SlideShare a Scribd company logo
1 of 36
Download to read offline
关于后端的⼀一些事情
Intuitive Understanding of Backend Dev
⼩小拿@果壳
2016.01.07
切⼊入点
⼀一、在做什么——解决什么问题
⼆二、要怎么做——如何解决问题
Python、MySQL、ORM、MVC、RESTful、
API、Shell、HTTP、TCP/IP、算法、
MongoDB、Flask、Socket、多线程、
Docker、Vim......
⼀一、做什么
前提
语⾔言——个体的知识与经验积累
信息
⽂文字、印刷术、书籍——持久保存、跨越时间与空间的限制
信息
互联⺴⽹网——极⼤大地提⾼高了知识保存和获取的效率
信息
空间维度
时间维度
获取效率
互联⺴⽹网是什么
后端做什么:在互联⺴⽹网范围,实现信息⾼高效的存储与获取
⼤大脑延伸(⼈人——知识)
新的维度(⼈人——⼈人)
信息⾰革命的载体
⼆二、怎么做
三层结构
系统架构
编程
语⾔言⼯工具
设计图
施⼯工
建筑材料
Web系统 建筑⼯工程
实体
过程
思想
编程
• 什么是程序
• 什么是编程
程序是实体
程序 = 算法 + 数据结构
编程是过程
系统架构
• 特点
• ⺫⽬目标
• 模式
• ⽰示例
• 业务与权衡
• ⾼高并发、⼤大流量
• ⾼高可⽤用
• 海量数据
• ⽤用户分布⼲⼴广泛、⺴⽹网络情况复杂
• 需求快速变更、版本发布频繁
• 渐进式发展
特点
• 性能
• 可⽤用性(99.99%)
• 伸缩性
• 扩展性
• 安全性
⺫⽬目标
• 分层
• 分割
• 分布式
• 集群
• 缓存
• 异步
• 冗余
模式
⺴⽹网站架构演化
初始阶段
⺴⽹网站架构演化
应⽤用服务和数据服务分离
⺴⽹网站架构演化
加缓存
⺴⽹网站架构演化
使⽤用应⽤用服务器集群改善⺴⽹网站的并发处理能⼒力
⺴⽹网站架构演化
数据库读写分离
⺴⽹网站架构演化
使⽤用反向代理和CDN
⺴⽹网站架构演化
使⽤用分布式⽂文件系统和分布式数据库系统
⺴⽹网站架构演化
使⽤用NoSQL和搜索引擎
⺴⽹网站架构演化
业务拆分
业务与权衡
分布式酒店预订系统
语⾔言与⼯工具
• 后端技术栈
• 基于Python的Web技术栈
• 职位描述
技术栈
• 语⾔言:C/C++/Python/PHP…
• ⺴⽹网络:TCP/IP/HTTP/socket/select/epoll/ …
• Linux:Shell/Vim/gcc/makefile/进程线程/IPC …
• Web服务器:Apache/Nginx …
• 数据存储:Mysql/Redis/Memcache/MongoDB …
• 质量控制:编码规范/单元测试/版本控制 …
• … …
Python的Web技术栈
职位描述(C++)
职位描述(Python)
三、区别
区别
移动端 前端 后端
交互流程
对象
⽤用户 ⽤用户 数据
⽣生命周期 使⽤用⼀一次APP 使⽤用⼀一次Web ⼀一直运⾏行
运⾏行主体 ⽤用户端(⼿手机) ⽤用户端(PC) 服务器
⽤用户规模

与程序复杂度
基本⽆无关 基本⽆无关 线性相关

(乐观情况)
END

More Related Content

Similar to Intuitive understanding of backend dev

雲端技術的新趨勢
雲端技術的新趨勢雲端技術的新趨勢
雲端技術的新趨勢Ben Huang
 
How to build your own robot with ibm bluemix&watson
How to build your own robot with ibm bluemix&watsonHow to build your own robot with ibm bluemix&watson
How to build your own robot with ibm bluemix&watson湯米吳 Tommy Wu
 
语义互操作与关联数据
语义互操作与关联数据语义互操作与关联数据
语义互操作与关联数据Shanghai Library
 
Cloud Computing for Bioinformatics
Cloud Computing for BioinformaticsCloud Computing for Bioinformatics
Cloud Computing for BioinformaticsJazz Yao-Tsung Wang
 
01 产品基础知识培训
01 产品基础知识培训01 产品基础知识培训
01 产品基础知识培训jackieit
 
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索liu sheng
 
IBM Bluemix 物聯新世界 Future with Robot
IBM Bluemix 物聯新世界  Future with RobotIBM Bluemix 物聯新世界  Future with Robot
IBM Bluemix 物聯新世界 Future with RobotCAVEDU Education
 
The Trend Of Cloud Computing And How Should Public Sectors Adjust
The Trend Of Cloud Computing And How Should Public Sectors AdjustThe Trend Of Cloud Computing And How Should Public Sectors Adjust
The Trend Of Cloud Computing And How Should Public Sectors AdjustJazz Yao-Tsung Wang
 
課程1 1:雲端運算初探
課程1 1:雲端運算初探課程1 1:雲端運算初探
課程1 1:雲端運算初探vaemon
 
Ria的强力后盾:rest+海量存储
Ria的强力后盾:rest+海量存储 Ria的强力后盾:rest+海量存储
Ria的强力后盾:rest+海量存储 zhen chen
 
云存储与虚拟化分论坛 基于云计算的海量数据挖掘
云存储与虚拟化分论坛 基于云计算的海量数据挖掘云存储与虚拟化分论坛 基于云计算的海量数据挖掘
云存储与虚拟化分论坛 基于云计算的海量数据挖掘Riquelme624
 
天涯论坛的技术进化史-Qcon2011
天涯论坛的技术进化史-Qcon2011天涯论坛的技术进化史-Qcon2011
天涯论坛的技术进化史-Qcon2011Yiwei Ma
 
用互相关联的数据创建超级数据库
用互相关联的数据创建超级数据库用互相关联的数据创建超级数据库
用互相关联的数据创建超级数据库Stephen Wang
 
「所知有雲」:維基百科雲端運算中文條目編輯行動發起說明
「所知有雲」:維基百科雲端運算中文條目編輯行動發起說明「所知有雲」:維基百科雲端運算中文條目編輯行動發起說明
「所知有雲」:維基百科雲端運算中文條目編輯行動發起說明Fred Chiang
 
Mysql HandleSocket技术在SNS Feed存储中的应用
Mysql HandleSocket技术在SNS Feed存储中的应用Mysql HandleSocket技术在SNS Feed存储中的应用
Mysql HandleSocket技术在SNS Feed存储中的应用iammutex
 
Challenges and opportunities computing Kuo-Yi Chen
Challenges and opportunities computing   Kuo-Yi ChenChallenges and opportunities computing   Kuo-Yi Chen
Challenges and opportunities computing Kuo-Yi Chenkuoyichen
 

Similar to Intuitive understanding of backend dev (20)

雲端技術的新趨勢
雲端技術的新趨勢雲端技術的新趨勢
雲端技術的新趨勢
 
How to build your own robot with ibm bluemix&watson
How to build your own robot with ibm bluemix&watsonHow to build your own robot with ibm bluemix&watson
How to build your own robot with ibm bluemix&watson
 
语义互操作与关联数据
语义互操作与关联数据语义互操作与关联数据
语义互操作与关联数据
 
Cloud Computing for Bioinformatics
Cloud Computing for BioinformaticsCloud Computing for Bioinformatics
Cloud Computing for Bioinformatics
 
雲端技術的新趨勢
雲端技術的新趨勢雲端技術的新趨勢
雲端技術的新趨勢
 
01 产品基础知识培训
01 产品基础知识培训01 产品基础知识培训
01 产品基础知识培训
 
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
 
IBM Bluemix 物聯新世界 Future with Robot
IBM Bluemix 物聯新世界  Future with RobotIBM Bluemix 物聯新世界  Future with Robot
IBM Bluemix 物聯新世界 Future with Robot
 
The Trend Of Cloud Computing And How Should Public Sectors Adjust
The Trend Of Cloud Computing And How Should Public Sectors AdjustThe Trend Of Cloud Computing And How Should Public Sectors Adjust
The Trend Of Cloud Computing And How Should Public Sectors Adjust
 
課程1 1:雲端運算初探
課程1 1:雲端運算初探課程1 1:雲端運算初探
課程1 1:雲端運算初探
 
Hadoop ecosystem
Hadoop ecosystemHadoop ecosystem
Hadoop ecosystem
 
Ria的强力后盾:rest+海量存储
Ria的强力后盾:rest+海量存储 Ria的强力后盾:rest+海量存储
Ria的强力后盾:rest+海量存储
 
云存储与虚拟化分论坛 基于云计算的海量数据挖掘
云存储与虚拟化分论坛 基于云计算的海量数据挖掘云存储与虚拟化分论坛 基于云计算的海量数据挖掘
云存储与虚拟化分论坛 基于云计算的海量数据挖掘
 
天涯论坛的技术进化史-Qcon2011
天涯论坛的技术进化史-Qcon2011天涯论坛的技术进化史-Qcon2011
天涯论坛的技术进化史-Qcon2011
 
用互相关联的数据创建超级数据库
用互相关联的数据创建超级数据库用互相关联的数据创建超级数据库
用互相关联的数据创建超级数据库
 
「所知有雲」:維基百科雲端運算中文條目編輯行動發起說明
「所知有雲」:維基百科雲端運算中文條目編輯行動發起說明「所知有雲」:維基百科雲端運算中文條目編輯行動發起說明
「所知有雲」:維基百科雲端運算中文條目編輯行動發起說明
 
Mysql HandleSocket技术在SNS Feed存储中的应用
Mysql HandleSocket技术在SNS Feed存储中的应用Mysql HandleSocket技术在SNS Feed存储中的应用
Mysql HandleSocket技术在SNS Feed存储中的应用
 
About grow up
About grow upAbout grow up
About grow up
 
碰撞
碰撞碰撞
碰撞
 
Challenges and opportunities computing Kuo-Yi Chen
Challenges and opportunities computing   Kuo-Yi ChenChallenges and opportunities computing   Kuo-Yi Chen
Challenges and opportunities computing Kuo-Yi Chen
 

Intuitive understanding of backend dev