当前位置: 首页 > news >正文

Python、Linux与我的缘分

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

我毕业快3年了,我接触Linux是在大二时期,那时候不懂什么技术,所以就选择了Ubuntu来学习、使用,它好操作、界面绚丽、简单易用,对于我这种Linux新手来说知足了。毕竟没玩过Linux,知识有限,玩不转Linux的种种配置,加之没有持之以恒的坚持下去,使用了一段时间后感觉Bug多、办公office方面写文档也不方便,很多软件和windows差别挺大的,因此想用大学时光学习Linux的愿望最终没有实现。

后来一段时间里,自己接触了Python语言,Python语言让我有种爱不释手的感觉,一是因为它非常的简单、好学;二是因为它是胶水语言,可以用在服务器自动化运维、大数据分析、大数据挖掘、Web开发、游戏服务器后端开发等等。就连硬件开发都能插上一脚,Raspberry Pi(树莓派)是国外是很多创客喜爱的硬件开发平台,它就是使用Python作为开发语言的。可以在最短的时间开发出最高效的功能,这一点是很多语言望尘莫及的,而且几乎在所有的Linux发行版中都预装了Python语言,不过一般都是2.7版本的,在最新的Ubuntu16.04中,已经预装了3.5版本。在今年的编程语言Tiobe排行榜上面,Python排到了第4名,仅次于Java、C、C++,不过在8月却排在了第5名。不管怎么说,这都足以说明这门语言的受欢迎程度。

言归正传,为了更加深入的了解下Python语言,我想把学习平台放在Linux上面(因为心中始终有一个未完成的装逼极客梦,是的,有点矫情),在很多个Linux发行版中做了大量的对比,最终选择了Centos作为学习平台。这主要是因为两方面,一方面因为它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成,由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。另一方面原由于第一点,免费、稳定的特性促使了国内服务器操作系统大部分都是使用的Centos。这样也形成了一个良性循环:Centos的使用率越大,技术社区的疑难困惑的技术支持方面的资料也越多。当然对于不差钱的大企业,或者说追求更高的稳定性和更加完善的技术支持,还是选择红帽企业系统RHEL更加的合适。

当时我在网上搜索了大量的学习资料,筛选了非常多的资料和问答,收集了很多学习Linux的视频、文档、电子书等等(没错,此人是一个资料收集狂)。在这个过程中,我得到了很多如何学习Linux的知识,但是这些并没有让我学会Linux,最后我痛定思痛。删了所有的视频和文档,最终选择了看《Linux就该这么学》,而且这本书籍有自己的网站在线学习是完全免费的,而且走到那里打开网页就能学特别的方便,为了避免广告嫌疑,我就不发网址了,你们自己百度搜索书名就行。这本书很适合学习技术的入门学习者,前部分都是基础,中间部分是一些服务配置和管理,后部分主要是近几年比较新的一些技术,比如Openstack、虚拟化服务等。这本书的风格是只写有用的,涵盖Linux服务器运维的各种技术。比起上一本,是简洁了许多,如果你的时间并不是很多,或者说更是一名在职工作者,建议从此书开始,可以“直击要害”、快速入门。另外这本书主要是用RHEL作为教学版本,前面也说过,它和Centos的关系,在技术和软件方面几乎都能共用,不至于担心技术学了完全用不上。

再给初来乍到的Linux学习者一些建议:我不建议看视频学习,因为看视频学习太费时间,一个小小的技术点,要讲接近一个小时,你看了还得自己动手实操吧?因此我觉得看书还是学习技术的最佳方式,一是省时;二是看书你会有更多的自己的思考,看视频的话你的思维完全是跟着视频走的,没有自己的思考,那么相当于学的东西没有加深印象,过不了多久就容易忘记。

在完成初级入门后,我觉得你最好考虑下想做什么,然后再去根据方向选择学习的技术。前面我也提了很多方向,数据分析方向的话,你需要好好学习NumPy、Pandas这两个库,如果是Web开发方向,试着搭建一个自己的博客,推荐Flask或者Django,现在招聘网站上对Python开发的职位要求基本上都要有其中一个框架的相关经验。现在Python的分布式爬虫也很火呢。还有数据挖掘和大数据方向,希望大家都能找到自己喜爱的方向,在这个方向不停的精进!

转载于:https://my.oschina.net/u/3308739/blog/1921242

相关文章:

  • NSString 字符串
  • md5sum
  • jdbc就是这么简单
  • PhotoPickerDemo【PhotoPicker0.9.8的个性化修改以及使用(内部glide版本号是3.7.0)】...
  • php中类文件名的命名的规则是什么
  • Vue组件定义
  • SQL Server删除distribution数据库
  • 数据驱动的数字化转型:从流程驱动到数据驱动
  • vuex简单总结
  • 两种方式 : VS 如何调试dll中的源码
  • 第四课:Yarn和Map/Reduce配置启动和原理讲解
  • 8.6 11.25-11.27
  • python学习之老男孩python全栈第九期_数据库day001 -- 作业
  • php计算 处理丢失精度问题 保留小数
  • 古诗文网站的网络爬虫编写方式,通过网络爬虫抓去内容
  • 【从零开始安装kubernetes-1.7.3】2.flannel、docker以及Harbor的配置以及作用
  • CSS 专业技巧
  • ES6之路之模块详解
  • EventListener原理
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • javascript 哈希表
  • javascript 总结(常用工具类的封装)
  • JAVA之继承和多态
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • Service Worker
  • SwizzleMethod 黑魔法
  • 百度地图API标注+时间轴组件
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 将回调地狱按在地上摩擦的Promise
  • 解决iview多表头动态更改列元素发生的错误
  • 力扣(LeetCode)965
  • 配置 PM2 实现代码自动发布
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • 小程序 setData 学问多
  • 一道闭包题引发的思考
  • 赢得Docker挑战最佳实践
  • 用quicker-worker.js轻松跑一个大数据遍历
  • 原生 js 实现移动端 Touch 滑动反弹
  • 正则表达式小结
  • 《天龙八部3D》Unity技术方案揭秘
  • ​VRRP 虚拟路由冗余协议(华为)
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • # .NET Framework中使用命名管道进行进程间通信
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • %check_box% in rails :coditions={:has_many , :through}
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (4)logging(日志模块)
  • (数据结构)顺序表的定义
  • (未解决)jmeter报错之“请在微信客户端打开链接”
  • (转)jdk与jre的区别
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • (轉)JSON.stringify 语法实例讲解
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?