Honey Young

小杨鹤


  • 首页

  • 归档

  • 分类

  • 标签

  • 关于

  • 搜索

Node-网络编程-终端聊天室

发表于 2017-01-01 | 分类于 Node.js

网络编程

  • 应用层
    • http 协议
    • 在浏览器输入一个地址,浏览器按照 http 协议将输入的地址包装成 http 报文
    • 和数据传输没有任何关系
    • 只负责数据包装
    • 包装目的就是为了区分不同的行为
  • 传输层
    • 将应用层包装好的数据,通过传输层进行传输
    • TCP: 电话机
      • 端到端通信协议,必须知道对方的 ip 地址和端口号
      • TCP/IP 对数据传输有一定的完整性的保障
        • 一旦传输过程发生数据的完整性丢失,则全部丢掉重传
      • 三次握手连接
        • 双方通信必须先建立连接
        • 确保双方都能收到对方的消息
        • 首先呢,有两个概念
          • 客户端 发送一个请求 –> 再回一个 这就是三次握手连接
          • 服务器 回送一个消息
        • 建立三次握手连接之后双方就可以进行有保证的数据通信了
      • 用于 web 服务器 和 客户端浏览器 传输数据
      • 数据安全性,对数据完整性有要求的使用 TCP/IP 协议
    • UDP: 收音机 广播
      • 发送一条数据,谁收到我不关心
      • 例如游戏、在线听歌、看电影 都是使用 UDP 协议
      • 对于数据的完整性没有保证
  • 网络层
    • 路由定位
    • IP 寻址 和 路由定位
  • 链路层
    • “链接层”的功能,它在 “实体层” 的上方,确定了 0 和 1 的分组方式
    • 对要传输的数据,把 0 和 1 进行分组,分成多个数据块进行传输
  • 实体层
    • 光缆、电缆、双绞线、无线电液
    • 高电频、低电频
阅读全文 »

Node-文件操作(下)- 文件监视、markdown转换器

发表于 2016-12-26 | 分类于 Node.js

监视

文件监视 API fs.watchFile()

  • 回调函数中需要接收两个参数
  • 第一个是当前文件的最新状态 stat,
  • 第二个是变化之前的 stat
1
2
3
4
5
6
const fs = require('fs');
// 监视文件的修改时间
fs.watchFile('./node.md', (curr, prev) => {
console.log(curr.mtime.getHours() + ':' + curr.mtime.getMinutes() + ':' +curr.mtime.getSeconds());
console.log(prev.mtime.getHours() + ':' + prev.mtime.getMinutes() + ':' +prev.mtime.getSeconds());
});

使用模板引擎时需要注意的地方

阅读全文 »

Node-文件操作(中)- 文件状态、promise版本封装

发表于 2016-12-08 | 分类于 Node.js

获取文件信息

1
2
const fs = require('fs');
fs.stat(path,callback);

文件目录

readdir 只能读取一级目录

阅读全文 »

Node-promise对象

发表于 2016-11-22 | 分类于 Node.js

一个 promise 在在代码中体现出来就是一个对象,该对象一般保存一个异步执行的任务。

Promise是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6将其写进了语言标准,统一了用法,原生提供了 Promise 对象。表示是一个未来的事情,可能做到,也可能失败。 Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。

Promise 对象

从语法上说,Promise是一个对象,从它可以获取异步操作的结果。

阅读全文 »

Node-文件操作(上)-简单封装复制文件方法、process对象

发表于 2016-11-11 | 分类于 Node.js

fs 文件操作模块

Node 只在文件 IO 操作中,提供了同步调用和异步调用两种形式,fs 模块对文件的几乎所有操作都有同步和异步两种形式,两者可以结合使用,但是推荐能使用异步调用解决问题的情况下,少用同步调用。

例如:readFile() 和 readFileSync()。

引入包

1
const path = require('path');

同步操作

阅读全文 »

Node常用API

发表于 2016-10-25 | 分类于 Node.js

path 文件路径处理模块

引入包

1
const path = require('path');

path 文件路径处理的相关 API

  • path.basename(path[, ext]): 获取文件名部分
  • path.dirname(path): 获取目录部分
  • path.extname(path): 获取扩展名部分
  • path.isAbsolute(path): 判断是否是绝对路径
  • path.join([…paths]): 将多个路径拼接为一个路径
  • path.normalize(path): 将一个非标准路径转为一个标准路径
  • path.resolve([…paths]): 将多个路径拼接为一个绝对路径
  • path.sep: 获取操作系统路径分隔符
  • path.format(pathObject): 将一个对象转成路径
阅读全文 »

bower 工具

发表于 2016-10-10 | 分类于 Web Development Tools

Bower 是一个基于 Node 针对浏览器端的包管理工具。

Bower基于node.js,所以安装之前,必须先确保已安装node.js:

1
$ node -v

使用 Bower 下载包的时候,也可以通过项目的 github 仓库地址进行下载安装,所以 Bower 也依赖于 git 环境,安装前需要确认是否有 git 环境:

1
$ git --version

确认有了 Node 和 git 两个环境之后,就可以使用 npm 安装 bower 了:

1
$ npm install --global bower

安装成功以后,可以通过输入 bower help 命令查看 bower 的使用帮助:

1
$ bower help

下面的命令可以更新或卸载 Bower:

1
2
3
4
# 重新安装就是更新,或者使用 npm update --global bower
$ npm install --global bower
# 卸载
$ npm uninstall --global bower

基本使用

阅读全文 »

npm, Node Package Manager

发表于 2016-09-20 | 分类于 Web Development Tools

包其实就是一些模块组织到一起,放到一个目录中的一个称呼,叫包或者模块都行。Node Package Manager: npm 是一个用来安装和管理Node包和前端包的一个工具

npm 有两层含义:

  • npm 官方网站
    • 提供了一个用来共性或者检索的一个平台
    • 一是托管 node 环境或者浏览器环境用的的一些第三方包
  • 是一个命令行管理工具,可以用来下载 npm 网站上托管的包
    • CLI: Command Line Interface 命令行窗口
    • GUI: 图形化界面
阅读全文 »
1234…9
honey young

honey young

69 日志
31 分类
71 标签
RSS
GitHub 简书 知乎
© 2018 honey young
本站访客数:
0%