0%

Connect

Connect是一个框架,它使用被称为中间件的模块化组件,以可重用的方式实现 Web 程序中的逻辑。在 Connect 中,中间件组件是一个函数,它拦截 HTTP 服务器提供的请求和响应对象,执行逻辑,然后或者结束响应,或者把它传递给下一个中间件组件。Connect 用分派器把中间件 “连接” 在一起。

image

阅读全文 »

选择合适的存储机制的因素:

  • 存储数据类型;
  • 性能要求,数据的读取和写入速度;
  • 存储数据量;
  • 数据查询方式;
  • 数据持久化、可靠性要求;
阅读全文 »

一、HTTP 服务器的基础知识

Node 的 http 模块:C 编写、底层、简单、灵活、高效。
Node 的策略是提供小而强的网络 API,像会话(Session)这种高级概念以及 HTTP cookies 这样的基础组件都没有包括在 Node 的内核之中。那些都要由第三方模块提供。

Node Web程序分层概览

阅读全文 »

Node 基础

JavaScript 是编程语言,而 Node.js 是执行环境。

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境(runtime)。

Node.js 特性:事件驱动、异步 API、非阻塞 I/O。

Node.js 是专为数据密集型实时程序(DITR)设计的。

Node.js 通过事件轮询(event loop)来实现非阻塞 I/O 网络的调用,而事件轮询是单向运行的先入先出队列。

阅读全文 »

在网络流和文件的操作中,需要处理大量的二进制数据,JavaScript 自有的字符串数据类型无法满足需求(注:ECAMScript 2015 引入了 TypedArray**),Buffer 对象应运而生,以提供对二进制数据 ** 的操作。

官方文档:Node.js Buffer API

Buffer 结构

Buffer 是一个类似于 Array 的对象,但它主要用于操作字节
Buffer 的运用场景:文件 I/O网络 I/O
Buffer 是二进制数据,字符串与 Buffer 之间存在编码关系。

阅读全文 »

内存控制是在海量请求长时间运行的前提下进行探讨的。

在 Node 中如何高效地使用内存?

V8 的垃圾回收机制与内存限制

V8 的内存限制

  • Node 通过 JavaScript 使用内存的限制:64 位系统下约为 1.4 GB,32 位系统下约为 0.7 GB。
  • Node 基于 V8 构建,所以在 Node 中使用的 JavaScript 对象基本上都是通过 V8 自己的方式来进行管理和分配的。

V8 的对象分配

  • 在 V8 中,所有的 JavaScript 对象都是通过 == 堆 == 来分配的。
  • V8 限制堆内存,是基于垃圾回收机制与应用性能的考量(垃圾回收会引起 JS 线程暂停执行)。
阅读全文 »

Node 的特点:事件驱动、非阻塞 I/O

  1. 异步 I/O;
  2. 事件(轻量级、松耦合、只关注事务点)与回调函数;
  3. 单线程:child_process 子进程;
  4. 跨平台:libuv;
阅读全文 »

OpenLDAP

  • openLDAP(简体中文)

Docker-OpenLDAP

  • GitHub: osixia/docker-openldap
  • GitHub:osixia/docker-phpLDAPadmin

OpenLDAP

  • 如何在 Ubuntu 16.04 上安装和配置 OpenLDAP 和 phpLDAPadmins
  • 如何在 Ubuntu 12.04 VPS 上安装和配置基本 LDAP 服务器—— 在 phpLDAPadmin 上添加组织单位,组和用户
  • 如何在 Ubuntu 16.04 使用安全加密的 Apache
  • OpenLDAP 管理工具 Phpldapadmin 的安装及使用
  • 一键添加 OpenLDAP 用户及 Kerberos 账号
  • ubuntu 临时或永久修改 hostname 的方法
  • 51cto: Ubuntu 系统下 OpenLDAP 的安装及配置
  • ubuntu 12.04 下安装 openldap,slapd.conf 找不到的解决方法
  • 我花了一个五一终于搞懂了 OpenLDAP
阅读全文 »