viernes, 25 de abril de 2008

Presentación sobre SQL - Conceptos

Aquí les dejo con una presentación que hice para un Curso de PHP que estoy impartiendo. El fin es explicar los principales conceptos del lenguajes SQL.


SlideShare | View | Upload your own


Saludos...

martes, 22 de abril de 2008

mysql_num_rows vs. SQl - SELECT COUNT(*)

Haciendo una paginación para un proyecto me dió la curiosidad de verificar cuál método es más efectivo para contar el total de registros. Bueno a pesar de ser obvio que con sql count(*) sería más rápido, me propuse hacer las pruebas y estos fueron los resultados:

  • Prueba con SELECT COUNT(*) FROM tabla
    Fecha: 22/04/2008 11:35:17 am

    Test con count(*) - registros = 44069
    Tiempo 0.00441598892212 segundos
  • Prueba mysql_num_rows
    Fecha: 22/04/2008 11:35:21 am
    Test con mysql_affected_rows - registros = 44069
    Tiempo 59.3658621311 segundos
Código fuente de la prueba:
1.    
2.
require('../benchmark.php');
3. $caso = 'mysql';
4. $file = '../var/bench_databasecount.txt';
5. try{
6. Benchmark::startBenchmark($file);
7. $conn = mysql_connect('localhost', 'root', 'pannet1');
8. mysql_select_db('test', $conn);
9. switch($caso){
10. case 'count':
11. $sql = "SELECT COUNT(*) as contador FROM tabla";
12. $rs = mysql_query($sql, $conn);
13. $count = mysql_fetch_array($rs);
14. Benchmark::pushLog('Test con count - registros = '.$count['contador']."\n", $file);
15. break;
16. case 'mysql':
17. $sql = "SELECT * FROM tabla";
18. $rs = mysql_query($sql, $conn);
19. $count = mysql_num_rows($rs);
20. Benchmark::pushLog('Test con mysql_affected_rows - registros = '.$count ."\n", $file);
21. break;
22.
23.
}
24. Benchmark::endBenchmark($file);
25. echo 'Termino';
26. }catch(Exception $e){
27. echo $e->getMessage();
28. }
29. ?>
30.
31.

Conclusión

A las personas que todavía realizan las paginaciones con mysql_num_rows, preferiblemente usen sql (función COUNT(*)).

Saludos ...

martes, 15 de abril de 2008

Patrón Singleton en PHP

Les dejo un ejemplo del patrón singleton aplicado en php. Es bien útil para manejar las conexiones a la base de datos.

1.  <?php  
2.
class DB {
3. private static $_singleton;
4. private $_connection;
5. private function __construct()
6. {
7. $this->_connection = mysql_connect();
8. }
9. public static function getInstance()
10. {
11. if (is_null (self::$_singleton)) {
12. self::$_singleton = new DB();
13. }
14. return self::$_singleton;
15. }
16. }
17. $db = DB::getInstance();
18.
19. ?>

Saludos ...

jueves, 10 de abril de 2008

Sound Juicer para extracción de música

Ubuntu trae una herramienta muy buena para la extracción de música en los cd's. Se llama Sound Juicer. Para poder guardar las canciones en formato mp3 se necesita bajar el paquete gstreamer0.10-plugins-ugly-multiverse.
#: sudo aptitude install
gstreamer0.10-plugins-ugly-multiverse.

Después debes entrar Sound Juicer y buscar las opciones en Editar -> Preferencias -> Editar Perfiles.

Debes agregar un nuevo perfil con los siguientes datos:
  • Nombre: Calidad de CD mp3 optimo
  • Descripción del perfil: Calidad de mp3 a 190 kbs
  • Pipeline de Gstreamer: audio/x-raw-int,rate=44100,channels=2 ! lame name=enc bitrate=192 mode=Stereo
  • Extensión: mp3
  • Seleccionar el checkbox que dice ¿Está activo?
Con esto debes tener la opción para guardar tus canciones en formato mp3.

Fuente: Guía Ubuntu - Sound Juicer

Saludos ...

martes, 8 de abril de 2008

Problemas con mi celular y el bluetooth de mi laptop en Ubuntu Linux

Algunas veces había intentado pegar mi celular (Sony Erickson w300) a mi laptop (Dell XPS 1330), pero me salía un error de que no podía realizar la conexión (obex://[–]...) . Para resolver este problema se debe instalar un paquete llamado gnome-vfs-obexftp.

#: sudo aptitude install
gnome-vfs-obexftp


Bueno espero les ayuden en algo...

Saludos ...

Fuente: http://www.davidsuarez.es/?p=472

domingo, 6 de abril de 2008

Peleas de Robots

Buscando videos sobre Lego Mindstorms me encuentro con un video bastante cómico de una pelea de dos robots. Éstos robots son bastante ágiles y uno de ellos llega a dar hasta un mortal jajaja. Aquí les dejo con el video:


viernes, 4 de abril de 2008

Problemas con mysql instalando sphinx en Ubuntu Linux

Instalando sphinx (search engine) en mi máquina del trabajo (Dell Optilex gx520 Ubuntu Gusty 7.10), me topo con un problema relacionado con mysql. Me aperece que no encuentra las librerías de mysql y me aconseja que instale el paquete mysql-devel. Buscando en google me doy cuenta que en ubuntu el paquete no se llama mysql-devel, sino libmysql++-dev.

Instalando este paquete, no tendrás problemas para compilar el sphinx en tu máquina con ubuntu. Claro ántes debes tener instalado mysql en tu máquina.

Espero les ayude en algo si llegan a tener este problema.

Saludos ...