成为编程高手只需一年

Unix/Linux > 物联网安全 文章作者:勤快的打杂小斯 2020-03-22 08:36 阅读: loading...

写在前面的话:

此文章,不是吸引阅读量,也不是装X。而是分享我自己的学习经历以及对学习的见解。

2014年08月下旬之前,我没有接触过任何编程。连html是什么意思都弄不清楚。更别说html的标签。更别说JavaScript、Java、c等。那时候形容我,除了门外汉之外,还是门外汉。

我之前,家里条件不是特别好,接触计算机是在高中时代的高二。一直对计算机领域存在着很浓厚的兴趣,令我极度着迷。我很想知道,那么小块的东西,是如何工作的,如何连接世界的?如果让人能玩游戏的?是怎么改变人们的生活的。学会了它,我是不是就可以做很厉害的事情了?

但是那时候也仅仅是拿它来玩游戏而已,因为我不知道能学什么。从哪里学。

高二后,由于一些原因,退学了,也庆幸那时候我退学了,否则,在学校不知道会被伟大的祖国的教育模式影响成什么样,也许今天的我就不是现在的我了。

退学之后,我由于没有社会上一些公司需要的技能。而在学校学的东西,感觉是那么的无用。当时很无奈,读了那么多年书,难道出来竟然还找不到自己满意的工作。

so,在社会上,基本上什么都干过(除了坏事)。

不好意思,以上有点废话。下面才是正题。

由于这时候,我有更多的机会接触电脑了,我开始好奇电脑的工作原理,我自学了电脑的硬件组成:

有电源、cpu、内存、硬盘……等组成。紧接着,我知道,电脑的运行,绝不是这部分就可以完成的,那么它又分硬件和软件。我已经对硬件有所了解了。那么剩下的我就要弄懂它的其他部分:软件。

在2014年08月下旬的时候。我无意中见到某个教程,这个教程需要100元。

教程里许多东西讲的很详细,也幽默通俗。——选对书、选对教程或者说,有针对性的学是很重要的。

我并没有完全按照教程里的东西来做。而是大概的浏览了一边,都有哪些东西,然后就从头到尾看了一遍下来。

在很多时候,是完全没有必要这么干的,这么干是非常耗费时间的。一般,都是看哪里懂了就放过。但那时候的我是例外,因为我的基础是 0,是0,是0。所以我看完了,基本知道了,但这远远远不够。

我又仔细的,认真的,带着思考再看一遍。

看完之后,我就开始折腾了,按照自己想做的东西,用所学到的东西,折腾。不明白了就回头翻书、看教程。

2014年年底,也就是10月份左右。这时候,我觉得我已经从0到了会写html、css、js。当然了,那时候的能力还是相当弱的。

2014年 11月左右,我回家,然后去广东,找了第一份前端工作。工资我不在乎。只是想学习一下,所学的知识怎么运用到项目中,怎么把自己的作品上传到互联网,让大家都看到。于是面试了几家,面试过程中,面试官考我知识点、看了我作品,认为我还OK,就答应我去上班了。我怀着激动的心情,去上班了。

一进公司,我特么崩溃了。因为前端部门,只有我一个。我特么是有多倒霉?

后端是学.net,整个前端部门里有:boss、后端、前端(当然是我了)。没有UI,我特么醉了,我一个人要做多少工作?

没有原型!BOSS直说需求,而且是那种前两分钟说要 一种想效果,后一分钟要另一种效果的那种。

  • BOSS:这个,小黄啊,你今天就做出这个出来吧。能不能做出来?
    我:那个,有什么要求吗?有图吗?
    BOSS:恩,要求就是这样的…..(大概的轮廓,相当于是你老婆说:我要买衣服。然后剩下的事就是你来干了,什么颜色,什么尺寸,多少钱,完全不管)。

  • 朝令夕改
    BOSS:我突然想到,这个要做成这样,不要圆的,绿色的不符合我们的公司主题云云。
    我:我草泥马,能不能说个最终方案,让我好确定,好写代码啊(当然,只是内心咆哮而已)。

与后端配合难

  • 后端:我要做些什么?

  • 我:你以前没有做过吗?

  • 后端:我也没做多久。。。。

  • 我:慌张、忐忑!这特么怎么办?数据怎么交互?怎么获取api?

………………….

最终,各种搜教程、各种问人,终于还是能做出来了。

在这公司,虽然做的极度郁闷,很累。但也锻炼了自己的解决能力问题、学习能力。

这一条,适用于99.9%以上的场景,至少对目前的我们来说。到目前为止,搜索引擎教会了我许多东西,解决了我许多问题!不可想象的多!

许多人遇到问题,就喜欢问人,就开始慌张。我告诉你,其实没必要。搜索引擎能帮我们很好的解决这个问题。许多前辈,高手的经验和贡献都可以使得我们可以绕过许多弯。当然了,也有许多人是写的让人完全看不懂的,其实我想了很久,也没想明白:为什么很简单的一个问题,有的人非要洋洋洒洒写一大片,特么又不是写小说,不能按字收费啊。这种人非常可恨。

如何利用搜索引擎呢?我一直以来,都是用某个搜索引擎(全球的一搜索引擎),而不是某的度,某度实在搜不出什么有用的东西,它能给你的只是一堆的广告。我奉劝它改名叫广告公司得了。

怎么提升自己的知识面?

  1. 多逛逛优质的论坛、平台、社区。比如github、知乎、简书等等了,其他的自己去搜,用关键词搜,自己比较。或者关注我其他文章,也有罗列一些。

  2. 买好书看。这里为什么要强调好书 ?因为不好的书,买了浪费钱,还浪费生命。还会带给你具有误导性的思想和思维。

  3. 多看优质视频。还是优质啊,世界上好的东西有,垃圾的东西也很多。视频,是好东西。因为好的视频,是结合了作者的经验、思想这些精髓在里面。可以省去你去看书、思考的时间。并且视频更让人深刻。

2015年05月,我来到杭州。

这时候的我,对html的标签已经足够熟了。浏览器的对css的兼容性也了解的挺OK的了。js也能随意做了(能使用面向对象、ajax、跨域、正则这些乱七八糟的),总之,做一般的项目,已经完全没问题。也了解,使用过一些框架了,例如什么bootrap。jQuery就不用说了,超级简单的东西。

来到杭州之后,我就了面试。那时候的我,不惧怕面试,兵来将挡,水来土掩,大不了就不合格,我就是想知道我目前的能力,在面试官看来是怎样的。

面试了许多家,有的嫌弃我,有的被我嫌弃,有的很nice,却路途太远,有的挺近,给的工资我不满意。最后我选了一家距离我4个公里左右的公司就职。拿到了8000月薪。

有一家给一万,我觉得远了,放弃了。

来到公司之后,我就有机会练手了。

咱来列举一下,我要在多长的时间,学会多少东西。

  • git

  • node

  • ejs

  • seajs(以前有了解,但用的极少,甚至没真正在项目用过)

  • grunt同上)

  • 混合开发

  • juice

  • css3

  • html5

  • 当然还有数之不尽的各种框架各种库,例如canvas

这些,技术总监,只给我 1周的时间,因为很快就要开发产品了。时间真的不多。

我当时就蒙B了,这是神也不可能完成啊。但咱是铁血真汉子,既然没退路,只能干了。

首先,我选了一本node书《node于express开发》看了一遍 。css3,html5早就有了解,但用的不多,毕竟pc端由于兼容性问题,是很少用到在和玩意的。因为他们总想着兼容IE。

就开始写测试项目,开始折腾。

过去了一周左右,node已经半生半熟了,就这样写吧,发现问题再Google好了。大不了还有CTO扛着呢(技术总监)

于是,就这么些了项目。

直到现在

  • 1)经能熟练的运用node写想项目。许多新的没用过的框架、库,可以直接拿来就用,他们的api一瞄就懂。

  • 2)一年之后,终于直到了github是什么东西?知乎到底有多好?简书有多简洁。并搭建了自己的github博客。

  • 3)一年前,嘲笑我、鄙视我,笑我狂的许多”大神”、已经被我甩了几条街。(有点狂妄、装逼嫌疑,但是事实就是如此)

  • 4)理解了许多语言,其实就是那么回事。领悟了:编程语言不存在于”中文版”、”英文版”之说。

我这进步算大吗?我觉得很大、也觉得很小。

为什么说大:

1 许多人,写程序,写了许多年,依然没弄明白的地方,我却早已了然于胸。
2.许多人,写程序,写的比我久,却了解的库、用的库、对语言的理解没我深(我已经跳出了前端的范畴,开始探索语言的本质、其他语言的优缺点)
3.别人还在想:JavaScript的面向对象到底是什么意思的时候,我已经开始探索:java和c#、go等语言貌似也不错,可以去了解了解。
4.光写前端哪够?就让你们这些装逼货(没有特指谁哈)继续研究所谓的前端吧,我想看看,后台api的实现原理,数据库的操作、我想自己折腾个社区、做点什么事。
5.用前端的技术的同时,我的业务逻辑,变得比后端同学的更强!(其实特么说到底,技术本就不分什么前端后端,太扯了,一个人会写字漂亮,就 不允许他打篮球厉害了?)

为什么说小:

1.其实这是必然结果。只要正常的学习,相信自己,不断鞭策自己。我不知道的还很多,我还可以进步的更大。我想知道,了解、理解更多的东西。我还要变得更强。前端、编程、不是我唯一能做的。
2.有许多的人,比我还厉害,进步的比我快,学东西方法也比我好。他们值得我学习。

  • A : 我是护士,我的专业就是护理。我做不了excel、做不了ppt、我学不会ps,好难,我不会写文章。

  • 我: 我学习那么好,写字那么漂亮,编程也不错,ps也挺好、我还能打篮球、我会兵乓求、我会羽毛球、我会足球、我会设计、我会英文。(有的都是高二退学之后自己加强学习的,读书只给了我 算数、识字这些基本的的能力),我特么是神吗?

  • A : 人人都跟你一样?不是谁都能用很短的时间学很多的东西。

  • 我 :我大概是神吧!你能少看一点 《爸爸去哪儿》、《额滴歌神啊》、《奔跑吧兄弟》吗,今天出了《爸爸去哪》,明天来个《女儿去哪》、《爷爷去哪儿》,你看得完?你能不能看点有用的东西?例如有点启发、让人学到东西的影片或者书?

  • A:委屈的瘪瘪嘴,那好,我要学习,给我买一本书吧,推荐一下。

  • 我:书到了,学习 吧,一个月后我要看你的成绩。我来考考你

  • A:好难啊,我好困,我要看一会儿电视…..(然而没然后了….)

  • 其实,这位A同学,极度的懦弱,并不是她不上进,只是那么的懦弱,那么的沉迷于垃圾节目、垃圾书籍,喜欢看不伦不类,不三不四的东西。不明白自己应该要什么,自己怎么做才能得到,认为自己的能力那么的差,做不到

  • B:大神,我要学node了,推荐一下node的书籍呗

  • 我:恩,入门看一下《node于express开发》吧,然后看看node官网。还有一些博客什么的。当然了,你完全按照那本书,也能做出一些的东西了。最重要的是,要自己动手,去做东西,然后发现问题,解决问题。提升自己。

  • B:大神,除了那本书,还有别的书吗?

  • 我:书很多,但书不在于多,而是,你能否理解了,并且能运用了?你看完了吗?

  • B:我感觉很难做,node好难。

  • 我:做做项目,搜搜Google、看看github。

而今,我不知道这位同学水平到底到了什么水平,我想,应该不会太好,最终原因,我想是因为没有深入的去折腾,没有去写代码,没去发现自己的问题

其实,我们的潜力很大,我们能学的更好。我们能掌握的更多,但是许多人都做不到坚持、做不到深入。不肯思考,不肯的动手,是阻碍我们进步的最大原因。

人,应该要明确自己的目标,拥有理想。

人,重要的不是你站在哪里,而是你往哪个方向前进。

无论何时,不管你已经得到了多少,拥有了多少。都不是堕落的理由。

对于不肯上进,没意志力的人来说,等于是,你想死,任何人都救不了你!

感谢自己,感谢自己没有继续读大学。感谢自己在读书时代已经养成了独立思考,喜欢折腾的习惯。

已获取点赞 +0

评论 点击评论