模块概览 这个模块的重要性,基本不用强调了.在网络安全问题日益严峻的今天,网站采用HTTPS是个必然的趋势. 在nodejs中,提供了 https 这个模块来完成 HTTPS 相关功能.从官方文档来看,跟 http 模块用法非常相似. 本文主要包含两部分: 通过客户端.服务端的例子,对https模块进行入门讲解. 如何访问安全证书不受信任的网站.(以 12306 为例子) 篇幅所限,本文无法对 HTTPS协议 及 相关技术体系 做过多讲解,有问题欢迎留言交流. 客户端例子 跟http模块的用法非…
原文:https://github.com/chyingp/nodejs-learning-guide 自己敲代码: 概览 本文的重点会放在req这个对象上.前面已经提到,它其实是http.IncomingMessage实例,在服务端.客户端作用略微有差异 服务端处:获取请求方的相关信息,如request header等. 客户端处:获取响应方返回的相关信息,如statusCode等. 服务端例子: // 下面的 req var http = require('http'); var serve…
原文:https://github.com/chyingp/nodejs-learning-guide 自己敲代码: http模块概览 大多数nodejs开发者都是冲着开发web server的目的选择了nodejs.正如官网所展示的,借助http模块,可以几行代码就搞定一个超迷你的web server. 在nodejs中,http可以说是最核心的模块,同时也是比较复杂的一个模块.上手很简单,但一旦深入学习,不少初学者就会觉得头疼,不知从何入手. 本文先从一个简单的例子出发,引出http模块最核…
http服务端概览 创建server 几行代码搞定 var http = require('http'); var requestListener = function(req, res){ res.end('ok'); }; var server = http.createServer(requestListener); // var server = new http.Server(requestListener); 跟上面是等价的 server.listen(3000); 获取请求方信息…
原文:https://github.com/chyingp/nodejs-learning-guide 自己敲代码: ClientRequest概览 当你调用 http.request(options) 时,会返回 ClientRequest实例,主要用来创建HTTP客户端请求. 在前面的章节里,已经对http模块的的其他方面进行了不少介绍,如http.Server.http.ServerResponse.http.IncomingMessage. 有了前面的基础,详细本文不难理解,本文更多的以…
原文:https://github.com/chyingp/nodejs-learning-guide 自己敲代码: 概览 http模块四剑客之一的res,应该都不陌生了.一个web服务程序,接受到来自客户端的http请求后,向客户端返回正确的响应内容,这就是res的职责. 返回的内容包括:状态代码/状态描述信息.响应头部.响应主体.下文会举几个简单的例子. var http = require('http'); var server = http.createServer(function(r…
了解一下OSI七层模型   OSI层 功能 TCP/IP协议 应用层 文件传输,电子邮件,文件服务,虚拟终端  TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 表示层 数据格式化,代码转换,数据加密 - 会话层 数据格式化,代码转换,数据加密 - 传输层 提供端对端的接口 TCP,UDP 网络层 为数据包选择路由 IP,ICMP,RIP,OSPF,BGP,IGMP 数据链路层 传输有地址的帧以及错误检测功能 SLIP,CSLIP,PPP,ARP,RARP,MTU 物理层  …
模块概览 net模块是同样是nodejs的核心模块.在http模块概览里提到,http.Server继承了net.Server,此外,http客户端与http服务端的通信均依赖于socket(net.Socket).也就是说,做node服务端编程,net基本是绕不开的一个模块. 从组成来看,net模块主要包含两部分,了解socket编程的同学应该比较熟悉了: net.Server:TCP server,内部通过socket来实现与客户端的通信. net.Socket:tcp/本地 socket的…
模块概述 nodejs中,提供了url这个非常实用的模块,用来做URL的解析.在做node服务端的开发时会经常用到.使用很简单,总共只有3个方法. 正式讲解前,各位同学先把下面这个图记在心上(来自nodejs官网),先对URL有一个直观的认识. 模块方法概述 url模块三个方法分别是: .parse(urlString):将url字符串,解析成object,便于开发者进行操作. .format(urlObj):.parse() 方法的反向操作. .resove(from, to):以from作为…
模块概览 dgram模块是对UDP socket的一层封装,相对net模块简单很多,下面看例子. UPD客户端 vs UDP服务端 首先,启动UDP server,监听来自端口33333的请求. server.js // 例子:UDP服务端 var PORT = 33333; var HOST = '127.0.0.1'; var dgram = require('dgram'); var server = dgram.createSocket('udp4'); server.on('liste…
个人总结:读完这篇文章需要5分钟,这篇文章讲解了Node.js非对称加密算法的实现. 摘录自网络 地址: https://github.com/chyingp/nodejs-learning-guide 前言 刚回答了SegmentFault上一个兄弟提的问题<非对称解密出错>.这个属于Node.js在安全上的应用,遇到同样问题的人应该不少,基于回答的问题,这里简单总结下. 非对称加密的理论知识,可以参考笔者前面的文章<NODEJS进阶:CRYPTO模块之理论篇>. 完整的代码可以…
个人总结:这篇文章主要讲解了Nodejs处理服务器乱码及编码的知识,读完这篇文章需要10分钟. 摘选自网络 写在前面 在web服务端开发中,字符的编解码几乎每天都要打交道.编解码一旦处理不当,就会出现令人头疼的乱码问题. 不少从事node服务端开发的同学,由于对字符编码码相关知识了解不足,遇到问题时,经常会一筹莫展,花大量的时间在排查.解决问题. 文本先对字符编解码的基础知识进行简单介绍,然后举例说明如何在node中进行编解码,最后是服务端的代码案例.本文相关代码示例可在这里找到. 关于字符编解…
个人总结:读完这篇文章需要30分钟,这篇文章讲解了使用Node处理加密算法的基础. 摘选自网络 Nodejs进阶:crypto模块之理论篇 一. 文章概述 互联网时代,网络上的数据量每天都在以惊人的速度增长.同时,各类网络安全问题层出不穷.在信息安全重要性日益凸显的今天,作为一名开发者,需要加强对安全的认识,并通过技术手段增强服务的安全性. crypto模块是nodejs的核心模块之一,它提供了安全相关的功能,如摘要运算.加密.电子签名等.很多初学者对着长长的API列表,不知如何上手,因此它背后…
前言:回顾前面零零碎碎写的三篇挂着Nodejs学习笔记的文章,着实有点名不副实,当然,这篇可能还是要继续走着离主线越走越远的路子,从简短的介绍什么是Nodejs,到如何寻找一个可以调试的Nodejs IDE再到未爬先走的搭建一个小小的nodejs application,一直都是贯彻“学习笔记”的精神,想到哪写到哪,遇到什么问题就去解决并记录.如果你不幸读到本笔记,还请记住这是一系列形散神不散的学习笔记!!! 好了,每次不扯几句感觉没法开场似的.本篇形散于要穿插如何利用github管理自己的代码…
目录 前言 新建express项目并自定义路由规则 如何提取页面中的公共部分? 如何提交表单并接收参数? GET 方式 POST 方式 如何字符串加密? 如何使用session? 如何使用cookies? 如何清除session和cookies? 写在之后 前言 前面经过五篇Node.js的学习,基本可以开始动手构建一个网站应用了,先用这一篇了解一些构建网站的知识! 主要是些基础的东西... 如何去创建路由规则.如何去提交表单并接收表单项的值.如何去给密码加密.如何去提取页面公共部分(相当于用户…
目录 前言&介绍 安装Pomelo 创建项目并启动 创建项目 项目结构说明 启动 测试连接 聊天服务器 新建gate和chat服务器 配置master.json 配置servers.json 配置adminServer.json 解决服务器分配问题 实现gate.gateHandler.queryEntry 实现chat服务器chatRemote.js 实现chat服务器chatHandler.js 实现connector中entryHandler.js 运行 编写web聊天客户端测试 写在之后…
前言&介绍 Pomelo:一个快速.可扩展.Node.js分布式游戏服务器框架 从三四年前接触Node.js开始就接触到了Pomelo,从Pomelo最初的版本到现在,总的来说网易出品还算不错,但是发展不算快:用它做过一些项目和小游戏表现还不错. 用它的主要好处: 1. 入门简单,有比较丰富的文档和示例(虽然现在看版本也比较老了,但是入门没什么问题) 2.分布式多进程且扩展简单(单进程多线程,每个服务器都是一个Node进程,通过配置文件就可以管理集群) 3.可以不去关注底层和网络相关逻辑,聚焦业…
前言 前面经过五篇Node.js的学习,基本可以开始动手构建一个网站应用了,先用这一篇了解一些构建网站的知识! 主要是些基础的东西... 如何去创建路由规则.如何去提交表单并接收表单项的值.如何去给密码加密.如何去提取页面公共部分(相当于用户控件和母版页)等等... 下面就一步步开始吧^_^!... 新建express项目并自定义路由规则 1.首先用命令行express+ejs创建一个项目sampleEjsPre cd 工作目录 express -e sampleEjsPre cd sample…
python3.4学习笔记(十三) 网络爬虫实例代码,使用pyspider抓取多牛投资吧里面的文章信息PySpider:一个国人编写的强大的网络爬虫系统并带有强大的WebUI,采用Python语言编写,分布式架构,支持多种数据库后端,强大的WebUI支持脚本编辑器,任务监视器,项目管理器以及结果查看器. 用pyspider的demo页面创建了一个爬虫,写一个正则表达式抓取多牛网站上特定的URL,很容易就得到想要的结果了,可以非常方便分析抓取页面里面的内容binux/pyspider · GitH…
目录 前言 搭建项目及其它准备工作 创建数据库 创建Koa2项目 安装项目其它需要包 清除冗余文件并重新规划项目目录 配置文件 规划示例路由,并新建相关文件 实现数据访问和业务逻辑相关方法 编写mysql-helper.js 编写数据访问方法 规划业务逻辑返回值 编写业务逻辑 注册 登录 首页 安全退出 写在之后 前言 前面一有写到一篇Node.js+Express构建网站简单示例:http://www.cnblogs.com/zhongweiv/p/nodejs_express_webapp.…
本文转自:https://www.cnblogs.com/zhongweiv/p/nodejs_koa2_webapp.html 目录 前言 搭建项目及其它准备工作 创建数据库 创建Koa2项目 安装项目其它需要包 清除冗余文件并重新规划项目目录 配置文件 规划示例路由,并新建相关文件 实现数据访问和业务逻辑相关方法 编写mysql-helper.js 编写数据访问方法 规划业务逻辑返回值 编写业务逻辑 注册 登录 首页 安全退出 写在之后 前言 前面一有写到一篇Node.js+Express构…
前言 前面一有写到一篇Node.js+Express构建网站简单示例:http://www.cnblogs.com/zhongweiv/p/nodejs_express_webapp.html 这篇还是用以前的例子, 用Node.js+Koa2构建 Koa:   https://github.com/koajs/koa  http://koa.bootcss.com  (中文) Koa就不多介绍了,前面也写过Express,同一个团队打造,前面也过express文章,对比着看,自然可以看出些优点…
目录 go微服务框架kratos学习笔记六(kratos 服务发现 discovery) http api register 服务注册 fetch 获取实例 fetchs 批量获取实例 polls 批量获取实例 nodes 批量获取节点 renew 心跳 cancel 下线 应用发现逻辑 服务注册 服务注册demo 服务注册逻辑 服务发现 测试调用 简单看看官方grpc服务发现逻辑 context deadline exceeded 简单看看官方grpc服务发现逻辑 go微服务框架kratos学…
python3.4学习笔记(十七) 网络爬虫使用Beautifulsoup4抓取内容 Beautiful Soup 是用Python写的一个HTML/XML的解析器,它可以很好的处理不规范标记并生成剖析树(parse tree). 它提供简单又常用的导航(navigating),搜索以及修改剖析树的操作.它可以大大节省你的编程时间. Beautiful Soup Documentation — Beautiful Soup 4.4.0 documentationhttp://www.crummy…
前言:一条线,竖着放,如果做不到精进至深,那就旋转90°,至少也图个幅度宽广. 通俗解释上面的胡言乱语:还没学会爬,就学起走了?! 继上篇<Nodejs学习笔记(二)——Eclipse中运行调试Nodejs>之后,代码编写环境就从Sublime转战到Eclipse下,感觉顺手多了.于是就跟着Scott老师学起了Nodejs建站的课程(推荐大家点进去看看),踏上了未爬先走的路子. 作为一个白里透白的小白来说,今天主要记录下如何用Nodejs搭建一个小小的网站,以及自己对于这种Nodejs建站的运…
前篇<Nodejs学习笔记(一)——初识Nodejs>主要介绍了在搭建node环境过程中遇到的小问题以及搭建Eclipse开发Node环境的前提步骤.本篇主要介绍如何在Eclipse中运行并调试nodejs程序. 1.安装Express.Express是目前最稳定.使用最广泛,而且是Node.js官 方推荐的唯一一个 Web 开发框架. 注意:使用npm install -g express以及cnpm install -g express后,虽然看似安装成功,但是输入express -V时,…
NodeJS学习笔记之Connect中间件模块(一) http://www.jb51.net/article/60430.htm NodeJS学习笔记之Connect中间件模块(二) http://www.jb51.net/article/60431.htm…
Node.js 前言: 2009年面世 nodejs.org 官网 https://www.npmjs.com/ 模块社区 github.com 仓库 stackoverflow.com  问答社区 基于chrome浏览器V8引擎.C++语言编写的,本质上是Js的运行环境: 可以解析js代码: 提供系统级别的api: 1.文件的读写 2.进程的管理 3.网络通信 安装: linux 上安装nodejs mac 上安装node: 升级到mac系统到最新: 下载安装 xcode 集成开发环境: xc…
cluster模块概览 node实例是单线程作业的.在服务端编程中,通常会创建多个node实例来处理客户端的请求,以此提升系统的吞吐率.对这样多个node实例,我们称之为cluster(集群). 借助node的cluster模块,开发者可以在几乎不修改原有项目代码的前提下,获得集群服务带来的好处. 集群有以下两种常见的实现方案,而node自带的cluster模块,采用了方案二. 方案一:多个node实例+多个端口 集群内的node实例,各自监听不同的端口,再由反向代理实现请求到多个端口的分发.…
这里有一段废话,我写了又删,删了又写,反复了十来次,最后还是把它删除了.不用想了,那是一段牢骚话兼有煽情意思. 好了,还是把我学习nodejs的笔记记录下来吧,一来复习巩固,加深印象,二来自己实践中出现了问题,自己如何解决的,避免犯同类的错误,三来追求虚荣,炫耀一下,我又完成了一篇. 学习编程主要还是要多动手实践,才能真正把技术学到手.学习nodejs也是一样,刚开始我是看书,看了没有动手练习,根据书中讲解,我好像理解了,到了后面我想把书中给的demo运行起来.我的天啊,运行不起来.打开看代码,…