Android人涅槃重生之路

889 阅读5分钟

原文排版看着更舒适

原文

为什么要写这篇文章

相信很多人跟我一样,当我心血来潮想要学习的时候,却总是无从下手,到底从何学起呢?一想再想,还是不学了吧,太难了,自从去年5月加入滴滴以来,一共只输出了8篇博客,是什么让我放缓了脚步,是工作压力?还是自己变的懒惰了?当然都有哈,时至今日,再看看目前的行情,如果想让自己立于不败之地,我决定来一次涅槃重生,从零开始。

为什么要从零开始

主观角度想:

  • 从零开始,你就不会纠结今天学什么?不是么。
  • 价值驱动,选择更有价值来学,程序员生命周期短短10年有余,哪有那么多时间浪费。
  • 任何公司或组织都喜欢T型人才,广度和深度并存是必胜的法宝,从零开始,构建自己的T型知识结构。

个人角度想:

  • 本人非科班出身,大专学历,电子工艺专业,学的是单片机,唯一接触的语言是C,学习成果都还给老师了,所以补充系统的计算机知识也是必须的

武侠中,很注重内功心法的修炼,计算机行业肯定也有它的内功心法,我是相信,只有对这些内功心法掌握到炉火纯青的地步,才能够达到一定的高度。为了防止自己走火入魔,所以一定要打好基础,从零开始。

我是谁

大家都亲切的叫我校长,嘿嘿

做什么

既然要从零开始,‘从新做《Android》人’,就要有一个好的规划,不能称之完美,但也要尽量圆满,来吧,跟我一起踏入涅槃重生之路,我会带着大家一起学,一起进步,一起加油。

涅槃之路线规划

先看下整理规划

  image.png

以上就是构建的Android涅槃蓝图,学完就可以圆寂升天了,这么看来,不要小看了我们Android攻城狮,真要是卷起来,谁都比不过,哈哈。

职业素养

职业素养是一切的基础,你技术再牛逼,离开了良好的职业素养,也是垃圾一枚,到哪都遭人嫌。

image.png

编程基础

这部分是Android,乃至程序员行业的重中之重,看过Head first 设计模式的人应该都知道,书中常提的一句话:面向接口编程,它在告诉我们要擅于抓住不变的东西,抽象出来,以不变应万变。

数据结构与算法

image.png  

计算机组成原理

image.png  

操作系统

image.png  

网络

image.png  

数据库原理

image.png  

C语言

image.png  

编程思想

有了计算机的基础就可以编程了吗,其实不然,更重要的是如何编程!记得当年刚毕业,学编程,连一个变量声明都想半天,不知道怎么编才好,其实就是缺乏编程思想,不知道如何做是正确的。那么怎么理解编程思想呢?

  • 我觉得:它是一种规范,一种约束,一种更好的实践经验,引导我们如何高效且正确的编程。

设计模式

  image.png

设计原则

image.png  

编程范式

  image.png

重构

  image.png

语言

有人觉得有必要学这么多语言么?我觉得有必要,有如下原因:

  • C++,当下有太多的公司做NDK开发,特别是大厂,之前还是优势,现在成了必备了,未来越来越多的机器学习,要用到C++的时候,你难道再学么,而且这是一个比较难啃的语言,越早接触越早学习要好的多。
  • python,一门脚本语言,就冲它语言排行榜第一,也要学啊,而且它确实会带来N多的便利和好处,平时写一些脚本,来做数据预处理和自动化操作浏览器什么的,谁用谁知道。
  • Java、Kotlin就不用说了,Android开发标配
  • Dart,Flutter 标配,Flutter这波操作,恶心到我了,你就不能用Kotlin么?说心里话Flutter就是一个前端框架,如果你能做到专家级别做性能优化建议你学一下,如果拿来做业务,就算了,真的不如原生。
  • Js,前端开发的标配,学么?可以啊,如果你想没事自己搭个网站服务啥的,用NodeJs超级方便啊,可以集成React、Vue啊,Js是这个世界上最灵活的语言,一切皆对象,真的不是吹。
  • 总的来讲,其实学的语言多了你就能很快的学习另一门高级语言,因为很多高级特性都是想通的,就是大家常说的,见多不怪。

C++

  image.png

Python

  image.png

Java

  image.png

Kotlin

  image.png

Dart

  image.png

Js

  image.png

工具

十个字:工要善其事,必先利其器

有时候学会如何使用工具,真能提效百倍,建议在其他知识都充足的情况下,多发现一些好用的工具,并加以利用,事半功倍。

效率工具

  image.png

构建工具

image.png  

调试工具

  image.png

版本控制

  image.png

Linux

Android基于Linux内核开发,当然学习Linux的特性,也是你通向罗马的必经之地,别说了,撸起袖子加油干,学起来吧。

  image.png

Android

重点来了,作为一个Android开发,在经历了上面九九八十一难之后,终于要修成正果了,取到下面的真经,开始练习吧,这里是你未来最值钱的部分,加油,一定要认真学。

基础

推荐微信阅读

郭霖:第一行代码,神作。

进阶

  image.png

架构

  image.png

安全

  image.png

软实力

作为一个合格的程序员,软实力也不容小觑,我见过很多技术大佬,最终由于没有软实力而被埋没,技术大佬缺在平庸的岗位上忙忙碌碌,输出最多的是他,得到最多的却不是他,为什么?说白了就是不会表达自己。

敏捷开发

  image.png

演讲

image.png  

UML

  image.png

PPT

  image.png

总结

接下来,不断的将上面的知识点,学习中产出的文章,汇聚到本人博客中 ibaozi.cn,也请各位监督,这次涅槃重生就靠各位了。最后用一句话结束这次总结:吃不了自律的苦,就得去吃平庸的苦,谨记于心。