Web前端需要熟悉大学里【高大上】的计算机专业课吗?
作为一名刚刚大学毕业,进入新的学习阶段的研究生,我必须说大学的专业课非常重要!不管你信不信,事实就是如此!
一、大学学习的专业课非常重要,它决定了我们能走到什么高度
前端的发展非常快,我常常觉得刚刚关注的新东西,过一段时间再看就截然不同甚至被废弃了。
所以保持高效自主的学习能力对于应对这种变换是非常重要的。而这种能力的基础在很大程度上和大学阶段计算机专业课紧密相关。比如WebGL、预处理语言追溯到常规计算机领域就是OpenGL和编译原理等领域。
二、前端知识都是旧中创新
纯粹的前端知识都算不上新创,而是不断在旧知识体系上重演改善。我记得我的师兄告诉我如果所有的东西都可以用js实现一遍,一定会大有收获。可是我始终没有做到。
也许有的朋友喜欢看技术书籍,喜欢细致解读里面的知识,但我习惯的方式则是在网络中快速学习。比如浏览比较好的技术博客,关注新技术的资讯,但是慢慢发现碎片化的知识已经快膨胀到我难以承受的地步了,所以平衡就成为了必须要解决的问题。我们必须找到对自己最有价值的知识,并且牢牢掌握。
三、我对前端的认知
前端,狭义地讲就是网页。也许许多人都会觉得写网页很low,还有人认为一个专科生或者去培训几个月的人都可以做到,没什么可骄傲的。那我觉得也许是他们对前段的理解还不够深入。其实,前端的知识挺多的,真的不像大家想象的那么容易。
前端,广义地讲,是全平台上交互逻辑和表现,其是与后台数据逻辑之间的技术中间层。前端工程师是最接近用户的技术人员,对其各方面的要求也是很高的。
四、本科专业课与我现在前段起步的联系
举几个例子说明。
比如想要做数据可视化的页面,如果不会数据结构,怕是连D3.js的API都用不好。
比如想要做消息通知,就要处理长连接,就需要知道TCP里长连接或者WebSocket是怎么回事。
比如想要做在线聊天的前端,为了承载大并发,极有可能会自行定制HTTP Header,这就需要计算机网络的知识。
比如找最小子串,这是算法吧。
比如简单的AJAX、复杂的交互效果,很大程度上依赖“异步”,这是操作系统里面的概念。
还有最重要的学习一门程序设计语言,学习语法的同时,关键是学习编程思想。前端里就学习JavaScript吧。
再回到大家觉得很low的网页开发,我们仍然需要懂一些基础知识:
浏览器内核
HTML、CSS规范标准
HTTP协议
JavaScript语言
一件看似很简单的事情,想要做好也不是那么容易的。
综上,Web前端的综合实力是非常硬的,绝不是花拳绣腿,而这种硬实力的背后就是那些“基础课”。
学习是要分层次的,先学会,能做一些有用的东西。尤其是先把想参与的工作、项目中用到的知识学会。
还有就是不要浮躁。有时候不分主次地学,只是给自己一个“我很踏实”的错觉而已。
另一方面,在学好目标技能,感觉很难进展的情况下,学习更广的领域,不失为一个突破瓶颈的好办法。
五、思想至上
也许你会感觉计算机专业课上讲的东西大多数是用不到的,但是我想说的是,老师交给我们的不是死板的知识,而是灵活的思想,可是我们往往却没有获取到精髓。
计算机科学,用一个词概括就是抽象化。我们要学会把大的问题,简化成小的问题。把复杂的现实,抽象成简单的模型。
六、学习建议
如果决定以前端学习为主,就在提高前端的基础上,抽出20%左右的时间学习基础课,这部分的学习不会很快产出效益,但是长远投资价值却是很大的。
基础课的学习也有先后顺序,相信学校的课程安排还是比较合理的,但是我们也可以根据自己的实际情况调整。首先学习最欠缺或最能解决目前开发瓶颈的课程,比如数据结构和算法,这是培养逻辑能力和实现底层优化的基础。其次是计算机组成原理、操作系统,这是作为一名计算机开发人员的基本素养,能解决很多高层次不懂的和想当然的问题,让我们学习计算机方面的知识更加省力。
还有一项就是我自己特别害怕的课程——数学。不是说它不重要,而是建议用多少补多少,实用至上,不然的话光一个概率论就可能耗尽毕生精力了。
最后,希望大家珍惜大学里的学习时光,充实自己,相信每个人都会拥有更好的明天。
Web前端需要熟悉大学里【高大上】的计算机专业课吗?的更多相关文章
- 淘宝前端工程师:国内WEB前端开发十日谈
一直想写这篇"十日谈",聊聊我对Web前端开发的体会,顺便解答下周围不少人的困惑和迷惘.我不打算聊太多技术,我想,通过技术的历练,得到的反思应当更重要. 我一直认为自己是" ...
- Web前端开发十日谈
=========================================================================== 原文章: http://kb.cnblogs.c ...
- 绝对精品推荐做前端的看下:Web前端开发体会十日谈
20151208感悟: 前端人的角度来看的话,感觉像是阅读一个大牛前端的全部武功的一个秘籍说明,里面的思想高价值蛋白真是太多太多,推荐看. Web前端开发体会十日谈 一直想写这篇“十日谈”,聊聊我对W ...
- 从就业面分析web前端开发工程师就业前景(2011.6)
案例一 公司名称:法国电信北京研发中心 工作地点:北京 联系方式:hao.luan@orange-ftgroup.com 栾先生 岗位名称:web 前端开发工程师 岗位要求: 1. 计算机或相关专业本 ...
- web前端的学习误区
web前端的学习误区 网页制作是计算机专业同学在大学期间都会接触到的一门课程,而学习网页制作所用的第一个集成开发环境(IDE)想必大多是Dreamweaver,这种所见即所得的“吊炸天”IDE为我们 ...
- Web前端开发学习误区,你掉进去了没?
从接触网站开发以来到现在,已经有五个年头了吧,今天偶然整理电脑资料看到当时为参加系里面一个比赛而做的第一个网站时,勾起了在这网站开发道路上的一串串回忆,成功与喜悦.烦恼与纠结都历历在目,感慨颇多. 先 ...
- web前端工程师在移动互联网时代里的地位问题
支付宝十周年推出了一个新产品:支付宝的十年账单,我也赶个时髦查看了一下我的支付宝十年账单,哎,感慨自己真是太屌丝了,不过这只是说明我使用淘宝少了,当我大规模网上购物时候,我很讨厌慢速的快递,所以我大部 ...
- web前端工程师在移动互联网时代里的地位问题 为啥C/S系统在PC端没有流行起来,却在移动互联网下流行了起来 为啥移动端的浏览器在很多应用里都是靠边站,人们更加倾向于先麻烦自己一下,下载安装个客户端APP
web前端工程师在移动互联网时代里的地位问题 支付宝十周年推出了一个新产品:支付宝的十年账单,我也赶个时髦查看了一下我的支付宝十年账单,哎,感慨自己真是太屌丝了,不过这只是说明我使用淘宝少了,当我大规 ...
- 前后端分离之Web前端架构设计
架构设计:前后端分离之Web前端架构设计 在前面的文章里我谈到了前后端分离的一些看法,这个看法是从宏观的角度来思考的,没有具体的落地实现,今天我将延续上篇文章的主题,从纯前端的架构设计角度谈谈前后端分 ...
随机推荐
- 基于spring注解AOP的异常处理
一.前言 项目刚刚开发的时候,并没有做好充足的准备.开发到一定程度的时候才会想到还有一些问题没有解决.就比如今天我要说的一个问题:异常的处理.写程序的时候一般都会通过try...catch...fin ...
- .NET Core RC2/RTM 明确了时间表
.NET Core 经过了将近2年的开发,去年12月份发布的RC1版本,明确来说那只是一个beta版本,自从RC1发布以来,看到github里的RC2分支,整个工具链都发生了很大的变化,大家都在焦急的 ...
- Js 变量声明提升和函数声明提升
Js代码分为两个阶段:编译阶段和执行阶段 Js代码的编译阶段会找到所有的声明,并用合适的作用域将它们关联起来,这是词法作用域的核心内容 包括变量声明(var a)和函数声明(function a(){ ...
- Redis/HBase/Tair比较
KV系统对比表 对比维度 Redis Redis Cluster Medis Hbase Tair 访问模式 支持Value大小 理论上不超过1GB(建议不超过1MB) 理论上可配置(默认配置1 ...
- C#多线程之线程池篇2
在上一篇C#多线程之线程池篇1中,我们主要学习了如何在线程池中调用委托以及如何在线程池中执行异步操作,在这篇中,我们将学习线程池和并行度.实现取消选项的相关知识. 三.线程池和并行度 在这一小节中,我 ...
- zookeeper源码分析之一服务端启动过程
zookeeper简介 zookeeper是为分布式应用提供分布式协作服务的开源软件.它提供了一组简单的原子操作,分布式应用可以基于这些原子操作来实现更高层次的同步服务,配置维护,组管理和命名.zoo ...
- ASP.NET Core 中文文档 第四章 MVC(4.6)Areas(区域)
原文:Areas 作者:Dhananjay Kumar 和 Rick Anderson 翻译:耿晓亮(Blue) 校对:许登洋(Seay) Areas 是 ASP.NET MVC 用来将相关功能组织成 ...
- 代码的坏味道(20)——过度耦合的消息链(Message Chains)
坏味道--过度耦合的消息链(Message Chains) 特征 消息链的形式类似于:obj.getA().getB().getC(). 问题原因 如果你看到用户向一个对象请求另一个对象,然后再向后者 ...
- Ubuntu设置root用户登录图形界面
Ubuntu默认的是root用户不能登录图形界面的,只能以其他用户登录图形界面.这样就很麻烦,因为权限的问题,不能随意复制删除文件,用gedit编辑文件时经常不能保存,只能用vim去编辑. 解决的办法 ...
- JavaWeb的国际化
国际化 1.国际化开发概述 1.1.软件的国际化 软件开发时,要使它能同时应对世界不同地区和国家的方法,并针对不同地区和国家的方法,提供相应的,符合来访者阅读习惯的页面或数据 国际化简称:i18n : ...