SlideShare a Scribd company logo
1 of 38
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系统 建筑⼯工程
实体
过程
思想
编程
• 什么是程序
• 什么是编程
程序是实体
程序 = 算法 + 数据结构
类⽐比
拼乐⾼高 = 图纸 + 积⽊木
写程序 = 算法 + 数据结构
编程是过程
⽰示例
排序 5,3,12,8,1,9
1,3,5,8,9,12
某个过程
系统架构
• 特点
• ⺫⽬目标
• 模式
• ⽰示例
• 业务与权衡
• ⾼高并发、⼤大流量
• ⾼高可⽤用
• 海量数据
• ⽤用户分布⼲⼴广泛、⺴⽹网络情况复杂
• 需求快速变更、版本发布频繁
• 渐进式发展
特点
• 性能
• 可⽤用性(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

Viewers also liked

Viewers also liked (13)

Gwelsh Proto June 2015
Gwelsh Proto June 2015Gwelsh Proto June 2015
Gwelsh Proto June 2015
 
Annotated learning-sequence
Annotated learning-sequenceAnnotated learning-sequence
Annotated learning-sequence
 
SAIArticle
SAIArticleSAIArticle
SAIArticle
 
Ubicar el lugar adecuado, uso de mobiliario y equipo de acuerdo a las polític...
Ubicar el lugar adecuado, uso de mobiliario y equipo de acuerdo a las polític...Ubicar el lugar adecuado, uso de mobiliario y equipo de acuerdo a las polític...
Ubicar el lugar adecuado, uso de mobiliario y equipo de acuerdo a las polític...
 
Consideraciones para instalar un equipo de cómputo
Consideraciones para instalar un equipo de cómputoConsideraciones para instalar un equipo de cómputo
Consideraciones para instalar un equipo de cómputo
 
Puertos y conectores del pc
Puertos y conectores del pcPuertos y conectores del pc
Puertos y conectores del pc
 
Proyecto. Trabajos del Primer Parcial de Informática III
Proyecto. Trabajos del Primer Parcial de Informática IIIProyecto. Trabajos del Primer Parcial de Informática III
Proyecto. Trabajos del Primer Parcial de Informática III
 
Investors presentation for ChefCuisine
Investors presentation for ChefCuisineInvestors presentation for ChefCuisine
Investors presentation for ChefCuisine
 
KhuHub student guideline
KhuHub student guidelineKhuHub student guideline
KhuHub student guideline
 
ブロックチェーン技術とそのビジネス応用への可能性 14 dec2015 のコピー
ブロックチェーン技術とそのビジネス応用への可能性 14 dec2015 のコピーブロックチェーン技術とそのビジネス応用への可能性 14 dec2015 のコピー
ブロックチェーン技術とそのビジネス応用への可能性 14 dec2015 のコピー
 
Les tres lletres
Les tres lletresLes tres lletres
Les tres lletres
 
El món de l'armari
El món de l'armariEl món de l'armari
El món de l'armari
 
OSC北海道 2016 REST API を活用した、新しい WordPress サイト製作手法
OSC北海道 2016 REST API を活用した、新しい WordPress サイト製作手法OSC北海道 2016 REST API を活用した、新しい WordPress サイト製作手法
OSC北海道 2016 REST API を活用した、新しい WordPress サイト製作手法
 

Similar to Intuitive understanding of backend dev

雲端技術的新趨勢
雲端技術的新趨勢雲端技術的新趨勢
雲端技術的新趨勢
Ben Huang
 
Cloud Computing for Bioinformatics
Cloud Computing for BioinformaticsCloud Computing for Bioinformatics
Cloud Computing for Bioinformatics
Jazz Yao-Tsung Wang
 
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
Jazz Yao-Tsung Wang
 
課程1 1:雲端運算初探
課程1 1:雲端運算初探課程1 1:雲端運算初探
課程1 1:雲端運算初探
vaemon
 
Ria的强力后盾:rest+海量存储
Ria的强力后盾:rest+海量存储 Ria的强力后盾:rest+海量存储
Ria的强力后盾:rest+海量存储
zhen chen
 
天涯论坛的技术进化史-Qcon2011
天涯论坛的技术进化史-Qcon2011天涯论坛的技术进化史-Qcon2011
天涯论坛的技术进化史-Qcon2011
Yiwei Ma
 

Similar to Intuitive understanding of backend dev (20)

Emc keynote 1130 1200
Emc keynote 1130 1200Emc keynote 1130 1200
Emc keynote 1130 1200
 
雲端技術的新趨勢
雲端技術的新趨勢雲端技術的新趨勢
雲端技術的新趨勢
 
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
 
雲端技術的新趨勢
雲端技術的新趨勢雲端技術的新趨勢
雲端技術的新趨勢
 
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
 
01 产品基础知识培训
01 产品基础知识培训01 产品基础知识培训
01 产品基础知识培训
 
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
 
Hadoop ecosystem
Hadoop ecosystemHadoop ecosystem
Hadoop ecosystem
 
課程1 1:雲端運算初探
課程1 1:雲端運算初探課程1 1:雲端運算初探
課程1 1:雲端運算初探
 
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
 
碰撞
碰撞碰撞
碰撞
 

Intuitive understanding of backend dev