INSTALAR NODE.JS y NPM EN UBUNTU

Posted: sábado, 24 de marzo de 2012 by Skuarch in Etiquetas: , , , , , , ,
0


la instalacion es algo facil de realizar solo tienes que seguir estos pasos y todo quedara listo, esto lo mostrare de dos maneras distintas

Instalar dependencias necesarias
$ sudo apt-get update
$ sudo apt-get install g++ make git libssl-dev pkg-config curl build-essential openssl libssl-dev
Utilizando git
$ git clone https://github.com/joyent/node.git && cd node
$ ./configure
$ make
$ sudo make install
$ curl http://npmjs.org/install.sh | sudo sh

Descargando node.js

$ wget “http://nodejs.org/dist/v0.6.11/node-v0.6.11.tar.gz”
$ tar -xzvf node-v0.6.11.tar.gz
$ cd node-v0.6.11/
$ ./configure
$ make
$ sudo make install
$ curl http://npmjs.org/install.sh | sudo sh

Podemos tener algun problema con el proxy cuando queramos instalar algo con nmp para resolverlo hacemos esto

npm config set registry http://registry.npmjs.org/ 

Eso seria todo lo que tienes que hacer para instalar node.js y npm yo sugiero instalarlo utilizando git ya que asi obtienes la ultima version, si lo descargas probablemente tengas que cambiar la direccion para obtener la version mas reciente

INTRODUCCION A UNDERSCORE.JS

Posted: domingo, 11 de marzo de 2012 by Skuarch in Etiquetas: , , , ,
0


Introduccion
underscore.js es una libreria para javascript que provee mucha programacion funcional, cuenta con 60 funciones para ayudarte a hacer tareas,  es el complemento ideal para backbone.js y jquery, todas las funciones de underscore empiezan con un "_", en los ejemplos puedes entender mas sobre esta libreria.

Ejemplos

_.each
var arrayNums = [1,2,3];
_.each(arrayNums, function(num){
   alert(num);
});
La funcion _.each recibe dos parametros el primero es un array y el segundo es una funcion, lo que hara _.each es recorrer el array y llamar la funcion que se paso como segundo parametro en cada posicion del array, el arrayNum tambien se podria declarar dentro de la funcion _.each.

_.filter
var evens = _.filter([1, 2, 3, 4, 5, 6], function(num){
   return num % 2 == 0; }
);
alert(evens);
la funcion filter regresara un array con los numeros que pasen como true en la segunda funcion.

_.without
_.without([1,2,3,4,5,6], 0,1);
Esta funcion regresara una copia del array sin los numeros que se le pasaron como segundo parametro.

_.isFunction
_.isFunction(alert);
Evaluara si lo que se le paso como parametro es una funcion, regresa un booleano.

_.isNull
_.isNull(object);
regresa true si object es null.


Como puedes ver nos facilita algunas de las cosas usando arrays y en evaluaciones, te recomiendo que le eches un vistaso a la documentacion para que veas todas las funciones que tiene esta libreria


pagina web de underscore.js

PROGRAMACION ORIENTADA A OBJETOS

Posted: martes, 6 de marzo de 2012 by Skuarch in Etiquetas: ,
0


Estos son algunos conceptos que se utilizan en la programacion orientada a objetos. El objetivo de esto es dar una introduccion breve a la programacion orientada a objetos.

INTRODUCCION
La programacion orientada a objetos (POO) tiene como fin ver las cosas como el mundo real, en el mundo real tenemos objetos y estos objetos tienen caracteristicas propias como peso, altura, color. En la POO se trata de sumular los objetos del mundo real dentro de la programacion infomatica.

OBJETO
Un objeto es cualquier cosa tangible, por ejemplo: una television, un telefono..., estos objetos tienen sus propias caracteristicas, color, tamaño, peso..., en POO un objeto es una entidad con sus propias caracteristicas (propiedades), estas entidades pueden ser cualquier cosa, un objeto de tipo reporte u otro objeto de tipo cliente, en donde el cliente tiene un nombre, una direccion etc.

CLASE
Las clases son la parte fundamental de cualquier programacion orientada a objetos, las clases se pueden definir como el molde del objeto, son las que definen a los objetos.

INSTANCIA
La instancia se produce cuando se crea un objeto y se dice que es una instancia de la clase.

METODOS
Todos los objetos tienen una funcion a realizar, por ejemplo el telefono es un objecto y su funcion es hacer una llamada o recibirla, entonces tendriamos que el telefono tienen dos funciones principales que son llamar y recibir llamada, en POO la palabra funcion se cambia a metodo, aunque en algunos lenguajes se sigue preservando, entonces los metodos son los que ejecutan las acciones.

CONTRUCTORES
Los constructores son los metodos que se ejecutan primero, usualmente este metodo se utiliza para inicializar las variables. Si la clase tiene mas metodos el primero en ejecutarse sera el constructor. el constructor se llama automaticamente cuando se crea la instancia.

HERENCIA
En una familia la jerarquia seria algo asi, el papá tiene hijos y esos hijos tienen los ojos de su papá, entonces los hijos heredaron los ojos de su papá, en POO pasa lo mismo pero la herencia se crea entre clases, una clase que hereda de otra clase tiene los mismo metodos que la clase padre, como lo que pasa entre la familia, los hijos heredaron los ojos de su papá.



CONEXION ORIENTADA A OBJETOS PHP Y MYSQL

Posted: lunes, 5 de marzo de 2012 by Skuarch in Etiquetas: , , , ,
0




Como todos sabemos las ventajas de la programacion orientada a objectos es poder reutilizar el codigo, aqui les muestro como hacer una clase en PHP para conectarse a la base de datos, tambien se creara una capa superior a la conexion para poder reutilizar nuestro codigo.

La clase no sera un singleton, debido a que si en cualquier momento se requiere cambiar de servidor de base de datos o se utilizen varias conexiones a diferentes bases de datos, el singleton no nos funcionaria.

Unos de los principios de la clase para conectarse es que pueda ser utilizada por cualquiera, recibira todos las parametros necesarios para crear la conexion y como servidor de base de datos se utiliza MySQL.


class ConnectionDatabase {

    private $user;
    private $password;
    private $database;
    private $server;
    private $link;
    private $result;

    //===================================================================
function __construct($user, $password, $database, $server) {
$this->user = $user;
$this->password = $password;
$this->database = $database;
$this->server = $server;
} // end __construct


Primero declararemos las variables y en el contructor recibimos los parametros necesarios para inicializar las variables, como puedes ver con esto, esta clase se puede conectarse a cualquier servidor.



//===================================================================
private function connect(){

if(isset($this->link)){

$this->link = mysql_connect($this->server,$this->user,$this->password) or die(mysql_error());
$this->selectDatabase();

}

return $this->link;

} // end connect


//===================================================================
private function selectDatabase(){

mysql_select_db($this->database,$this->link) or die(mysql_error());

}


Estos metodos son privados por que los demas metodos lo utilizaran, entonces no tiene caso que sea publico.

//===================================================================
public function executeQuery($query){

$this->result = mysql_query($query,$this->link);

return $this->result;

}


Este metodo si es publico, puede ejecutar cualquier query que me mandes, insert, update o select.

//===================================================================
public function fetchArray($query){

$fetchArray = null;          
        $this->result = $this->query($query);
        while($array = mysql_fetch_array($this->result)){              
        $fetchArray[] = $array;
        }
       
         $this->disconnect();
        return $fetchArray;

}


Este metodo tambien es publico y si lo observas tiene un while en donde llena un array para poderlo regresar, el array que regresa lo puedes recorrer en un foreach.


//====================================================================
private function disconnect(){

mysql_close($this->link);

}

//====================================================================
private function freeResult(){

mysql_free_result($this->result);

}

} //end class
Estos son los respectivos metodos para liberar y cerra la conexion que tambien son privados