现在的一个状况是,PHP懂个基础,可以独立开发一个后台,APP接口,进行数据库操作,写点简单js。但是,都是最基础的操作,用最简单的方式实现功能,没有太多性能啊之类上的考虑,以目前的知识也无法考虑到,毕竟接触编程也不久,所以现在急于提升自己。
虽然说,有些基础东西的东西也还没有彻底打扎实,但是总觉得这是一个过程,慢慢打就扎实了,所以还是觉得学点新技术比较好。但是问题来了,每当下班回到家坐在电脑前的时候,想学点东西,却不知道该从哪里开始。这时候发现了制定一个学习计划的重要性。所以列了一个清单,准备一条一条来,当然之后可能会调整,没关系,先照这个开始:
PHP相关:
- 熟悉正则表达式,并能写正则。
- 如何使php代码更严谨。
- php实现冒泡排序,选择排序,插入排序和快速排序。
- 深入理解mysql数据库防sql注入。
- php开发之网站安全(SQL注入、验证码、刷新提交、漏洞扫描、DOS攻击、跨域攻击)
- 命名空间的探究,和高级功能。
- 魔术方法的应用;写实例。
- 序列化 (Serialize/Unserialize) 研究,与json的比较
- 自己封装一些常用的功能类:分页类;验证码类;图像处理类;文件上传类;数据验证类。
- php加密方法探究。
- api接口安全性问题(加密等)
- 影响mysql中innodb/myisam性能的配置选项。
- 索引探究:MyISAM与InnoDB的区别;MyISAM的主键索引和其它索引的区别;InnoDB的主键索引和其它索引的区别。
- php应用mysql事务;写实例。
- php文件“高级”操作。
- PHP“高级”图像操作。
- PHP设计模式。
- PHP SPL(标准库)使用。
- 深入了解HTTP协议。
- 了解浏览器的运行机制。
- AB并发测试与调优。
- 认识key-value存储系统(mencache,redis)
- 学习如何使用memcache
- 学习如何使用redis
- memcache与redis比较
- 了解Memcached的内存结构(slab机制),redis了解常用数据类型底层实现存储结构(SDS/链表/SkipList/HashTable)等等。
- 了解一下Redis的事务、RDB、AO
- 什么是消息队列,如何实现消息队列。
- PHP+memcache实现消息队列
- 用php+redis实现消息队列
- php的缓存
- 用memcache和redis实现php缓存操作
- 什么是分布式架构,分布式与集群的区别,以及分布式如何实现。
- 了解mongodb,以及在php上的应用。
- 学习使用mongodb
- mongodb,redis,memcache比较。
- 什么是哈希算法?
- 一致性哈希的应用
- PHP hashTbale
- 什么是Socket编程,学习Socket编程。
- 编写php简单的Socket通信实例
- 学习Laravel框架
- 了解php-fpm的大部分配置选项和含义
- MySQL的核心关键技术,比如事务机制(隔离级别、锁等)、对触发器、 分区等技术。
- MySQL性能选项:innodb_log_buffer_size/back_log/table_open_cache/thread_cache_size/innodb_lock_wait_timeout等。
- MySQL性能:磁盘优化(SAS迁移到SSD)、服务器优化(内存、服务器本身配置)、连接池软件选择应用
- MySQL备份技术的深入熟悉,包括灾备 还原、对Binlog的深入理解,冷热备份,多IDC备份等
- Redis进阶:做一些复杂的数据结构的应用(zset做排行榜排序操作/事务处理用来保证原子性在秒杀类场景应用之类的使用操作)
- 一个高可用的Redis应用架构和集群
- php服务器压力测试和性能测试探究
- SQL优化总结
- 如何架构一个PHP高并发高负载系统
- 架构与部署(ECS、RDS、OCS、OSS、SLB)的研究
其它相关:
- 学会搭建LAMP环境
- 不断熟悉linux下的操作命令
- 尝试svn和git
- 熟悉python
- 第一步:会用python写爬虫
- 学习shell编程
- 用shell小一些小脚本
- 学会用PS搞一些简单小东西