为您推荐:
精华内容
最热下载
问答
  • 5星
    923KB weixin_41581125 2021-01-22 23:04:17
  • 5星
    135.91MB qq_34351067 2021-04-16 14:11:28
  • 5星
    578.92MB goodxianping 2021-07-26 13:35:05
  • 5星
    183B ni110110 2021-07-25 02:21:58
  • 5星
    3.12MB weixin_44954913 2021-04-14 16:49:15
  • 5星
    4KB weixin_45289454 2021-05-29 08:25:09
  • 5星
    1.15MB qq_42831466 2021-04-16 08:14:35
  • 5星
    111KB lingyun820 2021-07-29 09:26:56
  • 5星
    7.78MB weixin_41581125 2020-12-28 20:54:16
  • 5星
    15KB weixin_42759190 2021-05-08 14:09:29
  • 随着技术的不断发展,电气工程逐渐有了长足性的发展,各行各业里都涉及到了电气工程,如信息产业、工业自动化等,但在电气工程里却有一个说法:千万别学电气自动化,这是为什么呢?本期小编就带大家了解一下为什么说...

    e36869a4b6736391401c59c5d9cef476.png

    选择科目

    测一测我能上哪些大学

    cb2fcb36a0bdab80d188e3a8b34e01d3.png

    选择科目

    领取你的专属报告

    >

    选择省份

    关闭

    请选择科目

    确定

    v>

    随着技术的不断发展,电气工程逐渐有了长足性的发展,各行各业里都涉及到了电气工程,如信息产业、工业自动化等,但在电气工程里却有一个说法:千万别学电气自动化,这是为什么呢?本期小编就带大家了解一下为什么说千万别学电气自动化,哪些人适合学电气自动化。

    一、为什么说千万别学电气自动化?

    在电气工程这个行业里,一直流传着千万别学电气自动化的说法,小编对这个说法进行了一些分析,得出了以下几点原因:

    1、电气自动化学科知识难

    据了解,电气自动化是工科里涉及数学知识最多的专业,大家都知道高数一直是学生们很难学好的学科,而电气自动化专业要学习的高数知识是工科里最多的,可想而知这个专业的学科知识到底有多难。

    2、电气自动化综合性较强

    电气自动化专业要学习电工技术、电子技术、信息控制、计算机等方面的专业技术基础和应用知识,主要特点是强弱电结合、软件与硬件结合、元件与系统结合、基础科学与工程技术结合。可以看出学科综合性非常强,想要把每一科学好是比较困难的。

    3、知识较多很难学透彻

    都说“学好容易学精难”,电气自动化更是如此,种种科目繁多、高数知识复杂,仅仅靠着课程的学习是很难学精的,只有通过不断地实践训练才能学精。

    二、电气自动化的发展前景

    电气自动化作为一门新兴学科,它的发展前景可谓是巨大的,虽说很难学,但市场需求量是很高的,绝对是未来可期的一门行业。

    1、电气自动化属于信息产业的一环,作为“朝阳产业”至关重要的一环,电气自动化前途光明。信息产业发展快、人才需求量大、待遇好等种种特点都预示着电气自动化从业人员的光辉前程。

    2、自动化的应用范围广,几乎所有的工业部门都跟自动化挂钩,都需要电气自动化,包括现代化农业都与自动化息息相关。

    3、电气自动化自身包含课程广泛,不管是计算机还是电子工程都是时下的热门,电气自动化专业出身的人员也可以从事这些工作。

    三、哪些人适合学电气自动化?

    既然作为发展前景这么好的专业,那么哪些人适合学习电气自动化呢?小编认为是以下3类人群:

    1、对数学、物理和化学等自然科学基础知识学习和掌握较多的人。

    2、有创新精神、敢于钻研的人。

    3、有较强学习能力的人。

    总结:虽然电气自动化专业说起来很难,但这几点总结起来就是:多学习、多实践,只要认真钻研、积极练习,小编相信还是能学好的,这也跟个人的能力和学习程度息息相关。世界上没有难的事情,只有遇到困难就退缩的人,只要对这个专业感兴趣,大家还是可以去试一试的。

    展开全文
    weixin_42504649 2021-06-24 12:34:27
  • 2019.6.26日深夜 晚上在床上准备休息,一个同跟我聊天说自己大学荒废了,...我的学校不是知名211、985的高校,这个专业我自认为也只是图个鳌头,并没有实际涉及到很多关于机器人的知识,其实说白了就是自动化。所以...

    2019.6.26日深夜

    晚上在床上准备休息,一个同跟我聊天说自己大学荒废了,突然有很多感想想写一写。我觉得自己大学也是得过且过地过着的,不过虽然充满艰辛和不满意,但还是挺充实的。

    先自我介绍一下,本人大二,是南京工程学院自动化院机器人工程专业的一名17级本科生。我的学校不是知名211、985的高校,这个专业我自认为也只是图个鳌头,并没有实际涉及到很多关于机器人的知识,其实说白了就是自动化。所以可以说自己是一个完完全全的自动化的本科生,但是作为有梦想的青年,当然不会局限于学校里讲的课程,作为一名已经大二即将步入大三的学长,我想通过这篇博客向那些虽然不在好大学但仍然有梦想的学弟学妹们和同伴提供一点建议。

    这里和大家聊聊大学经历,如果嫌烦可以直接跳最后哦。

    1.个人经历

    先说说学校吧

    我们学校虽然不是什么好本科,但是我很爱和感谢我的学校。我自己是高考考砸了来了这里,甚至暑假中一度准备复读,刚进大学时满心的不甘和不屑,对老师同学都非常鄙视。但是经历了一阵子磨合期,我发现这个大学有很多我没发现的闪光点,包括有很多优秀的学长和老师,也有很多可爱的小伙伴。学习伙食不错,生活和住宿也挺满意,学校还有新球场可以打球,虽然大学打球的伙伴很少。学校风景很美,也是南京最美的高校之一,有闻名南京的天印湖,学校的冬天下雪也特别美。

    学校的冬天
    学校的冬天

    再说一说个人经历吧。

    大一时第一次进校园,可以说是对大学一无所知。经过军训之后,报了学校的学习部和水中机器人实验室。很幸运两个都进了,但是我也从中认清了部门社团和实验室之间的区别。可以真实地告诉大家,部门和社团确确实实是一个浪费时间的地方,我在申请时以为学习部是一群一起学习考研的小伙伴组成的学习团队,但实际并不是,这只是一个查课做表、帮院里面辅导员打杂的部门。可以说对部门非常失望,浪费了很多时间。相反,实验室可以说是将大学生活用到极致的好地方,所以建议大家尽量报一个实验室!对大学生活有很大的帮助,可以说我大学的生活和学习完全是围绕着实验室展开的。

    大一上刚进实验室时,因为自己是真的小白,所以是从C语言的基础学起的。我花了整整半学期时间精通C语言,可以说有所得有所失。因为第一次学编程,花了太多时间学这种基础,所以大一上学期没太大进展。

    在大一寒假留校期间学习了51单片机并和实验室的小伙伴们做了一辆基于51单片机循迹小车。在留校结束后又回家学了些51单片机的知识,包括中断、串口通信什么的。
    基于51单片机的循迹小车
    基于51单片机的循迹小车

    大一下学期我买了一本C Primer Plus,对C语言进行了深入学习。我花了一学期读完了800多页的这本书,虽然了解了队列、指针、二叉树等算法,但是个人觉得在平常的编程生活中其实用处不是特别大,至少在这个专业中用不到这么复杂的C语言算法。同时自己学了Arduino,做了些小项目。但是反观实验室其他同学,都学了一些比较特别的东西,比如STM32、C++等,所以这一段时间那些同学都有学长给的项目做,而我啥都没有,在这一阵子学习特别低落。

    大一暑假参加了实验室的国际水中机器人大赛的垃圾清理组的比赛,负责arduino程序的编写。但是因为自己能力有限,几乎留校一个月都在装船和王者中度过,可以说是真的很浪费时光,现在回头想都特别后悔。中途还参加了省电赛,拿了省二。最后自己水平问题并没有到青岛参加比赛,机器也因为荡机导致只拿了三等奖。在留校结束后的一个月里,我学了C#。但是并没有了解过多,可以说8月份完完全全浪费了。
    电赛的无线充电小车
    电赛的无线充电小车

    大一的下学期到大二上学期实验室第一次开会之间,我可以说自己完完全全在大学的迷茫期之中。中间充斥着各种压力,感情、学习还有目标都遭受了各种挫折,可以说天天到床上第一件事就是流眼泪。我和室友吵架,做什么事都提不起劲,天天就是游戏睡觉。

    大二是改变的开始,我在这半年里感觉到了前所未有的动力。

    大二第一次实验室开会,我理所当然成了背锅侠,被学长老师训斥了一顿,我开始重新寻找方向。我开始接触树莓派,花了一个多月学了一些基础的知识,并接手了学长的项目,参加了江苏省机器人大赛,但是最后只拿了省三。看着实验室其他同学都是冠军或者一等奖,其实挺失落的。在比赛结束后我经过思考开始学习python,了解基本语法之后写了个飞机大战的代码,但之后我并没有选择深入学习python的其他知识比如爬虫之类的,我选择基于python学习opencv。在大二上学期我学习了opencv的基本知识,并参加了学校的一些小比赛,做了基于图像识别的分拣传送带等项目。
    江苏省机器人大赛现场(右上角拿旗的是我)
    江苏省机器人大赛现场(右上角拿旗的是我)
    基于图像处理的分拣传送带
    基于图像处理的分拣传送带

    在大二寒假里留校的两周里,我通过Opencv写了二维码识别的代码,可以说是自己真正花尽心血写的大项目。在留校结束回家后我继续学习,做了车牌识别,又学习了tensorflow机器学习,写了基于tensorflow的人脸识别的代码。同时学习了PyQt,编写了不少ui窗口的代码,并结合opencv实现了两者的共同开发。

    寒假留校时写代码到深夜的晚上
    寒假留校时写代码到深夜的晚上

    大二下学期到现在,我参加了学校捷配的电赛选拔赛,做了之前文章里写的可见光和滚球装置,也把自己寒假做的人脸识别报了学校的科创并做了进一步完善。同时今年暑假再次参加国际水中机器人大赛,并作为组长参加深水黄鱼管道巡检项目。这学期我还学了很多树莓派的使用知识,也接触并学习了STM32,熟悉了PID等控制算法,也是为黄鱼比赛和电赛国赛打下基础。

    在暑假里除了10号的比赛和电赛国赛,我打算用中间两个月的时间学习视觉SLAM和激光SLAM,学习C++并熟悉ubuntu系统,准备专利申报和论文发表,并准备中国机器人大赛水下rov的比赛,参加rov项目。

    大三个人准备专心考研,除了实验室一些比赛,将所有精力花在考研上,争取实现我上东南南大的梦,完成高三时的梦想。

    学习方向建议:

    对于一个大一的自动化新生,要在大一时就选好方向,是准备考研还是准备大学毕业工作。

    对于考研的学生,我建议将学习方向放在算法研究上。在学习某一样东西时,不能只会应用,不懂原理。所以学习时尽量摸清算法的原理和算法,了解算法的数学原理以及分析,这是对一个未来即将成为研究生的学生来说极其重要的能力。学东西切忌不能浮躁,别人的代码拿过来也不能直接照搬,要懂原理懂思路,要有耐心了解知识的来龙去脉,从数学方法的推导到算法的实现,都要进行细致的了解。

    进大一前的暑假先学习C语言(没把握好进大学前的暑假我很后悔)和一些MCU的知识,为大学进实验室做准备

    建议在大一上学期挑一个自己感兴趣的实验室,学习精通C语言,之后在大一下选择一个自己感兴趣的方向,个人建议不要选硬件,因为这些通常比不过许多专升本的专科生,且要在硬件上有所提高难上加难,尽量去研究深度的算法,比如图像处理(视觉SLAM,OpenCV等)、数学建模、MCU(建议stm32)、嵌入式系统(linux等)、ui窗口文件编写(C#、QT),temsorflow机器学习等比较先进比较新的技术,这些技术都是适合自动化学生学习的,因为大学大多讲的是落后的旧技术,很难凭借这些旧技术立足于现在这个社会。多去了解一些不要拘泥于自己的专业,而要基于自己的专业和兴趣选择。

    大二就在保证各科成绩优良的情况下努力学自己想要的知识,记住要专攻一个方向,千万不能一心二用,学完一个技术再学下一个,一定要踏实。同时在大二参加足够多的比赛,比赛的奖状可以在研究生面试时加分甚至免复试,很关键!

    在大三时可以根据自己学习的方向进行考研准备,大四考研之后顺利毕业去自己的下一所学校。在研究生阶段在进行更加深入的学习。

    对于准备工作的,我建议将精力放在学习应用上。在学习过程中精通应用,能把所学知识迅速转换为产品,建议也学习以上建议的一些知识。我们学校毕业的本科生中,有第一年年薪三四十万的,也有月薪两三千的,区别就在于掌握的知识的多少,尽量学的广,学的精。大学什么都不学的本科生,出去最多是到工厂里当工人,不管是985、211还是本二本三的学生,自动化专业的行情就这样,最多的是去企业操控机床、加工产品,学历造成的不过是工资有小几千的差距罢了。鉴于我现在了解的行情,一位精通C++以及opencv原理的工程师,月薪可以达到1万到2万,但如果你会机器学习,那工资更会翻倍。如果你又会编写ui窗口、会写TCP协议和通信,工资又会有很大的提升。所以基于一个已经学习的方向进行深度发掘和拓展,并通过这个主干进行延伸,学习其他新知识是非常重要的。
    同时建议大家培养口才和演讲能力,一个优秀的工科生要拥有非凡的口才能力,即吹牛逼。我见过很多学长虽然实力差不多,但是在面试时口才好的人才能取得更加多的薪水和尊重。

    大学建议参加的比赛

    1. 学校里组织的比赛都可以参加,包括院里的和全校的
    2. 高校四大赛中:全国大学生数学建模竞赛、全国大学生电子设计竞赛、挑战杯三大赛
    3. 全国比赛以及省赛:软件类建议蓝桥杯,其余综合性比赛包括中国机器人大赛、中国工程机器人大赛、省大创、各省组织的机器人大赛、谷歌等外国或国内公司组织的大学生开发者比赛
    4. 建议多去参加谷歌开发者大会等针对开发者的讲座和会议,可以了解最新技术和科技发展方向

    大学肯定会有一定的迷茫期,不能一味沉沦,而要及时摆脱迷茫,未来很美好,要充满活力去迎接,享受现在的大学生活吧!祝所有CSDN的大学朋友们都能快乐地享受大学生活!

    后期有感想会继续更新的。

    展开全文
    DerrickRose25 2019-06-28 08:47:28
  • 哥们逗 了,写个脚本那真不叫运维自动化! 2014-12-16  http://3060674.blog.51cto.com/3050674/1590803  好久没写文章了,最近要来刷下存在感,近两 年,运维自动化被炒的火的不行,行业趋势不可挡,...
    哥们别逗 了,写个脚本那真不叫运维自动化!
    2014-12-16 
    http://3060674.blog.51cto.com/3050674/1590803 

    好久没写文章了,最近要来刷下存在感,近两 年,运维自动化被炒的火的不行,行业趋势不可挡,现在企业招运维工程师都要求会一门开发语言。我们公司也不例外,由于刚上市,一下子有钱了,开始招兵买马 瞎折腾,因此最近我也面试了不下十来个求职者,本成想可以很容易招到几个不错的小伙,结果却令我很失望,今天贴几个面试者例子上来,跟大家吐槽下:

     

    面试A君:

    应聘职位:高级系统工程师   工资要18K

    此君简历写的不错,在360干过几年,简历上写的是维护公司的360网盘平台,管理着2000多台机器,写了很多自动化工具。然后我就让他跟我聊聊他做的自动化工具,哥们娓娓到来跟我讲他写的那些脚本(自动部署、批量命令、日志分析),从他的表情中感觉他好像觉得他做过的这些东西很牛B(其实都是一堆SHELL+Python拼凑起来的粗糙工具,需求稍一改变就不能满足,脚本的扩展性极差),他说他现在的工作基本上80%都能通过脚本完成,说完后直视我,貌似是等待着我的认可,出于尊重,我只好说那确实不错。接下来我就拿他写过的批量并发执行命令的脚本跟他深入聊了下,他说这个脚本是Python多线程并发的,1000台机器执行一次批量命令1分钟就能全部完成,我于是让他给我讲讲多线程与多进程的区别,在什么时候用线程或进程更合适,结果哥们说了很多废话也没有讲明白。然后我又让他用PYTHON多线程给我写个简单的生产者消费者模型,哥们愣是不知道这是啥东西?那我又问,如果你不知道生产者消费者模型是什么,那你的并发异步处理是怎么做的?哥们语塞说没在这方面做过深入研究,我于是又问了几个其它方面的问题,比如他的Ngnix 日志是如何分析的?自动部署如何跟Git结合的?监控报警接口是如何优化才降低误报率的?但回答的都不理想,然后,就没有然后了….   在这里我只能说,我不是想打击他,如果你只是写了几个脚本就声称自己就是自动化大拿了,未免有点牵强。所以他被PASS掉了,因为我觉得把他招过来,真的不会给我们公司的自动化水平提高多少!

     

     

     

    面试B君:

    应聘职位:运维自动化开发工程师,  工资不能低于16K

    此君简历上说他擅长PHP\Python开发,在原公司做过运维自动化平台。我很感兴趣,让他讲一下他做的东西,主要是监控平台和CMDB资产数据库,让他着重讲了一下他的监控架构,他说他的项目主要是主动监控方式,就是监控服务器每隔一两分钟去轮巡一次所有的机器的SNMP接口,把各机器的基本系统性能信息抓回来,再通过RRDTOOL出图。他们有500多台机器散落在3个不同地区的机房,我问他你们这种做主动监控轮巡一次得多少时间?他说1分 钟左右,我说如果轮巡过程中,如果有几台机器连不上怎么办?他说他的轮巡是并发的,连不上的不会影响其它机器的监控,我说但是你的线程池的线程个数是有限 的,有几个线程因为机器连不上,那就会产生阻塞直至超时,但在超时之前这几个线程是不会再空闲出来的,因此肯定会导致整个轮巡时间的加长呀。哥们想了想 说,确实存在这样的问题。然后我问他有没有考虑过用被动监控方式,就是让客户端自动汇报数据呢?他说当时他们也这样想过,但是一想到要在所有的机器上装个 客户就觉得会增加复杂度,并且维护和管理不容易。我说采用被动模式确实会增加点复杂度,但会给你带来很多好处呀,监控客户端自动给你的服务器汇报数据会大 大减少你主监控服务器的负载,并且可监控的东西要多的多呀,你还可以自定义插件,自动升级,并且还可以把监控客户端当做它用,比如自动化部署、任务下发 等。可能是出于尊重,哥们假装同意了我的看法。

     然后我又问他们的项目是几个人开发的,他说算他在内有3个人一块做,我说那你们之前是如何协作的,比如接口互相是如何调用和约定的?他说基本上是每个人写自己的接口,互相之间约定好如何调用。我问那你们有没有遵循什么标准?比如是统一用http api还是其它的?接口格式是统一用Json还是用XML 或其它?哥们说他们有的用JSON、有的用XML。我说你们没有用restful标准吗?哥们表示没听过。。。。。OH,好吧!如果大家开发时都不遵循一定的标准和规范,我真心不知道他们的系统以后如何扩展,不知道这个哥们离职后谁还能看懂他的代码?不知道这种拿一堆随心所意写出来的脚本来拼凑起来的所谓的系统能满足多少实际需求?

     

     

    面试C君:

    应聘职位:运维工程师    工资要求11K

     

    哥们刚工作不到2年就要11K,真比我当时工作了2年挣的多多了(即使去掉通货膨胀影响),但如果技术好那也没有问题的。结果问了一堆基础问题都答不好,再要这些钱是否有点自不量力了?问他LVS,结果只是配置过,让他讲几种负载调度原理也讲不明白,问他平时怎么管理大量机器,他说用SaltStack 或自己批量写脚本,我问那你用脚本批量管理机器,是通过什么方式呢?他说是用SSH批量密钥登录,我说那你给我讲讲RSA密钥认证原理吧,他接下说的就是怎么通过ssh-keygen命令,怎么把公钥拷到客户端机器上等怎么实现密钥认证的过程。我打断他说我想听的是原理,不是认证方法,结果哥们一点都说不出来,接下来问的一些其它问题也是这样,只知其然,不知其所以然,最后我说,你这种情况我们给不了11K,如果低点你愿意考虑吗?哥们说不太会考虑,那。。。。好吧,只能打发他走了。

     

     

     

     

    其 它的一些面试者情况也好不到哪里去,一路十多个面下来,让我很失望,本以为过了这么多年以后,整个行业的从业素质会提高很多。但结果却还是老样子,所以大 家可以想想业内大家都在炒的运维自动化到底实际有多水?如果从业人员技术水平都这样,还谈个妹自动化呢?自动化真的是写写脚本,再拿个开源软件拼拼凑凑下 就完了吗?在我看来这撑死了只能叫辅助运维,不叫自动化,自动化应该是真正的开始让机器帮你监测问题\发现问题\处理问题\解决问题\自我修复\自我维 护\自带干粮,各模块之间尽量低耦合\可扩展\可插拔。应该是真正能帮企业降低IT运 营成本,使运营成本可视化\可测量\可对比,应该是真正能减轻运维人员的工作量而不是又制造一堆新的问题,应该是切合企业真正的实际需求做出来一些好用的 工具和平台,而不是搞一些花里胡哨却最后扔在那里没人用的花架子(我自己在这方面就掉进过大坑,之前主导做的一个开源软件就是个失败案例)。 

     

    总之最后给我的感觉是,会开发的不真正的懂业务逻辑,开发出来的东西没人用,会运维的开发水平又太烂,写出来的代码烂到哭。想找个真正合格的运维自动化人才真是不容易。

     

     

     

    我近期一共只面了10多个,确实不能代表全行业水平,有些真正技术牛人估计我也没有碰到,但是10多 个样本里面一个合适的都找不到,我觉得这也能差不多从侧面说明一个行业的整体平均水平了,这些求职者水平不高,却又想要高工资,我能说这是眼高手低、好高 骛远的表现么?打铁还需自身用,如果真想要高工资,请先踏实点把自身技术水平提高,如果真想做架构师,那请把架构技术和思想学好,如果真要做自动化运维, 请先把至少一门开发语言学好、学透,不只是会写个脚本就完了,脚本只是脚本,那不是自动化,So,哥们别再逗了!

     

    希望此文能给业内小伙伴选择职业路径时提供帮助!


    P.S: 我也不是什么大牛,只不过做好几年运维,做了几年自动化开发,大多数运维人员走过的路我都走过,上面写的这几案例在我自己求职时也发生过,我也是一个从月 薪2500一路走过来的屌丝而已,我写这篇文章只是为了表达对这个行业的低质、粗糙、落后的现状吐槽一下,我也是这个行业里的一员,所以所有的问题也有我 的一份, SO评论里骂我装逼的人我就不解释了,我这人就这风格,我写的其它文章比这篇可激进多了,So如果某些看官不喜欢,那就let it be 吧。 




    补充:其实我上面面的这几个人,我都是可以把他 们留下的,只是没有办法给他们期待的工资而已,论运维水平,A君要18K,但我觉得他不值这些呀,我最多只能给到15K以下,因为如果我校招一个211学 校计算机毕业的研究生也就给11-13就可以了,再培养一年的话,相信运维+开发水平都会比A君强很多!B君也是,一个连开发模式和标准都没搞明白的半调 子程序员我能给他10K+就不错了,我现在手下的一个刚本科毕业的学生写出来的东西都比他强,有人说我对求职者要求太高,没有人什么都精通,我当然不要他 什么都精通了呀,但是在我看来是一些基础性的、通用性的知识,如果你都不了解的话,在我看来只能算做不合格,不能说我要求高。 





    下面附上我认为一些很好的问题,我回答了下:

    ---------------------------------------

    问: 我的问题不涉及技术原理,就是要问下运维工程师的工资怎么定的,一个熟练使用工具或者说自己写的脚本的人,起码是对运维这块有过多年经验的人,为什么不值 18k,这类人的定位完全可以定位于一个可以干活的人,试问一个可以干活的人,怎么就不能值18k。如果招人都执着于原理,能干出活的人少,执着于原理何 用,我绝对不是说懂原理的人不会干活。that's all

    回复 花花工资hgz:

    我 很想认真的回答下这个问题,但一会我又要去面试一个人,所以只能简要回答了,我做过5年运维,2年开发到现在,你说的,在我看来,这个要18K的人就跟我 最后2年做运维的时候情形是一样的,就是感觉自己什么都懂了,其实是什么都大概懂了,就像一个汽车修理工一样,干了好多年了,感觉什么车都会修了,车子出 了问题很快就能修好。但是如果这个厂商把车造出来时就有技术缺陷的话,这个他是不会去关注的。因为他只会修车,再深入的比如说发动机的详细原理他是不知道 并不关注的,他只能靠听声音来确定是不是发动机出了问题。 我觉得现在好多工作了多年的运维人员就是这种情况,工作多年也只是变成了熟练的修车工人,而自动化则是尝试改变修车行业的事情,熟练的修车工人不去多关注 的话,那我是不看好他接下来的发展前景的,但一旦说到自动化,他如果只是自己闭门造车的话,可能造出来的又只是一个三蹦子,那怎么办呢?  在我看来,如果做运维时间久了,迷茫了,就应该想想如何提高自动化水平,多跟开发人员多学学开发模式,不要只满足于只是把各种开源软件和脚本拼凑起来就 完了,做运维的如果只止步于运维,不去多想想如果做点创造性的东西的话,那你也就只能是一个运维。

    --------------------------

    问:是不是有些太矫情,运维最最重要的就是解决各种问题,原理,呵呵...

    答: 我看到很多类似的评论,觉得运维最重要的是能干活,能解决各种问题,那我们来讨论下什么叫能干活?什么叫能解决各种问题? 把把各种服务配置好、业务运行稳定不出问题算不算能干活?当然算!但是你是花了多少的成本和代价让业务运行稳定了?这个问题你自己有没有衡量过? 我买一堆F5,一堆豪华服务器让厂商把东西都给我配置好,出了稳定找厂商帮解决,这算不算能干活?一个优秀的运维人员能把负责的整个业务以最小的代价和成 本管理的井井有条并努力尝试整个公司的IT管理环境,一个普通的运维会认为他也做到了这一点,但是是否真的做到了呢?谁知道呢?毕竟他自己相信了。

    再 说能解决各种问题,什么叫能解决各种问题?我相信大多数的运维人员所谓的解决问题就是处理各种故障,但不怎么涉及优化,尤其是业务级的、代码级的优化,运 维通常只关注CPU、内存、负载是否过高,但业务非常慢怎么办?加CDN?加负载?加完后如果还是慢怎么办?如果确实是因为代码写的不好导致慢怎么办?想 过没有?当然你可以说这他妈哪是运维的问题,这是开发写的代码烂导致的问题, 但是如果你能告诉开发是他的哪块代码的调用可能导致了业务变慢的话,是否能更凸显你的价值呢?当然如果只去解决一些常规问题也无可厚非呀,但那就不要老想 着拿太高的工资了吧!

    附赠在群里看网友讨论看到的一段不错的话:

     ----北京-菜菜左 2014/12/17 12:12:07
    建 议搞运维的还是要把计算机体系的基础知识打牢,万丈高楼平地起,基础很重要。看似没用只是因为你没学,所以你不知道学了是啥样。别人都说不重要只是因为大 家都说不重要,也反映了运维行业的浮躁。不跟风不盲从,不迷信权威不吹水忽悠,走自己的路,不忘初心。这些话可能反对的人很多,就当我吹水吧。 


    ------------------------

    问:文人相轻,做技术的也难免落入这个俗套,总是提一些别人回答不出的问题来显示自己的牛逼,忘了自己当初是个啥熊样,一个人的技术水平就凭你简单的问问就能做出答案,我服了你。

    答:你自己想想,我问的那些问题是非常规问题么?这是基础问题,任何一个正经干过几年运维或运维开发都需要知道的问题!他答不上来不是我为难他,是他本身技术功底不扎实,一个人的技术水平不能通过面试面出来的话?那还要面试干个蛋用?


    -------------------------------

    问:你怎么就只看到人家缺点 ,就没有看到人家优点。你做的那软件也那么渣渣 ,你都好意思拿出来讲。做为面试者 你只见不得人家比你优秀。面了这么多人 不想想是否自己是否有问题!

    答: 这个看官提到我做的软件是个渣渣,这个我承认呀,我就是做过一个失败的开源软件呀,我在博文里也说了呀,所以我才吸取了教训以后不能只做表面功夫呀,但是 我面试的这些人多跟我之前一样呀,拼拼凑凑搞个花架子出来了就叫做自动化,看着好看但解决不了什么实际问题。写个脚本就说自己提高了企业生产力。我为什么 要招这样的人?你可能觉得没有一个人一开始就很牛B,需要培养,我觉得没问题呀,可以培养呀,但既然是让我培养你,就请你不要想着即拿比你实际能力高很多 的工资,又不想让我揭穿你了吧。



    ---------------------------------

    问:作为招聘者,你并没有从一个管理者的角度出发,认为自己只是一个干活的,不是管理者。而且你面试了十几个,竟是没发现一个合适的。好好想想是不是自己的问题?

    答:我跟你保证,我没问题!面试十几个都没有合适的就代表我有问题了?为什么不能是从业人员普遍水平不高呢?你这简直就是千夫所指,无疾而终的调调!


    ------------------------

    问:其 实楼主写这篇文章说白了还是装13用的,自己都搞不清楚什么是自动化,真正的自动化是什么含义,什么样的环境适合什么样的技术,张口就自动化,上万台机 器,显得很牛B似的,说白了,哄哄那些刚毕业的小弟还能凑乎,懂行的人一看这就是在给自己吹吹牛B而已。技术是在环境和场景下出来的,一个公司什么样的规 模基本决定了什么样的技术实力,不是每天喊喊口号你就能涨起来的,之前也看过楼主的开源软件,号称自动化工具,说白了也就是个脚本集成工具而已,再加点页 面展示,这有何难,你的就叫自动化了?别人的就不是了? 只能说太你吗自恋了

    答:你这种评论我平时都懒的回,今天心情大好,回一下!

    =====================================================

    运维新手们,别再问需不需要学PYTHON了!!!
    2014-07-08 

    http://3060674.blog.51cto.com/3050674/1435907 

    经常有人在群里问,运维人员需不需要学开发?需不需要学PYTHONPYTHONSHELL有什么区别?天天问这种好水的问题,我实在受不了,决定帮大家扫扫盲,求求新手们,以后别他妈瞎问了。

     

     

     

     

    现阶段,掌握一门开发语言已经成为高级运维工程师的必备计能,不会开发,你就不能充分理解你们系统的业务流程,你就不能帮助调试、优化开发人开发的程序,开发人员有的时候很少关注性能的问题,这些问题就得运维人员来做,一个业务上线了,导致CPU使用过高,内存占用过大,如果你不会开发,你可能只能查到进程级别,也就是哪个进程占用这么多,然后呢?然后就交给开发人员处理了,这样咋体现你的价值?

     

    另外,大一点的公司,服务器都上几百,上千,甚至数万台,这种情况下怎样做自动化运维?用SHELL写脚本FOR循环?呵呵,歇了吧,SHELL也就适合简单的系统管理工作。到复杂的自动化任务还得要用专门的开发语言。你可能说了,自动化管理有专门的开源软件\监控也有,直接拿来用下就好了,但是现有的开源软件如Puppet\Saltstack\OpenStack\Zabbix\Nagios 等多 为通用的软件,不可能完全适用你公司的所有需求,当你需要做定制、做二次开发的时候,你咋办?找开发部门?开发部门不懂运维的实际业务逻辑,写出来的东西 烂烂不能用,我自己也做运维系统,6年运维工作经验,开发出来的第一版照样烂的不行,这还是懂的运维业务逻辑的,让开发人员来做,跑偏可能更多了,这就是 为什么我见过很多公司自行开发运维平台,最后都扔那了。

     

    其 次,不会运维开发,你就不能自己写运维平台\复杂的运维工具,一切要借助于找一些开源软件拼拼凑凑,如果是这样,那就请不要抱怨你的工资低,你的工作不受 重视了,话说人家FaceBook一个运维工程师管2万台机器,运维工程师年薪十几万USD,你以为人家是盖的呢?哪个不是身怀绝技,开发运维兼备?

     

    为什么要学PYTHON

    PYTHON第一是个非常牛B的脚本语言, 能满足绝大部分自动化运维的需求,又能做后端C/S架构,又能用WEB框架快速开发出高大上的WEB界面,只有当你自已有能力做出一套运维自动化系统的时候,你的价值才体现出来,你才有资格跟老板谈重视,否则,还是老老实实回去装机器吧。

     

    运维开发为什么要用PYTHON

    Good question, 为什么不用PHPJava C++RUBY,这里我只能说,见人见智, 如果你碰巧已经掌握了除PYTHON之外的其它语言,那你爱用啥用啥,如果你是一个连SHELL都还没写明白的新手,想学个语言的话,请用PYTHON, 为什么呢?首先,PHP是跟PYTHON比的最多的,其实他俩根本就不用比,为什么呢?两个语言适用性不同,PHP主要适用于WEB开发,可以迅速的做出中小型,轻量级的WEB网站,但后端嘛,基本还是要借助其它语言,借助什么语言呢?SHELLPYTHON?呵呵。PYTHON呢, 是个综合语言, 前后端都可以,单拿出来比WEB,也一点不比PHP差,但为什么WEB方向上PHPPYTHON要火? 先入为主嘛,PHP 90年代诞生就是做WEB的,PYTHON2000年后才出现WEB框架,但论优秀程度上,PYTHONWEB框架基本上出其无左,至少是跟PHP比。 

     

    JAVA呢?好吧,一个臃肿\中庸\豪无新意的语言,还是老老实实用它来做ERP吧,搞个运维小平台,用JAVA真心没啥必要,在我看来,JAVA就是稳定的中年男人,稳定\成熟\秃顶,而PYTOHN代表的就是青春, 简洁\快\干净\帅!

     

    C++C,这个嘛,我只能说,如果你会了PYTHON,又会C的话,那你会更吃香,但是不会C的话,其实也无大碍,基本上做运维的人,搞搞C就是为了来装B的, 因为多数情况下你都到不了看系统底层源码的程度, 不过如果你学好了PYTHON之后,还是建议你学习下C++,毕竟相比python这个动态语言来讲,C++的效率还是高很多的,但对新手来讲,不建议做 为第一门语言开始学习, 为什么呢?打击自信心。。。。呵呵,你懂的

     

    RUBY,小日本开发的,还不错,风格跟PYTHON有点像,因为ruby onrails出了名,国外用的比较多,国内,放心吧,没戏,PYTHON已经把它的想象空间都占死了。

     

    当然还有新的语言Go有些搞运维的看见做开发的人员搞GO,也想凑热闹,觉得是未来,我想说,别瞎没事跟风,GO再成功,也不会变成运维开发语言。

     

     

    有些人觉得PYTHON效率底,说他不能支持多线程,OH,好吧,这个还有点说对了,但是我想问,看我这篇文章的有几个做过搜索引擎开发?有几个做个上亿PV的并发网站开发? 有几个看过Linux内核源码?如果没有,请别瞎跟着传了,知道PYTHON为什么不支持多线程吗?这句话问错了,其实PYTHON支持多线程,只是不支持多CPU多线程,也就是一个程序spawn出来的多线程只能占用一个CPU,但是为什么呢?噢,因为GILGIL是什么东东,请自行补脑。。。但是你非得用多线程吗?你可以用多进程呀,再牛B你还可以用协程呀,这些PYTOHN支持的都很好呀,如果你的程序逻辑不好,搞个多线程也快不起来。我认识一个博士讲过一句话,我觉得不错,他说,程序效率高低,80%都是写程序的人决定了,语言本身就占20%,所以下次有人再说PYTHON效率低的时候,请让他先回去自己检查下自己的程序多了多少无用的逻辑、循环等等。这个博士自己用PYTHON写的WEB程序,一台服务器每天能处理上亿请求,一秒并发近两万,什么WEB框架这么牛B? 别问它是谁, 它叫tornado。 

     

     

    PYTHON能否自学?

    当然可以,什么都可以自学,前提是你得能学得会,见过N多菜鸟踏上上自学的不归路,他妈的什么都能自学的话,还用大学干什么?自己在家鳖不就行了?动不动就说PYTHON是个脚本语言,自己看看就不会了,说这话的只可能有两种人,一种是高手,一种是SB,对于高手来讲,他肯定已经会其它语言,PYTHON在这种情况下,自学当然就很容易学会,几年前我刚接触PYTHON时,代码遇到问题,找了个开发的哥们帮调试,哥们帮调了十几分钟就搞定了,结果人家以前一句PYTHON代 码也没写过,为什么,因为语言都有相通之处,一门掌握好了,其它门自己学学就会了。但对于新手来讲,没任何语言基础就开始自学,那么恭喜你,菜鸟们见此文 章为证,从今天开始自学,一年后,你要是能自己做出个软件来,来找我要一千块钱。 哈哈,真的。 基本上自学是属于专业人员干的事情,就像会一门乐器了, 自己学下就可能学会另一门,但我之前没音乐基础,跟着老师都没把吉它学会。 

     

    所以奉劝没基础又想学PYTHON的同学,花点钱去报个班学吧,拿钱换时间,时间是生命,钱没了可再挣钱,时间过去了就再也不会回来,如果你不信邪,非要自己学,那我佩服你的勇气,不过自己试试就知道了。


    知乎上的一个问题:为什么零基础自学编程者,大多半途而废?

    http://www.zhihu.com/question/21423201 


    当 然天下没有绝对的事情,我大天朝牛X的人多了去了,很多人也能过自学编程,最后变成高手了,我的PYTHON也是自学的,但是我可以说自学过程中走过了N 多坑好么,好多时候纠结在一个简单的小问题上好几天都卡住,当时如果不是因为工作需求,估计早放弃了,这还是python,就别说其它复杂的语言了,我相 信除了少数的大牛之外,多数人不比我聪明到哪去,选择自学的同鞋们,一路珍重。

     

    说了这么多,只想告诉那些迷茫不知所措该学什么语言的新手们, 在你还没学好走路的时候,不要老想着,将来我当上老板了,我是开宝马呢?还是开奔驰呢?先学会骑自行车吧。。。



    最后借用国外一位python大牛说过的话, Life is short,you need Python! 人生苦短,我用Python.

    =====================================================


    网站用户访问速度监测分析项目

     

     

    刚 来新公司不久做运维开发,本为以为要继续做我的开源软件开发,结果领导给分了个以前基本从来没考虑的任务,监测用户访问我们网站的速度,没错,是监测所有 的用户访问我们网站的速度。就跟基调一样。因为基调不能实现我们一些特殊的定制需求,所以公司准备我们自己开发一个。虽然以前没做过,但是有挑战才有意思 嘛,开始走起。

     

    首先,确定页面速度如何监控?监控什么指标?如何分析?领导的基本需求如下:

     

    1. 实现全国各地用户访问速度的按区域分析

    2. 实现用户从浏览器开始请求到页面加载完毕的每一步骤的指标统计

    3. 实现对定点区域的任务下发

     

    到底咋做?刚开始想的是,能否通过分析网站日志来实现呢?尼马,当然不可能这么简单,因为日志里最多只能记录服务器收到请求到开始响应的时间,用户何时完全加载完你的页面,是找不到的。那咋办?先学习基调的监测方法发现,他们是在全国各个机房里埋了数万个客户端,让这些客户端定时自动访问你的网站,然后再对每个客户端的加载速度做汇总后分析。很显然我们不可能在全国各个机房放一台机器当客户端,那样的花费非得把公司卖了不行。本着花小钱办大事的思想,灵光一现,为什么不让用户直接帮我们测?我们网站每天数亿PV,这么好的资源不用就白浪费了。咋让用户帮我们测?呵呵,很简单,在页面埋码,在用户访问我们页面的时候,浏览器会自动运行一段JS脚本,会纪录从浏览器开始请求到整个页面加载完毕的过程。然后我的脚本把这些纪录的值做成一个字典,统一用GET的方式发送到后台分析接口,后台分接程序接到数据进来后就按相应的分析维度做分析,然后,然后问题就解决了嘛。

    GOOD,既然以为逻辑能走通,那就开始测试下吧,废话少说上干货,以下为实现过程:

     

    • 前端埋码

    首先确定收集以下指标

    1. onLoad页面加载时间

    2. 页面下载时间

    3. JS加载时间

    4. request开始到服务器响应时间

    5. DomReady时间       

    6. 第一次渲染时间(白屏时间)

    7. DNS lookup时间     

    8. 从服务器下载第一个byte时间

    9. 导航类型  

    10. 请求的url

    11. 浏览器类型      

    12. 浏览器版本      

    13. 分辨率       

    以上指标只是第一期功能,以后可能还会加很多新的指标,完全靠自己写JS来实现挺麻烦的,尼马我是运维开发呀,不是搞前端的呀,这么多东西怎么弄,果断寻找开源解决方案,找来找去找到了yahoo开源的一个页面速度指标收集的小插件boomerang, 下载下来用了下发现很强大,支持自行开发plugin, 于是就在他的基础上做了些更改,自己加入了一些自定义指标的收集。

    为了帮助看客了解,先跟大家说一下,以上指标如何收集?一个HTML页面从开始服务器请求,到整个页面展现在用户面前,其实是经过好多个步骤的,擦,干说好累,还是上图吧。

    wKiom1PGVZ-SaAE2AAKeyV4TnJA394.jpg

    如上图,页面整个加载过程一般为:

    1. 输入网址回车 navigationStart

    2. DNS解析,获取网站IP地址  domainLookupStart

    3. 向服务器IP发起请求,TCP/IP 3次握手,建立连接 ConnectStart

    4. 服务器开始处理用户请求页面的URL     ResponseStart

    5. 向用户发送第一个字节   FristByte

    6. DOM加载完毕                  domComplete

    7. Onload事件开始               LoadEventtart

    8. 页面加载完毕                    LoadEventEnd

     

    亲,知道么,现在基本上所有的主流浏览器都会在页面加载的时候把这些指标记录下来,你可以直接在JS脚本里调用。调用方法等详细指标解释请看  https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/Overview.html 

     

    因为不支持IE9以下的浏览器,所以,去他妈的IE,果断放弃老版本IE,直接设置为在IE9以下不执行,简单粗暴。

    浏览器版本检测代码

       

     

           function get_browser() {

               var N = navigator.appName, ua =navigator.userAgent, tem;

               var M =ua.match(/(opera|chrome|safari|firefox|msie)\/?\s*(\.?\d+(\.\d+)*)/i);

               if (M && (TEM = ua.match(/version\/([\.\d]+)/i)) != null) M[2] =tem[1];

               M = M ? [M[1], M[2]] : [N, navigator.appVersion, '-?'];

               return M[0];

           }

           function get_browser_version() {

               var N = navigator.appName, ua = navigator.userAgent, tem;

               var M = ua.match(/(opera|chrome|safari|firefox|msie)\/?\s*(\.?\d+(\.\d+)*)/i);

               if (M && (tem = ua.match(/version\/([\.\d]+)/i)) != null) M[2] =tem[1];

               M = M ? [M[1], M[2]] : [N, navigator.appVersion, '-?'];

               return M[1];

           }

           var browser = get_browser();

           var browser_version = get_browser_version();

           var br_detect = 0; //default to run

           if (browser == 'MSIE') {

               if (parseInt(browser_version) < 9) {

                    var br_detect = 1; //not runthe status js

               }

            } //end if browser

     

                       //setJS controller variable for speed monitor plugin

                       varBoomRunMark = 0; //0 = enable ,  1=disable

                       varBoomKickStartMark = 5; // run the collect plugin when random num < 5

                       varRandomNumber = Math.floor((Math.random() * 10) + 1);

                       if(br_detect == 0) {

                                imgLoadBeginTime= new Date();

                               

                       }

                       //console.log('randomnumber :'+ RandomNumber);

           if (br_detect == 0) {

                         if (BoomRunMark == 0){

                                if(RandomNumber  < BoomKickStartMark ){

                                         BOOMR.init({

                                                   beacon_url:"http://perf.che168.com/pv_perf.php",

                                                   BW:{ enabled: false },

                                                   RT:{

                                                            cookie:'CHE168-RT'

                                                   }

                                         });

                                }//endRandomNumber check

                         }// end BoomRunMark check

           }//end if br_detect

            

     

     

     

    做完后,上线测试,打开网站,就看到我的脚本在华丽丽的跑了。


     wKioL1PGVsbDM1BKAAHBVN8C_Cg217.jpg

    由于每天收集量在大约上千万,然后又需要用户访问速度进行实时分析,所以才用了storm实时日志流分析,对数据做基本处理后,把各个地区的访问统计一下,写入Redis,因为量大,实时数据只存1天左右,过了一天,就把这些数据按小时进行平均优化等。

     

     

    分析方法,

    由于数据量大,如果直接简单的对数据做平均的话,肯定会出现很多极值,导致平均值不能代表整组数据的实际平均值,例如,两组数,[1,999], [499,501] 两组数平均后都等于500,直接取平均值就太坑了,这时候高中数学终于用上了,直接取标准差,中位数,然后又TP90TP99了一下,一番下来,数据基本准了,当然其中很多细节实现,有兴趣的同学可以专门找我探讨。

     

    直接看最后实现吧:

     

    wKiom1PGVwOhSvCgAAEEqB5AZSk378.jpgwKiom1PGVwLhGRHdAAcI0rQ6nus239.jpg

    wKioL1PGWBrCQQuHAAMoiGR8Jko273.jpg

    wKiom1PGVwKwkvVJAAZ-EKsdg3U766.jpg

    wKioL1PGWBrR63GwAAUlMUyuxAg107.jpg




    以下为实时监控部分:

    wKioL1PGWLiw-_ErAAQEIhqUh5Q426.jpg

    wKiom1PGV6HgrhivAAS9WkPD_Xk063.jpg


    wKioL1PNzpbwoNA7AAjezfCFQDs053.jpg

    wKiom1PNzXyDHj0GAAVO1wD3m90876.jpg


    好吧,差就多就这些吧,回头搞一下,争取开源下。 打完收工。 



    =====================================================

    =====================================================

    =====================================================

    =====================================================

    个人觉得写得挺好的,不过

    一个菜鸟、初学者看了感慨万千啊!老子的不归路还有多长啊!!!


    展开全文
    qq_36523839 2017-05-01 10:46:37
  • 我要说的是,千万别学编程,为什么说“千万不要学编程”呢?我们可以先反过来讨论“我们为什么要学编程?”这个问题讨论清楚了,你也就明白我为什么说千万不要学编程了! 学习编程应该是这样的逻辑吗? 在讨论为什要...

    今天我在CSDN博文中,不讲技术,不讲技术,不讲技术!重要的事情说三遍!我要说的是,千万别学编程,为什么说“千万不要学编程”呢?我们可以先反过来讨论“我们为什么要学编程?”这个问题讨论清楚了,你也就明白我为什么说千万不要学编程了!

    学习编程应该是这样的逻辑吗?
    在讨论为什要学编程这个问题之前,我想各位接触过编程的伙伴们已经接受过编程的学前教育了,当然这个开启你学前教育的人或许是你的老师或许是你的玩伴,或许是各个招牌岗位的工作要求!
    是的,正如我们的编程学前教育老师所言,现在是人工智能高速发展的时代,是网络高度发达的时代,每个人的生活或者工作都已经不可避免的要和这些智能设备打交道,所以,我们要学习……。可,我还会想问,难道就因为这个我们就要学习编程吗?
    在这里插入图片描述
    我感觉这样的逻辑还是很有漏洞的,比如我们的生活中每个人都要穿衣服,不会说每个人都要去学习纺织或者服装设计,我们每个人每日都要吃饭,不会说我们每个人都必须是农名或者厨师。除非……
    除非,你真的对编程充满好奇和向往,除非你的事业需要编程来助你一臂之力,除非你很享受不分昼夜坐在电脑旁一遍敲代码一遍烧脑的感觉……但不论怎样,你想靠编程来发大财,那就不是一般的困难了,你要知道本贾尼·斯特劳斯(C++之父)至今还没有发财,还在写书卖书呢!盖茨、乔布斯、扎克伯格他们也不是顶着“程序猿”的头衔发的财,但不可否认,是编程,不,准确的说,应该是计算机和网络这个行业将他们带入了财富的王国。

    如果我们冷静的想想,我们会发现,各行各业都有成功获取巨大财富的巨人,他们也没有去学习编程啊!所以,如果你是想通过编程来改变自己命运,获取财富的人,劝你再仔细斟酌,或许你更适合做销售,做牙医,做律师,或者做厨师、或者网红……

    学习编程真能为求职添加砝码?
    二十年前,不管你是不是名牌大学毕业的,如果你学习过一点C语言,能够会几行代码,你是一个软件人才。如果你会用烧录器擦写51芯片,那么你可能就会被当做一个嵌入式软件开发人员,这和50年代拿小学生当知识分子是一个道理。但现在你仅仅拿着这些东西断然无法撬开求职的大门的。
    在这里插入图片描述
    所以,如果是本着想学习点编程的皮毛知识来为求职添加砝码的想法,那么我又会劝你,不要耽误宝贵的精力了,毕竟“业精于勤“,术业在于专攻,多用点精力把自己的本专业搞精深一些比学点皮毛编程强多了!

    如今的就业环境已经不是二十年前了,许多领域都越来越专业深入化了,越来越多的中国公司都已经引领行业发展方向了,越优秀的公司对人才的要求就越苛刻,BAT的人才招聘几乎都是在211和985学校举行招聘宣讲,为的就是找到更专更精的人才。作为理工科专业的同学,如果我们在专业过硬的基础上,又能有扎实的编程技能,诚然可以为求职添加砝码?但如果你是一个学新闻的或学导游的,那恐怕在当今社会,别人只能认为你是个野路子,估计会唯恐避之不及吧!

    不管哪个培训学校也好(哪怕是培训界的明星学校出来的)网络培训也好,在没有专业知识做铺垫的时候,学完毕业所能干最好的岗位就是传说中的外包业务程序员了,就如流水线上的工人了。但不幸的是,外包业务十多年年每年都在下降,有核心竞争力的企业没有一个不是自己去研发自己的软件业务产品。

    我们一辈子不能只知道学学学,而不知道问几个为什么,所谓学而不思则罔。人的精力总是有限的,学习任何知识和技能都是要消耗时间精力的,时间精力消耗了,那我们所专攻的领域和知识就要被冷落甚至搁浅,所以我们不能总是在学不好学不动的情况下才发问:我们为什么要学英语,我们为什么要学数学,我们为什么要学编程?

    实际,我觉得我们必须在动手做一件事情之前就要多问问自己,为什么要做这件事情,我们为什么要学编程呢?

    别告诉我你学习编程是被绑架!
    前面我们谈到了,一种是为了“创业发达”,一种是为了求职添加砝码,除了这两种,我想最悲惨的就是学理工的同学们了,除了一部分真正喜爱编程,将来工作中用到编程且能从中受益的同学,其余的那部分即用不到又无法从中获益,但还是必须学,我称他们为“被科学绑架”的学习者。
    在这里插入图片描述
    他们是最悲惨的,我记得我的同学中有百分之九十是这样,九十年代末上大学的理工学生基本都已
    开始学习编程了,可二十多年过去了,好多连电脑软件都不会安装的至少有八成,更别说他们工作在编程第一线以及从编程中受益了。他们就是当初被绑架着学习了编程,这和许多学中医学国画专业的同学被绑架者学英语基本一样!

    学习编程也是一种“贪”!贪念害己!
    在学习的道路上,上帝给了人两个最自相矛盾的人性,第一个就是害怕困难,第二个就是贪多求快。所以即使是一开始对编程怀揣梦想和憧憬的理工男,即使是自恃才高觉得自己分分钟可以掌握一门语言的学霸,也有许多倒在了编程的各种困难沼泽里了,有的倒在了起步中,比如几个C++指针和回调函数,又或C#的代理和事件机制,更有甚者甚至一个IDE都安装不好,也就提早投降了;有的倒在编译原理或者操作系统通信机制上;有的则葬身于无休止的BUG修复中,一连几个月为修复百小时通讯中一个比特的误传BUG或许你下辈子也不再想碰编程了!传说中的华为腾讯百度淘宝,不给钱也资源往死里加班,那可是真的,否则你的这个BUG挡住了项目的进展,谁来负责!!或者你带着这个BUG狼狈的辞职,或者往死里加班硬着头皮解决它!
    在这里插入图片描述
    贪多求快,也许是现在社会快节奏的产物,我想古代应该有,但我感觉当今最严重,所以网络上或者市面上那些“七天掌握单片机”“一个月精通java”的教程满天飞,诱导着一批贪多求快的小伙伴进入了编程。他们有的说,闲着也是闲着,随便找点东西弄,总比闲着强,多学一点东西不好吗?(同时脑子里还脑补着自己成为超级黑客的样子,的确让人可以激动几个小时)。
    我想告诉你,编程不仅仅是安装好IDE后“成功”输出一个“hello world”字符串,不仅仅是在对话框上拖入两个按钮,显示两个MessageBox,更不是教科书上关于printf的各种花式用法以及用printf打印各种花样的星号图形(什么杨辉三角)。即使你成功的学会了printf,甚至学会文件读写、学会了调用数据库、学会了TCP/UDP、学会了各种框架,也只能说你会了最表面的一些东西,也只能说你已经学会了依样画葫芦的基本功和拿来主义的基础招数,这样的基本功仅仅使你具备了在网络上抓代码为己所用而已。如果你没有自己的智慧与语言及IDE的融通,你最多就是一个code copier!

    好吧,就算你完全已经达到了能够拷贝别人的代码了,但自己想实现的功能和设计要求如何实现呢?咱们不能总在网上守株待兔的等别人的代码来帮自己实现自己的设计需求吧!
    如今,但凡有点技术含量的东西,尤其是AI领域的哪个不会涉及到一些算法,简单的则会涉及到高等数学,比如最小二乘数、微分、积分控制、傅里叶、拉氏变换等(如媒体处理),再如神经网络、遗传算法的各种变种算法。当然,这些对于潜心学习理工的同学也非常小儿科,但如果我们只是为了贪心,想让自己多一项所谓的技能和打发无聊就来学编程,我想奉劝您,洗洗睡吧,那样更实在!
    至于那些希望求快的,那就更是要使你们失望、败兴甚至懊悔了,上当的感觉是不好受的!编程是需要积累的,时间的积累是基础,知识的积累是更是前提!所以,贪念最终还是会害了自己!
    在这里插入图片描述

    说到这里,当初由于玩游戏玩得不错,突然萌发一梦,想开发一款游戏的梦幻小伙伴们,你们的编程梦是否已在面前轰然倒塌??!!(当然,或许您只是想编一款游戏外挂为自己自动做任务,对吧?)

    学习编程能使事业“锦上添花”吗?
    我说千万别学编程,说得就是前面几种,但对于,靠编程来使自己的事业“锦上添花”的人群来说,学习编程不失为一种选择。但,我还是想说,术业有专攻,人不是万能的,如今社会讲究分工合作,专注自己的领域。即使是编程领域也是不断的朝着让程序员专注业务实现,让美工专注前端和UI的方向发展。虽然一直没有实现,但这方面的努力从未间断过,如一直以来MVC的提倡和实现之路就是明显的例子。2010年后慢慢火起来的arduino、树莓派、microbit、伽利略以及后面出现的processing、p5js都企图让一些非编程专业领域的人进入编程领域,尽可能的使编程实现简单化,但这么多年了,最后能够将他们用起来的人寥寥无几,网络上一些有关这些编程工具及经验的分享者仍然是一些老程序员。在商家们的簇拥下,老程序员装扮成为非编程专业领域的新手,吸引更多的眼球和流量,为商家的器材和商业计划买单而已。

    回到文章的开头,我们仔细思考了为什么要学习编程,思考清楚了,自我审视清楚了我属于哪一类?如果我属于上述几类,那我奉劝,“千万不要学习编程”!但~~~~~~~

    如果您有机会成为编程界的“巨匠大咖”!
    当然,如果你还是个小孩子或者长不大的小大人,不知道自己喜欢编程,会否爱上编程,想来一次"抓周",那也是未尝不可的,或许一次尝试就让中国产生了一个编程界的巨匠和艺术家也未可知啊!
    在这里插入图片描述
    如果,您才思敏捷,数学基本功好(应该说喜欢钻研数学问题有把握学好数学也可),趁着年纪小,早点开始学习编程吧。毕竟盖茨13岁就开始了,杰克多西(Twitter创始人)8岁就开始了。咱们中国的强大,也需要一批这样从小就表现出编程爱好的神童,来实现我们的软件大国梦、软件强国梦!

    展开全文
    haigear 2019-01-03 12:30:59
  • weixin_41937552 2020-06-28 23:55:10
  • bj_zhb 2020-03-02 22:27:05
  • chen__an 2019-10-22 14:23:09
  • weixin_32199977 2021-07-18 04:59:29
  • u014086243 2019-02-20 21:11:57
  • qq_33764889 2016-11-15 00:04:37
  • yw0209 2020-02-03 16:20:44
  • qq_24357247 2019-02-20 21:26:47
  • csdn265 2017-04-08 23:42:01
  • x359981514 2015-05-11 16:42:06
  • isscollege 2017-11-28 17:37:36
  • zhiguigu 2021-06-15 14:51:38
  • u012562943 2016-05-19 19:40:06
  • chinswee 2019-05-06 15:22:24
  • np4rHI455vg29y2 2018-03-19 00:00:00
  • wodeai1235 2017-09-08 17:50:02
  • shenseyoulan 2018-07-04 16:58:18
  • wingking84 2013-07-18 20:05:55
  • np4rHI455vg29y2 2018-04-08 00:00:00
  • qhshiniba 2014-03-24 15:31:37
  • AI_Green 2021-08-20 16:43:52
  • pengjiangchun 2020-04-14 14:07:22
  • cyjs1988 2019-07-22 16:54:02
  • nihao0526 2014-09-01 16:21:07
  • songfei_dream 2019-10-29 17:39:24

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 38,689
精华内容 15,475
关键字:

千万别学自动化