老王2020年的学习方向

新的一年开始了,回顾2019年,虽然过得很惨很惨(有多惨就不说了),但是,终究是走过来了。

现阶段,互联网行业明显的疲软,加深自身的知识储备非常有必要,只有自己储备充足,才不至于被拍死在沙滩上。

2019年断断续续写了一些东西,也参与了文章的翻译。希望在2020年能够有更多的内容输出。作为新的一年第一篇文章,算是自己的一个未来规划。

作为一个开发人员,如果单单是考虑一种语言,成长空间会有很大的限制,而且一旦公司层面的技术语言转型,那么在公司的积累就都付诸东流了。

所以,新的一年的目标更多的是去语言化。让自己非语言能力能够有更多的提升。具体而言,技术层面上,非语言方面能力提升有:

1. 数据结构与算法知识能力提升

2.网络知识能力提升

3. 服务中间件(数据库,redis,mongo)能力提升

除了技术能力不被落下之外,自己的软实力也要有所提升,比如:知识总结(写作,口头表达)内容输出能力加强。毕竟,每年都是要写年度总结的,写作能力还是需要的。

作为一个上了年纪的开发人员,之后必然是慢慢退出开发一线,至于是退出互联网行业还是退到幕后,就看自己的能力了。

开发人员转项目类的管理是一个不错的选择,不会偏离技术路线太多,之前的技术能力也能够作为项目管理的技术知识储备。所以,新的一年要开始学习项目管理知识。

最近因为公司需要开始写JAVA程序。相对于PHP而言,JAVA程序对数据结构的要求更加高。只有掌握了各种数据结构之间的区别,在写程序的时候才能够选择适当的应用对象。

而对于PHP程序,基本上就是在操作数组,字符串,对象,数值。因此,需要好好补习(准确的说是从头学习)数据结构和算法的知识。

后续对数据结构与算法的学习,后续将以PHP代码为切入点,尽量找到实际的代码进行分析,以加深自己的理解。同时,将学习内容整理成文,进行输出,下面是开篇。

数据结构和算法系列–基础

数据结构定义:

数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。可分为逻辑结构和物理结构。

逻辑结构:是指数据对象中数据元素之间的相互关系。分为集合结构、线性结构、树形结构、图形结构。

物理结构:是指数据的逻辑结构在计算机中的存储形式。数据元素的存储结构形式有两种:顺序存储和链式存储。

算法定义

算法:对特定问题求解步骤的一种描述,它是指令的有限序列。

算法的几个特性:

1.有穷性:一个算法必须总是(对任何合法的输入值)在执行有穷步之后结束,且每一步都可在有穷时间内完成。

2.确定性:算法中每一条指令必须有确切的含义,读者理解时不会产生二义性。并且,在任何条件下,算法只有唯一的一条执行路径,即对于相同的输入只能得出相同的输出。

3.可行性:一个算法是能行的,即算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现的。

4.输入:一个算法有零个或多个输入,这些输入取自于某个特定的对象的集合。

5.输出:一个算法有一个或多个输出,这些输出是同输入有着某些特定关系的量。

数据结构与算法知识内容

其实内容还有很多,比如树的遍历,图的遍历,广度优先搜索,深度优先搜索等内容,希望后续有能力一一分享。

祝大家新的一年顺顺利利,事业有成,共勉!