1
▲
真实经历,从一点儿不懂到懂了一点儿,需要两周。
两周前,我参加了一个线上编程比赛。两周时间,要求一个没有编程基础的人,从零开始独立完成一个project。正好手头毕业论文要求使用爬虫采集数据,就顺势参加了这次比赛。
从没头没脑的开始,到最后莫名其妙的完成,过程还是很艰难的。刚开始的时候非常痛苦,每天要盯着看不懂的代码四五个小时,甚至惨到连编辑器pycharm都不会用...两天三天过去了还是没有进展,连头绪都没有。开始疯狂的在网上找教程,找案例。好在,我是有任务在身,毕业论文的数据采集任务在那逼着...要不然真不知道还能不能坚持的下去。
到最后爬完了天猫3000个数据,完成后又把小伙伴们的数据都爬下来了,这种酸爽简直了。
最后的结果是这样婶儿的:
爬出来的内容是这样婶儿的:
看到最后的结果,真想说一句:太他妈不容易了!
文章已结束,下面由当事人发表一下感言。
2
▲
任何事,从不会到会一点都只需要两周?
还记得网上有篇文章讲北大教授上课的,大意是物理系的教授,下课的时候布置一道实验项目,牵扯到他还没有讲,学生们闻所未闻的概念。有学生说“老师这我们没学过啊”教授回答说“没学过就对了,现在回去学啊”
之后的一周里,学生们天天泡在图书馆,查阅资料,苦心钻研。第一天什么都没看懂,第二天第三天还是一头雾水。眼看要交作业了,想要放弃也没有退路。终于第四天明白了一丢丢,第五天两丢丢,天天都在切磋新概念新名词,琢磨新概念新名词之间必要清晰的关系。
如果你觉得最后会“终于完美的完成了”就too young too native了,最后还有很多学生没有完成作业。
我这两周就像是这样婶儿的。只不过我天天捣鼓的都是这种玩意:
相信我,两周前我和你现在的感觉是一样的:这都是些个什么玩意?但还得相信,这就是我用两周时间一个一个字母敲出来的。而这几行代码,可以爬取天猫上任何品类商品的基本属性,可以爬取任意多条。
当然,最后还没有做到尽善尽美。有一些权限还没有获取,或者被反爬虫隔离了,不过我已经很满意了。
你可能会说,我本来就会一些计算机知识啊。不是的,我现在学的是前端开发,和这种后台语言的关系就像雷锋和雷峰塔,我看到这种代码一样是懵逼的状态。
3
▲
有这么三点我想重点分享一下:
1)在开始之前,我就“看到了”我一定做的到。
我们设立一个目标的时候,心里会出现一个自然预期。这个预期是这么写的“我是不是一定会完成,我有没有可能会中途放弃”如果预期中根本就不存在有退路,或者PlanB的念头,这事基本能成。反之则不然。
假如有了一个小小的“退路”的念头,必然会在你开始的过程中,在遭遇艰难,痛苦的时候被逐渐放大。直到这个念头“被困难喂养”的比出门右转的“天使”还要强大。这时候事情还会不会有结果就很难说了。
有很多事都是这样子被不了了之,至少我是这样婶儿的。
但是这次为啥没有呢?
不是我牛逼,自己就能控制不出现放弃的念头,是客观原因的存在。我们一小组三个人负责整个小组的论文数据采集任务,其中一个妹子在上海实习,另一个像个两百斤的孩子的是我室友,知根知底,知道没谱儿,就只有靠自己了。而论文这种事,you know,it is have no Plan B.
就这样我不得不在开始的时候,就没机会想“要推脱,要有退路,要放弃”。没了那一丢丢的念头,往后遇神被神杀,遇佛被佛挡的时候,就只有扛着过,满血活了。
哪有人天生牛逼,只有天生被逼。我估计这件事不论放在谁头上都是可以做到的。
2)笨蛋不可怕,就怕笨蛋坚持下。
我一直有一个偶像叫曾国藩。这个人是出了名的愚笨,后来竟然被誉为是中国历史上的第两个半完人。他独创的“结硬寨,打呆仗”把当时实力几倍于湘军的太平天国掀翻,靠的就是那股扎扎实实的笨劲。同样的人还有阿甘和郭靖。
我非常相信龟兔赛跑的故事,相信傻人有傻劲,傻劲有奇效。
说起来简单,过程又何其容易呢。几乎这两周每晚都在公司加班到九点多,白天偷偷摸摸的看代码,理思路。刚开始是一个一个单词去通,每个语法,函数,流程语句,变量,三方库都是一个个大坑。每个坑都会掉里面几个甚至十几个小时爬不出来,何其焦虑,何其悲哀。
看着网上有人讲出代码原理,自己敲出来的和人家的看起来一模一样,但是会报错,不能运行。意味着抄都抄错,何其痛苦,何其无助。
引用《中庸》中的一段话:
“人一能之,己百之,人十能之,己千之。若能得此道者,虽柔必刚,虽弱必强”
只要不被“我学不会啊”吓倒,我相信凭借人脑牛逼的思考理解力,搞定电脑们遵守的这些规则还是绰绰有余的。我以前常说一句话:遇见困难,解决困难,直到最后,爱上困难。
3)成年人应有的学习方法
价值观灌输完毕总要有方法论的,就以我写爬虫程序为例:
我开始的时候不是先从python(我的虫子用的一门计算机语言,据说是世界上第二好用的计算机语言)的“入门”“新手必读”或者从最最基本的概念“变量”“逻辑判断”“字符串”“函数”等开始着手的。这是小朋友们上小学和中学的学习方法,我一直也不太认同。
若是成年人还是这样一步步按部就班的学习,我约莫人的耐心早晚会被磨没,而且会边学边忘,还不成系统。
我是这样开始的:撸起袖子****直接做。百度一下前辈们留下的python爬虫代码,照着一步步看,然后理解。开始自然会一丁点都不懂,这没关系,遇到不懂的再去查,查完回来接着看,一直到把原理都弄明白,顺带也就把涉及到的概念掌握了几分。这大概需要花一周多的时间。
这一周也是最痛苦的时候,一定会有无数次的草泥马飞奔过你的心田,有无数次的放弃念头茁壮成长。这个时候可以默念:请看前两条...
这么说有时候价值观还是挺有用的,鸡汤也是会补身体的。就看能不能自带汤勺了。
对普通人来讲,过这一遍大致就掌握个三四分,然后在重复两遍。这时候有个师傅时最好不过的,能少走不少弯路。有时候仅仅因为一个中文的标点你的程序就崩盘,一上午都找不到原因也是可能的。这时候需要一个第三方反馈机制,譬如师傅,教练,伙伴等。所以说老司机带路是有道理的。
没有老司机也不要紧,只不过多踩点坑,多花点时间罢了。这些坑才是最能锻炼你学习能力和解决问题能力的好东西。
经过三五次复盘,基本上前辈们的代码已经很熟悉(不要以为第一眼看上去不懂的东西就以为永远弄不懂),了解了五六分之后就可以直接开始了。如果发现有一写就懵逼的情况就太好了,你又发现了一点你的不足,又可以稍稍进步一点了。要善用搜索引擎解决问题,特别要会用Google。如果不会就去百度一下“怎么使用Google”
要相信,你现在遇到的任何问题,网上都有前辈问过类似的问题,大部分在搜索引擎上都有相关解答,如果没有,说明的你问题根本不是问题,细心一些就会解决了。不怕麻烦,一来二去,三番四次就算再不女的问题也一定会被解决。而你的成功就会踩着这些问题驾着七彩云彩来迎接你了。
最后。最后说不定真的就在两周内做成了一件事。而且是从头到尾,从零开始体验到一件事物从小到大,从无到有的过程。在某种程度上,这种体验带来的自信感和成就感,比做成事情本身更有价值。这大概就是为什么那么多有钱人还在那么拼命工作的原因。
总结:有耐心,好心态,方法自洽而不必完美。在我看来几乎是一套普世的方法论,可以帮人提升学习力,获得成就感。
ps:我的心法全在这里了,拿不拿的走看你自己。