Node.js 是什么?

 Node.js® is a platform built on Chrome’s JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.

Current Version: v0.10.33

为什么要有 Node 模块?

 模块,是 Node 让代码易于重用的一种组织和包装方式

阅读全文 »

什么是 散列表?

 散列表(Hash Table,即哈希表)是根据键值(Key)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表

为什么要有 散列表?

可以提供快速的插入操作和查找操作

 不论哈希表中有多少数据,插入和删除(有时包括侧除)只需要接近常量的时间即 O(1) 的时间级
 实际上,这只需要几条机器指令
 哈希表运算得非常快,在计算机程序中,如果需要在一秒种内查找上千条记录通常使用哈希表(例如拼写检查器),而树的操作通常需要 O(N) 的时间级

编程实现相对容易

散列表工作机制

存储

 使用一个数组实现的无序符号表
 意味着, 数组创建后,难于扩展(某些哈希表被基本填满时,性能下降得非常严重)
 要么预设足够的空间,要么定期将数据迁移到更大的哈希表

阅读全文 »

开发人员用一种语言就能编写整个 Web 应用

 可以减少开发客户端和服务端时所需的语言切换(Clojure, ClojureScript 一样的道理)
 代码可以再客户端和服务端中共享(表单校验或游戏逻辑中使用同样的代码)

JSON 是目前非常流行的数据交换格式

 JSON 还是 JavaScript 原生的

有些 NoSQL 数据库中用的就是 JavaScript 语言

 MongoDB 的管理和查询语言都是 JavaScript
 CouchDB 的 Map/reduce 也是 JavaScript

JavaScript 是一门编译目标语言

 List of languages that compile to JS

Node 用的虚拟机(V8)会紧跟 ECMAScirpt 标准

 在 Node 中如果想用新的 JavaScript 语言特性,不用等到所有浏览器都支持

阅读全文 »

SSO 是什么 ?

 SSO(Single Sign-on),即单点登录,指在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中重新登录,也就是说用户的一次登录能得到其他所有系统的信任

为什么要有 SSO ?

 尤其,大型网站背后是成百上千的子系统,用户一次操作或交易可能涉及到几十个子系统的协作
 如果每次子系统都需要用户认证,不仅用户会疯掉,各子系统也会为这种重复认证的逻辑搞疯掉

阅读全文 »

Session 是什么 ?

 代表服务器与浏览器之间的一次会话过程,这个过程可以是连续的,也可以是时断时续的。而在 Web 开发语境下,则指一类用来在客户端与服务器之间保持状态的解决方案

多样的存在形式

  • Java

    1
    javax.servlet.http.HttpSession
  • Python

    1
    s = requests.session()
  • PHP

    1
    $_session
  • Hibernate

    1
    org.hibernate interface Session
  • WebLogic

    1
    Weblogic Server session
  • JSP

    1
    HttpSession
阅读全文 »