2018年是我很重要的一年,17年毕业的我,大学没开设js/html/css课程,刚毕业那会,被人说过前端技能弱,2018年疯狂的学习各路前端知识,大学课程学习时似懂非懂,2018年的学习过程中逐渐把网络/数据结构/编译原理/图论/操作系统的知识串联了起来,逐渐理解了计算机工作的整个过程。
2018年成功换了满意的新工作,技术栈也从angular1换成react,从上半年就开始了解vue了,最后没用上,但是我还会继续关注vue的东西,毕竟这是中国人的框架哈哈,国内有第一手资料。react是一个很棒的框架,也值得我多研究。大家都在用ts了,年后新公司要引入ts(开心),喜欢用最新的东西。
很感谢我的大学老师,他们的教学都很有经验。首先说下自己工作一年对大学课程的感悟:
第一,数据结构,所涵盖的知识很全,队列/栈/二叉树/b+树都有涉及,还学到了很多实用的算法,每个算法都可以单独列出一个分支详细介绍,比如最短路径Dijkstra/Floyd算法,压缩编码哈夫曼算法,在算法导论那门课,有幸看着课本用c语言实现了floyd算法。个人最感兴趣的就是图像处理了,图片压缩也好,高斯模糊也好,觉得好有意思,通过卷积以及其他数学处理,就能达到我想要的效果。
第二,图论,也是图论这门课给我印象最深刻,很多经典问题比如哥尼斯堡七桥问题等带给我很多思考,这些问题是计算机史上也是数学史上流传下来的,已经很多数学家围绕这些问题展开思考,而数学即是源于生活,操作系统里的生产者消费者模型不也是源于生活吗?第三,操作系统,关于操作系统的知识也是让我感悟很深,我惊叹于前人的聪明,用很多巧妙的方式解决死锁问题,以及优化调度算法和内存管理策略,所有的一切都是基于不断追求卓越
的心。就像前端框架,有人抛弃Angular.js 1.0,推崇react/vue,我想说Angular.js还是开创了前端MVC/MVVM的先河,不要否定它的价值,就像先进先出调度/最短时间调度/优先级调度,哪个更好?我觉得没有最好,只有更好,优先级调度的出现是因为过去的调度算法某些场景下出现了问题,react和vue的出现也是因为某些情况下Angular.js没办法做的很好,所有东西肯定都是更好才能生存,否则只会很快over。学操作系统,不是为了开发一个更好的操作系统,因为一般人做不到,可以从操作系统的发展史,回顾自己的开发(比如java多线程开发,我是前端,也学过java嘻嘻,不自量力表达下想法),借鉴某些思路。还有编译原理啥的,不管前端/后端,最终都要走这一步,比如一个计算:1+2*(1+7),在编译部分还是用到最基本的数据结构:栈,通过不断入栈出栈计算结果,哈哈我学的不好。
2018年买了很多书,但是没有一本看完的,给自己的2019年定个目标,看完2018年买的这些书,2019年新买的不算哈哈。