自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Node与Express开发:9 10 11 12 章

电子书:http://download.csdn.net/download/qfire/10232839 代码:https://github.com/EthanRBrown/web-development-with-node-and-express 第九章 Cookie与会话     c...

2018-01-31 20:21:12 206 0

原创 Node与Express开发:6 7 8 章

电子书:http://download.csdn.net/download/qfire/10232839 代码:https://github.com/EthanRBrown/web-development-with-node-and-express 第六章 请求和响应      ...

2018-01-31 19:13:29 242 0

原创 Node与Express开发:5 章

电子书:http://download.csdn.net/download/qfire/10232839 代码:https://github.com/EthanRBrown/web-development-with-node-and-express 第五章 质量保证    业界还有一种将...

2018-01-31 16:21:44 279 0

原创 Node与Express开发:1 2 3 4 章

电子书:http://download.csdn.net/download/qfire/10232839 代码:https://github.com/EthanRBrown/web-development-with-node-and-express 第一章 初始Express     多页和混合的...

2018-01-31 11:53:36 286 0

原创 Node.js应用构建---社交网络

代码https://github.com/Swiftam/book-node-mongodb-backbone     一个基本可用的社交网站让用户能够安全地认证、管理联系人、聊天,并查看实时更新。     前端和后端两个互补的MVC系统。 1、目录结构     分Node.js和Back...

2018-01-30 20:32:04 405 0

转载 websocket 与Socket.IO介绍

原文https://www.cnblogs.com/mazg/p/5467960.html 一  websocket WebSocket是html5新增加的一种通信协议,目前流行的浏览器都支持这个协议,例如 Chrome,Safrie,Firefox,Opera,IE等等,对该协议支持...

2018-01-30 20:02:46 1096 0

转载 XMPP协议学习笔记五(Openfire消息处理流程)

原文http://blog.csdn.net/nomousewch/article/details/6717273     XMPP协议作为一个IM,其核心在于消息的传递,在Openfire服务器对XMPP的实现中,消息被封装为Packet对象,因此Openfire服务器的核心代码是对客户端...

2018-01-29 11:45:47 285 0

转载 XMPP协议学习笔记四(Openfire服务器启动过程)

原文http://blog.csdn.net/nomousewch/article/details/6713960 在上篇文章中我们成功部署了openfire的源码,这一篇我们来初步了解一下openfire的项目结构。 概述     Openfire最主要的功能是实现XMPP服务...

2018-01-29 11:44:02 144 0

转载 XMPP协议学习笔记三(Openfire服务器端搭建开发环境)

原文http://blog.csdn.net/nomousewch/article/details/6534555 在了解了XMPP的基本结构和一些概念之后,我们暂时告别枯燥的理论学习,来动手搭建一下Openfire+Spark的开发环境,实际感受一下搭建整套IM通讯系统的过程。 ...

2018-01-29 11:40:24 181 0

转载 XMPP协议学习笔记二

原文http://blog.csdn.net/nomousewch/article/details/6432129 IM的实现原理     在我最初学习编程的时候,曾经用JAVA实现了一个最简单版的IM通讯,即通过Socket建立两台电脑之间的连接,然后发送IO流来进行即时通讯...

2018-01-29 11:38:22 154 0

转载 XMPP协议学习笔记一

原文http://blog.csdn.net/nomousewch/article/details/6431946即时通讯技术简介     即时通讯技术(IM)支持用户在线实时交谈。如果要发送一条信息,用户需要打开一个小窗口,以便让用户及其朋友在其中输入信息并让交谈双方都看到交谈的内容。大多...

2018-01-29 11:37:42 226 0

原创 APP后台开发运维与架构实践 9 : App后端架构剖析

9.1 聊天App后台架构     移动互联网的网络特性:弱网络性和对流量敏感。         针对弱网络环境,开发者在设计协议时必须考虑尽量减少数据往返的次数。长连接时可能会出现忽然中断的情况。这叫TCP half-open,有效的解决方法是使用应用层心跳机制:在App和服务器保持连接的过程中...

2018-01-28 22:03:07 392 0

原创 APP后台开发运维与架构实践 8 :MongoDB --- App后台新兴的数据库

8.1 简介     是非关系型数据库当中功能最丰富、最像关系型数据库的数据库。 8.2 核心机制解析     MMAP(内存文件映射):把文件映射到进程空间。     日志(Journal):数据会在内存中停留一段时间,如果宕机,可以通过日志来恢复数据。 8.3 入门     移动互...

2018-01-28 21:12:38 230 0

原创 APP后台开发运维与架构实践 7 :Redis---App后台高性能的缓存系统

保证数据快速的读写,提供了丰富的数据类型(string, hash, list, set及zset) 7.1 Redis简介     Key-Value内存存储系统 7.2 Redis的常用数据结构及应用场景     string:存储简单的数据,如商品分类栏,访问频率高,数据不经常变动。...

2018-01-28 20:54:32 250 0

原创 APP后台开发运维与架构实践 6 : MySQL --- App后台最常用的数据库

6.1 基本架构 6.2 选择版本    1979年至今 6.3 配置文件详解     /etc/my.conf 6.4 软件优化    正确使用MyISAM和InnoDB存储引擎: 6.5 硬件优化     增加物理内存     增加应用缓存     使用固态硬盘 ...

2018-01-28 20:33:03 693 0

原创 APP后台开发运维与架构实践 5 : Nginx --- App后台HTTP服务的利器

Nginx是一个高性能的HTTP和反向代理服务,占用内存少,并发能力强。 5.1 简介    全球Top1000的网站中,有44.8%使用Nginx 5.2 基本原理    工作模型:使用了epoll和kqueue网络I/O模型,而Apache则使用的是传统的select模型,目前也使用e...

2018-01-28 20:17:21 882 0

原创 APP后台开发运维与架构实践 4 : Linux --- App后台应用最广泛的系统

涉及大量Linux的运维操作 4.1 基本的系统优化     开机自启动服务优化:chkconfig命令主要用来更新和查询系统服务的运行级信息。     增大文件描述符:Linux系统中经常出现的错误“Too many open files”就是由于打开的文件数超过了文件描述符的限制导致。使...

2018-01-28 19:43:23 224 0

原创 APP后台开发运维与架构实践 3 : App后台核心技术

App后台的技术实现和一般的Web后台是有区别的。 3.1 用户验证方案     登录过程中怎样才能最大程度地避免泄漏用户的密码的可能呢?     用户登录后,App后台怎么去验证和维护用户的登录状态呢?     使用HTTPS协议:避免信息的泄漏,最基本的方案是所有涉及安全性的API请求...

2018-01-28 17:54:29 504 0

原创 APP后台开发运维与架构实践 2 : App后台基础技术

1、简介     需求 2、App后台基础技术 2.1 从App业务逻辑中提炼API接口     项目初期只知具体的业务逻辑,     6个阶段: 业务逻辑思维导图功能---业务逻辑思维导图:支撑业务逻辑的功能模块,属于model基本功能模块关系:按照人和事来分,人、事、事件功能模块接口UML...

2018-01-28 16:30:04 383 0

原创 Node.js微服务 7:微服务的监控

监控带来的巨大好处:快速响应失败的能力。通过对系统进行紧密监控,几乎可以在第一时间发现问题,并尽快解决问题,从而避免影响到客户对系统的使用。除了监控之外,另一个概念便是性能。通过了解系统在负载期内的表现,我们可以尽早做好容量规划。 7.1 服务监控      采用PM2和Keymetrics进...

2018-01-28 14:46:44 542 0

原创 Node.js微服务 6:测试及文档化

通过A/B测试来发布功能已然成为一种趋势,可以仅对某些类型的用户启用新功能,随后可以收集各种指标来观察系统表现有什么变化。 6.1 功能性测试     通常正确的测试需要花费40%的开发时间,自动化是一种解决效率问题的好方法。而单元测试、集成测试以及端到端的测试都是一种自动化的形式。    ...

2018-01-28 11:48:30 263 0

原创 Node.js微服务 5:安全性和可追溯性

从大型企业中泄漏的信息数量之大令人担忧,尤其是90%的信息泄漏问题只需要开发工程师稍加处理就可以修复。    讨论如何管理安全与日志,以保证系统是安全的、可追溯的。 5.1 基础设施的逻辑安全 5.2 应用程序安全 5.3 可追溯性 5.4 审计

2018-01-27 22:00:14 420 0

原创 Node.js微服务 4 :编写你的第一个Node.js微服务

构建一个基于微服务的电子商务软件 4.1 微电子商务概览    使用流行的JS框架创建一个集合所有其他微服务的微服务,并为单页面应用提供API。    谈论4个微服务: 商品管理服务:订单管理服务:邮件服务:UI:     商品管理服务:功能 获取数据库中所有商品信...

2018-01-27 17:50:22 2462 0

原创 Node.js微服务 3 :从单块软件到微服务

随着公司的增长,单块软件会有增长的痛苦和低下的效率。 3.1 单块软件     运行于单一容器且开发周期严格定义的大型软件组件是完全违背敏捷开发原则的:及早交付和频繁交付。     自然增长指的是,由于缺乏充分的长期规划,在业务压力下,软件系统无计划、无控制地增长。     控制自然增长的...

2018-01-27 16:52:04 886 0

原创 Node.js微服务 2 :基于Seneca和PM2构建Node.js微服务

2.1 选择Node.js的理由     如今,Node.js已经成为国际上许多科技公司的首选方案。特别的,对于在服务器端需要非阻塞特性(例如Web Sockets)的场景,Node.js俨然成了最好的选择。     安装Node.js, npm, Seneca和PM2:     Node....

2018-01-27 15:57:42 2826 1

原创 Node.js微服务 1 : 微服务架构

2015年,随着以Docker为代表的容器技术的突飞猛进,微服务的部署难题得到解决,甚至有人将2015年称为微服务架构元年。     作为一本微服务入门的实践指南,本书采用了Node.js和以Seneca、PM2为主的现代框架来进行阐述。     代码http://www.broadview....

2018-01-27 11:36:38 4200 0

原创 Node实战(第2季)7 使用Node.js绑定C语言库---51Degrees.node

7.1 开发背景     如何将一个已有的C/C++代码库拓展到Node.js平台上 7.2 预备知识     51Degrees-C:原生C语言库的结构 7.3 编码     https://github.com/51Degreesmobi/51degrees.node 7.4 构建...

2018-01-27 09:51:56 463 0

原创 Node实战(第2季)6 Node.js测试服务搭建

6.1 概述     目的:写过电子邮件爬虫、基于RESTful的API服务器、服务中间件、类似于ZooKeeper的集群管理系统,以及应用服务器,在此期间也产出了不下100个与Node.js相关的模块。     本章主要介绍笔者在过去半年内与一家时尚杂志相关的互联网创业团队合作的部分经历,其...

2018-01-26 21:58:54 259 0

原创 Node实战(第2季)5 基于Koa快速开发Web应用

讲解ES6中生成器、yield,以及Node.js下一代Web开发框架--Koa及其中间件的用法。 5.1 ES6时代的来临    ECMAScript6,简称ES6,也称作ECMAScript2015,于2015年6月正式定稿。ES6是一次重大升级,是自2009年发布的ES5规范后的首次更新...

2018-01-26 20:34:34 771 0

原创 Node实战(第2季)4 编写命令行工具---打造一个静态博客系统

使用commander模块来编写一个命令行工具。 4.1 本章所使用到的第三方模块    1、commander:解析命令行参数    2、Express:Web框架    3、serve-static:静态文件服务中间件    4、markdown-it:渲染Markdown格式的文档    5...

2018-01-26 17:55:03 276 0

转载 对话语料库

用于训练中英文对话系统的语料库 Datasets for Training Chatbot System 用于对话系统的中英文语料 本项目收集了一些从网络中找到的用于训练中文(英文)聊天机器人的对话语料 公开语料 搜集到的一些数据集如下,点击链接可以进入原始地址 d...

2018-01-26 16:20:24 2462 0

原创 Node实战(第2季) 3 基于RabbitMQ搭建消息队列

处理大并发而带来的CPU或I/O密集型问题最好的控制方法就是使用消息队列。对于服务器间跨语言通信,以前我们一般使用XMLRPC,现在比较流行HTTP协议的RESTful方式,而使用RabbitMQ也能够很灵活地处理这些事情。 3.1 什么是消息队列,消息队列的优势    理解了队列,要解释“消...

2018-01-25 17:42:21 551 0

原创 ChatScript 6 Writing a Chatbot

How to think about creating it. 6.1 Uses of ChatScript    ChatScript is a scripting language and engine for responding to meaning.    It has been use...

2018-01-25 16:22:59 401 0

原创 Node实战(第2季) 2 开发OAuth2认证服务器

REST+JSON风格的API和SOAP+XML相比,其好处是调用更加灵活,也更容易扩展,另外JSON格式传输信息比XML减少约30%的数据量,效率更高。因此在搭建API服务器时,往往首选REST风格的API。当API服务器对外提供服务时,需要一种方式来验证API使用者的权限,我们选用了当前比较流...

2018-01-24 20:47:01 737 0

转载 Ubuntu16.04安装Redis

原文地址 http://blog.fens.me/linux-redis-install/ 前言 Redis是常用基于内存的Key-Value数据库,比Memcache更先进,支持多种数据结构,高效,快速。用Redis可以很轻松解决高并发的数据访问问题;做为时时监控信号处理也非常...

2018-01-24 16:17:44 179 0

原创 Node实战(第2季):1 通过Docker快速开发Node.js应用

如何利用Docker快速发布一个Nginx+Express+Redis项目,然后使用Jenkins进行简单的持续集成发布工作。 1.1 什么是Docker    Docker在2013年首次进入业界的视线。官网定义:    “Docker是一个为开发者和运维管理员搭建的开放平台软件,可以在这个平台...

2018-01-23 22:19:42 1133 0

原创 Node实战:11 命令行编程

第11章 命令行编程 第12章 测试    测试框架:现今,有很多流行的测试模型,包括测试驱动开发(TDD)、行为驱动开发(BDD)等。前者是用来确保所有的代码都拥有合适的测试接口(实际上,很多情况下,必须先有测试用例,后有开发代码);而后者则是专注于某个单元或者代码模块的业务需求,要...

2018-01-23 20:19:04 186 0

原创 Node实战:10 部署和开发

10.1 部署     部署应用到生成服务器中,则需要添加额外的可靠层,当应用崩溃时能够提供帮助。     端口号:80     基本:使用无限循环运行脚本。使用tee命令将标注输出写入到日志文件中。 #!/bin/bash while true do node xxx.js | t...

2018-01-23 20:13:00 224 0

原创 Node实战:9 MySQL

9.1 准备工作     安装MySQL:     从npm添加mysql模块: 9.2 创建数据库模式     $ mysql -u root -p  DROP DATABASE IF EXISTS PhotoAlbums; CREATE DATABASE PhotoAlbums...

2018-01-23 19:44:30 356 0

原创 Node实战:8 MongoDB

8.1 设置MongoDB    MongoDB和Node.js准备的关系对象映射(ROM)框架mongoose.    MongoDB本身就是使用JSON存储数据。当在数据库中创建或者添加数据时,只需要传一个JavaScript对象过去即可---这简直是为Node量身打造的。    数据库包含多...

2018-01-23 19:25:27 197 0

提示
确定要删除当前文章?
取消 删除