计划

2017-2018计划

Posted by Bug1024 on March 10, 2017

深入理解计算机系统、现代操作系统、C程序设计语言、C语言数据结构和算法、Unix环境高级编程、TCP/IP网络通信详解。 学习一下面向对象方面知识,PHP这方面的书不太多,建议看Java面向对象编程、Java编程思想、J2EE这些书。

编程语言

  • 学习PHP
    • 深入理解PHP内核
    • 完成简单的扩展开发
    • 达到高级水平
  • 学习Java
    • IntelliJ IDEA 快捷键使用
    • maven pom.xml的使用
    • spring 注解的使用
    • mybatis mapper.xml的使用
    • dubbo rpc框架使用
    • tomcat原理了解
    • 常用数据结构了解
    • 达到中级水平
  • 学习Go
    • 学习beego框架
    • 了解docker原理

系统学习

  • MySQL (重点)
    • 索引与性能优化
    • InnoDB引擎
    • riplication原理
    • 基础配置与调优
    • binlog格式了解
  • Redis (重点)
    • 底层数据结构实现
    • 持久化
    • 集群配置
  • Nginx (重点)
    • 网络模型
    • 负载均衡
    • 基础配置
  • Linux性能监控和常见问题排查命令(重点)
  • 进程 线程 网络 (重点)
  • RabbitMQ
    • 组成
    • direct fanout topic headers场景
    • 持久化
    • 与kafka的比较
  • ElasticSearch
    • 集群配置
    • 与solr比较
    • Java客户端使用
  • HBase
    • 使用场景
  • ZooKeeper
    • 实现原理
    • 选举算法

项目

  • 检索系统 基于ElasticSearch实现的搜索 done
  • 图片系统 实时切图和分布式存储 done
  • 简易API网关 实现权限校验与限流
  • 一个PHP扩展 done
  • 个人博客 done

2018重点

  • 主动学习很重要,官方文档很重要,实践很重要
  • 巩固Java基础,尤其是线程,并发,jvm等,能熟练使用常用排查工具分析定位线上问题
  • 了解tomcat应用服务器
  • 了解dubbo框架
  • Linux性能排查,能根据CPU,IO,内存等指标排查问题
  • MySQL性能优化,巩固索引,连接数,缓冲池,死锁等基础知识
  • 深入理解进程,线程,协程
  • 提升文档能力
  • 英语水平提升
  • Redis源码阅读
  • 调整心态,明白个体差异,不制定过高的目标
  • 学习Go语言 https://github.com/astaxie/build-web-application-with-golang/blob/master/zh/preface.md

2018详细计划

  • 1月份
    • 学习Spring框架设计理念,以学习《深入分析Java Web技术内幕》中相关章节为主,做到能描绘组成结构图,熟练掌握几大核心组件的功能
    • 学习Java多线程,主要通过网上学习,并实际编码验证,能阐明多线程编程的优缺点,几种创建线程方式的异同以及多线程编程的注意事项
  • 2月份
    • 重新学习常见数据结构与算法,并能熟练写出伪代码,排序算法,子串查找,最长回文子串查找等,主要通过leetcode巩固练习
    • 学习TCP/IP协议,HTTP协议,了解网络传输的基本原理,数据报文格式,长链接与短链接的区别以及应用场景
    • 了解常见序列化协议的优缺点与使用场景
  • 3月份
    • 新工作
    • 了解SpringBoot,搭建项目
    • 熟悉Shiro工作机制
  • 4月份
    • 熟悉netty,源码级了解,读《Netty权威指南》
  • 5月份
    • 熟悉JVM,读《深入理解Java虚拟机》
  • 6月份
    • 深入研究CAT监控系统
  • 7月份
    • ZooKeeper
  • 8月份
    • JPA Druid Kafka
  • 9月份
    • Netty
  • 10月份
    • Java并发编程
  • 11月份
    • Tomcat架构
  • 12月份
    • 配置中心
    • Guava源码