修炼之路
阶段1
能简单处理html+css+js前端页面,可实现管理后台前端页面

熟练安装php的web运行环境,并调整配置,会自行安装php扩展

熟练数据库操作,清楚为何使用pdo而不使用mysql等其他数据库扩展

熟练php的语法,熟练使用内置函数,并明白各函数的作用

掌握compose的用法,熟练使用主流框架,如 ThinkPHP、Laravel

掌握一些基础的算法,如递归、冒泡排序

阶段2
清楚动态语言和静态语言的区别,明白PHP的局限性

清楚session、cookie的运行机制、特性、使用方法

清楚web服务的访问原理,每个环节是如何协作的,如: Nginx 是如何调用 PHP 的

掌握Linux的基本用法,如:
基本操作 ls/chmod/chown/rm/find/ln/cat/mount/mkdir/tar/gzip

文本操作命令 sed/awk/grep/tail/less/more

管理命令 ps/top/lsof/netstat/kill/tcpdump/iptables/dd

熟练调优Linux + Nginx + MySQL + PHP + Redis环境
能调整Nginx的rewrite、location等的配置,熟练使项目支持伪静态
熟悉主流的代码规范,如: PSR,注重代码风格和注释习惯,编写高效的代码
能自行实现autoload机制,清楚compose如何运作的

能实现接管PHP本身的session,模仿cookie机制

清楚PHP为何可以使用全单例模式,而不容易出现线程安全问题
熟练使用缓存,知道如何利用缓存提高系统的并发负载能力
有并发安全意识,知道如何规避并发情况下导致的安全问题,善用锁机制
有效避免或解决sql注入、js注入、xss跨站攻击
针对不同项目更有针对性设计数据结构,知道如何通过数据结构约束来避免大量的数据查询
能够重新实现php基础框架v3/package下的所有功能
能安全、有效地处理文件、图片,意识到句柄资源为何需要释放和加锁
知道如何优化计算量巨大的请求,如: 每个用户同一时间只能运行一个任务,也可通过定时任务来优化
能针对不同的sql语句提供优化方案,使用explain
清楚HTTPS、HTTP的区别,知道如何搭建HTTPS
阶段3
研究HTTP、TCP/IP协议

熟练掌握socket套接字网络编程

熟练组建代码分布式集群、MySQL分布式集群、PHP分布式集群

熟练搭建常见的服务器监控方案

系统(CentOS)运行不稳定时,可以根据排查原因并解决

知道如何使用CDN来优化网站访问

可以自行开发PHP扩展
还是迷茫的话,去学一门强类型语言吧,c\c++\java\golang 等

sanchi的更多相关文章

  1. Swagger2的使用及注意事项

    一.Swagger的主要作用有两方面: 1.生成在线文档,通过注解方式生成在线文档,方便在定义修正接口时直接修改接口文档: 2.对接口文档在线测试,不用在输入接口地址以及里面的参数对象,可以很方便的对 ...

  2. rainmeter 修正天气插件信息不准确 设置居住城市

    rainmeter天气插件的原理是用爬虫抓取一个天气网页然后用自带的那一套正则表达式匹配出天气信息 在国外官网社区下载的插件的天气信息城市都会出现问题(因为插件作者又不知道你在哪),解决方法是在原基础 ...

随机推荐

  1. Drools(BRMS) 速成教程(上)

    大家在日常开发中,肯定遇到过一些业务规则变来变去的需求,比如:会员积分系统(今天要新注册会员送10积分,明天要改成注册送优惠券,后天搞活动要改成注册自动变成高级会员...),此类需求,一般都是通过写i ...

  2. Sqoop导入到hdfs

    1.注意win下直接复制进linux 改一下--等 sqoop-list-databases --connect jdbc:mysql://122.206.79.212:3306/ --usernam ...

  3. log4j2发送消息至Kafka

    title: 自定义log4j2发送日志到Kafka tags: log4j2,kafka 为了给公司的大数据平台提供各项目组的日志,而又使各项目组在改动上无感知.做了一番调研后才发现log4j2默认 ...

  4. HRD Emulator in HTML5

    Posted on March 21, 2012 by Moto Just like MPEG-2 video uses VBV (Video Buffer Verifier), H.264 stan ...

  5. ionic actionsheet在android下的样式问题

    https://forum.ionicframework.com/t/actionsheets-android-ugly-styling-need-help/18462/10 想要修改ionic的样式 ...

  6. PL/SQL学习笔记之事务

    一:事务自动提交的开启与关闭 1)开启事务自动提交:则每一个INSERT,UPDATE或DELETE命令执行时,都提交一次事务. SET AUTOCOMMIT ON; 2)关闭事务自动提交:则执行到C ...

  7. 处理器 趣事 CPU/GPU/TPU/DPU/BPU

    有消息称,阿里巴巴达摩院正在研发一款神经网络芯片——Ali-NPU,主要运用于图像视频分析.机器学习等AI推理计算.按照设计,这款芯片性能将是目前市面上主流CPU.GPU架构AI芯片的10倍,而制造成 ...

  8. 在Ubuntu18.04下配置HBase

    HBase在HDFS基础上提供了高可靠, 列存储, 可扩展的数据库系统. HBase仅能通过主键(row key)和主键的range来检索数据, 主要用来存储非结构化和半结构化的松散数据. 与Hado ...

  9. R语言︱处理缺失数据&&异常值检验、离群点分析、异常值处理

    在数据挖掘的过程中,数据预处理占到了整个过程的60% 脏数据:指一般不符合要求,以及不能直接进行相应分析的数据 脏数据包括:缺失值.异常值.不一致的值.重复数据及含有特殊符号(如#.¥.*)的数据 数 ...

  10. vue改变了数据却没有自动刷新

    有两个按钮,按钮上有个number属性,当此值为偶数时,按钮显示为红色. 最初的数据如下:"a": [{ name: "one" },{ name: " ...