sanchi

时间:2022-09-04 17:57:31

修炼之路
阶段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. 微信Android客户端架构演进之路

    这是一个典型的Android应用在从小到大的成长过程中的“踩坑”与“填坑”的历史.互联网的变化速度如此之快,1年的时间里,可以发生翻天覆地的变化.今天在这里,重新和大家回顾微信客户端架构的演进过程,以 ...

  2. System,Integer,Calendar,Random和容器

    System 1)arraycopy int[] a = {1.2.3.4}; int[] b = new int[5]; System.arraycopy(a,1,b,3,2); //把数组a中从下 ...

  3. zoj 1149 Dividing

    1到6的卡分别各有有限制的张数,问能不能恰好分,总张数不能超过20000. 很明显是多重背包问题,上去果写了个三重循环,然后就T了,重新打开背包九讲,找到了多重背包的二进制拆分优化,把其中一维n的复杂 ...

  4. poj 3661 Running(区间dp)

    Description The cows are trying to become better athletes, so Bessie ≤ N ≤ ,) minutes. During each m ...

  5. 一天一个类,一点也不累之TreeSet

    一天一个类,一点也不累. 现在要说的是---TreeSet public class TreeSet<E> extends AbstractSet<E> implements ...

  6. NSDictionary 总结 -iOS

    总结:字典分NSDictionary(不可变,只能查询)和NSMutableDictionary(可变.能增删改查)两种,形式是key-value,key是不可重复的,value可以重复 1.初始化字 ...

  7. &lbrack;活动&rsqb; 【奖品撩人】部落守卫者集结令&&num;183&semi;这一回同程SRC的安全由&OpenCurlyDoubleQuote;我”守卫!

    i春秋SRC部落联合同程SRC发布首届部落守卫者漏洞提交任务(代号G001)! 你准备好了吗! [部落守卫者集结令]拿巨额奖金?上白帽子排行榜?近距离膜拜大佬?学技术?掌握窍门?又或者你是个责任感爆棚 ...

  8. Data URI scheme - 数据的uri模式

    ----------------------------------------------------------------------------------------------- Data ...

  9. 墨者学院靶场之PHP代码分析溯源&lpar;第1题&rpar;

    申请靶场环境后 点开题目 一段奇怪的PHP代码 因为我自己电脑重装了win10系统,php+apache+mysql的环境本地主机觉得没必要弄了,于是我们用在线的PHP编码(百度一下到处都是) 复制进 ...

  10. Python装饰器与面向切面编程(转)

    add by zhj: 装饰器的作用是将代码中可以独立的功能独立出来,实现代码复用,下面那个用于统计函数运行时间的装饰器就是很好的例子,我们不用修改原有的函数和调用原有函数的地方,这遵循了开闭原则.装 ...

相关文章