目录
大型PHP企业级应用开发实战
php目前正在成为一门越来越火的后台开发语言;目前,百度、腾讯、滴滴等一线互联网公司都在使用php作为部分项目或者全部项目的开发工作。然而,虽然php容易入门,但是web开发设计的知识却远远不只是php一门语言,还会涉及到redis、mysql、消息队列、nginx、linux等。但是,很多php程序员都对此知识知之甚少,始终处于初级的层次。在此情况下,为了让大家了解到目前大型互联网比较常用的设计工具和设计理念,特录制了相关课程对此进行了一些介绍。除此之外,课程中十分强调阅读优秀源码的重要性,希望学习的同学能够扎下心来,阅读一些优秀的源码,将会大大提高自己的内功。
1.课程研发环境
开发工具: Windows下是以phpstudy为主 Linux下是经典LNMPR(Redis)组合
数据库工具: Redis Mysql
其他工具: Composer Pheanstalk shell Markdown文档管理工具
2.内容简介
本教程首先介绍了目前web系统的一个最为常用的组件Redis;Redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这些特性使得Redis成为目前几乎所有互联网公司的必备组件,因此Redis应该是web开发人员的必会工具。其次对代码管理工具svn与git进行了详细介绍,紧接对Linux与Nginx进行了详细介绍,实际上作为后端web开发,对Linux以及Nginx的熟悉程度决定着个人在技术道路的深度。然后对php的一个最为常用的框架-CodeIgniter框架进行了源码分析,学员不仅可以学到CI框架的用法,同时,还会学到CI框架的源码精髓。由于大型互联网公司的架构中,消息队列的作用毋庸置疑,所以也以Pheanstalk和Redis为例子介绍了目前互联网公司使用比较频繁的消息队列实现思路。最后,带领学员剖析和二次开发了shopnc框架,学员在这个shopnc的实战中能够融合之前所学的知识,更好地理解web设计的理念。
俯瞰四维老师,5年互联网公司研发经历,从事过php高级开发工程师、运维工程师、Golang工程师等职位,积累了大量高性能服务器设计、高可用web系统设计等相关领域的经验,曾先后工作于优酷、滴滴等一线互联网公司,负责过滴滴打车、直播、跨境电商等项目;任教期间,结合自身工作经历经验,力求向学员展示实用的技术、给力的工具、真实的程序猿,十分注重源码的阅读和讲解,力求授学员以渔,真正让学员走入互联网。
第一部分: Redis系统课程
第1讲 redis基础介绍
第2讲 redis中string类型介绍
第3讲 redis中的键的生存时间
第4讲 redis中的Hash结构
第5讲 redis中的List结构上
第6讲 redis中的List结构中
第7讲 redis中的List结构下
第8讲 redis中的set结构
第9讲 redis中的zset结构上
第10讲 redis中的zset结构中
第11讲 redis中的zset结构下
第12讲 redis中keys与type命令
第13讲 redis中位操作命令
第14讲 redis中的事务操作
第15讲 lua脚本基础
第16讲 redis中执行lua脚本
第17讲 redis中的sort命令上
第18讲 redis中的sort命令下
第19讲 redis中之安全问题
第20讲 redis之持久化介绍
第21讲 php与redis上
第22讲 php与redis中
第23讲 php与redis下
第24讲 php中调用eval
第25讲 redis之读写分离
第26讲 redis应用之访问频率限制
第27讲 redis应用之输入提示
第28讲 redis应用之常规队列
第29讲 redis应用之发布订阅系统
第30讲 redis的运维命令上
第31讲 redis的运维命令下
第二部分:git与svn
第1讲 git与svn概述
第2讲 git常用命令讲解
第3讲 git常用命令讲解
第4讲 git常用命令讲解
第5讲 git分支管理命令讲解
第6讲 git高级命令讲解
第7讲 git服务器搭建
第8讲 svn服务器搭建
第9讲 svn与git对比
第三部分:Linux与Nginx课程
第1讲 Linux与Nginx概述
第2讲 Linux常用命令之文件与目录
第3讲 Linux之vim编辑器
第4讲 Linux文件与目录权限上
第5讲 Linux文件与目录权限下
第6讲 Linux之文件查找
第7讲 Linux之文件系统
第8讲 Linux之文件压缩与打包
第9讲 Linux之grep命令
第10讲 Linux之管道命令
第11讲 Linux之排序、统计命令
第12讲 Linux之sed命令
第13讲 Linux之awk命令上
第14讲 Linux之awk命令下
第15讲 Linux之shell script上
第16讲 Linux之shell script中
第17讲 Linux之shell script下
第18讲 Linux之wget与curl命令
第19讲 Linux之crontab
第20讲 Nginx与phpfpm介绍
第21讲 Nginx配置进阶
第22讲 Linux之tcpdump命令
第23讲 Linux运维命令上
第24讲 Linux运维命令下
第四部分 php之CodeIgniter框架讲解
第1讲 php框架概述
第2讲 CodeIgniter框架环境搭建
第3讲 CodeIgniter框架之index.php
第4讲 CodeIgniter框架之CodeIgniter.php
第5讲 CodeIgniter框架之自己写Controller
第6讲 CodeIgniter框架Loader之view
第7讲 CodeIgniter框架Loader之config
第8讲 CodeIgniter框架Loader之helper与library
第9讲 CodeIgniter框架Loader之redis
第10讲 CodeIgniter框架Loader之database
第11讲 CodeIgniter框架之Input
第12讲 CodeIgniter框架之Hook
第13讲 CodeIgniter框架加载过程总结
第14讲 CodeIgniter框架项目实战之微信公众号开发1
第15讲 CodeIgniter框架项目实战之微信公众号开发2
第16讲 CodeIgniter框架项目实战之微信公众号开发3
第17讲 CodeIgniter框架项目实战之微信公众号开发4
第18讲 CodeIgniter框架项目实战之微信公众号开发5
第19讲 CodeIgniter框架项目实战之改写你的URL
第五部分 消息队列讲解
第1讲 消息队列概述
第2讲 php之fastcgi_finish_request
第3讲 composer依赖管理工具01
第3讲 composer依赖管理工具02
第3讲 composer依赖管理工具03
第4讲 pheanstalk基础讲解
第5讲 pheanstalk安装与使用01
第5讲 pheanstalk安装与使用02
第6讲 php与pheanstalk_1
第7讲 php与pheanstalk_2
第8讲 php与pheanstalk_3_01
第8讲 php与pheanstalk_3_02
第9讲 php与pheanstalk_4
第10讲 CodeIgniter与pheanstalk
第11讲 pheanstalk持久化设计_1
第12讲 pheanstalk持久化设计_2_01
第12讲 pheanstalk持久化设计_2_02
第13讲 pheanstalk持久化设计_3
第14讲 pheanstalk持久化设计_4
第15讲 pheanstalk持久化设计_5_01
第15讲 pheanstalk持久化设计_5_02
第15讲 pheanstalk持久化设计_5_03
第16讲 redis实现定时队列_1
第17讲 redis实现定时队列_2
第18讲 redis实现定时队列_3_01
第18讲 redis实现定时队列_3_02
第六讲 项目实战
第1讲 项目实战概述
第2讲 Fiddler与postman上
第3讲 Fiddler与postman下
第3讲 chrome调试技巧介绍
第4讲 大型网站架构原理上
第4讲 大型网站架构原理下
第5讲 shopnc整体结构讲解
第6讲 shopnc之安装讲解
第7讲 shopnc之controller讲解
第8讲 shopnc之Model讲解
第9讲 shopnc之View讲解
第10讲 shopnc之函数与类库讲解
第11讲 shopnc之数据库操作讲解
第12讲 shopnc之C函数与开启调试模式讲解
第13讲 shopnc之redis使用
第14讲 shopnc之redis主从配置
第15讲 shopnc之Language讲解
第16讲 shopnc之注册流程讲解
第17讲 shopnc之登陆流程讲解
第18讲 shopnc之购物车逻辑讲解上
第19讲 shopnc之购物车逻辑讲解下
第20讲 shopnc之核对订单逻辑
第21讲 shopnc之核对订单到结算流程转换讲解
第22讲 shopnc之订单生成逻辑讲解
第23讲 shopnc之订单支付讲解
第24讲 shopnc之支付宝支付原理讲解
第25讲 shopnc之支付宝支付return_url讲解
第26讲 shopnc之支付宝支付notify_url讲解
第27讲 shopnc之订单管理讲解
第28讲 shopnc之队列讲解上
第29讲 shopnc之队列讲解下
第30讲 shopnc之迁移Linux
第31讲 shopnc之迅搜讲解1
第32讲 shopnc之迅搜讲解2
第33讲 shopnc之迅搜讲解3
第34讲 shopnc之迅搜讲解4
第35讲 shopnc之迅搜讲解5
第36讲 shopnc之讯搜讲解6
第37讲 shopnc之定时任务讲解
第38讲 shopnc之平台后台简介
第39讲 shopnc之wap讲解上
第40讲 shopnc之wap讲解下
第41讲 Markdown文档撰写上
第42讲 Markdown文档撰写下
第43讲 shopnc之优惠券功能开发1
第44讲 shopnc之优惠券功能开发2
第45讲 shopnc之优惠券功能开发3
第46讲 shopnc之优惠券功能开发4
第47讲 shopnc之优惠券功能开发5
第48讲 shopnc之优惠券功能开发6
第49讲 shopnc之优惠券功能开发7
第50讲 shopnc之优惠券功能开发8
第51讲 shopnc之优惠券功能开发9
第52讲 shopnc之优惠券功能开发10
第53讲 shopnc之优惠券功能开发11
第54讲 shopnc之优惠券功能开发12
第55讲 面试笔试专题概述
第56讲 面试笔试之边界处理与效率分析上
第57讲 面试笔试之边界处理与效率分析下
第58讲 面试笔试之递归算法上
第59讲 面试笔试之递归算法中
第60讲 面试笔试之递归算法下
第61讲 面试笔试之动态规划算法上
第62讲 面试笔试之动态规划算法下
第63讲 面试笔试之海量数据处理
目标一. 综合学到Redis的基本用法以及高级技巧(要熟练掌握Redis五种基本数据结构、Redis主从同步、Redis sentinel等)
目标二. 熟练掌握git与svn两大最为常用的代码管理工具,进一步能够自己搭建git与svn服务器
目标三. 帮助后端开发迅速熟悉Linux与Nginx部署
目标四. 通过对CodeIgniter框架的解读,让学员不仅学会CI框架的知识,还要学会CI源码的精髓
目标五. 通过对消息队列的实战演练,让学员首先学会利用Composer工具管理php项目,同时学会利用pheanstalk以及Redis实现各种复杂的队列以解决现实的需求
目标六. 分析和二次开发shopnc框架,并且剖析其源码,让学员在批判中提高,shopnc有值得学习的地方,也有值得改善的地方,最后在一个券项目开发中带领学员进一步熟悉结算以及支付流程
目标七. 介绍了面试和笔试常考察的题目以及解决思路,希望助学员找到心仪的好工作
亮点一、课程比较前沿,都是一线互联网相关的设计理念和工具(比如Redis、Pheanstalk、Composer管理工具、Markdown等)
亮点二、课程比较综合 不仅包括php本身 还有redis、nginx、linux、消息队列等后端开发都需要掌握的技术
亮点三、课程比较实际 介绍了php的一些前沿技术以外 还介绍大公司的算法面试题目讲解
1.课程针对人群
本课程针对具有一定的php基础并且希望提高自己技能的学员,如果学员对Mysql也有一定基础,则更能够从本课程收益;同时,由于本课程较为综合,所以学员也可以单独对其中部分重点学习,比如想入手Linux的可以单独学习Linux部分,想学习CodeIngiter框架的可以单独学习CI框架部分;而且本课程考虑部分人群的面试需求,也录制了部分针对面试笔试的算法与数据结构方面的课程,介绍了大型互联网公司面试与笔试时常考的算法与数据结构类型题,希望能够助学员斩获一份好工作!
2.我该怎么学,如何才能学好这门课程,给些建议。
4.1、时间上的安排建议
本课程共164讲,如果您时间上充分,建议以每天3-4讲的进度往前学习。
4.2、学习要求
如果您没有基础,建议还是中规中矩的按照课程进度一点一点仔细观看学习,并一定要把看完的视频中的代码自己手敲一遍,以加深理解和记忆
如果您有基础,可不必按步就搬进行,可以拿你感兴趣的部分去学习,但一定要注意实践,并学会举一反三
4.3、讲师建议
1.最好看完视频之后,抛开视频,独立自己去把上课中的示例写一遍,看自己是否理解,如果不正确,可以回过头看再看下视频,如果反复,达到真正理解和熟练掌握的目的。
2.对于项目实战部分,一定要自己亲自动手做一遍,不要满足听完就OK了
3. 建议一般听视频,一般拿个纸和笔,做一些记录和笔记,这是一种非常好的学习习惯。
4. 一定不要过于依赖视频,要学会看API和使用百度(如果有条件可以考虑Google和Stackoverflow),学会思考,学会举一反三
5. 要多阅读优秀源码 这样提高神速
6. 最后祝您学有所成
课程是属于某个特定的专业技术,掌握该技术后,你可以从事以下职位的相关工作
1.php开发工程师
2.运维工程师