PHP程序员要掌握哪些技术
导读:本文共7709字符,通常情况下阅读需要26分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 中级PHP程序员1.Linux能够流畅的使用 Shell 脚本来完成很多自动化的工作;awk/sed/perl 也操作的不错,能够完成很多文本处理和数据统计等工作;基本能够安装大 部分非特殊的 Linux 程序(包括各种库、包、第三方依赖等等,比如 MongoDB/Redis/Sphinx/Luncene/SVN 之类的);了解基 本的 Linux 服务,知道... ...
目录
(为您整理了一些要点),点击可以直达。能够流畅的使用 Shell 脚本来完成很多自动化的工作;awk/sed/perl 也操作的不错,能够完成很多文本处理和数据统计等工作;基本能够安装大 部分非特殊的 Linux 程序(包括各种库、包、第三方依赖等等,比如 MongoDB/Redis/Sphinx/Luncene/SVN 之类的);了解基 本的 Linux 服务,知道如何查看 Linux 的性能指标数据,知道基本的 Linux 下面的问题跟踪等
在第一阶段的基础上面,了解复杂一些的 Nginx 配置;包括多核配置、events、proxy_pass,sendfile/tcp_*配置,知道超 时等相关配置和性能影响;知道 nginx 除了 web server,还能够承担代理服务器、反向静态服务器等配置;知道基本的 nginx 配置调优;知道如 何配置权限、编译一个 nginx 扩展到 nginx;知道基本的 nginx 运行原理(master/worker 机制,epoll),知道为什么 nginx 性能比 apache 性能好等知识;
能够设计大部分中型系统的网站架构、数据库、基本 PHP 框架选型;性能测试排查处理等;能够完成类似:浏览器 -> CDN(Squid) -> Nginx+PHP -> 缓存 -> 数据库 结构网站的基本设计开发维护;能够支撑 每天数百万到千万流量基本网站的开发维护工作;
重点:除了基本的 LNMP 程序,还能够在某个方向或领域有深入学习。(纵深维度发展)
目标:除了能够完成基本的 PHP 业务开发,还能够解决大部分深入复杂的技术问题,并且可以独立设计完成中大型的系统设计和开发工作;自己能够独立 hold 深入某个技术方向,在这块比较专业。(比如在 MySQL、Nginx、PHP、Redis 等等任一方向深入研究)
深入了解 HTTP 协议(包括各个细致协议特殊协议代码和背后原因,比如302静态文件缓存了,502是 nginx 后面 php 挂了之类的);除了之前的前端 方面的各种框架应用整合能力,前端方面的学习如果有兴趣可以更深入,表现形式是,可以自己开发一些类似 jQuery的前端框架,或者开发一个富文本编辑器 之类的比较琐碎考验 JavaScript 功力;
在本阶段里面,会除了基本的 LNMP 技能之外,会考虑一些其他领域知识的学习,这些都是可以的,看个人兴趣和长期的目标方向。目前情况能够选择的领域比较 多,比如、云计算(分布式存储、分布式计算、虚拟机等),机器学习(数据挖掘、模式识别等,应用到统计、个性化推荐),自然语言处理(中文分词等),搜索 引擎技术、图形图像、语音识别等等。除了这些高大上的,也有很多偏工程方面可以学习的地方,比如高性能系统、移动开发(Android/IOS)、计算机 安全、嵌入式系统、硬件等方向。
系统设计在第二阶段的基础之上,能够应用掌握的经验技能,设计出比较复杂的中大型系统,能够解决大部分线上的各种复杂系统的问题,完成类似 浏览 器 -> CDN -> 负载均衡 ->接入层 -> Nginx+PHP -> 业务缓存 -> 数据 库 -> 各路复杂后端 RPC 交互(存储后端、逻辑后端、反作弊后端、外部服务) -> 更多后端 酱紫的复杂业务;能够支撑每天数千万到数 亿流量网站的正常开发维护工作。
PHP程序员要掌握哪些技术的详细内容,希望对您有所帮助,信息来源于网络。