Bueno, tal vez en alguna ocasión nos hemos visto en la necesidad de implementar un reproductor de música en nuestros sitios web y no encontramos alternativas que sean poco intrusivas a los visitantes.

Una alternativa que en lo personal veo muy interesante es el Yahoo! Media Player, un reproductor de música que es bastante fácil de implementar en nuestras páginas web.

A revolutionary and easy to use music player that
plays audio on your website.

  • Adds audio to your site with one line of HTML
  • Uses simple, easy-to-hack HTML instead of complicated proprietary markup, ushering in the REAL Media Web
  • Magical floating design never gets lost, is available when you need it, gets out of your way when you don’t need it
  • Automatically finds all audio links on your page, turning your page into a playlist
  • Plays all your blog entries with a single button click
  • Allows you to put the play buttons where they belong: IN CONTEXT
  • Keeps the user in the page rather than sending them away to a media player
  • Picks up your images and adds them as cover art
  • Requires no download, install or maintenance

La primera página donde me topé con este reproductor fue la siguiente, en ella podemos encontrar música cuya licencia nos permite utilizarla en nuestros proyectos sin tanto lío: http://superfan2010.com/category/ambient-music/

La manera de instalar/utilizar este reproductor en nuestras páginas es bastante simple y la resumen en tres pasos en la página oficial del reproductor: http://mediaplayer.yahoo.com/

Ahora bien, si queremos meternos a cuestiones un tanto más específicas de la API podemos checar el siguiente enlace: http://fe1.music.sk1.yahoo.com/api/

Como puntos negativos sobre este reproductor podría mencionar que a veces, cuando se implementa con páginas web ya estructuradas, puede llegar a traslaparse o tener problemas con las hojas de estilo. Otra cosa que noté es que no se lleva muy bien con el navegador IE, pero a lo mejor es idea mia :)

Sea como sea, vale la pena darle una checada, es gratis, facil de implementar, útil y flexible.

Vaya pues dando el blogrol me topé con esto de que al parecer SoyGik regala hosting gratis mediante un acuerdo que tuvieron con DominiosLowCost.com … cito una parte:

Desde SoyGik queremos agradeceros a muchos de los que nos seguís vuestra confianza, por ello y gracias a un acuerdo con DominiosLowCost.com os queremos regalar a todos los que queráis, un hosting totalmente gratuito durante un año. Sin trampa ni cartón. Hay 3 tipos de hosting que podéis elegir, cualquiera de vosotros podéis elegir el que deseéis, pero sólo uno de los 3:

  • Plan inicio: 1 GB de espacio, 10 GB de transferencia mensual y 20 cuentas de correo. No admite programación PHP ni ASP, no incluye bases de datos.
  • Plan Avanzado Linux: 2 GB de espacio, 30 GB de transferencia mensual y 100 cuentas de correo. Admite PHP, Ruby on Rails y mySQL.
  • Plan Avanzado Windows: 2 GB de espacio, 30 GB de transferencia mensual y 100 cuentas de correo. Admite ASP, PHP, mySQL y Acces.
  • Y pues la verdad a mi me suena excelente :-) , por que llevo rato buscando un buen almacenaje que sea gratuito … ya veremos que pasa y les contaré al respecto.

    Mas informacion en: http://www.soygik.com/soygik-te-regala-un-hosting-gratis/

    De wikipedia:

    Un procedimiento almacenado (stored procedure) es un programa (o procedimiento) el cual es almacenado físicamente en una base de datos. Generalmente son escritos en un lenguaje de bases de datos propietario como PL/SQL para Oracle database o PL/PgSQL para PostgreSQL. La ventaja de un procedimiento almacenado es que al ser ejecutado, en respuesta a una petición de usuario, es ejecutado directamente en el motor de bases de datos, el cual usualmente corre en un servidor separado. Como tal, posee acceso directo a los datos que necesita manipular y solo necesita enviar sus resultados de regreso al usuario, deshaciéndose de la sobrecarga resultante de comunicar grandes cantidades de datos salientes y entrantes.

    Usos típicos para procedimientos almacenados incluyen la validación de datos siendo integrados a la estructura de base de datos (los procedimientos almacenados utilizados para este propósito a menudo son llamados disparadores; triggers en inglés), o encapsular un proceso grande y complejo. El último ejemplo generalmente ejecutará más rápido como un procedimiento almacenado que de haber sido implementado como, por ejemplo, un programa corriendo en el sistema cliente y comunicándose con la base de datos mediante el envío de consultas SQL y recibiendo sus resultados.

    Los procedimientos pueden ser ventajosos: Cuando una base de datos es manipulada desde muchos programas externos. Al incluir la lógica de la aplicación en la base de datos utilizando procedimientos almacenados, la necesidad de embeber la misma lógica en todos los programas que acceden a los datos es reducida. Esto puede simplificar la creación y, particularmente, el mantenimiento de los programas involucrados.

    Podemos ver un claro ejemplo de estos procedimientos cuando requerimos realizar una misma operación en un servidor dentro de algunas o todas las bases de datos y a la vez dentro de todas o algunas de las tablas de las bases de datos del mismo. Para ello podemos utilizar a los Procedimientos almacenados auto creables que es una forma de generar ciclos redundantes a través de los procedimientos almacenados.

    ——————————————————————————————————————————–

    Apunte:

    Ahora para MySQL, podemos en un Stored Procedure hacer uso de transacciones asegurando asi que realmente se llevará a cabo de forma segura el procedimiento y para esto hacemos uso de @@error_count, el cual siendo 0 significa que no han habido errores (usando un if bajo esta condición podriamos decidir cuando proceder al COMMIT).

    En el manual de referencia viene como crear stored procedures, pero simplificando un poco pongon un ejemplo. Lo empezamos con CREATE PROCEDURE sp_nombreDelProcedimiento … luego abrimos un paréntesis para indicar las variables que pueden ser de IN, OUT o INOUT…

    Una vez definido esto, definimos entre BEGIN y END las consultas que compondrán al stored procedure. Podemos declarar variables dentro de este stored procedure haciendo uso de DECLARE nombreVariable TipoVariable.

    Ejemplo:

    CREATE PROCEDURE sp_altaUsuario(IN nick VARCHAR(10) ,
    IN correo VARCHAR(35),
    IN contrasenia VARCHAR(32), IN estadox TINYINT(3),
    IN permisox TINYINT(3))

    BEGIN
    DECLARE a INTEGER;
    INSERT INTO usuario(nickUsuario, correoUsuario,
    contraseniaUsuario, idEstado,
    idPermiso)
    VALUES(nick, correo, contrasenia, estadox,
    permisox);
    SET a=(SELECT @@error_count);
    IF a = 0 THEN
    COMMIT;
    ELSE
    ROLLBACK;
    END IF;
    END;

    Ahora, si queremos llamar a un stored procedure, la consulta sería haciendo uso de CALL sp_nombreDelStoredProcedure(valoresDeEntrada). y en PHP podemos hacerlo de la siguiente manera:

    $sql= “CALL sp_ejemplo(“.$parametro1.”);”;

    $datos= mysqli_query($conexion, $sql);

    Sobre @@error_count -> http://dev.mysql.com/doc/refman/5.0/es/show-errors.html

    PHP y MySQLi

    Configurar una conexión:

    Podemos hacer uso de una nueva biblioteca para conectarnos a MySQL llamada mysqli, usaremos la sintaxis orientada a procedimientos. La conexión se establece de la siguiente forma:

    //Archivo conexion.php

    <?php

    function conectar()

    {

    $servidor=”localhost”;

    $usuario=”root”;

    $password=”1234″;

    $basededatos= “proyecto”;

    $con=mysqli_connect($servidor,$usuario,$password, $basededatos );

    if(mysqli_connect_errno()) {

    echo ‘Error, no se pudo conectar’;

    exit;

    }

    $_SESSION['conexion']=$con;

    }

    ?>

    Podemos hacer querys haciendo uso de la función en PHP mysqli_query( link, consulta ), en donde para la parte de link usamos la variable de session $_SESSION['conexion'] y en la parte de consulta ponemos la query que queramos ejecutar (ejemplo y entre comillas “SELECT * FROM tabla”).

    $sql = ‘SELECT * FROM menu ORDER BY idMenu’;

    $datos = mysqli_query($_SESSION['conexion'], $sql);

    if($datos)

    {

    $info = ‘<table><tr>’;

    $num= mysqli_num_rows($datos);

    for($i=0; $i<$num; $i++) {

    $row= mysqli_fetch_row($datos);

    $info .= ‘<td style=cursor:pointer align=”center”><font style=”font-size:12px”><b>’;

    if( $i > 0 AND $i < mysqli_num_rows($datos))

    $info.= ‘<font style=cursor:default color=”#333333″> :: </font>’ ;

    $info .= $row[1];

    $info .= ‘</b></font></td>’;

    }

    $info .= ‘</tr></table>’;

    return $info;

    }

    else

    {

    return ‘Error al realizar consulta’;

    }

    }

    ?>

    Ahora si queremos en PHP mostrar una consulta de este tipo (SELECT) recomiendo hacer lo siguiente en base al código anterior:

    $info= ‘<table><tr>’; //Guardamos la tabla en una variable para poder regresar toda la tabla

    $num= mysqli_num_rows($datos); // Con esto sabemos el numero de rows de nuestra query

    for($i=0; $i<$num; $i++) { // Recorremos las filas con un for

    $row= mysqli_fetch_row($datos); // Con mysqli_fetch_row obtenemos el valor de cada fila de forma independiente

    $info .= ‘<td style=cursor:pointer align=”center”><font style=”font-size:12px”><b>’;

    if( $i > 0 AND $i < mysqli_num_rows($datos)) //Esto es adorno

    $info.= ‘<font style=cursor:default color=”#333333″> :: </font>’ ;

    $info .= $row[1]; // Las filas se obtienen completas en forma de arreglo, si queremos bajo una columna en especifico, es necesario indicar en el arreglo bajo que columna está, empieza desde 0

    $info .= ‘</b></font></td>’;

    }

    $info .= ‘</tr></table>’;

    return $info;

    }

    else

    {

    return ‘Error al realizar consulta’;

    }

    Más información en el manual de referencia.

    Tan simple como:

    #apt-get install php5-mysql

    jeje

    Vaya pues… automaticamente pensé en conectarme a mi base de datos desde mi máquina en Windows y cual fue mi sorpresa al llevarme varios conections refused :D … a continuación comento sobre una configuración básica que realicé sobre el server:

    1.- Configurar mysql para escuchar no solo en localhost, para eso nos vamos a editar al archivo de configuración:

    # vi /etc/mysql/my.cnf

    Una vez ahí descomentamos la siguiente línea quitandole el signo # :

    # bind-address = 127.0.0.1

    Y reiniciamos el servicio:

    # /etc/init.d/mysql restart

    2.- Cambiar la contraseña del usuario root:

    # mysqladmin -u root password mysqlrootpassword

    Donde en vez de mysqlrootpassword pondremos nuestra contraseña nueva.

    3.- Cambiar la parte de host directamente sobre la base de datos de mysql:

    Esta parte ya fue manejada por mi, por que con el primer paso la verdad no logré poder loggearme remotamente… lo que hice fue lo siguiente:

    mysql > use mysql

    mysql > show tables;

    (ahí ubicamos una tabla llamada user)

    mysql > select host, user, password from user;

    (ahi vemos los usuarios que tenemos)

    mysql > UPDATE user SET host=’%’ WHERE user=’root’ AND host=’localhost’

    Y segun yo, ya está listo, volvemos a reiniciar:

    # /etc/init.d/mysql restart

    Ahora pues, probamos a conectarnos desde una máquina remota para comprobar que ya esté todo bien … recomiendo usar el EMS Sql Manager 2007 Lite for MySQL, lo podemos encontrar aqui: http://www.sqlmanager.net/en/products/mysql/manager

    Fuente para pasos 1 y 2:

    http://www.debianadmin.com/mysql-database-server-installation-and-configuration-in-debian-2.html

    Paso 3:

    Mi mente… jajaja, a ver si no la regó

    Es común encontrar hoy en día una infinidad de libros que hablan sobre la combinación APACHE + PHP + MYSQL… y creo que hay excelentes fuentes para cuestiones de configuración por lo que seré un tanto breve sobre la instalación de mysql (digo, el manual de referencia está muy muy completo como para evitar profundizar mas en estos asuntos jeje)…

    Tan fácil como ejecutar lo siguiente:

    # apt-get install mysql-client mysql-server

    Y listo. Ahora en cuanto a algunos comandos de interés, tenemos que para conectarse al servidor bastaría desde la shell de linux ejecutar:

    # mysql

    Por ahora con eso es suficiente para tener acceso pues no hemos establecido ninguna contraseña ni permiso por el momento. Otras formas para hacer conexión serían:

    # mysql -h direcciondelhost -u usuario -p (para máquinas remotas)

    # mysql -u usuario -p (para trabajo local)

    Y una vez en la línea de comandos de mysql podemos hacer las siguientes consultas:

    mysql > SELECT VERSION(); (nos da la version del server)

    mysql > SHOW DATABASES; (muestra las bases de datos registradas)

    mysql > CREATE DATABASE nombredelabase; (crea una base de datos)

    mysql > USE nombredelabase; (selecciona a nombredelabase como la actual base de datos en uso)

    # mysql -h host -u usuario -p nombredelabase (seleccionamos la base de datos desde la shell)

    Una vez en la base de datos:

    mysql > SHOW TABLES; (muestra las tablas en la base de datos)

    mysql > CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20),
    -> species VARCHAR(20), sex CHAR(1), birth DATE, death DATE); (crea una tabla con atributos, es una tabla de ejemplo jeje)

    mysql > DESCRIBE nombredelatabla; (con esto podemos conocer información de la tabla que queramos)

    mysql > INSERT INTO pet
    -> VALUES (‘Puffball’,'Diane’,'hamster’,'f’,’1999-03-30′,NULL); (inserta valores en la tabla de ejemplo)

    mysql > SELECT queseleccionamos

    -> FROM dequetablaseleccionamos

    -> WHERE bajoquecondiciones; (consulta basica)

    mysql > SELECT * FROM nombredelatabla; (seleccionaria todos los valores)

    mysql > UPDATE pet SET birth = ’1989-08-31′ WHERE name = ‘Bowser’; (actualiza un atributo en especifico)

    mysql> SELECT pet.name
    -> FROM pet INNER JOIN event
    -> ON pet.name = event.name
    -> WHERE event.type = ‘litter’; (consulta dos tablas a la vez con el INNER JOIN)

    Hay mas cosas por saber sobre mysql, pero creo que por ahora dejaré solo estas consultas, sugiero revisar el manual de referencia en la página oficial de mysql, yo solo hablé un poco del capítulo 3 en esta ocasión :)

    Pasos para montar servidor web en Debian

    Esta pequeña guía es para montar un servidor web con php5 en Debian, para esto la guía se realizó trabajando en: Debian 4.0 etch

    Se debe estar con cuenta de root para realizar el proceso:

    su -lp

    Recomiendo incluir -p para contar con las variables de entorno en caso de que se guste abrir algún editor de texto.

    Instalar apache2

    Para la instalación no hay gran complicación, basta con poner la siguiente línea:

    apt-get install apache2

    Para comprobar la instalación, ir al navegador y escribir: http://localhost o con la dirección de loopback http://127.0.0.1, debe aparecer el letrero: It works!

    Instalar modulo php5

    En experiencia propia, es más fácil si se instala directamente así, por que ya se queda configurado (incluso te ahorra el modificar apache2.conf)

    apt-get install libapache2-mod-php5

    Archivo de configuracion de apache2

    El archivo de configuración se encuentra ubicado aquí:

    /etc/apache2/apache2.conf

    Por el momento no hay necesidad de hacer modificaciones, no estoy muy seguro si es solo en Debian que el archivo de configuración sea el apache2.conf en vez de el httpd.conf, pero en un foro se comentaba que sí… a ver si luego investigo bien eso xD

    Iniciar Apache2

    Para arrancar apache

    apache2 -k start

    Detener Apache2

    Para detener apache

    apache2 -k stop

    Version de apache2:

    Para obtener la versión de apache

    apache2 -v

    ¿Donde colocar los archivos de la página web?

    Los archivos de la futura página se almacenan en: /var/www , por defecto apache toma en esa misma ruta el directorio apache2-default pero podemos cambiar eso de la siguiente manera.

    Editar el directorio de trabajo:

    Para esto es necesario modificar el siguiente archivo:

    /etc/apache2/sites-available/default

    Y modificar la siguiente linea:

    (comentar esta)# RedirectMatch ^/$ /apache2-default/

    (agregar esta) RedirectMatch ^/$ /luckyr13/

    Probar que funciona php: Doy los pasos a seguir en consola:

    # su -l -p

    password: *******

    # cd /var/www # mkdir nombre_directorio_trabajo (que para los fines de la configuración anterior sería luckyr13)

    # cd nombre_directorio_trabajo

    # gedit index.php

    (se abre el gedit para editar el archivo index.php, se pone el siguiente codigo)

    <?php

    $x= “Pagina de prueba”;

    echo $x;

    phpinfo();

    ?>

    Se guarda el archivo como index.php, se cierra el gedit y listo… abrimos el navegador y bastaría con poner http://localhost y tendríamos en pantalla el archivo de información de php más una linea de texto al principio de la página que diría “Pagina de prueba”.

    Usar mysql con php:

    #apt-get install php5-mysql

    © 2011 Quanaxblog Suffusion theme by Sayontan Sinha