sábado, 29 de noviembre de 2014

Utilizar Modulos Globales en Node.js- Ejemplos - Parte I

Modulos Globales en Node.js - Modulo console - 
Ejemplos - Parte I
Conociendo los módulos de Node.js 

Salim A. Castellanos R.
salimsalim4@gmail.com
@SCastellanosR

Node.js de ahora en adelante llamado Node, es una plataforma que provee un entorno de ejecución para JavaScript y un conjunto de librerías básicas o módulos nativos, algunos programados en C, de más bajo nivel, y otros desarrollados en el propio javascript.
Node es el segundo repositorio más popular de Github con alrededor de 20.000 seguidores y 24.000 librerías creadas por su comunidad de programadores, lo que asegura una buena salud de la tecnología. En este y posteriores artículos nos dedicaremos a explicar sus principales módulos.

Modulos Globales:

En Node los módulos se cargan de dos formas, los de ámbito global se llaman por su nombre, ejemplo: ‘process’, ‘console’. Y se accede a sus propiedades directamen, ejemplo: ‘process.features;’ devuelve la arquitectura y sistema operativo donde corre Node en un archivo tipo JSON, hay que decir que en Node el formato JSON es un estándar a la hora de describir o recibir cualquier tipo de información.

Y los modulo que no son de ámbito global se importan con la función Global ‘require’,  

ejemplo:   ‘var http = require(“http”);’, 

en este ejemplo a la variable ‘http’ se le da acceso a las funciones y variables que de forma explícita se exportaron en el módulo ‘http’, tomen nota que no hablo que se generó una instancia del módulo ‘http’, en Node los objetos no existen como tal, lo que conocemos como un objeto, en Node es en realidad, una tupla de nombre y propiedad. Solo tal vez en el core de Node se pueda hablar de instancia y objeto.



Modulo ‘console’: Es usado para la salida por consola, sus funciones son las siguientes:

·        console
o   console.log()
o   console.info()
o   console.warn()
o   console.error()
o   console.dir(obj)
o   console.time(label)
o   console.timeEnd(label)
o   console.trace()

console.log(): se utiliza para imprimir por la consula, muy útil para pruebas, puede tener multiples argumentos, ejemplos:

console.log(“Hola mundo.”); // imprime por consola ‘Hola mundo.’
Var count = 4;
console.log('count: %d', count);
// El ‘%d’ se utiliza como comodín, y este es reemplazado por el valor de
// la variable que va inmediatamente después.
// Se imprime por consola, ‘count: 4’

console.info(): Funciona como ‘console.log()’.

console.warn(): Funciona como ‘console.log’, pero imprime hacia ‘stderr’, lo que hará que al imprimirse en consola su color de texto sea rojo.

console.error(): Funciona como ‘console.warn()’.

console.dir(objeto): Usa util.inspect sobre un ‘objeto’, e imprime el resultado sobre ‘stderr’.

console.time(label): Marca el inicio de un bloque de medición de tiempo de ejecución, se termina con console.timeEnd(label), ejemplo:

console.time('tiempo-for');
for (var i = 0; i < 1000; i++) {
}
console.timeEnd('tiempo-for');
// Esto podría imprimir por consola, ‘tiempo-for: 10ms’.


Console.trace(): Imprime un seguimiento de la pila por ‘stderr’, de la posición posición actual.

---------

En la poxima entrada seguiremos con 'process', que es uno de los mas interesantes.

Otros Articulos:

  • http://nodejs-español.blogspot.com/2014/11/que-es-nodejs.html
  • http://nodejs-español.blogspot.com/2014/11/integracion-de-nodejs-y-netbeans.html
  • http://nodejs-español.blogspot.com/2014/11/instalacion-de-nodejs.html
  • http://nodejs-español.blogspot.com/2014/11/manejo-de-funciones-y-callback-en-nodejs.html
  • http://xn--nodejs-espaol-skb.blogspot.com/2014/11/funciones-y-programacion-asincrona-en.html



viernes, 28 de noviembre de 2014

Como Manejar Funciones y CallBack en Node.js

Manejo de funciones y CallBack en Node.js


Salim A. Castellanos R.
salimsalim4@gmail.com
@SCastellanosR

Node como ya habíamos comentado en un lenguaje orientado a eventos, asíncrono y que además maneja una bucle de eventos, este bucle es por definición secuencial; Y cuando en esa iteración llega a un evento que tiene que emitirse llama a su CallBack. Todo esto hace que sea imperativo manejar y entender el funcionamiento de las funciones y el CallBack en Node.js.

Un CallBack es simplemente una función que tú puedes pasar como parametro dentro de otra función, y esta funcion se ejecuta al suceder solo el evento indicado, a esto se debe que Node.js es un entorno de programación orientado a eventos.

En Node una función se empieza a definir con la palabra reservada ‘function’, y después el nombre de la función. No se especifica si va a devolver algún tipo de variable, y algo muy particular y esto tiene que ver con que básicamente Node es javascript, en Node una función puede contener un parámetro que a su vez es una función. Estas funciones como parámetro se pueden pasar de dos formas, de forma explícita, ósea diciendo el nombre de la función, o de forma anomia, que consiste en desarrollar la función dentro del espacio que como parámetro le corresponde, es esto lo que le permite al lenguaje ejecutar el código solo cuando la función principal es emitida.

Entendamos esto con algunos ejemplos: Yo voy a estar escribiendo sobre el archivo ‘funciones.js’.

// Esta función escribe en consola, el texto pasado 
// como parámetro a la función decir




function decir(palabra){

               console.log(palabra);

}



// Ahora vamos a llamar a la función y pasémosle
// un texto y veamos cómo se escribe en consola.

decir(“Hola Mundo.”);

Desde la consola nos ubicamos en el directorio  donde esta nuestro archivo y ejecutamos,

>  node funciones.js

En consola nos debió aparecer ‘Hola Mundo.’, Si quieres hacer esto directamente desde NetBeans como IDE, te recomiendo la siguiente entrada:

Ahora vamos a crear una función que va a actuar como Router o Manejador de nuestras funciones, le pasaremos como primer parámetro el nombre de nuestra función a ejecutar, y como segundo parámetro, el parámetro de la función que queremos ejecutar.

// El parámetro ‘algunaFuncion’, es quien tiene dentro 
// de el, nombre de la función que queremos ejecutar

// el parámetro ‘valor’, es lo que le pasamos como 
// parámetro a la función que en realidad

// Queremos ejecutar.


function ejecutar(algunaFuncion, valor) {

    algunaFuncion(valor);

}



// Hagamos una prueba de esto:

// Este es un ejemplo de cómo se pasa una 
// función explícitamente diciendo su nombre

ejecutar(decir, "Hola Mundo 2.");1


Si ejecutamos nuestro archivo y no hemos borrado nada, nos debería salir en consola:

> Hola Mundo.
Hola Mundo 2.

Como podemos ver lo que hicimos fue ejecutar la función ‘decir’, dos veces, pero de manera diferente. Ahora veamos cómo podemos obtener el mismo resultado pero pasando una funcion anónima.

Modifiquemos el método ejecutar para que quede de la siguiente manera.

// Lo que se hace es desarrollar lo que era la 
// función ‘decir’, pero dentro de la  
// función ‘ejecutar’ como parámetro. 
//  Si ejecutamos deberíamos obtener el mismo resultado.



ejecutar(function (palabra) {

    console.log(palabra);

}, "Hola Mundo 2.");


Con esto terminamos la primera entrada de funciones, en la proxima entrada hablaremos de como crear nuestra primera pagina web y el manejo y creacion de nuestros propios modulos.



Otros Articulos:

  • http://nodejs-español.blogspot.com/2014/11/que-es-nodejs.html
  • http://nodejs-español.blogspot.com/2014/11/integracion-de-nodejs-y-netbeans.html
  • http://nodejs-español.blogspot.com/2014/11/instalacion-de-nodejs.html
  • http://nodejs-español.blogspot.com/2014/11/manejo-de-funciones-y-callback-en-nodejs.html
  • http://xn--nodejs-espaol-skb.blogspot.com/2014/11/funciones-y-programacion-asincrona-en.html



jueves, 27 de noviembre de 2014

Como Instalar Node.js y Ejemplo Hola mundo con Node.js

Instalacion de Node.js 

Salim A. Castellanos R.
salimsalim4@gmail.com
@SCastellanosR

Empecemos en materia, Instalación de Node.js, pasos;

1.    Vamos a la página http://nodejs.org/download/, y descargamos el fichero escogiendo en sistema operativo y versión de este que nos corresponda, en mi caso es Windows de 64 bits, por lo cual escojo, Windows Installer (.msi), y el tipico siguiente, siguiente.



2.    Hacer caso a la nota e Instalar Python, se necesita para compilar algunas librerías como, bcrypt. Se descarga en la siguiente url: https://www.python.org/downloads/, se recomienda la 2.7.3, demás versiones no están soportadas, https://www.python.org/download/releases/2.7.3/

3.    Abrimos la línea de comandos de nuestro Sistema Operativo y escribimos ‘node -v’, nos debe salir la versión actual de Node.js, en mi caso la v0.10.33.




4.    Y bueno, para hacer una pruebita, vamos a correr nuestra aplicación hola mundo, el archivo se llamara server.js, lo guardamos en nuestra ruta preferida, en mi caso estará en c:\nodeJS\, en mi línea de comandos, me pongo en la ubicación donde tengo el archivo, > cd c:\nodeJS\

// Server.js

// Definimos la variable http importando el modulo 'HTTP'.

//var http = require("http");

/*

  * 
  *Ejecutamos la funcion createServer(), que es la que crea *nuestro servidor web
  *y le pasamos como parametro nuestro CallBack, que es la *funcion que se ejecuta cada vez que se lance el evento *create, osea cada vez que *apuntemos a nuestra pagina web que estara en
  * http://localhost:9999/
  *
 */

http.createServer(function (request, response) {


  // con la variable response, que es la que nos da

  // la oportunidad de responder a la peticion de nuestro // // request que en este caso
  // seria http://localhost:9999, 
    
    // la funcion writeHead iene dos parametros, el primero   // indica el codigo
    // de la respuesta, y el segungo el tipo de documento
    // el codigo 200 en http significa -> OK
    // el tipo de documento es texto plano en formato html
    // el formato para esta variable es JSON, como casi todo   // en Node.JS
    response.writeHead(200, {"Content-Type": "text/html"});
    
    // con write escribimos directamente en el body de la     // pagina web
    response.write("Hola Mundo...");
    
    //terminamos la respuesta al explorador
    response.end();

//ejecutamos la aplicacion por el puerto: 9999

}).listen(9999);


5.    Y en la línea de comando escribo > node server.js

6.    Vamos a la pagina http://localhost:9999/, y listo. 
Con Ctrl + C, paramos la ejecución de nuestra aplicación Node.js



Otros Artículos:
  • http://nodejs-español.blogspot.com/2014/11/que-es-nodejs.html
  • http://nodejs-español.blogspot.com/2014/11/integracion-de-nodejs-y-netbeans.html
  • http://nodejs-español.blogspot.com/2014/11/instalacion-de-nodejs.html
  • http://nodejs-español.blogspot.com/2014/11/manejo-de-funciones-y-callback-en-nodejs.html
  • http://xn--nodejs-espaol-skb.blogspot.com/2014/11/funciones-y-programacion-asincrona-en.html