04月10日
npm是 node 的包管理系统,通过package.json声明模块间的依赖关系。然而 node 采用CommonJS规范组织的模块在浏览器中无法直接使用。bower是前端资源的包管理系统,通过bower.json来组织 js、css 和图标资源。bower 管理的 js 包,一般采用全局变量模式,或者 requirejs 推崇的 AMD 规范,亦或 UMD 。 UMD(通用模块定义) 由于现…
03月24日
身份认证 最普遍的身份认证方式就是用用户名(或 email)和密码做登陆操作。这就意味要实现一个登陆的表单,以便用户能够用他们个人信息登陆。这个表单看起来是这样的: <form name="loginForm" ng-controller="LoginController" ng-submit="login(credentials)" novalidate> <…
03月24日
在本篇博客中,我将说一下怎样在 Swift 项目中实现一个像 Gmail 客户端那样的侧滑菜单。 你可以完全自己手动写一个侧滑菜单,但是现在在 GitHub 上面已经有很多免费的开源库了,如果不是有很特别的需求,大可不必新建一个轮子。 在这里我使用的这个第三方库名字叫做 SWRevealViewController,作者是 John Lluch。这个免费的类库提供了很方便快捷的方法去把侧滑菜单加…
03月11日
在很多前端项目中,我们会需要根据用户的实时输入来给予一些界面上的反馈。比如,类似 Google 搜索那样的实时结果提示。或者是要自己实现一个在线编辑器的时候,需要做代码提示等等。这些在英文输入法状态下都还比较容易处理,只需要处理 keypress 事件就可以了,网上也有很多老外的项目。但是,老外们是从来不管中文输入法的,所以在打开了中文输入法后,我们会发现事件无法触发了。那么,这种时候要怎么处理…
02月27日
初识 Polymer 是在 Google I/O 2013 发布的一个新的 Web UI 框架。Polymer的核心原则是 “Everything is an element”。它是一款实用、基于事件驱动、封装性和互操作性强的 Web UI 开发框架。 在了解 Polymer 之前,如果你没有了解过 Web Components ,推荐去了解下 Web Components 规范。可以通过 We…
02月09日
用Mocha + Chai 进行 BDD 测试,是目前较为流行的 Nodejs 测试方法。本文介绍mocha测试用例失败时如何在非 IDE 环境下单步 Debug 找出问题。 mocha 配置 $ npm install mocha $ mkdir test $ $EDITOR test/test.js 内容如下 var assert = require("assert") describe(…
02月03日
这是五个小时与一个字符的战斗 是的,作为一个程序员,你往往发现,有的时候你花费了数小时,数天,甚至数星期来查找问题,但最终可能只花费了数秒,改动了数行,甚至几个字符就解决了问题。这次给大家分享一个困扰了我很久,我花了五个小时才查找出问题原因,最终只添加了一个字符解决了的问题。 问题描述 我们的业务系统比较复杂,但最终提供给用户的访问接口比较单一,都是使用 Nginx 来做一个代理转发,而这个代理…
01月26日
需要注意的一些事情 本文使用的为 Java 语言解决方案。 搜索方法上,按照个人理解,有两点关键: 分词 将类似 “women” 这样的词分解成 “wo’men”。经过这样的分词,在搜索时无论通过全拼音匹配,还是首字母匹配,处理起来都比较方便。 词库构建 目前我接触过的常见搜索场景有两种,它们对词库的建立有如下影响: 通讯录搜索 对词库有频繁的添加 / 删除操作。 站内搜索 使用预先维护好的词库…
01月16日
由于一些网络通讯协议的限制,你必须使用 window.btoa() 方法对原数据进行编码后,才能进行发送。接收方使用相当于 window.atob() 的方法对接受到的 base64 数据进行解码,得到原数据。例如,发送某些含有 ASCII 码表中 0 到 31 之间的控制字符的数据。 window.btoa 与 window.atob 不支持中文 对于 unicode 编码的字符进行 base…
01月04日
我是一个在校实习生,作为一个程序猿,是个菜鸟中战斗机!对于测试,只写过一点点简单到不能再简单了的 Junit 单元测试的例子(因为当时这足以应付学校课程的内容与要求)。这几天在公司里要真枪实弹做测试的时候,就深深体会到了“书到用时方恨少”这句话的真谛了。没办法,谁叫我当初不多深入的学点呢。于是,在杜叔杜大神的指导下,开始了菜鸟的初用 Mock 工具,边学边用的爬坑之旅。 为什么要用 Mock 工…