现在的一个状况是,PHP懂个基础,可以独立开发一个后台,APP接口,进行数据库操作,写点简单js。但是,都是最基础的操作,用最简单的方式实现功能,没有太多性能啊之类上的考虑,以目前的知识也无法考虑到,毕竟接触编程也不久,所以现在急于提升自己。

虽然说,有些基础东西的东西也还没有彻底打扎实,但是总觉得这是一个过程,慢慢打就扎实了,所以还是觉得学点新技术比较好。但是问题来了,每当下班回到家坐在电脑前的时候,想学点东西,却不知道该从哪里开始。这时候发现了制定一个学习计划的重要性。所以列了一个清单,准备一条一条来,当然之后可能会调整,没关系,先照这个开始:

PHP相关:

  1. 熟悉正则表达式,并能写正则。

  2. 如何使php代码更严谨。

  3. php实现冒泡排序,选择排序,插入排序和快速排序。

  4. 深入理解mysql数据库防sql注入。

  5. php开发之网站安全(SQL注入、验证码、刷新提交、漏洞扫描、DOS攻击、跨域攻击)

  6. 命名空间的探究,和高级功能。

  7. 魔术方法的应用;写实例。

  8. 序列化 (Serialize/Unserialize) 研究,与json的比较

  9. 自己封装一些常用的功能类:分页类;验证码类;图像处理类;文件上传类;数据验证类。

  10. php加密方法探究。

  11. api接口安全性问题(加密等)

  12. 影响mysql中innodb/myisam性能的配置选项。

  13. 索引探究:MyISAM与InnoDB的区别;MyISAM的主键索引和其它索引的区别;InnoDB的主键索引和其它索引的区别。

  14. php应用mysql事务;写实例。

  15. php文件“高级”操作。

  16. PHP“高级”图像操作。

  17. PHP设计模式。

  18. PHP SPL(标准库)使用。

  19. 深入了解HTTP协议。

  20. 了解浏览器的运行机制。

  21. AB并发测试与调优。

  22. 认识key-value存储系统(mencache,redis)

  23. 学习如何使用memcache

  24. 学习如何使用redis

  25. memcache与redis比较

  26. 了解Memcached的内存结构(slab机制),redis了解常用数据类型底层实现存储结构(SDS/链表/SkipList/HashTable)等等。

  27. 了解一下Redis的事务、RDB、AO

  28. 什么是消息队列,如何实现消息队列。

  29. PHP+memcache实现消息队列

  30. 用php+redis实现消息队列

  31. php的缓存

  32. 用memcache和redis实现php缓存操作

  33. 什么是分布式架构,分布式与集群的区别,以及分布式如何实现。

  34. 了解mongodb,以及在php上的应用。

  35. 学习使用mongodb

  36. mongodb,redis,memcache比较。

  37. 什么是哈希算法?

  38. 一致性哈希的应用

  39. PHP hashTbale

  40. 什么是Socket编程,学习Socket编程。

  41. 编写php简单的Socket通信实例

  42. 学习Laravel框架

  43. 了解php-fpm的大部分配置选项和含义

  44. MySQL的核心关键技术,比如事务机制(隔离级别、锁等)、对触发器、 分区等技术。

  45. MySQL性能选项:innodb_log_buffer_size/back_log/table_open_cache/thread_cache_size/innodb_lock_wait_timeout等。

  46. MySQL性能:磁盘优化(SAS迁移到SSD)、服务器优化(内存、服务器本身配置)、连接池软件选择应用

  47. MySQL备份技术的深入熟悉,包括灾备 还原、对Binlog的深入理解,冷热备份,多IDC备份等

  48. Redis进阶:做一些复杂的数据结构的应用(zset做排行榜排序操作/事务处理用来保证原子性在秒杀类场景应用之类的使用操作)

  49. 一个高可用的Redis应用架构和集群

  50. php服务器压力测试和性能测试探究

  51. SQL优化总结

  52. 如何架构一个PHP高并发高负载系统

  53. 架构与部署(ECS、RDS、OCS、OSS、SLB)的研究

其它相关:

  1. 学会搭建LAMP环境

  2. 不断熟悉linux下的操作命令

  3. 尝试svn和git

  4. 熟悉python

  5. 第一步:会用python写爬虫

  6. 学习shell编程

  7. 用shell小一些小脚本

  8. 学会用PS搞一些简单小东西

  9. 学习Node.js

  10. 学习React

  11. 学习React Native