在JavaScript异步和同步之间穿梭

异步和同步 如果你正在使用JavaScript,那么你对异步和同步的代码并不会陌生。经常接触到的异步的用法很多,比如一个DOM事件的调用,一个Ajax请求或是NodeJS中读文件方法的调用等等都是在使用异步调用。当你遍历取到的数据并加上处理逻辑的时候,你就会使用上同步的代码。整个编码的过程里,其实你就是在同步和异步的方式之间穿梭。 无需多说同步代码是怎么运行的,程序顺序执行的方式是学习编程的第一课,但它却先入为主地给我们的脑子里烙了个印

Read More...

Viff,一种新的页面样式测试策略

测试页面样式时遇到的问题 在我们测试Web页面的时候,往往需要面对如下几个问题 手工测试多个浏览器 跨浏览器测试,测试页面在多个浏览器中的表现,浏览器可能包括Chrome,Firefox,Safari,IE和Opera。除了测试基本功能是否健全以外,还需要测试外观样式,因为当前的CSS技术在各个浏览器里的表现不完全一致。比如会看看IE和其他现代浏览器的差距有多大,从而判定之间的差别是否能被接受。 除了测试多个浏览器之外,很可能需要进行多

Read More...

Web应用E2E测试框架

Web应用E2E(End To End)测试是模拟用户进行页面操作,通过来判断页面状态的变化,从而检查功能是否运行正常的测试方法。为了模拟用户操作,开发者会选择浏览器驱动来完成,Selenium就是其中一个。开发者可以使用多种语言开发Selenium脚本,并且运行在多种浏览器上。我是两年前接触到selenium的,当时还不知道什么是E2E测试,就知道使用了一种能够模拟用户浏览器操作的神器,那时使用的语言是C#,其实想过它是怎么工作的,但

Read More...

JavaScript严格模式

本文是我对《Strict mode》的翻译,文中的描述含我个人的理解,有可能和原文有所出入,望理解。 使用ECMAScript 5的严格模式(“strict mode”)会进入受限制的JavaScript模式。严格模式下的JavaScript并不是标准模式的一个子集,而是直接使用了不同语意的代码。JavaScript在支持和不支持严格模式的浏览器之间会有着不同的表现,所以功能开发时不要依赖于严格模式。严格模式的代码和非严格模式的代码

Read More...

跨了个域

如今是一个平台众多,软件开发平民化,软件服务可拼凑成产品的时代。优秀的互联网产品,像微博,微信,Github,Instagram都变成平台,提供一些优雅或不优雅的API让靠谱或不靠谱的开发者来玩,这些API里肯定会涉及到跨域访问的知识。靠谱的开发者即使遇到没有开发文档也能摸索出套路,反之就需要了解下跨域访问的知识了。 为什么需要“踩过界” 跨域访问指的是不同源的A和B网站,A请求访问B的资源。资源包括B网站的图片、视频、数据、文件等等。

Read More...

Drupal开发体验

“新的”用户 CMS给开发人员带来了新的用户角色—编辑Editor。使得开发人员需要提供强大的编辑功能给他们来创建内容,比如一个公用博客程序,Editor需要的是简单快捷的方式能把他掌握的内容录入系统,并且让最终用户看到。Editor是CMS的使用最多的用户,用户体验对终端查看者和Editor都很重要,设计时必须同等对待。 有时候为了达到页面内容都是可配置的,那么就需要Editor懂得他创建的内容的每一个字段在页面上是怎么显示的,比如说

Read More...

Drupal初体验

开发Drupal都接近4个月了,从当时的非常排斥到现在变成有点喜欢,找到了些开发的感觉。之前在普特的那段时间虽知道有CMS(Content Management System)这个东西,但是都没有仔细用过,唯一映像比较深的就是国内的CMS都长得差不多。。。 加入到Drupal Team之前根本不知道Drupal是啥玩意儿,听说是php的,感觉好像技术倒退了好几年,不愿意学,但是现在了解了Drupal生态圈的很多事情之后发现Drupal真

Read More...

ThoughtWorks西安前端那些事

刚加入ThoughtWorks,就来到了西安办公室,这是个充满活力的环境,在西安办公室那段时间对我意义非常大,不仅我的前端技能提升了不少,还让我认识到在这样的环境里面工作是那么的舒服,开心。 说说我们的目标 前端工程师在ThoughtWorks还是个新鲜职位,但是热度很高,我想在整个行业也是如此。在ThoughtWorks工作是没有特别明确的职位划分的,前端工程师在公司是和非前端开发在一起工作,朝夕相处,结对编程,也不会只专注于做前端开

Read More...

前端技术共享和传递

进入探索大门 在西安搞session知识分享的时候,就发现前端技术分享有些难,一个是因为前端技术不像Java, C++那样超主流技术被业界广泛使用,导致群众基础差,有兴趣的人只能选择自学;另一个因为前端生态圈里内容太多,太散,又为那部分想自学的人形成障碍。 开始做session的时候,就把前端技术分成了HTML + CSS + JavaScript三个部分,分别为每个部分准备分享的内容。我主要负责JavaScript部分。为了让大家从最

Read More...

几个前端技术框架(工具)分享

不晓得有多少人在做前端技术开发,问过在我之后加入公司的,或者面试过的前端工程师,几乎都没有在写前端技术。他们有的来自于百度,新浪,SAP等。当然,我在这不能以偏概全,写了Testing的不情愿来也说不一定。半年前,我还没受TW的影响,无聊中在看过jQuery的Testing之后有了一些Testing方面的思考,开始尝试地去为我的各种库加单元Testing。那时候接触到的唯一一个Testing框架就是QUnit。 QUnit不但是我接触到

Read More...