【生意多】-免费发布分类信息
当前位置: 首页 » 新闻 » 教程 » 正文

Linux应用开发自学之路

放大字体  缩小字体 发布日期:2020-10-30 02:34:57    浏览次数:5
导读

  我是学机械专业的对于机械专业我还是很感兴趣而且当年这个专业也是我自己选择的。本科时成绩没排第一但也排专业前列。硕士时成绩一直是专业第一还拿过国家奖学金。由此可见我还是挺热爱机械的考研时甚至还想去中科院深造可惜落榜了想成为一名机械砖家。  但转机在我毕业之后。本来我就想一直踏踏实实的做机械但阴差阳

  我是学机械专业的对于机械专业我还是很感兴趣而且当年这个专业也是我自己选择的。本科时成绩没排第一但也排专业前列。硕士时成绩一直是专业第一还拿过国家奖学金。由此可见我还是挺热爱机械的考研时甚至还想去中科院深造可惜落榜了想成为一名机械砖家。

  但转机在我毕业之后。本来我就想一直踏踏实实的做机械但阴差阳错的第一份工作由机械工程师调剂到电子工程师。虽然是电子工程师但做了很多代码工作那时候学了一些Verilog以及C#并且用C#开发了一个测试工具及一个生产用的上位机据说那个测试工具现在还在电子部门使用。也就是那时我真正接触到了编程并深深的被编程世界所着迷。

  可是我在学校学的是机械啊跟软件相关的东西顶多是C语言及汇编语言但C语言是十年前那时候学的早就还给老师了。因此为了工作的需要我硬着头皮开始学习编程。我每天早上6点起床学习一个小时后7点去赶班车晚上下班回来再继续学习。在这样的条件下我学会了Verilog及C#同时对STM32有个大概的了解。

  但那个岗位毕竟不是完全做软件工作还需要做电子方面的工作。做软件的都知道写代码的时候需要一个不被打扰的环境而我那个岗位一天可以接到十几个电线c;严重干扰我的软件开发进度因此我决定离开公司去做真正的软件工程师。

  第二份工作我是嵌入式工程师。在去公司之前我系统的学了一遍51看的是「郭天祥十天学会51单片机」对单片机有个初步的入门。线c;再利用一个月的时间系统学习一遍C语言看的是C语言之父写的「C程序设计语言」。这本书虽然写于80年代但现在看来依然不过时。而且这本书比较薄容易看完比较有成就感。

  看完 「C程序设计语言」之后最好再看 「C和指针」「C专家编程」「C陷阱与缺陷」。这三本书号称「C语言三剑客」 学完它们你的C语言水平绝对是非常之高了。做我们这行C语言是基础语言一定要把C语言完全拿下。

  之后为了工作的需要开始接触了Marvell 88MC200及88MW300。这两款是WIFI芯片但本质是单片机采用的是ARM M3内核。底层驱动已经由厂家写好了我们要做的工作就是在SDK基础上做应用做二次开发。在这个过程中我对敏捷开发有了初步的认识看了「高效程序员的45个习惯敏捷开发修炼之道」这本书。

  在第二家公司里我知道了物联网的整体解决方案对于物联网的整体框架有了更深入的了解。同时对嵌入式开发所需的技能有了全面的掌握达到能够独立做一个物联网项目的水平。当然期间还学会了版本控制工具git看的是「Pro Git」及「git权威指南」。同时再进一步系统学习了STM32看的书是野火的「STM32库开发实战指南」但看的视频却是正点原子的。这里强烈推荐正点原子的视频真的是做的非常好。

  由于我是转行我自知底子薄起点比别人落后很多因此我很刻苦学习。我就住在公司附近公司8点上班我依然6点起床12点睡觉。平时没事的时候就在公司学习看代码写代码调代码甚至好几个周末也是在公司度过。为了转行我一心扑在了学习上放弃了一切娱乐活动只为能赶上同事一点半点。这个状态一直持续了我在这个公司的整个过程。

  可惜一年之后我不得不离开了因为我老婆在广州我去广州追随我老婆了。由于我面试时的不错表现以及我不错的英语口语我顺利的被广州一家外资世界500强录用。我的新岗位是Linux应用开发工程师使用C开发。而在那时我既不会Linux也不会C所以公司敢录用我真的是勇气可嘉。

  从单片机到Linux又是一个比较大的跨度。Linux主要有三个方向运维、应用、底层而我选择的是应用方向。为了工作的需要我必须先拿下C。好在公司是外企几乎不加班于是我有充足的时间学习。可是每天坐班车的时间加起来有三个小时这么好的时间我不能浪费啊于是我买了个iPad下载一套视频在班车上也进行学习。当然我也注意保护眼睛在班车上绝不看书看视频的时候也经常往窗外看看。

  这里讲讲自学过程中是采用看书还是看视频的方式。我采用的是先看视频再看书的方式。为什么要这样因为我个人觉得很多技术书都是很厚的一本自己看下来要花费很多时间精力而且很多知识点在工作中很少会用到可以暂时先略过的。视频一般会比较短一般是几天就能看完而且老师一般只挑重点的讲。我们时间都很宝贵我建议先把老师讲的知识完全掌握了以后再利用书籍进一步扩展其它知识。但是不管是看书还是看视频一定要写代码一定要写代码一定要写代码否则非常容易造成眼高手低

  我这家公司里我依然保持着早上6点起床晚上11点睡觉的习惯。这样早上有1个小时晚上3个小时班车上3个小时一天总共有7个小时可以用于学习。而周末我会睡个懒觉7点起床依然11点睡觉周末几乎不出门所以周末又有大量的时间可以用来学习。

  学完C我再学习了Linux系统编程同样采用的是先视频后书籍的方式进行。不管是视频还是书籍一定要看最经典的。市面上有太多良莠不齐的视频和书籍如果选择了一个质量不好的材料来看不仅会浪费很多时间而且有可能还会被误导。对于视频的选择可以去各大培训机构里面通常有一些免费视频资料供我们下载。

  得到Linux环境后还不够还要知道如何配置、如何远程连接Linux电脑、如何与Linux电脑互传文件、如何在主机上阅读Linux电脑中的代码等等。

  众所周知Linux很少或几乎没有界面所有的操作几乎都可以通过命令行来完成。对于运维人员来说需要掌握相当大量的Linux命令。而对于应用、驱动方向的人员来说只需掌握一些基本的常用的命令即可。对于这部分很多人建议看 「鸟哥的私房菜」 但我觉得这个更适合运维人员我们无需掌握那么多命令。

  在学系统编程之前一定要先学习Makefile这会为后续的学习提高很大效率。之后的系统编程主要有几大块IO编程、进程、线程、进程间通讯包括管道、信号、信号量、共享内存等。这几部分学完了基本也就差不多了。

  数据库的内容其实并不属于Linux但在项目中经常要用到。这部分主要要学会数据库的基本操作以及如何写一套接口去操作数据库。

  Shell是Linux下的脚本语言功能虽然不如高级语言强大但它可能做很多事在某些场合甚至比高级语言要方便得多。当然除了Shell脚本还有Python脚本。

  UNIX环境高级编程。简称APUE号称程序员的圣经。它不是一本API字典它还讲述了很多操作系统的细节内存文件系统等方面是一本难得的好书。但是它起点有点高不适合初学者。

  Unix/Linux系统编程手册。这本书号称是一本超越APUE的书它是一本比较新的书里面新增了APUE所没有的Linux/Unix新特性。而且对于一些概念性的东西讲的确实比APUE好。但至于能否超载APUE还有待历史的考验。

  MySQL必知必会。本书在Amazon上长期排在数据库销售榜首建议想快速了解数据库原理和MySQL的新手阅读。快餐性质简洁明快小开本而且很薄比较好阅读。

  Linux Shell脚本攻略。这本书很薄很精华它追求的不是全而是精所以用它来入门再适合不过了。

  学完以上六部分基本就有能力完成Linux环境下的应用编程了。当然在有些场合我们可能还需要用到Python脚本。像我公司的项目部分脚本就是用Python完成的。对于Python的入门可以参考「简明Python教程」。但如果想进一步提高的线c;那就需要阅读大量书籍了。对于Linux层级的脚本应用掌握一些基础的足够了。

  以上就是我的Linux应用开发自学之路虽然我离高手还有很长的距离但我还是将自己的这段自学经历分享出来希望能够帮助朋友们少走一些弯路同时也期待和高手一起学习、提高。好了今天的分享就至此为止。

  我是良许世界500强外企Linux 开发工程师专业生产 Linux 干货。欢迎关注我的公众号「良许Linux」回复「1024」获取最新最全的技术资料回复「入群」进入高手如云技术交流群。

  向彪-fisco bcos:点赞支持一下,原创不容易,深有体会。方便的话可以加个关注。共同学习!一起进步!

 
关键词: linux 自学
(文/小编)
打赏
免责声明
• 
本文为小编原创作品,作者: 小编。欢迎转载,转载请注明原文出处:https://www.31duo.com/news/show-698160.html 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们。
 

(c)2016-2019 31DUO.COM All Rights Reserved浙ICP备19001410号-4

浙ICP备19001410号-4