关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » UI前端 »WEB 开发者应该具备的 6 大技能你有吗?

    WEB 开发者应该具备的 6 大技能你有吗?

    2015-11-11 00:00:00 出处:ITJS
    分享

    WEB开发本身涵盖了许多领域的许多技术,那么,有哪些是WEB开发者必备的技能呢?这是一个 Quora 上用户提出的问题,其中Ellyse Taylor的回答获得了1900+的赞同。

    可能很多人对下面这个列表中的大部分内容都已经了解了,但其中必定有一些是你之前没有看到过,或者没有完全理解的,甚至有些你可能从来没听说过。

    WEB 开发者应该有哪些必备的技能?

    1. 界面和用户体验

    注意,浏览器的实现标准是不一致的,请确保你的网站能够兼容所有主流的浏览器。最少需要测试的有 Gecko 引擎(Firefox),WebKit引擎(Safari以及一些手机浏览器),Chrome,你所要支持的 IE 浏览器,以及 Opera。此外,你还需要了解不同系统下,浏览器是如何渲染网页的。 考虑一下人们不使用主流浏览器的情况,如手机,屏幕阅读器和搜索引擎。一些可用的辅助信息:WAI 和 Section508,移动开发:MobiForge。 阶段:如何在不影响用户的情况下部署更新。有一个或多个可以用来改变架构、代码或全部内容,并确保它们在可控范围内实现部署的测试或临时环境。有一种自动化的方式把更新部署到线上网站。最有效的实现方式是结合使用版本控制系统(CVS、Subversion等)和自动构建机制(Ant、NAnt等)。 不要直接向用户显示不友好的错误信息。 不要用纯文本的方式显示用户的电子邮件,因为他们可能会被垃圾邮件烦到死。 为用户生成的链接添加 rel=”nofollow” 属性,以避免垃圾邮件。 为你的网站建立周全的限制–这条也同时属于安全方面。 学习如何进一步的提高。 POST 提交成功后进行重定向,以免刷新造成重复提交。 别忘了考虑无障碍访问。这总是不错的,在某些情况下,这甚至是法律要求的。 WAI-ARIA 和 WCAG 2 里都有关于这方面很好的资源。 不要让我思考。

    2. 安全

    OWASP开发指南 几乎覆盖了网站安全所有的内容。 了解注入,尤其是 SQL注入,并学会如何阻止它。 永远不要相信用户的输入,以及其他任何请求(包括Cookies和隐藏域的值)。 使用盐值(salt)哈希密码,并对不同的行使用不同的盐值,防止攻击。使用哈希算法如 bcrypt 或 scrypt(更安全,但比较新)(1, 2)来存储密码。(如何安全的存储密码)。NIST也允许使用PBKDF2来加密密码。避免直接使用 MD5 和 SHA 等算法。 不要企图拿出自己喜欢的认证系统。这是很容易出错的,并且是不可测的,甚至直到你被攻击了你才知道。 了解信用卡处理规则。(也可查看该问题) 在登录页和任何需要输入敏感数据的页面使用SSL/HTTPS。 防止 session 被劫持。 避免跨站脚本(XSS)。 避免点击劫持。 保持系统更新到最新的补丁。 确保数据库连接信息的安全。 让自己了解最新的攻击技术和会影响你平台的漏洞。 阅读谷歌浏览器安全手册。 阅读WEB应用黑客手册。 考虑最小特权原则,尽量使用非root用户运行服务器(以tomcat为例)。

    3. 性能

    假如有必要的话,实现缓存,请正确理解和使用HTTP缓存。 优化图片。不要使用20K的图片作为平铺背景。 学习如何 gzip/deflate 内容(deflate效果更好)。 合并样式表与脚本文件以减小浏览器链接数,同时提高 gzip 的压缩能力。 浏览雅虎性能卓越的网站,以及大量的指南,其中包含提升前端性能和YSlow工具(需要安装Firefox, Safari, Chrome 或 Opera)。此外,Google page speed(浏览器扩展)也是一个性能分析工具,它同时可以优化你的图片。 对于小的如工具栏图片,使用CSS Image Sprites(参考最小化HTTP请求)。 访问量大的网站应该考虑跨域拆分组件。 静态内容(如图片、CSS、JavaScript及不需要访问cookie的内容)应该放在一个单独的域下,因为域及其子域的每一个请求都会发送cookie。这里是使用内容分发网络(CDN)的一个很好的选择。 减少浏览器渲染页面所需的HTTP请求的总数量。 利用Google Closure Compiler及其他压缩JS的工具。 确保网站根目录下有一个favicon.ico文件,即使在HTML中并没有提到它,浏览器也会自动加载它。假如你没有 /favicon.ico ,就会返回很多404错误,消耗服务器带宽。

    4. SEO (Search Engine Optimization) 搜索引擎优化

    使用“搜索引擎友好”的URL,如 http://example.com/pages/45-article-title 而不是 http://ofexample.com/index.php page=45。 在动态内容中,把 # 改成 #! ,然后在服务器端使用$_REQUEST["_escaped_fragment_"]。换句话说 ./#!page=1 变成了 ./ _escaped_fragments_=page=1。此外,对于使用 FF.b4 或 Chromium 的用户,history.pushState({“foo”:“bar”}, “About”, “./ page=1″); 是一个非常棒的命令。因此,即使地址栏已经改变了,页面也不会刷新。 不要使用“点击这里”这样的链接。你是在浪费一个搜索引擎优化的机会,而且它让使用屏幕阅读器人们更难阅读。 有一个XML网站地图,最好在默认位置 /sitemap.xml。 当有多个URL指向同一个内容的时候,使用 <link rel=”canonical” … /> ,这个问题可以通过 Google Webmaster Tools 来解决。 使用 Google Webmaster Tools 和 Bing Webmaster Tools。 安装 Google Analytics 或者其他开源分析工具如:Piwik。 了解 robots.txt 及搜索引擎蜘蛛 是假如工作的。 使用重定向(301)www.example.com 到 example.com(或者反过来),防止它们平分谷歌网站排名。 要知道有 badly-behaved 蜘蛛的存在。 假如你的网站有非文本内容,Tim Farley 的回答中有一些非常有用的信息。

    5. 技术

    理解HTTP以及GET、POST、session、cookie以及“无状态”的意思。 撰写XHTML/HTML和CSS要遵循W3C规范,并确保它们通过校验。这样做的目的是为了避免浏览器的怪癖模式,并且这使得非标准浏览器如屏幕阅读器和移动设备更加容易实现。 理解浏览器是如何处理JavaScript 的。 理解JavaScript 、样式表、以及页面使用的其他资源是如何加载的,并考虑它们对感知性能的影响。现在普遍认同的一种做法是把除分析代码等以外的脚本文件放在页面底部。 了解JavaScript 沙箱是如何工作的,特别是当你想使用 iframe 的时候。 需要注意到,JavaScript是可以被禁用的,因此AJAX只是一个扩展,而不是基准。虽然大部分用户并没有禁用它,但记住,NoScript正在变得越来越流行。并且,谷歌在索引你的网站时也不会运行JavaScript。 学习 301 和 302 重定向之间的不同。 尽可能多地了解你的部署平台。 考虑使用 Reset Style Sheet 或 normalize.css。 考虑使用JavaScript框架(如jQuery, MooTools, Prototype, Dojo 或 YUI 3),这可以避免很多使用JavaScript操作DOM时的差异。 在考虑感知性能和框架的同时,考虑使用服务,如Google Libraries API,来加载框架,这样浏览器可以使用已经缓存的框架而不是从你的网站上下载。 不要重复造轮子。在做任何事情之前,先搜索相关的组件或者实例。99%的可能别人已经实现了并发布出了开源的代码。 在确定需求之前,尽量不要使用超过20个的库,这是非常不利的。特别是客户端WEB,保存轻便、快速、灵活是最重要的。

    6. BUG修复

    要了解你花费20%的时间写代码而花费80%的时间来维护,因此写代码时一定注意。 建立一个好的错误报告解决方案。 建立一个别人可以提建议和批评的系统。 为未来的支持人员和维护人员建立良好的文档。 经常备份!Ed Lucas 的回答中有一些建议。有一个恢复策略,而不只是一个备份策略。 使用版本控制系统,如 Subversion、Mercurial 或 Git。 不要忘记验收测试。Selenium 等框架可以帮到你。 请确保您有足够的日志记录的地方,可以使用框架如log4j, log4net 或 log4r。当网站出现问题的时候,你需要能够找到问题所在。 日志要记录已处理异常和未处理异常。分析日志输出,因为它会显示出你网站的关键问题。

    这里有些省略的东西并不是因为它们没用,而是因为它们过于详细或者超出了范围,或者说的太远了。当然,上面的内容可能也有一些遗漏或者错误。

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    正版 Windows 11产品密钥怎么查找/查看?

    还有3个月,微软将停止 Windows 10 的更新

    Windows 10 终止支持后,企业为何要立即升级?

    Windows 10 将于 2025年10 月终止技术支持,建议迁移到 Windows 11

    Windows 12 发布推迟,微软正全力筹备Windows 11 25H2更新

    Linux 退出 mail的命令是什么

    Linux 提醒 No space left on device,但我的空间看起来还有不少空余呢

    hiberfil.sys文件可以删除吗?了解该文件并手把手教你删除C盘的hiberfil.sys文件

    Window 10和 Windows 11哪个好?答案是:看你自己的需求

    盗版软件成公司里的“隐形炸弹”?老板们的“法务噩梦” 有救了!

    IT头条

    公安部:我国在售汽车搭载的“智驾”系统都不具备“自动驾驶”功能

    02:03

    液冷服务器概念股走强,博汇、润泽等液冷概念股票大涨

    01:17

    亚太地区的 AI 驱动型医疗保健:2025 年及以后的下一步是什么?

    16:30

    智能手机市场风云:iPhone领跑销量榜,华为缺席引争议

    15:43

    大数据算法和“老师傅”经验叠加 智慧化收储粮食尽显“科技范”

    15:17

    技术热点

    商业智能成CIO优先关注点 技术落地方显成效(1)

    用linux安装MySQL时产生问题破解

    JAVA中关于Map的九大问题

    windows 7旗舰版无法使用远程登录如何开启telnet服务

    Android View 事件分发机制详解

    MySQL用户变量的用法

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。