本想在21年初写段半年小记,但是因为种种原因被搁置。直到我在职场混迹了一年之久,新人变旧人。再次窥探自己的内心,感受到了种种变化,想着也是该写写了。一是记录一下此时的心境,二是明确一下内心的想法,三则是分享一下自己的拙见。
从哪开始呢?既然写了,那就从头开始吧!
开始
二零一八年,新年伊始,从我写下第一行 html 和 css,写下第一行 javascript 开始,距今已经有快四年的时间。没想到当时误打误撞种下的种子,会渐渐开出花来,存活至今,成了我吃饭的家伙。
万事开头难,理工男虽然有对技术的追求。但无奈这个世界过于花里胡哨,各种各样的游戏,嘻嘻哈哈的短视频,内心早已变得浮躁,这些成为了我前进路上的阻碍。
那从看书开始学习?想都不要想了。像浏览小说一样几行扫过去,自以为胸有成竹,就会拿起手机,刷刷新闻,看看热榜,再回过神来,基本十几分钟就这么过去了。
所以我转向了视频,网上乱飞的培训视频,找一套完整的扒下来就开始啃了。第一步就是让自己坐在那里,我有时会边刷视频边看手机,一个几分钟的视频要反反复复的看几次才可以。但是没关系,就这样走走停停,回头望望的入了门。一整套视频刷下来,对前端有了个大概的认识。从基本的 html、css 到 html5、css3,从 javascript 到 jquery,还有一套 Angular1。
虽然从现在来看,技术有点老套,但是心真的沉了下来。我看到了一个更广阔的世界,自觉渺小,所以开始投入更多的时间用于学习。
视频看完,以为窥得门道,可以大展身手,但是无奈连个山寨网站都搭不好,磕磕绊绊,很是颓废。究其原因还是只知道其然不知道其所以然。在 css 方面尤其是这样,它并不像 javascript 这样的传统编程语言,css的属性表现各样,相互作用后的表现又是各样,各种意想不到的表现让我眼花缭乱,心力交瘁。就这样打响了一场关于基础的恶战。
我开始从书里面汲取细节,从表象看内在。回过头来看,看书是我突破第一层瓶颈的要诀。与书籍相比,视频无疑是浮躁的,尤其是培训视频,更不可能做到面面俱到,讲解也不得深入,浅尝辄止而已。还有更重要的一点,你可以通过基础书籍,逐渐将其体系化为己用,形成自己大而全的知识网络,这一点是视频不能够尽善尽美的。
所以我从 css 入手,读了张鑫旭老师的 "css世界",并积极的活跃在 “css 世界” 的社区里面,提出问题并解答问题,可惜现在再去看,社区已经关闭了。"css世界" 里面满是张鑫旭老师对 css 的一些独到见解以及最佳实践,所以初读一遍的理解是很浅的,我只能读一遍再读一遍,功夫不负有心人,对于 css 的布局表现开始有了体系化的理解,应用起来也不再像无头苍蝇一样乱冲乱撞。学校图书馆仅存的两本 “css世界” ,其中之一应该充满了我对于内容的注解,本想着毕业后买本新的,把标注版带走,后来也没能实现。
对 css 有点小成之后,便开始把目标转向 javascrpt。经过前面的实践,js 应用起来不够得心应手的原因主要是了解不够全面,走几步就要查一下文档,得到的解决方案都是新玩意,这可咋办,干脆把你们一一会见一遍吧。
于是乎,一本红宝书,一个寒假,还自己一个“奇迹”。
上面这些即是写给自己,其实也是我一直想写给各位学弟的,故事并未结束,红宝书看完是19年初,但是最重要的东西已经在18年奠定,后面的只是按部就班而已。
最后,还有一点是我想要特别补充的,尤其是在刚开始学习前端的日子里,可能会让你有种错觉,觉得计算机的基础用不到,所以并不重要。相信我,尽早抛弃这种想法,该上课上课。否则,后面你会花更多时间去弥补。
四年时光就快要过去了,红宝书也再了新版,"css世界" 也迎来了它的大兄弟 "css新世界",这两本书我都在第一时间入手了,但是此时已不比当年的求学时光,我再也不可能,一心学习,了无牵挂了。这应该就是成长的无奈吧。
我很想念故去的时光,也很感激那年的自己。
一年感悟
说了说自己的小白菜阶段(当然现在也还是颗大白菜),我调转回忆的磁头,开始读取近一年里面的大事小情。
作为一个幼年初成体,自认为内心戏十足,总有对工作、对人生大大小小的感悟。但是秉持着本篇作为一篇专业前端小记的态度,今天就不跟大家聊人生了。
外部学习转向内部学习
从不同的技术社区中靠着一篇篇文章来汲取养分,这是从学生时代延续过来的学习策略,这一年中也在深深的影响着我。但是社区的文章,毕竟是碎片化的。如果你能做到对每篇文章都做到实践并加以应用,那没有问题。但是我不得不承认我是做不到的。
很多从文章中获取到的知识只是停留在了理论层面,部分可以在解决问题的时候被想起,但大多因为缺乏实践还是会被抛在脑后。
还记得在刚入职的新人培训上,我向一位前辈询问该怎么学习。我想这是每个迷茫的技术人都有过的疑问。
“如果把这个项目交给你一个人做,你能搞定所有流程吗?”
不得不说这一句话,引起了我很多的思考。所以我渐渐的开始在工作之余,去了解做过的项目,它是如何搭建,如何构建,以及又是如何部署上线等等。
除了项目本身,它的背后往往会有多个项目支撑其整个流程,有可能是一段段脚本,也有可能是一个个npm包。当我发现它们时,无疑是打开了一个陌生的知识宝库。
我想,这些直面生产的东西,无疑比社区里面散落的知识碎片更有吸引力,更有学习的价值。
业务学习
关于业务学习,我一直在被熏陶着,无论是在社区的经验帖里,还是在前辈的教诲里。
“我们之中大多数人成为不了技术大牛,但是可以成为业务大牛”,这是令我印象深刻的一句话。
但是说归说,其实在过去的一年,很长的一段时间里面,我都是在做着各种各样的需求,被动的学习着业务。此时我还是一个技术至上的翩翩少年,偶尔会羡慕别人做着看似高端的技术项目。时间就这样在企盼中一点一点过去,心境也在一点一点的发生变化。
这种变化也很好解释,当我站在前端视角对业务了解了七七八八之后,也拥有了更高的视野,主要体现在思考方案时会考虑的更全面,解决问题时可以想到更多的可能,这些是单纯的技术提升所没有办法到达的地方。技术本身应该是用来服务于业务,但是之前的我应该是有点本末倒置了。
好在最近,被动意识在思考中变为了主动意识。我开始有兴趣去进一步了解业务,所以就利用假期大概规划了一下,将自己的学习路线拆分为技术线与业务线两个方向,打破职业壁垒,去了解业务背后的架构,了解隐藏在接口之后一连串的调用流程,了解 DB 如何进行存储。
思想的转变,带来的是一个全新的开始,也是一次全新的尝试。不设边际,目的就是对系统有个更深入的了解,我相信这是一条正确的路线,即使我没有能够站上更高的地方,但多了解一点总是没有坏处的。
感谢
一路走来,感谢自己,也感谢一直引导我的前辈们。