广州 [ 更换 ]
热门城市
北京上海广州深圳成都杭州南京武汉天津西安重庆青岛沈阳长沙大连厦门无锡福州济南宁波昆明苏州郑州长春合肥南昌哈尔滨常州烟台南宁温州石家庄太原珠海南通扬州贵阳东莞徐州大庆佛山威海洛阳淮安呼和浩特镇江潍坊桂林中山临沂咸阳包头嘉兴惠州泉州三亚赣州九江金华泰安榆林许昌新乡舟山慈溪南阳聊城海口东营淄博漳州保定沧州丹东宜兴绍兴唐山湖州揭阳江阴营口衡阳郴州鄂尔多斯泰州义乌汕头宜昌大同鞍山湘潭盐城马鞍山襄樊长治日照常熟安庆吉林乌鲁木齐兰州秦皇岛肇庆西宁介休滨州台州廊坊邢台株洲德阳绵阳双流平顶山龙岩银川芜湖晋江连云港张家港锦州岳阳长沙县济宁邯郸江门齐齐哈尔昆山柳州绍兴县运城齐河衢州太仓张家口湛江眉山常德盘锦枣庄资阳宜宾赤峰余姚清远蚌埠宁德德州宝鸡牡丹江阜阳莆田诸暨黄石吉安延安拉萨海宁通辽黄山长乐安阳增城桐乡上虞辽阳遵义韶关泸州南平滁州温岭南充景德镇抚顺乌海荆门阳江曲靖邵阳宿迁荆州焦作丹阳丽水延吉茂名梅州渭南葫芦岛娄底滕州上饶富阳内江三明淮南孝感溧阳乐山临汾攀枝花阳泉长葛汉中四平六盘水安顺新余晋城自贡三门峡本溪防城港铁岭随州广安广元天水遂宁萍乡西双版纳绥化鹤壁湘西松原阜新酒泉张家界黔西南保山昭通河池来宾玉溪梧州鹰潭钦州云浮佳木斯克拉玛依呼伦贝尔贺州通化朝阳百色毕节贵港丽江安康德宏朔州伊犁文山楚雄嘉峪关凉山雅安西藏四川广东河北山西辽宁黑龙江江苏浙江安徽福建江西山东河南湖北湖南海南贵州云南陕西甘肃青海台湾内蒙古广西宁夏香港澳门
培训资讯网 - 为兴趣爱好者提供专业的职业培训资讯知识
当前位置: 首页 >> 培训 >> Linux应用开发自学之路

Linux应用开发自学之路

开发

Linux应用开发自学之路

前言

在 「关于我」那篇博文里,朋友们应该知道了我不是科班出身,是由机械强行转行到Linux应用开发方向。下面我就详细向大家介绍自己这一路上的转行历程,希望对大家有所启发。

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

转折点

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

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

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

入门

第二份工作,我是嵌入式工程师。在去公司之前,我系统的学了一遍51,看的是 「郭天祥十天学会51单片机」,对单片机有个初步的入门。真正入职后,再利用一个月的时间系统学习一遍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点睡觉,周末几乎不出门,所以周末又有大量的时间可以用来学习。

Linux应用开发自学之路

C++实在是太难了,我用了一个多月才将视频里的知识完全拿下来。之后,在工作中,陆续开始看 「C++ Primer」 进一步巩固。其它书籍推荐:「Effective C++」「C++语言的设计与演化」「C++ 标准程序库」。在stackoverflow上有个C++必读书单,可以去看看。

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

对于Linux应用的学习,主要有六部分:1. 环境搭建;2. 基本操作;3. 系统编程;4. 网络编程;5. 数据库编程,6. Shell编程。下面一一详细介绍。

1. 环境搭建

作为Linux工程师,毋庸置疑一定需要Linux环境。对于Linux环境的获取,我们通常有两种方式:

  • 将电脑整体安装为Linux系统;
  • 在电脑里安装一个虚拟机,跑Linux电脑;
  • Window+Linux双系统。

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

2. 基本操作

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

3. 系统编程

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

4. 网络编程

网络编程主要就是socket,poll,epoll,以及对TCP/IP的理解,同时要学会高并发式服务器的编写。

5. 数据库编程

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

6. Shell编程

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

Linux应用编程书籍推荐:

  • UNIX环境高级编程。简称APUE,号称程序员的圣经。它不是一本API字典,它还讲述了很多操作系统的细节,内存,文件系统等方面,是一本难得的好书。但是它起点有点高,不适合初学者。
  • Linux程序设计。如果觉得APUE有点难入门的话,可以选择此书进行入门。
  • Unix/Linux系统编程手册。这本书号称是一本超越APUE的书,它是一本比较新的书,里面新增了APUE所没有的Linux/Unix新特性。而且对于一些概念性的东西讲的确实比APUE好。但至于能否超载APUE,还有待历史的考验。
  • UNIX 网络编程。也是一本非常经典的书,主要是网络编程方向的。
  • MySQL必知必会。本书在Amazon上长期排在数据库销售榜首,建议想快速了解数据库原理和MySQL的新手阅读。快餐性质,简洁明快,小开本,而且很薄,比较好阅读。
  • Linux Shell脚本攻略。这本书很薄很精华,它追求的不是全,而是精,所以用它来入门再适合不过了。

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

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

相关内容

揭秘广州校外培训市场乱象:2023年首批违规案例曝光!

正文:近日,广州市教育局公布了2023年第一批校外培训违法违规典型案例,引起了广大家长和社会的广泛关注。教育局要求各校外培训机构严格遵守相关法律法规和“双减”政策,增强法律意识,依法依规办学,诚信规范经营,共同营造和维护校外培训市场的良好生···

免费培训,广州从化2023高素质农民培育项目招生

为培养一支有文化、懂技术、善经营、会管理的高素质农民队伍,推动乡村振兴提供人才支撑保障,由从化区农业农村局主办、广州仲凝农业科技开发有限公司承办的从化区2023年高素质农民培育项目正式招生。【培训对象】从化区内年满16周岁,有意愿、有需求、···

广州石化:抓实青年干部培训

“公司给我们提供了一个难得的学习、锻炼、交流、提升的平台,这是对我们青年干部的一份关心和厚爱。”在10月9日举行的广州石化青年管理干部能力提升班结业汇报上,小组学员代表分享学习成果,就如何担负强企职责使命作出了承诺。同时,代表们纷纷表示,要···

【民族宗教】广州市举办在穗少数民族经商务工人员铸牢中华民族共同体意识学习培训

近日,由广州市民族宗教事务局与广州市公安局联合主办,海珠区民族宗教事务局协办的在穗少数民族经商务工人员铸牢中华民族共同体意识学习培训在湾区民族手工艺术中心举行。培训中,授课老师为学员们从选材、发酵、调制漆料到漂流漆扇制作全过程分享中国非物质···

广州各区暑假严查校外培训机构,发现有机构隐形变异违规开班

南都讯 记者叶斯茗 实习生郑纬浩 在“双减”政策出台一周年之际,广州市内各区教育局纷纷开展暑期校外培训机构执法检查行动,对各类违规开展学科类培训的机构进行查处。近日,广州多区教育局发布具体查处及整改情况,并通报涉嫌违规的校外培训机构。天河区···

“明明是去面试,怎么就贷款了?”又一培训学校疑似“卷款跑路”,“培训贷套路”曝光

跑路失联、退款无门、诱导贷款……又一家培训学校“爆雷”?近日,有大量消费者在黑猫投诉平台反馈广州熳点烘焙培训学校疑似“卷款跑路”。截至9日,相关投诉累计超250条。图源:网络晚上被踢出微信群?学员称培训学校“跑路”近日,广州熳点烘焙培训学校···

“菲式培养”!广州家政人才培训向高端化国际化迈进

在广州市轻工技师学院广东省“南粤家政”综合服务示范基地,一群身着校服的轻工学员正在展示“菲式整理收纳”的课程成果,“梳妆台共分为两个区域,收纳标准是桌面上的物品必须从高到低,正面标志朝前摆放,桌面留白80%给到客户足够的操作空间。”现场,“···

广州增城举行“2023年退役士兵光荣返乡暨适应性培训”活动

文/羊城晚报全媒体记者 马灿 通讯员 宗颖施图/通讯员供图10月27日,广州增城“2023年退役士兵光荣返乡暨适应性培训”开班仪式在广州市金领技工学校举行。本次培训结合退役军人需求以“线下+线上”直播等形式开展。据介绍,这些退役军人将在广州···

共商儿童友好城市“广州方案”!广州举办儿童友好城市建设培训班

日前,广州市儿童友好城市建设工作领导小组办公室(以下简称市领导小组办公室)组织开展儿童友好城市建设培训班,市领导小组各成员单位分管领导及负责同志,广东省儿童友好示范镇(街道)、基地和广州市儿童友好试点镇(街道)、村(社区)及基地儿童友好建设···

广州举办首期博士后工作站人才服务管理工作者品牌培训班

面对“二次创业”吹响的号角,广州人才培训在推动高质量发展进程中,也亮起了新作为。近日,广州市人事服务中心、粤港澳大湾区博士后科技创新(南沙)公共研究中心首次联合举办广州市博士后工作站人才服务管理工作者品牌培训班。首次将服务触角延伸至博士后工···

广州举办新时代文明实践中心建设培训班

文明实践广州日报讯 (全媒体记者何道岚 通讯员穗文明)为贯彻落实中央和省的有关要求,深化拓展新时代文明实践中心建设,6月6日-7日,广州市委宣传部、市文明办在增城区举办全市新时代文明实践中心建设培训班。各区文明办负责同志以及新时代文明实践中···

港澳学生进入大湾区实习,衣食住行薪水如何

25名港澳学生到广州企业实习有澳门学生表示对广州印象不错虽然薪水与澳门有落差但可以做自己热爱的工作若机会合适,希望留在广州发展港澳实习生感受穗创业环境参观天河区港澳青年之家首届广州市“优职英才”港澳学生长期实习计划“实习第一课”培训班成员,···

广州技工院校首次牵手澳门金业同业公会,开展珠宝人才培训合作

今日记者获悉,广州南华工贸高级技工学校近日与澳门金业同业公会签署合作备忘录,开展《贵金属首饰与宝玉石检测员》《贵金属首饰制作工》培训鉴定、澳门子弟班、澳门青少年科普研学、世界技能大赛珠宝加工项目选手培训等合作项目,旨在开展穗澳人才培训合作,···

广州市家庭服务联合会被聘为澳门第36届工联职业培训委员会支援架构成员

广州市家庭服务联合会被聘为澳门第36届工联职业培训委员会支援架构成员立足湾区 协同港澳 面向世界2023年8月5日,澳门工会联合总会工联职业培训委员会,于澳门工联大厦二楼礼堂举办《第36届工联职业培训委员会就职礼》。广州市家庭服务联合会受澳···

广州首例!一校外培训机构被罚27万元

近日,广州市教育局发布广州市校外培训领域首例并处罚金的行政执法案例,对广州艾某某教育咨询有限公司处以责令停止办学、退还所收费用,并罚金274624.5元的行政处罚。“双减”政策实施以来,广州市共查处各类违规学科类培训行为115起。‍近日,番···

广州新一批乡村CEO培训“出关” 59名学员完成为期一个月的“新农人”培训任务

羊城晚报讯 记者鄢敏、通讯员穗团宣报道:12日,“投身百千万·争当好青年”2023广州“乡村运营青年CEO培育·蜜蜂计划”结营仪式在增城区举行。经过1周理论学习和3周实践锻炼,59名学员完成培训任务,14个培训基地被授予“大学生助力百千万工···

从源头预防争议,广州开展预防劳动争议业务培训

近日,广州市人社局联合团市委开展预防劳动争议业务培训,市劳动人事争议仲裁院选派专职仲裁员,通过以案释法和现场答疑的方式,结合部分典型案例,对企业劳动用工管理中存在的常见问题进行了梳理分析,帮助企业解决劳动用工管理中的重点、难点问题,推动企业···

4月广州驾培机构科目二通过率最高为82.31%

近日,广州市交通运输部门发布2023年4月广州市机动车驾驶员培训服务质量信息。截至2023年4月底,全市正常经营普通机动车驾驶员培训机构(以下简称“驾培机构”)161家、经营性教练场企业6家。全行业备案教练车10362辆,备案教练员1459···

100人集中“充电”!2023年番禺区环境应急管理培训班开班

近日,广州市生态环境局番禺分局举办2023年番禺区环境应急管理培训班,对番禺区生态环境系统执法人员、环境应急人员、镇(街)环保员以及环境风险重点管控企业负责人等约100人进行专题培训,切实做好环境应急管理工作,加强应急能力建设,夯实环境安全···

广州一培训老师向家长借731万元后消失

来源:新快报 一男子利用培训老师的身份骗取家长信任,以资金周转、家人生病等理由,“借走”家长731万元后,玩起了“失踪”。近期,广州天河警方侦破一宗诈骗案,以借钱为由实施诈骗的犯罪嫌疑人姜某被抓获归案。好心借款,家长陷入“连环套”4月19日···

友情链接