在我当初刚从事 web 开发的时候,有很多重要的事我并没有事先了解。现在看来,我的很多期望都和现实有很大的差距。在这篇文章里,我会告诉你 20 件事情,这些都是在你准备开始或者刚开始 web 开发不久的时候就应该知晓的。这有助于你更好地正视自己的期望,同时少走一些弯路。
编程可以随时开始,并不需要学位。在互联网上你可以找到很多资源,尤其是一些基础知识。你完全可以自学编程,同时求助于互联网。
刚开始学习 web 开发的你并没有足够的知识可以解决当前遇到的问题,这很正常,但并不意味着你不能解决这些问题。学会谷歌是一项重要的技能,可以帮助你节省大量时间。
有太多东西要学了。单看 JavaScript 的流行框架,就有:react,vue 和 angular。你没办法学习所有的框架,并且也没有这个必要。你只需要专注于你喜欢的或者公司目前使用的框架即可。
很多没有经验的开发者会写一些花里胡哨的代码,以此向其他开发者炫耀自己的编码能力。请务必不要这么做,你应该尽可能地保持代码简洁。
根据我的经验,开发者对测试工作比较懈怠。大部分的开发者都觉得测试环节不是很有趣。毕竟,你是来制造东西的,不是来破坏东西的。
大部分时候你都会和截止日期做斗争。一旦意识到所剩时间不多,第一件应该放弃的事就是测试。尽管大家都知道这可能会导致不好的结果,但的确是这样做的。
软件开发中的时间预估通常都是不准确的。对于一个小小的功能,你会觉得一小时内就能搞定,但是当你查看代码后,你会发现:要想实现这个小功能,必须重构大量代码。这样看来,一小时绝对是搞不定了。
刚开始从事开发的时候,你想做的只是修复一些东西。只要代码可以运行就够了。对于那些缺乏经验的开发者来说,可以运行的软件和运行良好的软件没有差别。但随着你成长为一名真正意义上的开发者,你将不得不面对以前写的旧代码,然后心想:“这些面条式代码真的是我之前写的吗?”好吧,在这种情况下你只需要做一件事:好好嘲笑一番,然后重构一下这些乱糟糟的代码。
调试代码是你的一个主要工作。写出完全正确的代码是不可能的,尤其是在你经验尚缺的时候。缺乏经验的开发者之所以需要花大量时间去调试,是因为他们不知道应该查看哪里,有时候他们甚至不知道应该找什么。最糟糕的是,大部分时候,这些 bug 是你自己造成的。
Internet Explorer,又名 Internet Exploder,将会让你由衷厌恶自己书写 的 css。即使是最基本的样式,在 IE 浏览器中也会崩掉。很多时候,你都会疑惑为什么会存在这么多不同的浏览器。对于浏览器的兼容问题,大多数公司采取的做法是只支持 IE11 或者更新的版本。
忙活了一天后,开发服务器或者版本控制服务器最后会关闭。如果你不是在本地写的项目,那你就没办法继续手头的工作了。这时候还是喝杯咖啡休息片刻吧。
同事可能会和你聊聊最新的技术或者工具,虽然你频频点头以表赞同,但事实上你并不理解他说的那些东西。
编程就是知识的应用,没有必要记住所有的东西。你随时可以在网上找到资源,只需要知道去哪里找就可以了。做项目、积累经验,这些东西自然就记住了。
最重要的是,你要有足够的创造力。编程说白了就是解决问题,同样的问题可以用多种方式解决。创造力有助于你更轻松有效地解决问题。
你的大部分时间将花费在阅读上。从各种途径阅读并了解新的技术、最佳实践、工具等,时刻关注业界最新动态。当然,也不要忘了多看书。总而言之,阅读可以扩大你的知识面,做到与时俱进。
尝试让你的网站适配所有的设备是一件很烦人的事。设备和浏览器的种类数不胜数,总会有某一台设备的某一个浏览器无法正常显示你的网站。
调试很耗时间,尤其是在你不知道应该查看哪里、查看什么的时候。了解代码运行机制并掌握调试工具的使用,可以帮你省下大量时间。如果你希望提高自己的调试能力,你可以了解开发者工具在浏览器中是如何工作的。
当遇到一个无法解决的难题时,你可能会求助于谷歌。大部分时候,你会在诸如 StackOverflow 这样的论坛得到有建设性的解答。但更多时候,只靠复制粘贴这个回答并不能解决你的问题。这时候,你的问题解决能力和创造力就显得尤为重要了。
在开始编程之前,你应该花时间找一款不错的 IDE。免费的也好,收费的也好,好的 IDE 将会让你的代码生活更加愉快。IDE 可以做到语法高亮,也可以展示语法错误。大部分 IDE 还提供了各种定制插件。
如果你之前习惯通过用户图形界面(GUI)工作,那么在刚转为使用终端的时候可能会觉得不知所云。终端是一个强大的工具,可以比图形工具更快地完成任务。你应该学会熟练地使用它。
当你想要创建一些功能特性的时候,你应该先查看一下 GitHub 上是否已有类似的轮子存在。针对你想要创造的这个功能,可能早就有流行且稳定的库了。多看看一些文档友好且更新活跃的项目。如果你想要新增或者重写项目的功能,你可以选择创建 PR 或者 fork 项目。
原文:https://medium.com/better-programming/20-things-that-are-good-to-know-when-you-start-web-developing-82f6c81b84a
通过技术的角度,来探讨如何提高网页加载速度的方法和技巧,一个网站速度的访问快慢将直接影响到用户体验,对于我们开发来说是应该解决的。
XSS攻击的全称Cross Site Scripting(跨站脚本攻击),为了避免和样式表CSS混淆而简写为XSS。XSS恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。
通过js或css禁止蒙层底部页面跟随滚动:pc端推荐给body添加样式overflow: hidden;height: 100%;移动端利用移动端的touch事件,来阻止默认行为,若应用场景是全平台我们要阻止页面滚动,那么何不将其固定在视窗(即position: fixed),这样它就无法滚动了,当蒙层关闭时再释放。
渐进式 Web 应用是利用现代浏览器的特性,可以添加到主屏幕上,表现得像原生应用程序一样的 Web 应用程序。
Web前端技术由 html、css 和 javascript 三大部分构成,是一个庞大而复杂的技术体系,其复杂程度不低于任何一门后端语言。而我们在学习它的时候往往是先从某一个点切入,然后不断地接触和学习新的知识点,因此对于初学者很难理清楚整个体系的脉络结构。
Web开发是比较费神的,需要掌握很多很多的东西,特别是从事前端开发的朋友,需要通十行才行。今天,本文向初学者介绍一些Web开发中的基本概念和用到的技术,从A到Z总共26项,每项对应一个概念或者技术。
Web浏览器的主要功能是展示网页资源,即请求服务器并将结果展示在窗口中。地址栏输入URL到页面显示经历的过程、浏览器的主要组件、浏览器渲染...
增强现实(以下简称 AR)浪潮正滚滚而来,Web 浏览器作为人们最唾手可得的人机交互终端,正在大力发展 AR 技术。AR 可以简单的理解为一种实时将虚拟图像叠加在现实场景中的技术
先了解一下 workbox:不管你的站点是何种方式构建的,都可以为你的站点提供离线访问能力。就算你不考虑离线能力,也能让你的站点访问速度更加快。几乎不用考虑太多的具体实现,只用做一些配置...
用户是否操作了web页面,我们可以在一定时间内根据用户是否触发了某些事件进行判断。比如用户是否点击,是否按键,是否移动了鼠标等
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!