首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

你只是想学好linux而已

这段时间收到了很多学员关于学习上的疑惑,在这些疑惑当中有80%是关于学习方向的疑惑。比如: 1. 我想学好Linux ,是不是应该先学好英语? 2. 我要学习Linux该从那个系统开始,是centos,还是redhat? 3. 我已经学习了redhat,但是看网上有人提到ubuntu,我是不是应该学习下? 4. 我是不是应该把Python顺便学习下? 5. 我学centos6的版本还是7的版本呢,是不是公司里7会用的越来越多了? 诸如此类的问题,这些问题我通常把他归为学习方向的疑惑,或者用个词来概括的话,就是意志力薄弱。 诚然会英语会对你学Linux有帮助,但是如果你把学不好Linux归结为英语不好,就有点南辕北辙了。 随便百度下,你就会看到,各行各业都有人问同样的问题,比如我要学钢琴,是不是应该先从简单的葫芦丝开始学起? 又或者我要学西红柿炒鸡蛋,是不是应该先学会刀工和掌勺技巧,或者把选锅技巧学习下? 那些问 今年18岁还适不适合学Linux的人,以及那些再问 已经26了是不是还能学会编程的人,很多时候他们其实是在问 “是不是有人跟我一样的年纪,比我还笨,但是学会了这门技术?如果有的话帮我举个例子” 说到底这是一种不自信的表现。 学习任何一门技能,学到底都是孤立的一门技能而已,比如Linux,你需要学习Linux系统基础操作,需要学习服务搭建,需要使用这些服务完成架构,需要用这些架构完成更复杂的内容。 每一个模块你都可以认为是独立的,不学Linux基础,一样可以学会数据库,不学数据库一样可以学会服务搭建,不学基础服务搭建一样可以学会架构。 区别只在于如果你没学Linux基础,可能学服务的时候就需要多花些时间弄明白每条命令的作用。 很多人所推崇的从项目开始学编程,也是有道理的,比如你学习SSH框架去做一个OA系统,在做项目的同时遇到啥就不懂,就去补相应的知识就可以了。但是这种方式唯一的不合理就在于违反了人类从容易到困难的学习过程,其实说白了就是信心容易受挫,导致学习的过程容易放弃而已,只要你能坚持下去那你进步是飞快的。 学习系统运维其实跟弹琴的道理是一样的, 技术的学习是手艺而不是知识,如果你要学习知识,可以从系统原理开始学起,先研究计算机原理,在学习编译原理一步一步来,可问题是你不需要懂编译原理,计算机原理,一样可以学习操作Linux。这就像学钢琴,一开始只要记住每个键代表哪个音,然后照着老师讲的弹一遍,比如弹一首最入门的《爱的罗曼史》,直到练熟在进行下一首。音乐基础知识也是老师在练琴间隙传授的, 手艺的好处就是以动手练习为主,看书学习为辅,甚至极端点,初学的时候除了看必要的文档都可以不看书,等有了一定编程基础后再去看书,看完书立刻动手编程去验证书上的理论知识。 所以从现在起不要再去问文章一开始的那些问题了,最应该做的事情就是从现在起开始练习,不停的反复练习。手艺唯一的不好就是在入门的时候需要找人指导,入门了也就可以自己快速学习了。 如果你对于学钢琴不太熟悉,可以想下你当年是如何学会打篮球踢足球的,你从来没问过要学会打篮球是不是应该买个溜溜球先熟悉下,或者我要学习打篮球是不是先从篮球的发展史开始学起,又或者我要学习打篮球是不是应该先学会如何选择篮球场地。 这些你从来没考虑过,而是直接开始打,在打球的过程中喜欢上这个运动,然后慢慢了解篮球的技巧。 所以那些与Linux无关的问题可以不用考虑,从现在开始持续大量的练习,毕竟你只是为了学好Linux而已。至于要不要在学完Linux之后在学Python,学GO ,考虑这个问题前请先学会Linux,否则一切都没有意义。 从更深层次的动机来看,学会Linux,只是为了找个好工作而已,于是你可以自己去看招聘网站,招聘的公司需要什么技能,不需要什么技能一目了然,学习的时候有侧重点会事半功倍。进入公司之后根据自己和公司的目标进行合理的规划,看自己需要精转哪一个方向。 很多时候的很多事情,最重要的不是如何做,而是勇敢的迈出第一步,哪怕你没有看到台阶。摔倒了不可怕,可怕的是你苦苦等待,一直没有开始。我就曾经遇到过一个朋友,从08年开始问我要不要学习做网站,是不是已经过时了,一直问到了2017年,很幸运,在2017年下半年他终于下定决心开始学了,现在已经毕业。在他们老家也找到了一份收入不算太高,但确实是自己想做的工作。 梦想,啥时候开始都不晚,最关键的问题是你得开始。从今天起请把心思放在大量练习和学习Linux上,而不是如何学习Linux上,因为你只是想学会Linux而已,并不是要研究Linux该如何学习。

03

图像处理算法工程师——1必备技能总结——2面试题大全[通俗易懂]

相关术语: (1) OCR:OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程 (2) Matlab:商业数学软件; (3) CUDA: (Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台(由ISA和GPU构成)。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题 (4) OpenCL: OpenCL是一个为异构平台编写程序的框架,此异构平台可由CPU,GPU或其他类型的处理器组成。 (5) OpenCV:开源计算机视觉库;OpenGL:开源图形库;Caffe:是一个清晰,可读性高,快速的深度学习框架。 (6) CNN:(深度学习)卷积神经网络(Convolutional Neural Network)CNN主要用来识别位移、缩放及其他形式扭曲不变性的二维图形。 (7) 开源库:指的是计算机行业中对所有人开发的代码库,所有人均可以使用并改进代码算法。

04

新人怎样学习嵌入式Linux?

作为一个新人,怎样学习嵌入式Linux?被问过太多次,特写这篇文章来回答一下。 在学习嵌入式Linux之前,肯定要有C语言基础。汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会)。C语言要学到什么程度呢?越熟当然越好,不熟的话也要具备基本技能。比如写一个数组排序、输入数字求和什么的。学C语言唯一的方法是多写程序多练习,编译出错没关系,自己去解决;执行出错没关系,自己去分析。以前我是用VC来练习C语言的,经常去尝试着写一些C语言竞赛的题目。它们是纯C、纯数学、纯逻辑的题目,不涉及界面这些东西,很适合煅炼你的编程能力。 回到主题,首先我们要明白你的目的是什么,大概来说所谓嵌入式Linux可以分为两部分:底层系统、应用开发。如果你是想做应用开发,那么你去把C语言、数据结构、JAVA什么的学好吧。嵌入式应用开发和PC上的应用开发并没有什么特别要注意的。也许你说在嵌入式上要做些优化,是的,要优化,但是未经优化的程序和PC上的程序开发没什么差别。另外,当你有能力去优化时,你已经不用来问这个问题了。具体到某个例子,比如说开发界面,在PC上我们用VC;在嵌入式Linux里也许我们用QT也许用Android,这个时候你应该去学学QT、Android的编程。但是基础还是C或JAVA,在此基础上去熟悉它们的接口。你学过VC的话,也是要花时间去了解那些类、控件的。

01
领券