Welcome 微信登录

首页 / 脚本样式 / JavaScript

使用Meteor配合Node.js编写实时聊天应用的范例

使用Meteor配合Node.js编写实时聊天应用的范例

我经常见到被拿来与Derby.js做比较的框架是Meteor.js. 与Derby相似的是,它也能在多个客户端下实时更新views, 尽管做法上可能跟Derby有点不同. Derby可以较容易的使用多种数据库, 而Meteor则只亲近于MongoDB. 事实上, 通过如Mongoose客户端接入数据库的API与你在服务端所期望的已经非常接近了.虽然现在meteor是个有一些缺点和争议的框架, 但Meteor看起来是非常有趣的选择用来建立有实时需求的应用. ...
Node.js编程中客户端Session的使用详解

Node.js编程中客户端Session的使用详解

静态网站很容易扩展。你只需要全部缓存,不需要考虑从不同服务器组合有状态的内容给用户。可惜,大多数Web应用使用有状态的内容提供个性化体验。如果你的应用可以登录,就需要记住用户的Session。经典的处理方法是客户端设置包含随机唯一Session标识的Cookie,被标识的Session数据保存到服务端。扩展有状态服务当扩展服务的时候,你肯定有三种选择: 不同服务端同步Session数据 不同服务端连接单点中心(获取Session) 保证用户访问同一个服务端...
充分发挥Node.js程序性能的一些方法介绍

充分发挥Node.js程序性能的一些方法介绍

一个Node.JS 的进程只会运行在单个的物理核心上,就是因为这一点,在开发可扩展的服务器的时候就需要格外的注意。因为有一系列稳定的API,加上原生扩展的开发来管理进程,所以有很多不同的方法来设计一个可以并行的Node.JS运用。在这篇博文里,我们就来比较下这些可能的架构。这篇文章同时也介绍compute-cluster 模块:一个小型的Node.JS库,可以用来很方便的管理进程,从来二线分布式计算。遇到的问题我们在Mozilla Persona的项目中需...
浅析Node.js中的内存泄漏问题

浅析Node.js中的内存泄漏问题

这篇文章是由Mozilla的Identity团队带来的 A Node.JS Holiday Season系列文章的首篇,该团队上个月发布了 Persona的第一个测试版本。在开发Persona时我们构建了一系列的工具,包括了从调试,到本地化,到依赖管理以及更多的方面。在这一系列的文章中我们将与社区分享我们的经验和这些工具,这对任何想用node.js建立一个高可用性服务的人都很有用。我们希望您能喜欢这些文章,并期待看到您的想法和贡献。我们将从一篇关于Node...
浅析Node.js中使用依赖注入的相关问题及解决方法

浅析Node.js中使用依赖注入的相关问题及解决方法

最近,我转向使用依赖注入来帮助理解分离代码的简单途径,并有助测试。然而,Node.js中的模块依赖Node提供的系统API,这很难判断私有依赖被恰当的使用。一般的依赖注入很难在这种情况下使用,但现在不要放弃希望。requireCauses 问题Node.js很容易依照需求导入依赖。它运行的很好,并且比AMD模式加载器例如RequireJS要简单。当我们模拟那些依赖的时候问题就来了。如果Node.js中模型的加载是受控的,我们怎么做才能控制让伪对象在测试期间...
在Mac OS下使用Node.js的简单教程

在Mac OS下使用Node.js的简单教程

这里有一篇很好的 Node.js 介绍文章 great nodejs intro ,它将给你一个非常方便的介绍 Node.js 和 CouchDB,并给出一个实例实现 REST 的服务用于执行书签的 CRUD 操作,使用 CouchDB 作为数据库。本文将介绍在 Mac OS X 下安装并开始使用 Node.js ,这个过程大概需要 30 分钟左右的时间,其中我们还将安装 CouchDB,并实现基于 CouchDB 的 REST API。本文假设你机器上已...
对JavaScript的全文搜索实现相关度评分的功能的方法

对JavaScript的全文搜索实现相关度评分的功能的方法

全文搜索,与机器学习领域其他大多数问题不同,是一个 Web 程序员在日常工作中经常遇到的问题。客户可能要求你在某个地方提供一个搜索框,然后你会写一个类似 WHERE title LIKE %:query% 的 SQL 语句实现搜索功能。一开始,这是没问题,直到有一天,客户找到你跟你说,“搜索出错啦!”当然,实际上搜索并没有“出错”,只是搜索的结果并不是客户想要的。一般的用户并不清楚如何做精确匹配,所以得到的搜索结果质量很差。为了解决问题,你决定使用全文搜索...
JavaScript面对国际化编程时的一些建议

JavaScript面对国际化编程时的一些建议

什么是国际化?国际化(Internationalization的缩写是i18n——i,中间18个字符,n)是将软件处理的能让来自各种地方使用各种语言的用户更简单使用的一个过程。假定某个用户来自某个地方说某种语言,他可能不经意间就得到一些错误提示。尤其是你甚至都没有做这种假设。function formatDate(d){ // Everyone uses month/date/year...right? var month = d.getMonth...
JavaScript中的Promise使用详解

JavaScript中的Promise使用详解

许多的语言,为了将异步模式处理得更像平常的顺序,都包含一种有趣的方案库,它们被称之为promises,deferreds,或者futures。JavaScript的promises ,可以促进关注点分离,以代替紧密耦合的接口。 本文讲的是基于Promises/A 标准的JavaScript promises。[http://wiki.commonjs.org/wiki/Promises/A]Promise的用例: 执行规则 多个远程验证 超时处理 远程数据...
js实现跨域的方法实例详解

js实现跨域的方法实例详解

本文实例讲述了js实现跨域的方法。分享给大家供大家参考。具体分析如下:由于同源策略的限制,XMLHttpRequest只允许请求当前源(包含域名、协议、端口)的资源。json与jsonp的区别:JSON是一种数据交换格式,而JSONP是一种依靠开发人员创造出的一种非官方跨域数据交互协议。script标签经常被用来加载不同域下的资源,可以绕过同源策略。(有src属性的都可以获取异域文件)。如果请求的这个远程数据本身就是一段可执行的js,那么这些js会被执行(...
javascript删除数组重复元素的方法汇总

javascript删除数组重复元素的方法汇总

本文实例讲述了javascript删除数组重复元素的方法。分享给大家供大家参考。具体分析如下:这里分享一个前端面试高频题,主要实现javascript删除数组重复元素。希望对初学者有所帮助//数组去重的方法Array.prototype.unique=function(){//集中声明变量varoldArr=this, newArr=[oldArr[0]], len=oldArr.length, i=1;//过滤空数组if(!len) return thi...
对JavaScript客户端应用编程的一些建议

对JavaScript客户端应用编程的一些建议

你可能注意到了,最近的一段时间越来越多的Web应用有变复杂的趋势,重心从服务端慢慢向着客户端转移。 这是个正常的趋势么?我不知道。支持和反对者的讨论就像是在讨论复活者和圣诞节哪一个更好一样; 很难说哪一方观点就是完全正确的。因此,本文不会探讨究竟哪一方是对的,不过我还是试图解释一下使用大家所熟知的面向对象编程也许可以成功的解决客户端编程中存在的一些问题。不太规范的代码的示例为了顾及一个应用的响应以及用户体验, 导致我们创建了持续增长的复杂的代码, 这些代码...
介绍JavaScript的一个微型模版

介绍JavaScript的一个微型模版

我一直在使用一个小工具,并发现它在构建Javascript应用过程中非常实用。它是一个非常简单的模板函数,速度快,支持缓存,并容易使用。我想分享一下使用它的过程中的一些技巧。以下是模板函数的代码(你可以从正要出版的Secrets of the JavaScript Ninja一书中得到更精炼的版本):// 简单JavaScript模板引擎// John Resig - http://ejohn.org/ - MIT Licensed(function(){...
详解JavaScript的策略模式编程

详解JavaScript的策略模式编程

我喜欢策略设计模式。我尽可能多的试着去使用它。究其本质,策略模式使用委托去解耦使用它们的算法类。这样做有几个好处。他可以防止使用大条件语句来决定哪些算法用于特定类型的对象。将关注点分离开来,因此降低了客户端的复杂度,同时还可以促进子类化的组成。它提高了模块化和可测性。每一个算法都可以单独测试。每一个客户端都可以模拟算法。任意的客户端都能使用任何算法。他们可以互调。就像乐高积木一样。为了实现策略模式,通常有两个参与者:该策略的对象,封装了算法。客户端(上下文...
浅谈关于JavaScript API设计的一些建议和准则

浅谈关于JavaScript API设计的一些建议和准则

设计是一个很普遍的概念,一般是可以理解为为即将做的某件事先形成一个计划或框架。 (牛津英语词典)中,设计是一种将艺术,体系,硬件或者更多的东西编织到一块的主线。软件设计,特别是作为软件设计的次类的API设计,也是一样的。但是API设计常常很少关注软件发展,因为为其他程序员写代码的重要性要次于应用UI设计和最终用户体验。但是API设计,作为我们自己写的库中提供的公共接口,能够向调用我们代码的开发者表现出我们库的一些特点和功能,所以API设计和UI设计一样重要...
<< 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 >>