30 Abril 2008

Los dragones sí existieron

Por Abel

los dragones si existieron dos cientificos encontraron dos cuerpos de dragones y se demostro q hasta llegaron a sobrevivir al big-bang ya q se sumergieron en el agua.Creerlo xq es cierto.

Comentario de x en Paleofreak

Ahora resulta que primero fue la vida y después el Big Bang… grandioso WTF.

Escrito en Humor, WTF | 6 Comentarios

25 Abril 2008

El Castillo de Neuschwanstein

Por Abel

Impresionante me ha parecido la imagen del día en Wikipedia… se trata del Castillo de Neuschwanstein, uno de los castillos neoclásicos mas conocidos localizado allá en Baviera Alemania.

El Castillo de Neuschwanstein

Quizás sea mucho soñar pero espero tener el privilegio algún día de poder visitarlo…

Escrito en Cultura | Deja un comentario

14 Abril 2008

Tosca, la gran opera de Giacomo Puccini en Culiacán

Por Abel

Pues así como he asistido a los grandes eventos que se presentan en DIFOCUR, no pude resistir las ganas de estar sentado en un buen lugar dentro del mejor teatro de la ciudad para ver una de las grandes obras de ópera, Tosca. Esta es una obra del compositor italiano Giacomo Puccini, autor de otras grandes como La Bohème, y cuya historia se desarrolla en Roma por allá en 1800.

Los personajes de la obra desarrollan una trama fuerte. Hay romance y tragedia y el final es sin duda inesperado. Los actores que participaron tuvieron una actuacción muy destacada, en especial la bella protagonista de la historia, interpretada por la soprano italiana Olga Romanko, cuya voz fue sublime, en especial al final del segundo acto.

Tosca

Al final de la obra, me escabullí hasta los camerinos para ver a los artistas, y cuando vi que todos saludaban y felicitaban a la protagonista, me entraron las ganas de ir a saludarla y aprovechando la ocasión, hablarle en italiano… pero no se pudo, pues tenía mucha prisa porque el elenco tenia otras presentaciones fuera de la ciudad y estaban por partir.

En fin, Tosca, superó mis expectativas, la orquesta como siempre fue una maravilla, el director, aunque gay pero supo coordinar su trabajo, y los demás actores tenían a la perfección su papel. La recomiendo, si algún día tienen la oportunidad de asistir a un evento como este no lo desaprovechen, aumentará su acervo cultural y su gusto por la buena música.

Escrito en Cultura, Música | Deja un comentario

9 Abril 2008

¿Cuánto cuesta una cerveza?

Por Abel

CervezaSi alguna vez te preguntaste cuánto puede costar una cerveza en Mazatlán, Cancún, o en cualquier otra ciudad, incluso en cualquier país… Pintprice puede ser de gran ayuda. En este sitio se ofrece la posibilidad de que los usuarios aporten lo que saben en cuanto a precios de cerveza en el lugar donde viven.

Primero seleccionan el país y luego agregan la ciudad y el tipo de moneda en el que está el precio. Por lo visto el proyecto no lleva mucho tiempo, o ¿será que los mexicanos somos tan flojos para dar de alta nuestra información?… por mi parte, ya envie mi información:

La cerveza en Culiacán cuesta aproximadamente $8.00 MXN, el equivalente a mas o menos $0.74 USD. Algo barata desde mi punto de vista, pues es casi lo mismo que una Coca-Cola. O ¿será que la Coca es tan cara aquí? No lo dudaría… sabiendo que los mexicanos en general son unos viciosos, no hay lugar donde no se coma con una coca en la mesa.

Por cierto, me enteré en Bitperbit.

Escrito en Cultura | 3 Comentarios

7 Abril 2008

¿Qué país tiene mas oro que los demás?

Por Abel

Estados Unidos de Norteamérica. Ahí se conserva aproximadamente una cuarta parte de las reservas de oro de todo el mundo. Están almacenadas en lingotes en la base militar Fort Knox, en Kentucky, en condiciones de estricta seguridad.

Fuente: Larousse Enciclopedia de preguntas y respuestas, Tomo III

Escrito en Curiosidades | 2 Comentarios

5 Abril 2008

Clase para manejar base de datos MySQL en PHP

Por Abel

Una de las máximas prioridades en una aplicación PHP que haga uso de una base de datos, es la organización y eficiencia del código para evitar consumo innecesario de memoria, esto es bien sabido por cualquier programador. Pero ¿qué hay de la separación del código de lógica y el de la base de datos?

El patrón Modelo-Vista-Controlador nos puede ser de gran utilidad ya que separa la lógica (controladores) de scripts que acceden y relacionan las tablas de un base de datos (modelos) y de la interfaz gráfica (vistas). Pero en ocasiones no necesitamos de tantas capas de abstracción y decidimos programar todo revuelto. Aún así, utilizar una clase para los accesos a la base de datos nos es de gran ayuda para aquello de la organización del código.

La clase que a continuación propongo utiliza un patrón llamado Singleton. Este patrón obliga a instanciar unicamente una vez la clase para evitar 2 o más conexiones simultáneas. La clase contiene métodos para ejecutar sentencias SQL, cargar resultados en forma de objetos, ver el número de consultas totales etc.

<?php

class DataBase {

	private $conexion;
	private $resource;
	private $sql;
	public static $queries;
	private static $_singleton;

	public static function getInstance(){
		if (is_null (self::$_singleton)) {
			self::$_singleton = new DataBase();
		}
		return self::$_singleton;
	}

	private function __construct(){
		$this->conexion = @mysql_connect( 'localhost', 'db_user' , 'db_password' ) );
		mysql_select_db( 'database_name' , $this->conexion );
		$this->queries = 0;
		$this->resource = null;
	}

	public function execute(){
		if( ! ( $this->resource = mysql_query( $this->sql , $this->conexion ) ) ){
			return null;
		}
		$this->queries++;
		return $this->resource;
	}

	public function alter(){
		if( ! ( $this->resource = mysql_query( $this->sql , $this->conexion ) ) ){
			return false;
		}
		return true;
	}

	public function loadObjectList(){
		if ( ! ( $cur = $this->execute() ) ){
			return null;
		}
		$array = array();
		while ( $row = @mysql_fetch_object( $cur ) ){
			$array[] = $row;
		}
		return $array;
	}

	public function setQuery( $sql ){
		if( empty( $sql ) ){
			return false;
		}
		$this->sql = $sql;
		return true;
	}

	public function freeResults(){
		@mysql_free_result( $this->resource );
		return true;
	}

	public function loadObject(){
		if ( $cur = $this->execute() ){
			if ( $object = mysql_fetch_object( $cur ) ){
				@mysql_free_result( $cur );
				return $object;
			}
			else {
				return null;
			}
		}
		else {
			return false;
		}
	}

	function __destruct(){
		@mysql_free_result( $this->resource );
		@mysql_close( $this->conexion );
	}
}
?>

Si notamos, el constructor es privado. ¿Por qué? para asegurarnos de que la clase se instancie desde dentro de sí misma. Es decir, al ejecutar el método DataBase::getInstance() llamamos al constructor y creamos una única instancia de DataBase. Si volvemos a ejecutar ese método y la clase ya ha sido instanciada antes, entonces nos devolverá la instancia. Eso es el objetivo del patrón Singleton.

Veamos entonces como hacer una conexión, ejecutar una consulta y mostrar los resultados. Se asume que los parámetros de conexión como el host, el nombre de usuario y demás se especifican directamente en la clase.

// Hacemos la conexión
$db = DataBase::getInstance();

// Supongamos que tenemos una tabla de usuarios
// Hacemos la consulta:
$db->setQuery('SELECT `id`,`nombre`,`grupo` FROM `usuarios`');

// La ejecutamos y al mismo tiempo obtenemos un arreglo de objetos
// con los campos especificados en la consulta como propiedades.
$usuarios = $db->loadObjectList();

// Los imprimimos directamente en pantalla...
foreach($usuarios as $usuario){
	echo 'ID: '.$usuario->id;
	echo 'Nombre: '.$usuario->nombre;
	echo 'Grupo: '.$usuario->grupo;
	echo '<br />';
}

Y ahí tienen un pequeñísimo ejemplo de uso. Algunos métodos como el DataBase::loadObject o DataBase::loadObjectList fueron tomados de la API de Joomla. En fin, espero que les sea de utilidad.

Escrito en PHP, Programacion | 7 Comentarios

  • Ventana al cosmos

  • Apollo 17: Anaglifo de asientos VIP

  • Publicidad