zoukankan      html  css  js  c++  java
  • script javascript / Node.js / nodejs / GraphicsMagick / sails

    s

    Node.js

    http://baike.baidu.com/view/3974030.htm

    Node.js是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进行了封装。V8引 擎执行Javascript的速度非常快,性能非常好。Node.js对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。

    [1]  Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行的数据密集型的实时应用。

     

    Nodejs 安装问题汇总

    http://www.oschina.net/question/199491_38172

    我在suse上编译安装nodejs 0.6.10,configure时提示: 

    Checking for openssl                           : not found 

    Checking for function SSL_library_init   : not found 

    Checking for header openssl/crypto.h   : not found 

    /usr/local/src/node-v0.6.10/wscript:374: error: Could not autodetect OpenSSL support. Make sure OpenSSL development packages are installed. Use configure --without-ssl to disable this message. 

    但我已经安装过openssl,问题如下: 

    1)请问configure时怎样设置,才能找到openssl呢? 

    2)如果使用--without-ssl,编译时会出现zlib_dev找不到,又改如何处理呢? 

    解决方案:yum install gcc-c++ openssl-devel , ok

     

    Linux下Nodejs安装(完整详细)

    http://my.oschina.net/blogshi/blog/260953

       很久之前安装过windows下以及Mac下的node,感觉还是很方便的,不成想今天安装linux下的坑了老半天,特此记录。

        首先去官网下载代码,这里一定要注意安装分两种,一种是Source Code源码,一种是编译后的文件。我就是按照网上源码的安装方式去操作编译后的文件,结果坑了好久好久。

        注意看好你下载的是什么文件!!!对应的安装方式不同啊,亲。

    (一) 编译好的文件

        简单说就是解压后,在bin文件夹中已经存在node以及npm,如果你进入到对应文件的中执行命令行一点问题都没有,不过不是全局的,所以将这个设置为全局就好了。

    cd node-v0.10.28-linux-x64/bin
    ls
    ./node -v

        这就妥妥的了,node文件夹具体放在哪,叫什么名字随你怎么定。然后设置全局:

    ln -s /home/kun/mysofltware/node-v0.10.28-linux-x64/bin/node /usr/local/bin/node
    ln -s /home/kun/mysofltware/node-v0.10.28-linux-x64/bin/npm /usr/local/bin/npm

        这里/home/kun/mysofltware/这个路径是你自己放的,你将node文件解压到哪里就是哪里。

    (二)通过源码编译

        这种方式你下载的文件是Source code,我不太喜欢这种方式。。。主要是麻烦

    #  tar xvf node-v0.10.28.tar.gz #  cd node-v0.10.28 #  ./configure # make # make install # cp /usr/local/bin/node /usr/sbin/ 
    
    查看当前安装的Node的版本 
    # node -v 
    v0.10.28
    
    编译软件 make 
    安装编译软件 make install
    了解编译模块 make clean
    卸载编译软件 make uninstall

    (三)apt-get

        还有一种就是shell提示的apt-get方式,我之前就被这种方式坑了。。。强烈不推荐啊

    sudo apt-get install nodejs
    sudo apt-get install npm

        这么装完你会发现,node命令好使,nodejs命令可以用。。。

     

    end

     

    Node.js 对图片进行裁切、缩放 

     

    GraphicsMagick

     

    GM : GraphicsMagick for node.js

     

    首先得安装 GraphicsMagick 或者 ImageMagick

    然后执行:

     

    [plain]  view plain  copy
     
    1. $ sudo npm install gm  

     

    我安装的是ImageMagick,在ubuntu系统下快速安装

     

    [plain]  view plain  copy
     
    1. $ sudo apt-get install imagemagick  

     

     

    HOW TO USE

    GM 文档:http://aheckmann.github.io/gm/docs.html

    使用ImageMagick

     

    [javascript]  view plain  copy
     
    1. var imageMagick = gm.subClass({ imageMagick: true });  
    然后就像文档中使用gm那样使用ImageMagick即可(举个例子)
    [javascript]  view plain  copy
     
    1. imageMagick("img.png").resize(300, 100).autoOrient().write('/path', callback);  

     

    Example (nodejs + Express)

    [javascript]  view plain  copy
     
    1. var gm = require('gm')  
    2. ,   fs = require('fs')  
    3. ,   imageMagick = gm.subClass({ imageMagick : true });  
    4.   
    5. exports.imgUpload = function(req, res) {  
    6.     res.header('Content-Type''text/plain');  
    7.     var path = req.files.img.path;  //获取用户上传过来的文件的当前路径  
    8.     var sz = req.files.img.size;  
    9.     if (sz > 2*1024*1024) {  
    10.         fs.unlink(path, function() {    //fs.unlink 删除用户上传的文件  
    11.             res.end('1');  
    12.         });  
    13.     } else if (req.files.img.type.split('/')[0] != 'image') {  
    14.         fs.unlink(path, function() {  
    15.             res.end('2');  
    16.         });  
    17.     } else {  
    18.         imageMagick(path)  
    19.         .resize(150, 150, '!'//加('!')强行把图片缩放成对应尺寸150*150!  
    20.         .autoOrient()  
    21.         .write('public/images/user/'+req.files.img.name, function(err){  
    22.             if (err) {  
    23.                 console.log(err);  
    24.                 res.end();  
    25.             }  
    26.             fs.unlink(path, function() {  
    27.                 return res.end('3');  
    28.             });  
    29.         });  
    30.     }  
    31. };  

     

    上面只是index.js文件的部分核心代码

    点击去下载完整Example 

     

    sails

    https://www.oschina.net/p/sailsjs 

    Sails.js 就像是 Node.js 平台上的 Rails 框架。这是一个可靠可伸缩的开发框架,面向服务的架构,提供数据驱动的 API 集合。用来开发多玩家游戏、聊天应用和实时面板引用非常方便,也可用于开发企业级 Node.js 应用。Sails.js 基于 Node.js, Connect, Express 和 Socket.io 构建。

    Sails.js中文文档

    http://sailsdoc.swift.ren/

    http://www.cnblogs.com/simadi/p/5907144.html

    Sails.js是一个Web框架,可以于轻松构建自定义,企业级Node.js Apps。它在设计上类似于像Ruby on Rails的MVC架构的框架,但支持更加现代化, 面向数据风格的Web应用开发。它特别适合于开发实时特性的应用如聊天。Sails.js 基于 Node.js, Connect, Express 和 Socket.io 构建。

    【教程】利用Sails.js+MongoDB开发个人博客系统(5章更新完)

    http://cnodejs.org/topic/55b1efff692e0e7706b366b5

    Sails是构建于Express之上的一个实时Node MVC框架,其整个风格来源于Ruby on Rails,包括提供了类似于Rails的脚手架功能,同时又吸纳了不少现代web app工具和功能,比如grunt和websocket等。

    显然,Sails的最佳应用场景会是一些实时性较强的场景,比如聊天室,游戏等,但是官方也笃定的认为sails适用于任何web app的开发。对于web之前我已经使用过了的php的symfony2和ruby的rails,但在学习了Nodejs之后,我需要一个node的框架进行项目实战,因此,我充满感性的因为那只小章鱼和官网健全的文档选择了sails,这一点都不机智。

    end

  • 相关阅读:
    Delphi 访问https /SSL、OpenSSL
    Delphi UTF编码/解码 UTF8Encode、UTF8Decode、URLEncode、URLDecode
    编译器架构Compiler Architecture(下)
    编译器架构Compiler Architecture(上)
    Xilinx Zynq FPGA Boards板
    如何为应用选择最佳的FPGA(下)
    如何为应用选择最佳的FPGA(上)
    FPGA与ASIC:它们之间的区别以及使用哪一种?
    ASIC设计-终极指南
    77GHz 和24GHz Radar性能解析
  • 原文地址:https://www.cnblogs.com/lindows/p/14390219.html
Copyright © 2011-2022 走看看