竹磬网-邵珠庆の日记 生命只有一次,你可以用它来做些更多伟大的事情–Make the world a little better and easier


1012月/120

如何成为一名优秀的web前端工程师

发布在 邵珠庆

 

程序设计之道无远弗届,御晨风而返。———— 杰佛瑞 · 詹姆士

我所遇到的前端程序员分两种:

第一种一直在问:如何学习前端?

第二种总说:前端很简单,就那么一点东西。

我从没有听到有人问:如何做一名优秀、甚至卓越的WEB前端工程师

如何成为一名优秀的web前端工程师

 

何为:前端工程师

前端工程师,也叫Web前端开发工程师。他是随着web发展,细分出来的行业。

Web前端开发技术主要包括三个要素:HTML、CSS和JavaScript!

它要求前端开发工程师不仅要掌握基本的Web前端开发技术,网站性能优化、SEO和服务器端的基础知识,而且要学会运用各种工具进行辅助开发以及理论层面的知识,包括代码的可维护性、组件的易用性、分层语义模板和浏览器分级支持等。

随着近两三年来RIA(Rich Internet Applications的缩写,中文含义为:丰富的因特网应用程序)的流行和普及带来的诸如:Flash/Flex,Silverlight、XML和服务器端语言(PHP、ASP.NET,JSP、Python)等语言,前端开发工程师也需要掌握。

前端开发的入门门槛其实很低,与服务器端语言先慢后快的学习曲线相比,前端开发的学习曲线是先快后慢。

HTML 甚至不是一门语言,他仅仅是简单的标记语言!

CSS 只是无类型的样式修饰语言。当然可以勉强算作弱类型语言。

Javascript 的基础部分相对来说不难,入手还算快。

 

也正因为如此,前端开发领域有很多自学成“才”的同行,但大多数人都停留在会用的阶段,因为后面的学习曲线越来越陡峭,每前进一步都很难。

Web前端技术有一些江湖气,知识点过于琐碎,技术价值观的博弈也难分伯仲,即全局的系统的知识结构并未成体系,这些因素也客观上影响了“正统“前端技术的沉淀!而且各种“奇技淫巧”被滥用,前端技术知识的传承也过于泛泛,新人难看清时局把握主次。因此,前端技术领域,为自己觅得一个靠谱的师兄,重要性要盖过项目、团队、公司、甚至薪水。

 

另一方面,正如前面所说,前端开发是个非常新的职业,对一些规范和最佳实践的研究都处于探索阶段。

总有新的灵感和技术不时闪现出来,例如CSS sprite、负边距布局、栅格布局等;

各种JavaScript框架层出不穷,为整个前端开发领域注入了巨大的活力;

浏览器大战也越来越白热化,跨浏览器兼容方案依然是五花八门。

为了满足“高可维护性”的需要,需要更深入、更系统地去掌握前端知识,这样才可能创建一个好的前端架构,保证代码的质量。

 

随着手持设备的迅猛发展,带动了 HTML5行业标准的快速发展。web领域的技术,大概有10年都没有大的更新了!

现在市场很需要优秀的、高级的前端工程师。

一方面是因为这是一个比较新的细分行业,而且前端程序员大都自学一部分,知识结构不系统;另一方面,大学里面没有这种课程,最最重要的是:北大青鸟这类培训机构也没有专门的前端工程师的培训课程!!

 

吴亮在《JavaScript 王者归来》第一张的序里面说:大多数程序员认为 Javascript 过于简陋,只适合一些网页上面花哨的表现,所以不愿花费精力去学习,或者以为不学习就能掌握。

实际上,一门语言是否脚本语言,往往是她的设计目标决定,简单与复杂并不是区分脚本语言和非脚本语言的标准。

事实上,在脚本语言里面,Javascript 属于相当复杂的一门语言,他的复杂度即使放在非脚本语言中来衡量,也是一门相当复杂的语言!

Javascript 的复杂度不逊色于 Perl 和 Python!

 

 

如何学习前端知识? 

我们生活在一个充满规则的宇宙里面。社会秩序按照规则运行,计算机语言几乎全部是规则的集合。计算机前辈们定义规则,规则约束我们,我们用规则控制数据。大部分时候,对数据的合理控制,来自于你对规则的掌握。

 

学习 HTML,CSS 应该先跟着书仔细、扎实的学一遍。然后就需要做大量的练习,做各种常规的、奇怪的、大量的布局练习来捆固、理解自己的知识。

而学习 Javascript 首先要知道这门语言可以做什么,不能做什么,擅长做什么,不擅长做什么!

如果你只想当一个普通的前端程序员,你只需要记住大部分 Javascript 函数,做一些练习就可以了。

如果你想当深入了解Javascript,你需要了解 Javascript 的原理,机制。需要知道他们的本源,需要深刻了解 Javascript 基于对象的本质。

还需要 深刻了解 浏览器宿主 下 的 Javascript 的行为、特性。

 

因为历史原因,Javascript一直不被重视,有点像被收养的一般! 所以他有很多缺点,各个宿主环境下的行为不统一、内存溢出问题、执行效率低下等问题。

作为一个优秀的前端工程师还需要深入了解、以及学会处理 Javascript 的这些缺陷。

 

那么一名优秀的、甚至卓越的 前端开发工程师的具备什么条件

首先,优秀的Web前端开发工程师要在知识体系上既要有广度和深度!做到这两点,其实很难。所以很多大公司即使出高薪也很难招聘到理想的前端开发工程师。技术非黑即白,只有对和错,而技巧则见仁见智。

在以前,会一点Photoshop和Dreamweaver的操作,就可以制作网页。

现在,只掌握这些已经远远不够了。无论是开发难度上,还是开发方式上,现在的网页制作都更接近传统的网站后台开发,所以现在不再叫网页制作,而是叫Web前端开发。

Web前端开发在产品开发环节中的作用变得越来越重要,而且需要专业的前端工程师才能做好。

Web前端开发是一项很特殊的工作,涵盖的知识面非常广,既有具体的技术,又有抽象的理念。简单地说,它的主要职能就是把网站的界面更好地呈现给用户。

 

其次,优秀的Web前端开发工程师应该具备快速学习能力。Web发展的很快,甚至可以说这些技术几乎每天都在变化!如果没有快速学习能力,就跟不上Web发展的步伐。前端工程师必须不断提升自己,不断学习新技术、新模式;仅仅依靠今天的知识无法适应未来。Web的明天与今天必将有天壤之别,而前端工程师的工作就是要搞清楚如何通过自己的Web应用程序来体现这种翻天覆地的变化。

说到这里,我想起了一个大师说过的一句话:对于新手来说,新技术就是新技术。

对于一个高手来说,新技术不过是就技术的延伸。

再者,优秀的前端工程师需要具备良好的沟通能力,因为前端工程师至少都要满足四类客户的需求。

1、产品经理。这些是负责策划应用程序的一群人。他们会想出很多新鲜的、奇怪的、甚至是不可是实现的应用。一般来说,产品经理都追求丰富的功能。

2、UI设计师。这些人负责应用程序的视觉设计和交互模拟。他们关心的是用户对什么敏感、交互的一贯性以及整体的好用性。一般来说,UI设计师于流畅靓丽、但并不容易实现的用户界面,而且他们经常不满前端工程师造成 1px 的误差。

3、项目经理。这些人负责实际地运行和维护应用程序。项目管理的主要关注点,无外乎正常运行时间、应用程序始终正常可用的时间、性能和截止日期。项目经理追求的目标往往是尽量保持事情的简单化,以及不在升级更新时引入新问题。

4、最终用户。指的是应用程序的主要消费者。尽管前端工程师不会经常与最终用户打交道,但他们的反馈意见至关重要。最终用户要求最多的就是对个人有用的功能,以及竞争性产品所具备的功能。

Yahoo 公司 ,YUI 的开发工程师 Nicholas C. Zakas 认为:

前端工程师是计算机科学职业领域中最复杂的一个工种。绝大多数传统的编程思想已经不适用了,为了在多种平台中使用,多种技术都借鉴了大量软科学的知识和理念。成为优秀前端工程师所要具备的专业技术,涉及到广阔而复杂的领域,这些领域又会因为你最终必须服务的各方的介入而变得更加复杂。专业技术可能会引领你进入成为前端工程师的大门,但只有运用该技术创造的应用程序以及你跟他人并肩协同的能力,才会真正让你变得优秀。

————————————

关于书籍:

HTML、CSS 类别书籍,都是大同小异,在当当网、卓越网搜索一下很多推荐。如果感觉学的差不多了,可以关注一下《CSS禅意花园》,这个很有影响力。Javascript 的书籍 推荐看老外写的,国内很多 Javascript 书籍的作者对 Javascript 语言了解的都不是很透彻。

这里推荐几本 Javascript 书籍:

初级读物:

JavaScript高级程序设计:一本非常完整的经典入门书籍,被誉为JavaScript圣经之一,详解的非常详细,最新版第三版已经发布了,建议购买。

《JavaScript王者归来》百度的一个Web开发项目经理写的,作为初学者准备的入门级教程也不错。

中级读物:

JavaScript权威指南:另外一本JavaScript圣经,讲解的也非常详细,属于中级读物,建议购买。

JavaScript语言精粹》:Yahoo大牛,JavaScript精神领袖Douglas Crockford的大作,虽然才100多页,但是字字珠玑啊!强烈建议阅读。

高性能JavaScript:《JavaScript高级程序设计》作者Nicholas C. Zakas的又一大作。

《Eloquent JavaScript》:这本书才200多页,非常短小,通过几个非常经典的例子(艾米丽姨妈的猫、悲惨的隐士、模拟生态圈、推箱子游戏等等)来介绍JavaScript方方面面的知识和应用方法。

高级读物:

JavaScript Patterns 》:书中介绍到了各种经典的模式,如构造函数、单例、工厂等等,值得学习。

《Pro.JavaScript.Design.Patterns》:Apress出版社讲解JavaScript设计模式的书,非常不错。

《Developing JavaScript Web Applications》:构建富应用的好书,针对MVC模式有较为深入的讲解,同时也对一些流程的库进行了讲解。

《Developing Large Web Applications | 开发大规模Web应用:不仅有JavaScript方面的介绍,还有CSS、HTML方面的介绍,但是介绍的内容却都非常不错,真正考虑到了一个大型的Web程序下,如何进行JavaScript架构设计,值得一读。

要做优秀的前端工程师,还需要继续努力:高性能网站建设指南》、《Yahoo工程师的网站性能优化的建议》、“YSLOW”性能优化建议、《网站重构》、《Web开发敏捷之道》、“ jQuery 库”、“前端框架”、“HTML5”、“CSS3”…… 这些都要深入研究!

 

万事开头难!如果你能到这个境界,剩下的路自己就可以走下去了。

人们常说:不想当裁缝的司机,不是个好厨师。

如果单纯只是学习前端编程语言、而不懂后端编程语言(PHP、ASP.NET,JSP、Python),也不能算作是优秀的前端工程师。

在成为一个优秀的前端工程师的道路上,充满了汗水和辛劳

227月/119

PHP高级软件工程师课程体系

发布在 邵珠庆

 

课程介绍:

本课程共220课时,涉及到PHP开发的所有高级技术,通过进行大型Web项目的架构设计和开发。课程内容包括目前非常流行的像Ajax、 jQuery、PDO、Smarty模板、Soap、Memcached、MySQL数据库的高级应用,以及自己去编写框架进行应用,还有 ThinkPHP框架和一些比较常用的Zend产品和PHP6的最新特性。课程中的每个技术点的内容都非常全面,深度到位,课上实例不仅丰富而且实用。另 外,每个知识点都是以目前最新版本的技术设计,每半年一更新,并经过多家软件公司的技术专家参与修订,以达到真正实用的目的,能够与大型软件开发公司所需 要的开发技术相吻合。课程中的每个知识点都是程序开发人员必不可少的内容,都可以提高开发人员的开发效率,开发出安全、稳定的Web系统。

课程特点:

 

  • 1. 最主流的PHP和MySQL高级技术
  • 2. 将程序开发人员水平提高到一个新的高度
  • 3. 内容全面、案例丰富,采用目前最新的Web开发模式
  • 4. 与大型PHP开发型项目技术同步
  • 5. 课程中的技术点全部采用最新技术点讲解
  • 6. 课程中的两个项目全是采用现在最主流的MVC设计模式和面向对象技术开发,第一个项目使用自定义框架技术,第二个项目内使用国内最流行的ThinkPHP框架实现。
  • 7. 课程中涉及多种框架技术,使用开发人员不用再从底层一步步开发,就可以快速开发出安全稳定的项目,积累丰富的开发经验
  • 8. 以最短的时间,达到高级软件工程师水平
  • 9. 采用案例式教学,通过专家讲师的带领使学员可以具有独立开发大型网站的能力
  • 10. 课程的技术点完全采用编码规范,使学员熟练应用,提高编码效率

预期目标:

 

  • 1. 掌握所有Web开发的高级技能,积累大型项目的开发经验
  • 2. 通过这部分课程可以加强PHP高级部分学习,学员能熟练进行网站分析设计,数据库的结构设计,提高编程能力
  • 3. 符合企业需求的Web软件高级开发工程师
  • 4. 通过PDO的学习,可以提高数据库的处理效率,并可以以一种接口处理多种数据库,方便数据移植
  • 5. 通过Ajax、JQuery和Smarty的学习可以精通Web前台技术,编写出合格的网页界面
  • 6. 通过面向对象和MVC的学习可以将表现和业务分离
  • 7. 通过框架技术的学习,可以提高开发效率,掌握框架内容。
  • 8. 通过soap的学习,可以进行分布式开发
  • 9. 熟悉数据库服务器的维护、优化、安全设置,精通SQL语句编写
  • 10. 使用PHP技术可以独立完成建站工作,对现有的成熟产品进行二次开发,团队合作完成大型项目的设计与开发,以及产品的测试与维护

适合目标群体:

 

  • 1. 第一阶段学完,并完成项目开发的学员
  • 2. 有一些PHP基础,通过PHP开发过一些小项目
  • 3. 大学计算机系任课教师
  • 4. 运营和维护网站的管理员
  • 5. 从事多年像Asp.net或Java的程序员想转到PHP的程序员
  • 6. 从事过1年以内的PHP程序员,为提高自己的编程水平

常见的开发项目案例:

所有的个人和企业动态网站、淘宝网、京东商城、团购网、人人网、开心网、腾迅网、新浪网、CSDN技术社区、DeDeCMS系统、PHPWind论坛、微博,和所有现有产品的二次开发等

 

 

课程名 科目 内容 完成目标 课时(14)
PHP面向对象的程序设计
  • 面象对象的介绍
  • 类和对象之间的关系
  • 面向对象的程序设计

面向对象是PHP5中的新加功能,也是PHP以后编写代码的方式,本节掌握面向对象在行业中的应用,并了解一些基本的面向对象的声明语法。

1
  • 如何抽象一个类
  • 类的声明
  • 成员属性
  • 成员方法
  • 通过类实例化对象
  • 创建对象
  • 对象类型在内存中的分配
  • 对象中成员的访问
  • 特殊的对象引用“$this”
  • 构造方法与析构方法

本节掌握对象在程序中的应用,在内存中的分配形式,还要对象中的成员访问方式,并要掌握构造和析构以及关键字$this使用。

1
  • 封装性
  • 设置私有成员
  • 私有成员的访问
  • __set()、__get()、__isset()和__unset()
  • 四个方法

使用面向对象一定要使用他的三大特性,封装就是其中之一,这节掌握封装的意义以及封装的应用和各种与封装有关的魔术方法。

2
  • 继承性
  • 类继承的应用
  • 访问类型控制
  • 子类中重载父类的方法

继承性也是面向对象的三大特性之一,本节需要掌握继承的意义与应用,访问控制和重载的方式。

2
  • 常见的关键字和魔术方法
  • final关键字的应用
  • static和const关键字的使用
  • 克隆对象
  • 类中通用的方法__toString()
  • 通过__call()方法处理错误调用
  • 自动加载类
  • 对象串行化

在PHP的面向对象的程序设计中会用动一些常见的关键字和一些常用的魔术方法,在这一节中有许多都是常的,所以都需要全部掌握,并可以灵活运用。

1
  • 抽象类与接口和多态
  • 抽象方法和抽象类
  • 接口技术
  • 多态性的应用

这节主要了解抽象类和接口的作用,并掌握他们的声明与应用,重点掌握多态性的应用。

2
  • 与类和对象有关的系统函数
  • 与类有关的系统函数
  • 与对象有关的系统函数

PHP中提供的类和对象有关的函数不多,但比较常用。

1
  • 常用功能类的编写
  • 分页类
  • 验证码类
  • 图像处理类
  • 文件上传类
  • 数据验证类

通过这几个类的编写,不仅可以方便你在所有PHP项目中通用这些功能类,还可以对面向对象技术进行总结。

4

 

课程名 科目 内容 完成目标 课时(22)
PHP的mysqli模块扩展
  • MySQL存储过程
  • 存储过程及优点
  • MySQL实现存储过程
  • 存储过程集成在PHP应用中

存储过程是一种存储在书库中的程序,本节需要掌握一个存储过程包括名子,参数列表,以及包括很多SQL语句的SQL语句集,以及对局部变量,异常处理,循环控制和IF条件名的语法定义。

2
  • MySQL触发器
  • 触发器介绍
  • MySQL对触发器的支持

本节需要掌握触发器的应用,使用如果在PHP中使用触发器。

2
  • 数据库视图
  • 视图的应用介绍
  • MySQL对视图的支持
  • 将视图集成到PHP应用程序中

本节中介绍视图的应用,需要掌握MySQL对视图的支技和如果将视图整合到PHP应用程序中。

1
  • 实用数据库查询及优化
  • SQL语句查询优化
  • 排序输出
  • 创建分页输出
  • 列出页码
  • 子查询

本节主要内容是介绍一些在PHP项目中常用到的SQL语句的编写,掌握一些SQL语句的使用和优化的技巧。

2
  • 索引和搜索
  • 数据库索引介绍
  • 数据库应用
  • 基于表单的搜索

本节需要掌握如何为一个数据表创建索引,提高数据库的搜索过程,和掌握事务处理的原理和操作方法,并将其和PHP程序结合使用。

1
  • 事务处理
  • 什么是事务
  • MySQL的事务功能
  • 用PHP构建事务应用程序
  • 编写数据库操作类
  • 编写数据库操作类
  • 启用mysqli扩展模块
  • 使用mysqli的概述及安装

PHP的mysqli模块是对mysql模块的改进,使用PHP处理数据库效率有所提高,也使用的面向对象的处理方式,本节需要掌握mysqli安装、连接,以及和连接相关的mysqli类中成员的应用。

1
  • 使用mysqli类
  • 连接MySQL服务器
  • 处理连接错误报告
  • 关闭与MySQL服务器连接
  • 执行SQL命令
  • 使用mysqli_result类
  • 创建结果集对象
  • 回收查询内存
  • 从结果集中解析数据
  • 从结果集中获取数据列的信息
  • 一次执行多条SQL命令

本节主要需要掌握mysqli结果集对象的处理方法和属性,完成对数据中查询到的结果进行处理。

1
  • 使用mysqli_stmt类
  • 获取预处理语句对象
  • 绑定参数
  • 执行准备好的语句
  • 回收资源
  • 简单的示例分析
  • 使用预处理语句处理SELECT查询

本节需要掌握预处理对象的应用,以及如果使用问号参数,绑定参数,执行准备好的语句,和处理SELECT查询等。并可以通过mysqli完成事务处理的操作。

2
  • MySQLi数据库事务
  • 使用MySQLi进行事务处理
  • 构建事务应用程序
数据库抽象层PDO
  • PDO所支持的数据库
  • PDO的应用及所支持的数据库

本节要掌握PDO的应用原理和驱动设置,以及PDO的安装方法,并可以以多种方式创建PDO对象,和面要了解PDO对象中的成员。

1
  • PDO的安装
  • PDO的安装方法
  • 创建PDO对象
  • 以多种方式调用构造方法
  • PDO对象中的成员方法
  • 使用PDO对象
  • 调整PDO的行为属性
  • PDO处理PHP程序和数据库之间的数据类型转换
  • PDO的错误处理模式
  • 使用PDO执行SQL语句

本节需要掌握PHP中的各种属性的应用、设置和读取,以及PDO的错误处理模式,还需要了解通过PDO执行SQL语句。

1
  • PDO对预处理语句的支持
  • 了解PDOStatement对象
  • 准备语句
  • 绑定参数
  • 执行准备好的查询
  • 获取数据
  • 大数据对象的存取

PDO的预处理对象,可以完成PHP程序和数据库之间的各种操作。本节需要掌握如果使用PDO准备预处理语句,和绑定参数、执行准备好的语句,获取数据和大数据对象的存取,并可以使用PDO完成事务处理操作。

2
  • PDO的事务处理
  • PDO的事务处理方式
Memcached应用
  • 设计无限分类
  • Memcached的工作原理
  • 在Web开发中使用Memcached
  • 安装和应用Memcache服务器
  • Memcache服务器的管理
  • 操作和遍历Memcache内容
  • 在PHP中使用Memcached
  • Memcached安全设置

memcached是一个高性能的分布 式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。这个 缓存项目来构建自己大负载的网站,来分担数据库的压力。需要掌握Memcache全部细节。

2
session的高级
  • 设计无限分类
  • 将session信息写入远程文件中
  • 将session信息写入到数据库中
  • 将session信息写入到Memcached中
  • 统计在线用户列表

Session的信息除了可以写入到默认的文件中,也可以自己指定远程文件,以及写入到数据表中,还可以写入memcached来管理用户的信息,这是最优的一种方式,通过这种用法不仅可以提高管理用户信息的效率,还能方便完成在线用户的统计,掌握会话控制的全部技能。

3
项目设计
  • 设计无限分类
  • 设计无限分类
  • 添加分类
  • 修改分类
  • 删除分类
  • 使用分类

通过该项项目的开发,不仅可以完成无限分类的设计,还可以帮助掌握数据库的应用,以及PHP中处理数据库的方式。

3

 

课程名 科目 内容 完成目标 课时(40)
页面特效开发脚本
  • JavaScript
  • JavaScript应用概述
  • JavaScript脚本中变量与运算符
  • JavaScript流程控制和函数
  • JavaScript中数组和对象的创建及应用

可以完成JavaScript的所有语法的学习,以及和HTML和CSS联合使用,并可以编写一些页面中常见的脚本程序。

8
  • DOM编程
  • DOM及DHTML的应用介绍
  • 各种事件及事件处理程序的应用
  • 窗口window对象的属性和方法
  • 文档document对象的应用
  • 其location、body、form、screen等对象的使用

学会页面中DOM的灵活应用、事件处理,还有各种DOM对象的属性和方法,以及网页中所有特效的编写。

12
  • XML
  • XML介绍
  • DTD介绍
  • 名字空间

XML技术也是在Web开发中常见的应用形式, 本节掌握XML文件的编写和注意事项,以及DTD的应用与语法格式。

2
  • XML DOM
  • DOM节点访问
  • DOM节点信息
  • DOM节点列表
  • DOM解析
  • DOM遍历节点

本节掌握通过JavaScript中的XML DOM去实现XML节点数的遍历、添加、删除和悠改,并处理各种浏览器之间的差异。

2
  • Ajax的应用
  • Ajax概述
  • Ajax定义
  • 使用Ajax创建Ajax的引擎
  • Ajax Web应用模式(异步)
  • Ajax 开发中的应用
  • 编写和应用自定义的Ajax类
  • 使用Ajax完成XML的操作
  • 在Ajax应用json技术

这节要了解异步传递数据的方式,并掌握创建Ajax对象和应用Ajax对象中的属性和方法。通过完成编写Ajax对象的应用,简化Ajax的应用。

4
Ajax与JQuery框架应用
  • JQuery的使用
  • JQuery的概述
  • JQuery的核心方法
  • JQuery的选择器
  • JQuery的属性
  • JQuery的筛选和文档处理
  • JQuery的CSS应用

本节需要掌握在HTML文件中添加JQuery的应用,可以使用JQuery中的核心方法,以及常用选择器的使用,和一些常用的JQuery方法。

2
  • JQuery的Ajax应用
  • JQuery的事件
  • JQuery的效果
  • 使用JQuery中的Ajax应用

Ajax是JQuery重点实现的技术,掌握JQuery中的几种实现方法。

2
  • JQuery的实例开发
  • 使用JQuery开发可以编辑的表格
  • 使用JQuery开发页面选择卡实例
  • JQuery的导航菜单的制做

使用JQuery实现一些常见的页面实例,进面巩固JQuery的学习。

4
PHP与XML
  • PHP处理XML
  • XML与PHP的应用
  • 以DOM方式解析XML
  • 以sax方式解析XML
  • RSS处理

本节需要掌握PHP处理XML的方式,包括DOM和SAX两种方式。

2
  • Web Service应用
  • Web Service介绍
  • SOAP介绍
  • SOAP的应用

Web Service是Web开发中常见的技术,这节需要掌握SOAP的应用。

2

 

课程名 科目 详细内容 完成目标 课时(34)
PHP的模板技术Smarty
  • 什么是模板引擎
  • 模板引擎的应用

了解模板技术在PHP开发中的应用,并通过编写简单的模板引擎,掌握模板引擎的工作原理。

1
  • 编写自己的模板引擎
  • 创建自己的模板引擎类
  • 使用自已的模板引擎
  • 自定义模板的使用示例分析
  • 选择Smarty模板引擎
  • Smarty模板引擎应用

本节需要掌握Smarty的安装和安使用化Smarty对象的一些些节,并通过一个简单的示例来了解Smarty工作原理,以及在应用程序中使用Smarty模板技术的步骤。

2
  • 安装Smarty及初使化配置
  • 安装Smarty初使化Smarty类库的默认设置
  • 第一个Smarty的简单示例
  • Smarty在应用程序逻辑层
  • Smarty在应用程序逻辑层的使用步骤
  • Smarty模板中的程序逻辑
  • 模板中的注释
  • 模板中变量的声明
  • 在模板中输出从PHP分配的变量
  • 模板中变量的数学计算
  • 在模板中使用{$smarty}保留变量
  • 变量调解器
  • 模板的控制结构
  • 在模板中包含子模板

本节需要掌握Smarty的基本语法,包括在模板中的注释,变量的声明,以在PHP中向模板中分配变量,还有保留变理和变量调解器、控制结构和子模板的应用。

2
  • 为Smarty模板创建配置文件
  • 后台状态栏
  • 配置文件语法格式
  • 加载配置文件
  • 引用配置文件中的变量

这节需要掌握为什么要使用配置文件,和配置文件的使用方法。

1
  • Smarty处理页面缓存
  • 在Smarty中控制缓存
  • 每个页面多个缓存
  • 为缓存实例消除处理开销
  • 清除缓存
  • 关闭局部缓存

缓存是模板技术中重点需要实现的,本节需要掌握模板的开启选项,使用多个缓存,以及消除处理开销和清除关闭局部缓存。

2
PHP设计模式
  • MVC模式
  • MVC模式介绍

本节需要掌握MVC的设计模式,包括视图、控制器、模型的应用。

4
创建自己的PHP框架
  • 自定义框架掌握PHP框架内幕
  • 了解主入口文件
  • 写URL路由
  • 自己定义全局控制器类
  • 自己定义全局业务模型类
  • 优化自己的框架
  • 使用自定义PHP框架创建应用

框架是开发项目的半成品,可以将项目开发的时间提高50%,通过自己定义的框架技术不仅可以将所学的知识点全部串在一起应用,还可以掌握框架内幕,对以后的学习和工作大有帮助,需要掌握框架开发的每个细节。

10
PHP中应用框架技术
  • ThinkPHP配置
  • 目录结构
  • MVC分层

本节需要掌握ThinkPHP的工作方式和ThinkPHP的目录结构。

2
  • 控制器
  • 商品的添加
  • 模块和操作
  • URL优化
  • 模块的高级操作
  • 页面跳转 重定向

本节需要掌握控制器的编写结构和访问方式,并掌握ThinkPHP内置控制中的一些常用方法。

2
  • 模型
  • 页面的布局
  • 模型和操作
  • CURD操作
  • 数据验证
  • 查询语言
  • 高级模型
  • 视图模型
  • 关联模型

本节需要掌握模型的操作,包括ThinkPHP中常用的模型功能。

2
  • 视图
  • 模板与操作
  • ThinkPHP模板技术

重点掌握ThinkPHP的模板应用以及一些模板的相关操作。

2
  • 特殊处理
  • 错误和日志
  • 调试
  • 缓存
  • 安全

掌握一些ThinkPHP的特殊处理,包括错误和日志、调试、缓存以及安全方面的处理。

1
  • 功能类库
  • 数据分页
  • 文件上传
  • 验证码
  • 图像处理

掌握ThinkPHP中内置的常用功能类库,也要掌握自己编写类型对ThinkPHP时进行扩展。

1
  • Rbac权限管理
  • Rbac权限管理详解

掌握ThinkPHP中处理用户权限

1
  • 第三方软件和第三方类库
  • FCK应用
  • JQuery结合

本节需要掌握ThinkPHP与第三方常用的软件库和类库的结合应用。

1
PHP6的新特性
  • PHP6中的新特性
  • PHP6.0更加好的Unicode支持
  • NameSpace:名字空间,将更好的避免在函数及类之间的变量名冲突
  • PHP6.0令人激动的Web2.0特性
  • PHP6中的XML与SOAP

介绍了PHP6中的新特性和已更改的特性。其中最主要的特性就是对Unicode的支持。删除了一些配置选项,改进了扩展支持和OO函数。PHPV5.3支持PHPV6的50%的特性。

2
  • PHP6的扩展
  • 删除了几个函数
  • 默认情况下不启用
  • 一些常用的改进
  • 一些有用的扩展
Zend的产品
  • Zend Guard
  • Zend Guard安装
  • Zend Guard使用加密PHP代码

Zend公司的核心产品应该是PHP语言。其实我们把PHP理解为一个Web引擎或开发平台可能也没错。Zend公司依托其优秀的、开源的PHP语言在程序员中创下了良好的口碑,并围绕PHP语言开发了一系列的支持产品,形成了一条从Web项目/产品开发到部署的生产线。

18
  • Zend Core
  • Zend Core的安装
  • Zend Cord的环境使用
  • Zend Studio
  • Zend Studio安装
  • Zend Studio工具的使用
  • Zend Framework
  • ZF访问方式
  • ZF环境配置
  • ZF组织页面
  • ZF安排控制器和action
  • ZF启用Zend_Layout
  • ZF初始化数据库连接与操作
  • 使用ZF开发一个文章管理模块

 

科目 内容 完成目标 课时(40)
第二个项目基于自定义PHP框架
  • 内容管理系统(CMS)

以组为单位任选一个项目,完成项目的分析、设计、编码、整合与测试,并可以正常运行,消除BUG.符合代码的编码规范和Web开发规范,并要基于MVC模式和面向对象思想,并用到前面课程所学到的全部知识点完成项目。

40
  • 在线考试系统
  • 办工自动化系统(OA)

 

科目 内容 完成目标 课时(48)
基于ThinkPHP框架
  • 基于ThinkPHP的电子商务系统

以组为单位任选一个项目,基于ThinkPHP的框架技术实现。

48
  • 基于ThinkPHP的论坛BBS系统
  • 基于ThinkPHP开发物流管理系统

 

217月/119

Linux系统工程师课程体系

发布在 邵珠庆

课程介绍:

本课程共计60课时,内容包括Linux系统管理、Linux网络管理和LAMP环境搭建及管理三部分。课程学习可掌握Linux系统管理,包括服 务器安装及部署、常用命令及使用技巧、文本编辑器Vim/Vi、系统引导流程、软件管理、用户和用户组管理、服务和进程管理、计划任务、文件系统管理与维 护、Shell编程等;Linux网络管理部分,包括网络管理命令、网络配置文件、互联网寻址机制解析、远程控制管理、文件共享服务等; LAMP环境搭建及管理部分,包括LAMP环境搭建、Apache服务器配置与管理、FTP服务器配置、安全设置、防火墙应用、典型互联网应用案例等。

学完本课程后,可配置和管理基于Linux架构的Web服务器及Linux各种应用服务器的日程管理工作。

课程特点:

 

  • 1. 课程设计注重实用性,针对实际企业应用
  • 2. 零基础即可学习,课程循序渐进,层层分解
  • 3. 案例式教学,以实际企业案例为导向
  • 4. 采用最新应用最广的Linux操作系统为例讲解
  • 5. 由易而难,课程注重学习者接受逻辑性设计,降低Linux学习难度
  • 6. 课程最后企业虚拟主机商服务应用案例串联所有讲解内容

预期目标:

 

  • 1. 掌握LAMP环境搭建及安全和优化设置
  • 2. 掌握Apache典型企业应用案例
  • 3. 掌握Linux及跨平台的文件系统备份及管理
  • 4. 掌握Linux常用的网络设置及管理
  • 5. 掌握Linux系统管理
  • 6. 熟悉运用Shell编程及计划任务实现自动化管理
  • 7. 了解Linux的应用领域及特点
  • 8. 掌握Linux系统常用故障排除

适合目标群体:

 

  • 1. PHP程序员,Web开发工程师
  • 2. 对计算机、互联网和Windows操作系统有基本了解的学生
  • 3. 网络管理员和技术支持工程师
  • 4. 对网络管理和Web开发有兴趣的本专科院校的大学生
  • 5. 对Linux有兴趣的开源爱好者

项目案例:

建立企业虚拟主机商服务

科目 内容 完成目标 课时(60) 课上实例
Linux系统管理
  • Linux应用简介
  • Linux服务器系统安装与部署
  • Linux常用命令
  •    -文件处理命令
  •    -权限管理命令
  •    -文件查找命令
  •    -帮助命令
  •    -压缩解压命令
  •    -网络命令
  •    -关机重启命令
  • Shell使用技巧
  • Vim/Vi文本编辑器应用

了解Linux系统特点及应用领域,掌握虚拟机软件的应用,掌握如何安装部署一台Linux服务器,学会远程登录管理软件的应用,掌握Linux常用命令操作及基本权限管理,掌握Shell命令使用技巧,熟悉文本编辑器Vim/Vi的应用与技巧。

12
  • 实训1:虚拟机软件安装与使用
  • 实训2:Linux服务器安装与部署实例
  • 实训3:Linux权限管理实例
  • 实训4:Linux问题解决思路实例
  • 实训5:Linux文件搜索实例
  • 实训6:Linux命令使用技巧实例
  • 实训7:Vim/Vi应用技巧实例
Linux系统管理
  • Linux系统引导流程解析
  • Linux运行级别管理及服务管理
  • Linux故障分析及解决方法
  • Linux软件包管理
  •    -二进制包管理
  •    -源代码包管理
  •    -脚本安装
  • Linux用户及用户组管理
  • Linux特殊权限设置及应用
  • 管理员授权管理
  • Linux服务与进程管理
  • 计划任务应用及典型案例
  • 文件系统管理与维护
  • 硬盘分区及设备管理
  • 磁盘配额应用

掌握Linux系统的所有管理知识。了解Linux引导流程每个步骤及错误分析,掌握各个运行级别及服务启动控制,掌握Linux各种软件包的安 装、卸载、升级、校验、查询和文件提取操作,熟悉Linux用户和用户组配置文件及命令操作,掌握管理员如何授权,掌握SetUID及粘着位等特殊权限应 用,掌握文件系统权限及ACL权限控制,掌握服务与进程管理命令,熟练计划任务编写,掌握Linux文件系统结构及文件系统操作命令,掌握日常硬件的添加 和管理,掌握磁盘配额设置。

24
  • 实训1:Linux系统修复实例
  • 实训2:系统服务定制
  • 实训3:Linux下各种软件包管理实例
  • 实训4:特殊权限应用实例
  • 实训5:企业计划任务案例剖析
  • 实训6:添加硬盘分区实例
  • 实训7:磁盘配额设置案例
  • 实训8:管理员授权典型应用
  • 实训9:备份与恢复典型案例
Shell编程
  • Shell脚本结构
  • Shell变量定义
  • Shell基本语法
  • Shell脚本调试
  • Shell典型应用案例

掌握编写Shell脚本及典型的企业自动化脚本实现

4
  • 实训1:计划任务与Shell脚本结合应用
  • 实训2:批量添加删除用户案例
  • 实训3:批量设置用户磁盘配额
  • 实训4:自动搜集系统信息与用户信息案例
  • 实训5:企业备份脚本案例
  • 实训6:自动化进程管理脚本
Linux网络管理
  • Linux网络管理命令
  • Linux网络配置文件
  • 互联网寻址机制解析
  • Linux文件共享服务
  •    -Samba服务器配置
  •    -FTP服务器配置
  •    -NFS服务器配置
  •    -SSH与rsync应用

可以完成Linux的网络配置,掌握互联网的寻址流程和原理,掌握如何通过Window远程管理Linux服务器,掌握如何构建FTP服务应用,掌握如何实现不同系统平台之间的文件共享,掌握企业自动化异地备份应用的实现。

8
  • 实训1:Linux网络配置应用实例
  • 实训2:FTP服务器应用实例
  • 实训3:Linux与Windows混合网络文件共享实例
  • 实训4:Linux/UNIX文件共享应用实例
  • 实训5:企业自动化异地备份应用典型案例
LAMP环境搭建及管理
  • LAMP环境搭建(Apache、MySQL和PHP源码包安装与优化)
  • Apache网站服务器的配置与管理
  • Web服务器的虚拟主机的实现
  • Apache站点登录控制
  • Linux系统安全
  • Netfilter/Iptables配置及应用实例

学会搭建LAMP环境,架设Apache服务器,实现Apache的典型应用,学会虚拟主机实现,学习站点登录控制实现。掌握Linux安全知识,学会配置Linux防火墙。

8
  • 实训1:LAMP工作环境搭建实例
  • 实训2:典型Apache服务器配置实例
  • 实训3:虚拟主机应用实例
  • 实训4:站点登录控制应用实例
  • 实训5:Apache优化实例
  • 实训6:防火墙配置应用案例
项目设计(综合复习)
  • 模拟虚拟主机商服务
搭建Linux服务器实现虚拟主机服务提供 4
  • 实训:架设企业虚拟主机应用