大家好,今天小编关注到一个比较有意思的话题,就是关于学习linux发展方向的问题,于是小编就整理了2个相关介绍学习linux发展方向的解答,让我们一起看看吧。
python职业发展方向有哪些,各有什么优劣?
Python最近几年伴随着大数据的发展,得到越来越多的重视,很多程序员都转向Python开发。Python主要的方向是web开发和大数据相关开发(比如、机器学习等方面)。
先说一下Python的web开发方向,Python最初的使用基本上都集中在web开发领域,得益于Python的简单易学以及良好的格式规范,在web开发领域一直处于和java、php三足鼎立的局面。和国内大部分web开发***用j***a和php不同,国外的很多机构组织都***用python来进行web开发。在美国和加拿大很多程序员都使用Python进行web应用开发(数据来源于我在国外工作和学习的学生,他们所在的公司大量使用python语言)。当然,国内也有不少使用python进行web开发的公司。
用Python进行web开发的特点是开发速度快、开发周期短、调整方便(极大地安慰了程序员)、强大的库支持(Python就赢在了库上)。很多人说Python程序员就像在拷贝别人的代码一样,这种体会只有使用过的人才了解。曾经有人开玩笑的说:如果有一种语言可以安慰程序员脆弱的心灵,那么这个语言一定是Python。看一个输出的例子,对比下j***a的实现:
当然,缺点就是速度慢(相对于j***a来说颇为明显),这个是Python语言无法回避的硬伤。很多web应用在初期都使用python快速构建,确定方案后再使用j***a重写,还有混合Python和其他多种语言共同解决方案,所以也把Python称为“胶水语言”(当褒义词听)。
Python语言的另一个主要方向就是大数据分析领域以及现在正火热的机器学习领域。由于Python提供了强大的numpy库,使得很多复杂的机器学习算法使用python来构建,就短短几十行,笔者深有体会!我初期就是***用j***a语言做kNN算法和朴素贝叶斯等算法的实现,后来实在受不了j***a的繁琐,改用Python以后,虽然运行速度明显变慢,但是我感觉不用把时间浪费在算法实现上了。尤其是matplotlib库对各种算法的图形绘制支持,让你一下节省的大量的时间,我现在甚至都爱上这门语言了。看一个使用kNN算法的实验(部分代码参考Machine Learning in Action):
由于python是最近几年突然大流行起来,很多人以为它很年轻,其实它比j***a还要出现的早一些,是上世纪90年代初期的语言。python有很强大的生命力原因之一就是它够简答,因为没有人喜欢复杂。在大数据、机器学习的推动下,Python未来一定会得到更多的应用,所以学习python是个不错的选择。
自学linux应该学哪些内容呢?
linux很杂的,所以初期阶段你不用看学习什么内容,基础的都学就行了,这里可以看中国人写的基础书籍,上手快,外国翻译过来的反正我是看的很吃力,不太适合初级的人去看
基本知道linux之后,一些安装、权限等等操作后,就进阶,比如搭建LAMP、LNMP、DNS等等软件和服务,这些也要懂,这部分需要教程,看书超级缓慢,教程为主、练习为辅、这时候可以看国外大神写的书了,到这部分你就可以开始工作了,基本上企业也不会划分的很细,当然想走的更远,下面就是深度学习了,对了,python了解基本即可,但shell脚本一定要会,不说精通,至少要熟悉,一天2到5个shell脚本练习就够了,也不用太多精力花在这
当你学的差不多,才是决定往哪个方向了,比如云服务器、自动化运维、linux安全之类的方向,但都离不开开发,所以这时候你就要精通python语言了
自动化运维应该是趋势,云服务器也是热门,一门精通,其它也要熟悉,你才能走的远
还有个很重要的,原理一定要懂,每一个服务的运行原理比会安装更重要,所以死记硬背也要背下来。网络这块不是服务器运维的强项,但基本的ip/tcp协议你需要懂,会抓包、会基本分析就可以了,往后有精力了再深度学习
新手学习linux方向大概如下:
1.先学习linux的基本命令,比如:cd,ls,cp,mv,mkdir,rm,cat,touch增删改查等等命令。
2.熟悉基本的操作后学习linux相关文件权限命令,比如:useradd,groupadd,passwd,chmod等等命令。
3.然后在学习更进阶一点的命令,比如:[_a***_]管理,磁盘管理,网络管理,文件管理等等相关的命令。
4.最后再学习下linux的软件安装卸载和shell脚本等等吧!然后多实际操作下搭建各种软件环境,基本就可以出师了。
到此,以上就是小编对于学习linux发展方向的问题就介绍到这了,希望介绍关于学习linux发展方向的2点解答对大家有用。