zoukankan      html  css  js  c++  java
  • 2015第40周一Node学习

    node学习尝试

    早上看了张丹大牛博客文章nodeJS学习路线图和node从零入门系列,感觉获益匪浅,尝试了里面几项内容,对node有了更深入的认识。

    npm

    npm是一个node包管理和分发工具,已经成为了非官方的发布node模块(包)的标准。有了npm,可以很快的找到特定服务要使用的包,进行下载、安装以及管理已经安装的包。常用命令:

    1、npm install moduleNames:安装Node模块
    安装完毕后会产生一个node_modules目录,其目录下就是安装的各个node模块。
    注意:node的安装分为全局模式和本地模式。
    一般情况下会以本地模式运行,包会被安装到和你的应用程序代码的本地node_modules目录下。
    在全局模式下,Node包会被安装到Node的安装目录下的node_modules下。全局安装命令为npminstallgmoduleName使npm set global=true来设定安装模式,$npm get global可以查看当前使用的安装模式。

    代码中,直接通过require()的方式是没有办法调用全局安装的包的。全局的安装是供命令行使用的
    npm install --save
    安装的同时,将信息写入package.json中项目路径中如果有package.json文件时,直接使用npm install方法就可以根据dependencies配置安装所有的依赖包,这样代码提交到github时,就不用提交node_modules这个文件夹了。
    2、npm list:查看当前目录下已安装的node包
    注意事项:Node模块搜索是从代码执行的当前目录开始的,搜索结果取决于当前使用的目录中的node_modules下的内容。$ npm list parseable=true可以目录的形式来展现当前安装的所有node包
    更多命令请参看npm官方文档:https://www.npmjs.org/doc/

    express

    类似于SSH中的Struts,最新为4.x版本,不能完全兼容3.x版本,可以很方便的生成项目架构.

    Redis

    尝试了文章中一些例子,发现里面很多用了MongoDB,就想学习下这个文档型数据库。

    • 好处是:简单快速,海量数据存储;类似JS查询形式;简单文档类似关系数据中行记录,一组文档构造成集合(类似关系数据表),一组集合构成数据库(可以做独立权限控制等)
    • 坏处是不支持事务,数据可能会丢失;并且搜索网上博客文章它并不如一个分支Tx和Postgresql;并且向去它官网下载总是报错,安装包大小也远大于Pgsql,后放弃用它,计划用Redis和Pgsql代替之。
      尝试用Redis代替MongoDB的session缓存实现,感觉Redi初体验很好;
    1. 安装包很小,1M多,启动后就可以工作;
    2. 操作也简单,支持缓存,数据持久化,在一些简单领域可当数据库用。
    3. 需要用以下两个模块引入:

      1. var session = require('express-session')
      2. ,SessionStore = require('connect-redis')(session);
      3. var store = new SessionStore({
      4. host: '127.0.0.1',
      5. port: '6379'
      6. });
      7. var store = new SessionStore({
      8. host: '127.0.0.1',
      9. port: '6379'
      10. });

      Session是什么?

    Session 是面向连接的状态信息,是对 Http 无状态协议的补充。

    Session 怎么工作?

    Session 数据保留在服务端,而为了标识具体 Session 信息指向哪个连接,需要客户端传递向服务端发送一个连接标识,比如存在Cookies 中的session_id值(也可以通过URL的QueryString传递),服务端根据这个id 存取状态信息。

    在服务端存储 Session,可以有很多种方案:
    1.内存存储
    2.数据库存储
    3.分布式缓存存储
    随着网站规模(访问量/复杂度/数据量)的扩容,针对单机的方案将成为性能的瓶颈,分布式应用在所难免。所以,有必要研究一下 Session 的分布式存储。

    git

    在尝试socket.io时官网无法打开,后上github下载,在按说明文档操作,进入目录下执行npm install命令时发现包git找不到失败,下载git客户端便携版加入环境变量后解决。

    使用MarkDown

    今天看很多说明文档都是.md格式的,也再次意识到md的流行和方便,故决定在后面写文章时坚持使用md形式。

    wiz笔记md插件安装

    https://github.com/akof1314/Wiz.Editor.md
    是一个很方便的md插件,最吸引我功能是右边可实时显示,但在github下载Wiz.Editor.md.wizplugin后不知道怎么安装,尝试按网上说的拖到wiz上,或者用wiz打开插件都无法正常安装,最后把文件解压放到wiz笔记插件包里,解决了问题。





  • 相关阅读:
    学习新东西 方法
    转 Dock 外 命令解析
    转 Dockerfile 常用指令
    RPC应用的java实现(转)
    link with editor
    org.xml.sax.SAXParseException: prolog 中不允许有内容
    webservice
    logging.xml file setfile(null,true) call failed
    log4j配置 logging.xml (转载)
    tomcat server.xml docbase workdir
  • 原文地址:https://www.cnblogs.com/doit8791/p/4844872.html
Copyright © 2011-2022 走看看