The New Cult of Dead Cow

February 21, 2007






Extends y New en PHP5

Filed under: Programacion, PHP, php-ORM, Web

Trabajando en phpORM, se dio la necesidad de poder crear un objeto del tipo clase Hija desde el codigo de la clase ORM

phpORM dispone de una clase base llamada ORMBase, sin embargo esta clase es abstracta, es decir, no puede ser utilizada directamente. Para usar phpORM se debe crear una clase que herede de phpORM.


Este codigo podria servir en cualquier situacion que debamos crear una clase heredable ( abstracta ) y necesitemos crear objetos  sin saber el nombre de las clases Hijas.

<?php

abstract class Base
{

    function nuevo()
    {
        $className = get_class($this);
        return new $className();
    }
   
   
    function quiensoy()
    {
        echo “soy Base\n”;
    }

}

class Hija extends Base
{
   
    function quiensoy()
    {
        echo “soy hija\n”;
    }

}

$a = new Hija();
$b = $a->nuevo();

$b->quiensoy();

?>

La funcion nuevo dentro de la clase Base, es la que se encarga de crear el objeto. Este objeto sera siempre del mismo tipo que el objeto que hizo la llamada.

Technorati Tags:






Aceleracion 3d Ati en Ubuntu

Filed under: Linux, Articulo, Personal, Ubuntu, Edgy

Para los que deseen activar la aceleracion 3D de su tarjeta ATI en Ubuntu:

sudo nano /etc/X11/xorg.conf


En ese archivo hay que agregar las siguientes lineas:

Section “Extensions”
     Option “Composite” “Disable”
EndSection


Luego procedemos a instalar el driver fglrx

sudo aptitude update


Para actualizar la lista de paquetes

sudo aptitude install linux-restricted-modules-2.6.17-10-generic


Ese es el paquete que corresponde con la version de kernel que estoy usando, cada uno debe asegurarse de utilizar el paquete adecuado para el kernel que esta usando.

sudo aptitude install xorg-driver-fglrx

sudo depmod -a

sudo aticonfig –initial

sudo aticonfig –overlay-type=Xv


Ahora hay que reiniciar el servidor grafico para poder usar nuestros nuevos drivers.

Ctrl+Alt+Backspace


Para comprobar que ya tenemos la aceleracion 3D funcionando

necudeco@arthas:~$ glxinfo | grep direct
direct rendering: Yes


Les deberia salir direct rendering: Yes

Technorati Tags:

February 14, 2007






Configuracion de Hosts Virtuales en Apache2

Filed under: Linux, Articulo, Web

Cuando montamos un servidor web muchas veces queremos alojar mas de una pagina. Estar usando:

http://miservidor.com/itsn
http://miservidor.com/asociacion


no es muy cool. En este caso tenemos dos opciones, montar cada pagina web en su propio servidor :S ( no lo creo ), y usar los virtual Host.

Por ejemplo vamos a configurar 3 virtual host dentro de un solo apache:

NameVirtualHost *:80      # Indica que se atenderan las peticiones para HostVirtuales de cualquier direccion en el puerto 80
NameVirtualHost *:443    # Lo mismo solo que tambien activamos el puerto 443, el cual nos sirve para https

<VirtualHost *:80>
    DocumentRoot   /var/www/pagina1      # Le indica donde esta almacenado el sitio web
    ServerName      first.miservidor.com   # Le indica como se llamara a esa pagina

</VirtualHost>

<VirtualHost *:80>
    DocumentRoot   /var/www/pagina2      # Le indica donde esta almacenado el sitio web
    ServerName      second.miservidor.com   # Le indica como se llamara a esa pagina

</VirtualHost>

<VirtualHost *:443>
    DocumentRoot   /var/www/secure      # Le indica donde esta almacenado el sitio web seguro
    ServerName      secure.miservidor.com   # Le indica como se llamara a esa pagina.
    SSLEngine On                                         
    SSLCertificateFile /etc/apache2/ssl/apache.pem  # Le indica donde se guardo el certificado para el apache
</VirtualHost>


Para asegurarnos que nuestro servidor escuche en el puerto 80 y 443 editamos el archivo /etc/apache/ports.conf

Listen *:80
Listen *:443

ahora solo nos falta generar el certificado para apache, y habilitar el ssl ( Protocolo Seguro )

Para generar el certificado para el apache usamos el siguiente comando

sudo apache2-ssl-certifcate


El sistema te pedira una serie de datos, como Pais, Region, Ciudad, Nombre de Empresa, etc. Para que todo funcione bien es conveniente que contestes todas las preguntas.

Ahora habilitamos el ssl con la siguiente orden:

sudo a2enmod ssl

Technorati Tags: apache, web, linux virtual host, ssl

February 12, 2007






Y el Oscar es para …

Filed under: Personal, Noticias

Eres un fanatico del cine ? Aun no has ido a ver las peliculas nominadas al oscar ?

Pues aca una pagina desde donde se pueden empezar la descarga de todas las nominadas al oscar … ahora mismo empiezo a bajarme Babel

February 10, 2007






Linux desde la tienda a tu escritorio

Hace poco lei un comentario de metaverso en el que opinaba que sin importar si Vista cumplia o no con sus promesas, que si era o no un buen software la gente lo iba a usar masivamente solo por venir preeinstalado. Y que Linux no iba a tener ese destino sencillamente porque no se vendia directo de fabrica.

La verdad es que tiene razon, al menos en parte. Linux no va a igualarse a Windows hasta que no venga preinstalado masivamente. Sin embargo desde hace ya algunos años Linux viene siendo vendido de forma preinstalada. Y ahora con la llegada de Ubuntu, porque lo aceptemos o no es Ubuntu la que ha logrado acercar a Linux al usuario domestico, las empresas estan empezando a apostar de manera mas decidida por Linux.

Aca les dejo unas ligas con sitios donde se vende Linux Preinstalado, por si alguien quiere comprar PC nueva.

Linux Preinstalado en HP
CarrefourOnline(1)
Dater Series

De todas mi favorita es la ultima.

Es una laptop preciosa con un precio que varia entre $995 y $2450.

Eso si el fierro lo vale. En su misma pagina pueden consultar cuanto les costaria con un HD mas pequeño, con mas o menos memoria, etc.

Technorati Tags: , , ,

powered by performancing firefox

February 7, 2007






Vulnerabilidades a la Vista

Filed under: Personal, Noticias

Segun leo en Kriptopolis, Marc Maiffret, el director tecnico de eEye Digital Security, hara una demostracion que Windows Vista puede ser comprometido de forma remota, y tambien expondra una forma de elelar los privilegios en Vista ( convertirse en root :P ) utilizando un fallo que no existia en XP.

Lo que equivale a decir, que la gente de Vista no solo se ha esforzado en tratar de incorporar caracteristicas innovadoras sin mucho exito, sino que tambien se ha esforzado en introduccir fallas innovadoras ( esto ultimo con mayor fortuna ).

Segun Maiffret: “Microsoft ha hecho muchas cosas para mejorar la seguridad de Windows Vista, pero los errores continuan ahi “.

Estos hallazgos se demostraran el jueves en IT-Defense 2007- Alemania

Technorati Tags: , , ,

powered by performancing firefox

February 2, 2007






Deporte de Aventura

Filed under: Personal

Nuevo deporte de aventura … a ver quien se anima :D

Ver video …


February 1, 2007






php-ORM

php-ORM es un nuevo y pequeño motor de persistencia de objetos para PHP5. Se ha tratado de realizarlo lo mas usable y flexible posible. Y aunque todavia esta en desarrollo ya va teniendo muy buena pinta.

Entre las cosas que ya puede hacer estan:

  • Recuperar un registro de la base de datos usando su PK
  • Guardar cambios del registro en la base de datos
  • Recuperar un registro de la base de datos usando algun campo UNIQUE
Y este es nuestro TODO-List:
  • Permitir la busqueda usando cualquier campo
  • Terminar el soporte para las claves foraneas
  • Terminar la pagina web.

Este es un ejemplo de un script que usa php-ORM:

<?php

    require(’ORM.php’);

    class Test extends ORM
    {
        protected $tablename = "notarios";
       
        protected $PK = array("id2");
        protected $names = array("id2"=>"id","login"=>"login","clave"=>"passwd","appaterno"=>"appaterno","apmaterno"=>"apmaterno", "nombre"=>"nombre", "email"=>"email", "telefono"=>"telefono", "celular"=>"celular");
       
        protected function createObject($pk)
        {
            return new Test($pk);
        }
       
    }

    $a = new Test(null);
    $b = $a->getOneBy("login","czarate");
    echo $b->login;
    echo "\n\n";
?>


Eso es lo minino que hay que definir en php-ORM para que funcione con nuestra base de datos.

Para los que se animen a probarlo, la pagina web del proyecto es php-ORM

Technorati Tags: php, orm, programacion

powered by performancing firefox






Herencia y propiedades en PHP5

Filed under: Programacion, PHP, Personal, Web

Gracias a enzo, pude ver la solucion al problema del post anterior.

Al final todo se trataba de un switch bien ubicado. Me explico, esta seria mi clase base:

class Base
{

protected $nombre;
protected $edad;

public function __get($attr)
{

switch($attr)
{

case "nombre":

return $this->nombre;
break;
case "edad";
return $this->edad;
break;
}
}
}

y en la clase heredada quedaria asi:

class Hija extends Base
{

public function __get($attr)
{

switch($attr)
{

case "edad";
return 0;
break;
default:
return parent::__get($attr);
break;
}
}
}

Y listo con eso no hay necesidad de reescribir todo el codigo de las propiedades. :P






















Get free blog up and running in minutes with Blogsome
Theme designed by B A Khan