文档章节

5天学会一种 web 开发框架(转)

好铁
 好铁
发布于 2016/04/19 17:58
字数 684
阅读 259
收藏 13
Web

按照这个清单,一条一条的学习,事半功倍,很快就能掌握 一共25条,即便很磨蹭,2小时也能搞定一条,25*2=50。只需要50小时就能掌握任意一种web框架

各类web框架大同小异:现代web开发框架的6大元素,把握主线,就不会迷路

建议把本文打印到一张A4纸,搞定一条打个勾

web框架学习列表

  • 如何定义 url route
  • 如何组织 request handler 函数
  1. 写一个最简单的request handler 函数
  2. 如何从get/post请求中取出参数
  3. 如何定义全局url 拦截函数
  4. 如何获取/修改/存储 cookie,session数据
  5. 如何修改/输出 http header 数据
  • 如何部部署app 程序
  1. 服务器部署可以参考 python web 程序的9种部署方式
  2. 如何配置开发环境
  3. 如何配置静态文件访问
  • 如何访问数据库
  1. 如何维护表结构的变更
  2. 如何定义/组织/初始化 数据表
  3. 如何对接orm系统和现有的表结构
  4. 掌握最基本的add/delete/按字段查询/count/slice/order by
  5. 如何直接使用sql 访问数据库
  • 如何使用模板系统
  1. 如何组织/访问 模板文件的目录结构
  2. 如何在模板中嵌入代码
  3. 模板是否支持继承结构
  4. 模板之间如何include
  5. 如何自定义模板函数
  • 如何通过http get/post 获取远程数据
  • 如何parse json
  • 如何parse xml
  • 如何输出为 json
  • 如何处理状态码:404和50x
  • 如何处理文件上传

可选的学习项目

  • 发送email
  • log
  • 图片处理

误区

  • 表单验证辅助函数,很多框架的表单验证部分实现的特别复杂,初学者完全不需要,手写代码处理就够用
  • ORM中的hasone,manytomany,onetomany关系,概念很复杂,其实只是多写/少写一个查询字段的关系,学习成本太高,初学者完全不需要理会,直接跳过

现代web开发框架六大元素

  1. url route/map,表面看这个就是一组正则表达式,其实这是web开发框架的核心,它决定了代码的组织方式
  2. html 模版子系统
  3. orm,或者说数据库访问层
  4. form 前后端验证,表单验证是整个网站开发过程当中最复杂的一步,需要写手很多代码
  5. helper,包括:分页,cache,session,sitemap,rss,email等支持
  6. deployment 支持,简单说,这个框架起码要内置一个http server,更进一步要支持fastcgi,这样才能部署到生产环境

本文转载自:http://lutaf.com/148.htm

共有 人打赏支持
好铁
粉丝 35
博文 266
码字总数 78672
作品 0
朝阳
程序员
私信 提问
5天学会一种 web 开发框架

转载自鲁塔弗的博客,原文网址:http://lutaf.com/148.htm web framework层出不穷,特别是ruby/python,各有10+个,php/java也是一大堆 根据我自己的经验写了一个to do list,按照这个清单,一条一...

Kinegratii
2014/03/12
0
0
jax-ws之webservice security(安全)续

前言: 在前面的“5天学会jaxws-webservice教程”,我们讲了基本的jax-ws的使用。 Jax-ws是业界公认的标准的webservice,它已经成为了一个行业界标准,包括cxf,其实cxf也是调用的jax-ws为标...

AbrahamLeeJay
2014/07/17
0
0
对于新手学习PHP的规划建议

关于自学PHP,这方面的很多资料,我几乎没有看到过一个满意的答案,我该构建一个什么样的体系,如何构建,从哪开始?下面就是小编总结的学习网站开发(使用PHP)的过程,如果你有基础或已经了解...

丶辉
2016/08/18
269
4
浅谈移动端页面无刷新跳转问题的解决方案

浅谈移动端页面无刷新跳转问题的解决方案 2017-12-22 祈澈姑娘 最近开发微信公众号,用的框架是 一般的 UI,但是涉及到多页面之间的相互跳转的问题,降低了浏览器的性能,用户体验特别不好,...

祈澈姑娘
2017/12/22
0
0
程序员技术练级攻略(转)

原文链接:http://coolshell.cn/articles/4990.html 月光博客6月12日发表了《写给新手程序员的一封信》,翻译自《An open letter to those who want to start programming》,我的朋友(他在...

恋空御月
2015/09/19
290
6

没有更多内容

加载失败,请刷新页面

加载更多

MariaDB 服务器在 MySQL Workbench 备份数据的时候出错如何解决

服务器是运行在 MariaDB 10.2 上面的,在使用 MySQL Workbench 出现错误: mysqldump: Couldn't execute 'SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM, '$."number-of-buckets-specified"'......

honeymose
今天
2
0
apache顶级项目(二) - B~C

apache顶级项目(二) - B~C https://www.apache.org/ Bahir Apache Bahir provides extensions to multiple distributed analytic platforms, extending their reach with a diversity of s......

晨猫
今天
6
0
day152-2018-11-19-英语流利阅读

“超级食物”竟然是营销噱头? Daniel 2018-11-19 1.今日导读 近几年来,超级食物 superfoods 开始逐渐走红。不难发现,越来越多的轻食餐厅也在不断推出以超级食物为主打食材的健康料理,像是...

飞鱼说编程
今天
12
0
SpringBoot源码:启动过程分析(二)

接着上篇继续分析 SpringBoot 的启动过程。 SpringBoot的版本为:2.1.0 release,最新版本。 一.时序图 一样的,我们先把时序图贴上来,方便理解: 二.源码分析 回顾一下,前面我们分析到了下...

Jacktanger
昨天
4
0
Apache防盗链配置,Directory访问控制,FilesMatch进行访问控制

防盗链配置 通过限制referer来实现防盗链的功能 配置前,使用curl -e 指定referer [root@test-a test-webroot]# curl -e "http://www.test.com/1.html" -x127.0.0.1:80 "www.test.com/1.jpg......

野雪球
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部