在职大数据的课程,理论部分已经学完了。但到现在,一直没有像样的实践。发现也没公司要我。痛定思痛,反思后发现,自己的工作经历中缺少代码相关的经验。要么是工程,要么是培训,那就发挥自己做培训的最大优势——自学能力。在工作之余学会一门语言,并能够独立写程序。为此,我选择的是R。


    可能是之前的工作跟运维相关吧!一直是做网络相关工程,就连培训工作也是PON网络方面的。选择R语言最初是想着它跟我经常敲击的命令行有点像,而且还可以补全。加之在学校的时候,学习《R与多维建模》这门课,我就跳过了初级课,直接从魔鬼训练营学起了。学有四天,照葫芦画瓢总算是把12道编程题目写完了。做一个总结,也算是脱离了“hello,world!”的编程初期吧!


1,写代码的过程实际上是锻炼一个人逻辑思考的过程。有的时候,运行不出来想要的答案,就会反复去思考自己所写代码的逻辑。这个过程对理工科的人的确是一个很好的锻炼。


2,在照抄别人的代码的同时,要明白对方变量名称的意义。这也是学英文的一个好方法。这一点是受到《把时间当作朋友》这本书的启发,这本书的有一个观点非常好:凡是要想学好英文的同学都建议学一门编程语言。


3,多去与人沟通,交流。因为同样的代码,不同的人就会用到不同的函数,各种函数的调用时间是不同的,内部算法也不一样。这样在程序最后运行的过程中呈现效果也不一样。多去思考它们的实现原理!


4,要对自己写过的代码有注释,至少要自己能够看懂。这样在别人承接你的工作后也能够很顺利的完成剩余任务。


5,写程序是很累脑细胞的工作,不过,当得到想到的结果时。也是会很有成就感的。就像自己配置通一个宽带用户或是提升了某用户的带宽。


6,明白了编程里的跨界竞争守则:你会JAVA,我就用C写你的BUG。你会C,我就会汇编语句写你的BUG,你会R,我就会python写引用。你会用HADOOP,我就用SPARK写........实际上,殊途同归,都基于你对代码运行原理的理解。


7,代码是跑在机器上的,最好要对设备硬件方面的内容有一些了解。这一点是我的强项,知道负载均衡,ARP代理,TCP单边加速,CDN的内容分发,动态路由协议。对你写出的代码会有更大提高。


8,对于培训,太贵的就不要报了(别被忽悠了)。先自学,真学不会,再出点钱学。关键在于学习真知识。不要心疼钱,而浪费了时间。你这样想:你自己都不想学,你能指望着多交点钱就让别人监督着你学吗?


9,真正的学习是以你的专注时间的长短,以及习题过程中克服困难的大小而定的。不是你交多少钱而定!


    好了,这就是最近开始学习与R代码的感受。权当刷一下存在感吧!也好久没写思考了。