程序员怎么学习运维知识?
有体系地学习运维知识
对于一个程序员来说,了解自己的程序怎么部署上线,是非常重要的。我们既要了解一个软件的逻辑,也要知道它的物理部署。只有这样,出了问题才知道怎么修复。
如果所有的知识都是零散的,没有一个体系将它们贯穿起来,你原有的知识无法帮助你学习新知识,这种学习方式效率极低,过程也极其痛苦。
如果是有结构的知识,所谓的学习新知识不过是在学习增量,真正要理解的新东西并不多,学习效率自然会大幅度提高。所以,想学好运维知识,首先要建立起一个有效的知识体系。
Java 知识体系
- Java 语言的各种语法特性
- 核心库, JDK 中的各种类,比如,最常见的 String、List、Map 等等
- 大量的第三方类库,比如,Google Guava、SLF4J 等等
- 开发框架Spring
- Spring Boot 把容器封装其中,简化了部署过程
运维知识体系
- Shell以及Shell 提供的各种 Unix/Linux 的核心命令,比如:ls、cd、ps、grep、kill、cut、sort、uniq 等等
- 第三方库,运维知识的第三方库就是那些不属于操作系统核心命令的命令,比如:rsync、curl 等等
- 运维框架其实就是像 Chef、Puppet、Ansible 之类的配置管理工具。
- 虚拟机、Docker
- 云技术